On 04/06/2014 06:03 AM, John E. Malmberg wrote:
> As above, I missed that DCL would not be handling the quoting the same.
> I tried it with echo :== "write sys$output """ and echo :==
> $gnv$gnu:[bin]gnv$echo.exe and was getting the same results.

DCL isn't involved, here. For make for VMS, a DCL symbol 'echo' defined
as '"write sys$output """' is not the same as using 'write sys$$output
"' in the action.

At the time just prior to run the action routine(s), I think it is in
child_execute_job, in the first case there is no VMS style quoted
string: make for VMS will interpret redirection introducers. In the
second case there is a VMS style quoted string (no matter whether it is
correctly terminated or not be): make for VMS will not interpret
anything within such strings.

For Unix, the single quotes were used to avoid shell variable expansion.
For VMS and echo defined by a DCL symbol, replacing single with double
quotes seems to be sufficient. Even for your GNV echo command, as there
is no shell involved.


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to