tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: make(1): is this a bug or PEBKAC?



>>> '$(x:...(...)$$)'
>> I don't see $$) anywhere in my lie above - nor anywhere else in
>> local-prog, for that matter.
> I extracted the '$$)' from your line 121 and minified it to the parts
> necessary to understand the parentheses counting parts.

It looks as though you also deleted parts, since line 121 is

$(x:C;^.*\.([0-9].*)$$;$(INSTMANDIR)/cat\1;):

and the only ways I see to get $$) out of that are to delete
";$(INSTMANDIR" or to delete ";$(INSTMANDIR)/cat\1;", neither of which
seems to me to match what you wrote

>> It counts the '$(' as starting a subexpression, then ignores the
>> following '(', and when it sees the first ')', it considers the
>> expression completed, leaving the '$$)' for a syntax error.

The only places I see $( there are at the very beginning and the
$(INSTMANDIR) in the replacement string, neither of which makes much
sense to me (and only the first of which even _has_ a following '(').
Thus my remark that I'd have to trace through the code to understand
what you mean.

> In case you want to build old versions of make,

On my own machines, I use the 5.2 and 4.0.1 makes, with 64-bit time_t
changes and, for the 4.0.1 make, a fix for := variable expansion.  (For
use on 1.4T, I backported the 5.2 make after one run-in too many with
the make variant it shipped with.)  I considered copying that to the
9.1 machine, to get consistency between that and what I run at home,
but figured I might be running into a bug, in which case it would
probably be worth alerting someone to.

> https://ftp.netbsd.org/pub/pkgsrc/misc/rillig/make-archive/

I may have a look at that at some point.  Thanks for the pointer!

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index