[bug #63172] Using --just-print, -n on a target that uses a multiline macro function will print as a single line

2022-10-06 Thread anonymous
URL:
  

 Summary: Using --just-print, -n on a target that uses a
multiline macro function will print as a single line
 Project: make
   Submitter: None
   Submitted: Thu 06 Oct 2022 04:49:00 PM UTC
Severity: 3 - Normal
  Item Group: None
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
   Component Version: None
Operating System: None
   Fixed Release: None
   Triage Status: None


___

Follow-up Comments:


---
Date: Thu 06 Oct 2022 04:49:00 PM UTC By: Anonymous
Hi.

I noticed that if I have the following Makefile

```
define test_function
echo $(1) \
$(2) \
$(3)
endef

.PHONY: test_function
test_function:
$(call test_function,1,2,3)

.PHONY: test
test:
echo 1 \
2 \
3
```

If I run `make test -n`, I will get my expected multiline human readable
output

```
✗ make test -n
echo 1 \
2 \
3
```

If I run `make test_function -n`, all of the commands will be 

```
✗ make test_function -n
echo 1 2 3
```

People have found some odd workarounds

https://stackoverflow.com/questions/47228973/how-to-properly-escape-recipe-newlines-in-multi-line-variable









___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[bug #63157] Unlink temporary files.

2022-10-06 Thread Paul D. Smith
Follow-up Comment #14, bug #63157 (project make):

Thanks, I will look at this within the next few days.

Note, I'm not too concerned with non-regression changes for signal handling:
the fact is that our current signal handling is totally broken (see the 5-6
issues related to things not dying properly on SIGINT for example) and fixing
this was the last thing I was hoping to get done for this release but had to
leave it only mostly-complete as it was taking too long.  I will revisit this
after the release is done.

The goal is to modify our signal handling so it does nothing but set a
notification that the signal was received, then all handling of the signal
will happen in the main code not in the handler so that these types of issues
can be avoided.

The problem of course is that doing this without race conditions is the
classic tricky problem in POSIX programming so some things need to be
reworked.


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/