Skip to content

Conversation

@craigberry
Copy link
Member

154730c broke the core build on VMS. The one-liner is not parseable and it turns out to be due to a bug in the make utility (MMK) wherein the comment character ('#') does not get ignored within a quoted string on a continuation line (it's fine on the first line of a rule). So squirrel away $#ARGV and its '#' character in another variable on the first line, where it causes no trouble, then use the substitute on the second line.

Also, replace literal quote characters with the q operator where it's easy to do so; it's a lot easier to read and debug the generated code if you don't have to think about all of the quoting and escaping and interpolation rules regarding single and double quotes for Perl, the make utility, and the shell all at once.

154730c broke the core build on VMS.  The one-liner is not
parseable and it turns out to be due to a bug in the make utility
(MMK) wherein the comment character ('#') does not get ignored
within a quoted string on a continuation line (it's fine on the
first line of a rule).  So squirrel away $#ARGV and its '#'
character in another variable on the first line, where it causes
no trouble, then use the substitute on the second line.

Also, replace literal quote characters with the q operator where
it's easy to do so; it's a lot easier to read and debug the
generated code if you don't have to think about all of the quoting
and escaping and interpolation rules regarding single and double
quotes for Perl, the make utility, and the shell all at once.
@craigberry craigberry merged commit c915404 into master Mar 29, 2025
62 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants