https://sourceware.org/bugzilla/show_bug.cgi?id=27594

--- Comment #18 from Eli Zaretskii <eliz at gnu dot org> ---
(In reply to Thomas Wolff from comment #17)
> This is getting picky. I wouldn't say there's double quoting involved.
> The string given to the -preprocessor arguments seems to be simply fed into
> a call of popen(), and that should be fine. It may contain quotes as needed.

The user isn't supposed to know that the program calls `popen`, nor should that
knowledge change how users pass arguments to programs that need quoting.

Moreover, `windres` calls `popen` only in its default mode; you could change
that with the --use-temp-file option, in which case the preprocessor will be
invoked via `pexecute`, and that has a different set of implementation-defined
perculiarities wrt quoted parts of the command.

> Quoting the whole argument again in the shell is not really double-quoting
> in this sense.

Only if you pass an argument that needs to remain quoted inside the program, as
in -DSTRING=\"foo\".  Here, you want the preprocessor to #define STRING to have
the value "foo", with the quotes.  The case which triggered this, where the
quotes were used for file names or complete command lines, is not such a case:
there the quotes were used to protect whitespace.

> So "\"path to gcc\" arguments..." is neither a trick nor anything special to
> remember, it's normal syntax in such use cases.

I disagree, see above.

> Whether the wrong commit was reverted or not I cannot judge right now, I was
> only asking to restore the 2.35 behaviour which is consistent with general
> POSIX string handling and which supports everything anyone needs. Breaking
> such support after years is what's generally called a regression and it's
> generally and rightfully frowned upon.

I disagree here as well.  If someone used the tool incorrectly, in direct
contradiction to its docs, then backward compatibility doesn't apply, IMO.  But
again, it isn't my call.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to