* Alf P. Steinbach /Usenet, on 30.07.2010 16:53, about Visual Studio 2010:
I now discovered that with Windows XP service pack 3 (yeah, I'm a latecomer)
Microsoft has sabotaged the 'echo' command in the command interpreter.
As background information, in earlier service packs and updates Microsoft has
sabotaged other commands such as 'ftype' (can no longer delete associations),
'netstat' (slows to an excruciating crawl if you ask it for process info),
'openfiles' (behaves erratically, sometimes refusing to list open files), and more.
The 'netstat' thing was, as I recall, partially documented. It was purportedly
in order to close a security hole. But I don't buy that explanation.
Background info on 'echo': 'echo' is an internal command in the Windows command
interpreter, and in MS-DOS it had a bug, that by writing 'echoX', where X is any
special character in a set that the command interpreter parser doesn't actively
check for, you could make 'echo' output a blank line.
A convention was soon established where the special character X was a period,
thus, writing 'echo.' in order to output a blank line, or even 'echo.bah' in
order to output 'bah' and use a single notational convention for 'echo'.
And this convention was documented by Microsoft, even in the Windows XP help
system, but not mentioning the general mechanism by which it worked, the
original MS-DOS bug where any special character X is accepted as delimiter.
Now with XP service pack 3 the documented 'echo.' no longer works:
C:\Documents and Settings\Alf> echo.
'echo.' is not recognized as an internal or external command,
operable program or batch file.
C:\Documents and Settings\Alf> _
However, as far as I can tell all the other special characters X, the
undocumented ones, still work, e.g.
C:\Documents and Settings\Alf> echo Here's a blank line: & echo/ & echo See?
Here's a blank line:
See?
C:\Documents and Settings\Alf> _
Thus, it's not that Microsoft has fixed the original command interpreter parser
bug. They have specifically and apparently /deliberately/ made the documented
'echo.' NOT work, breaking a lot of batch files. While leaving the original bug.
Grrr!
- Alf