make-w32
[Top][All Lists]
Advanced

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

Re: Problems with echo. (echo period)


From: Eli Zaretskii
Subject: Re: Problems with echo. (echo period)
Date: Tue, 24 Apr 2007 08:37:13 +0300

> Date: Mon, 23 Apr 2007 15:17:52 -0700 (PDT)
> From: Aaron Shatters <address@hidden>
> Cc: address@hidden
> 
> >As for the "echo." case, it's just a bizarre consequence of cmd
> >command-line parsing (there are many more manifestations of that, and
> >others have pointed out some of them).
> 
> Documentation from microsoft:
> 
> http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/echo.mspx?mfr=true
> 
> This is not a bizarre consequence... this is a documented use case suggested 
> by the supplier of this shell.

You do see that there's no contradiction between what I wrote and the
fact (which is known to me for a long time) that cmd behaves as
designed, don't you?  I didn't say that it's a coincidence, I just
said that the cmd parsing _as_designed_ yields consequences that are
utterly alien to any other interactive shell, in particular those for
which Make's code was written.

What cmd is trying to do is use characters other than whitespace as
delimiters.  That kind of design might make sense to someone, but
teaching job.c routines to abide by it is a formidable job that I
don't intend to undertake any time soon, primarily because in practice
this doesn't rear its ugly head except in very rare and corner cases.
Of course, if someone steps forward and writes clean code to implement
that, I'd happily review it and recommend it to Paul.

> >My reasoning is that supporting such weirdo parsing is a maintenance
> >burden.  The way Make parses the commands now cannot be easily
> >modified to cater to these strange corners in cmd.
> 
> I suppose that I am not in the position to dispute this argument.  I can say 
> with certainty that allowing for this one case would not be a difficult 
> change, because I've already done it...

Sorry, I don't see any real gain in fixing this one case alone; the
problem you needed it for can be solved in any number of other ways
that do not require changes to Make.  And on top of this, your
suggested change was an ad-hoc kludge that doesn't scale well to other
similar consequences of the way cmd parses commands.  I'm sure support
for ``interesting'' cmd features like "copy a+b+c+d=xyzzy" can be put
to much more useful work than "echo.", but it cannot be solved by
ad-hoc tweaks of the table of built-ins.  That is why a more general
solution, if done cleanly, will get my support, while your suggestion
does not.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]