[bug #60312] echo replaces double quote with backslash

2021-03-30 Thread anonymous
URL: Summary: echo replaces double quote with backslash Project: make Submitted by: None Submitted on: Tue 30 Mar 2021 08:22:32 PM UTC Severity: 3 - Normal Item Group: B

[bug #60312] echo replaces double quote with backslash

2021-03-30 Thread Dmitry Goncharov
Follow-up Comment #1, bug #60312 (project make): Make passes recipies to shell line by line. Shell runs echo. You can see here echo 'nospacebefore:"xx"' nospacebefore:\xx" The first line is what make passes to shell. The 2nd line is the result of echo. Apparently, echo on your system does this.

[bug #60312] echo replaces double quote with backslash

2021-03-30 Thread anonymous
Follow-up Comment #2, bug #60312 (project make): Yes, you're right. I thought echo was an internal command. I investigated further and the culprit seems to be the POSIX emulation library, which does strange things trying to emulate shell globbing. Sorry for the inconvenience, please discard this

[bug #60312] echo replaces double quote with backslash

2021-03-30 Thread Eli Zaretskii
Update of bug #60312 (project make): Status:None => Not A Bug ___ Follow-up Comment #3: Maybe it _is_ an internal command, but in the wrong shell. Do you have sh.exe somewhere on your PA

[bug #60312] echo replaces double quote with backslash

2021-03-31 Thread anonymous
Follow-up Comment #4, bug #60312 (project make): I do have it: $ which sh /usr/bin/sh but make seems to be calling echo.exe directly. Extracts from "strace make -f tm": 0 0 [main] echo (7896) ** 155 155 [main] echo (7896) Program nam

[bug #60312] echo replaces double quote with backslash

2021-03-31 Thread anonymous
Follow-up Comment #5, bug #60312 (project make): And one more thing, this is the respective line output by make -d: CreateProcess(C:\msys64\usr\bin\echo.exe,echo \"xx\",...) I don't know if those backslashes are just added by the log routine or are actually sent by make to echo (in which case,

[bug #60312] echo replaces double quote with backslash

2021-03-31 Thread Eli Zaretskii
Follow-up Comment #6, bug #60312 (project make): So you have the MSYS `bin` directory on your PATH... Don't do that, native Windows programs and MSYS don't mix well. ___ Reply to this item at: __

[bug #60312] echo replaces double quote with backslash

2021-03-31 Thread Eli Zaretskii
Follow-up Comment #7, bug #60312 (project make): As your debug output shows, Make is escaping the quote, not what's after the quote. Make leaves the quotes there because your command included the quotes. ___ Reply to this item at:

[bug #60312] echo replaces double quote with backslash

2021-03-31 Thread anonymous
Follow-up Comment #8, bug #60312 (project make): Yeah, well. But if it assumes the invoked program can interpret "backslash double quote" in the command line, why can't it also assume that it can understand "single quote quoting" and not change one into the other? Because MSYS's echo works finely

[bug #60312] echo replaces double quote with backslash

2021-03-31 Thread Eli Zaretskii
Follow-up Comment #9, bug #60312 (project make): The native Windows build of GNU Make basically assumes the behavior of native programs wrt quotes and their escaping. There's nothing wrong with MSYS `echo`, but if you want to use MSYS, you are well advised to use an MSYS build of Make as well.

[bug #60312] echo replaces double quote with backslash

2021-04-17 Thread Paul D. Smith
Follow-up Comment #10, bug #60312 (project make): I'm not sure I know what to do with this: is there a problem to be resolved or should this be closed? ___ Reply to this item at: __

[bug #60312] echo replaces double quote with backslash

2022-07-16 Thread Paul D. Smith
Update of bug #60312 (project make): Open/Closed:Open => Closed ___ Follow-up Comment #11: I'm going to close this as "not a bug" but if someone disagrees please add a comment. I must conf