December 14, 2005
In article <dnq15l$1ptt$1@digitaldaemon.com>, =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= says...
>
>Dave wrote:
>
>> I agree, this really needs to be changed. All of the Linux folks and half the Windows folks would go nuts seeing 'error' information put to stdout, especially from the library routines.
>
>I think you mean "have been going", instead of "would go" ;-)
>
>--anders

Right - 'have been going' <g>. I was thinking ahead to when D really takes off and a bunch of unsuspecting newbies first notice this ... Of course, if errors keep going through stdout, it may never take off ;)

At first I accepted it as something that would quickly be taken care of, but now that it hasn't, it's really starting to bug me.. As you said, this "is just plain wrong".

- dave


December 14, 2005
On Wed, 14 Dec 2005 11:31:59 +0100, Anders F Björklund wrote:

> That is, all the errors:
> 
> 1) DMD errors and warnings. (has been fixed in GDC already)
>     http://www.algonet.se/~afb/d/diffs/dmd-0.140-gdc-0.17.diff.gz
> 
> 2) Phobos errors and exceptions.
>     http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/2001
>     http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/3170
> 
> Currently they are printed to stdout, which is just plain *wrong*.

What does 'stderr' stand for? ... Oh, Standard Error, the place where error messages are supposed to go to ... yep its just plain wrong then.

-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
15/12/2005 10:53:06 AM
December 15, 2005
Anders F Björklund wrote:
> Jari-Matti Mäkelä wrote:
> 
>>> Currently they are printed to stdout, which is just plain *wrong*.
> 
>> Luckily this is easy to fix.
> 
> That is what *you* think :-)

I found it very easy indeed.

http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/4368

Stewart.

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- C++@ a->--- UB@ P+ L E@ W++@ N+++ o K-@ w++@ O? M V? PS- PE- Y? PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox.  Please keep replies on the 'group where everyone may benefit.
December 15, 2005
Dave wrote:
> In article <dnp8l1$11p8$1@digitaldaemon.com>,
> =?ISO-8859-1?Q?Jari-Matti_M=E4kel=E4?= says...
>> Anders F Björklund wrote:
>> Windows 9x and DOSes do not fully support stderr.

What do you mean by this?

> But they will still output messages 'put' to 'stderr' (even if stderr
> redirection and such is not fully supported), correct? If so IMO there's no good
> reason for not changing this behaviour just because D needs to support Win9X. (I
> mean, forget the "version (Win9X)" type of stuff and just make the change
> universally).
<snip>

How can preventing anybody from _not_ redirecting errors along with normal output possibly constitute supporting Win9x?  Your thought process makes little or no sense to me.  See

http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D/28449

Stewart.

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- C++@ a->--- UB@ P+ L E@ W++@ N+++ o K-@ w++@ O? M V? PS- PE- Y? PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox.  Please keep replies on the 'group where everyone may benefit.
December 15, 2005
Stewart Gordon wrote:
>>> Windows 9x and DOSes do not fully support stderr.
> 
> What do you mean by this?

I guess I mean that AFAIK DOS/Win9x silently merges stdout and stderr. Therefore it's very hard to redirect only the other one of them.
December 15, 2005
Stewart Gordon wrote:

>>> Luckily this is easy to fix.
>>
>> That is what *you* think :-)
> 
> I found it very easy indeed.

It's not a technical problem, the
trick is getting it into DMD...

i.e. getting it past Walter ?

--anders
December 15, 2005
Jari-Matti Mäkelä wrote:
> Stewart Gordon wrote:
>>>> Windows 9x and DOSes do not fully support stderr.
>>
>> What do you mean by this?
> 
> I guess I mean that AFAIK DOS/Win9x silently merges stdout and stderr. Therefore it's very hard to redirect only the other one of them.

Wrong.  stdout and stderr are distinct streams under all versions of DOS and Win32 I've seen.

The only difference is that, using built-in shell features, you can redirect only stdout and not stderr.

But you can redirect stderr using a third-party tool, e.g.

http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.announce/1518

Stewart.

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- C++@ a->--- UB@ P+ L E@ W++@ N+++ o K-@ w++@ O? M V? PS- PE- Y? PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox.  Please keep replies on the 'group where everyone may benefit.
December 15, 2005
Stewart Gordon wrote:
> Jari-Matti Mäkelä wrote:
> 
>> Stewart Gordon wrote:
>>
>>>>> Windows 9x and DOSes do not fully support stderr.
>>>
>>>
>>> What do you mean by this?
>>
>>
>> I guess I mean that AFAIK DOS/Win9x silently merges stdout and stderr. Therefore it's very hard to redirect only the other one of them.
> 
> 
> Wrong.  stdout and stderr are distinct streams under all versions of DOS and Win32 I've seen.

Sorry, didn't know it precisely.

Apparently this all means that Walter really should take a closer look at the patch you submitted previously.
December 15, 2005
In article <dnrhaq$2qo0$1@digitaldaemon.com>, Stewart Gordon says...
>
>Dave wrote:
>> In article <dnp8l1$11p8$1@digitaldaemon.com>, =?ISO-8859-1?Q?Jari-Matti_M=E4kel=E4?= says...
>>> Anders F Björklund wrote:
>>> Windows 9x and DOSes do not fully support stderr.
>
>What do you mean by this?
>
>> But they will still output messages 'put' to 'stderr' (even if stderr redirection and such is not fully supported), correct? If so IMO there's no good reason for not changing this behaviour just because D needs to support Win9X. (I mean, forget the "version (Win9X)" type of stuff and just make the change universally).
><snip>
>
>How can preventing anybody from _not_ redirecting errors along with normal output possibly constitute supporting Win9x?  Your thought process makes little or no sense to me.  See
>

That was poorly worded.

What I meant was simply that if something like

fprintf(stderr,"%.*s\n","someErrorMessage");

still makes it out to the console (which it does), then Win9X shell features not supporting redirection of stderr should not be an issue in making a simple universal change.

By universal, I mean w/o regard to Win9X, i.e.: don't version code so a D program running on Win9X would output errors to stdout (so it could be redirected) and stderr everywhere else.

Probably still not worded ideally, but better? <g>


December 16, 2005
Stewart Gordon wrote:
> Jari-Matti Mäkelä wrote:
> 
>> Stewart Gordon wrote:
>>
>>>>> Windows 9x and DOSes do not fully support stderr.
>>>
>>>
>>> What do you mean by this?
>>
>>
>> I guess I mean that AFAIK DOS/Win9x silently merges stdout and stderr. Therefore it's very hard to redirect only the other one of them.
> 
> 
> Wrong.  stdout and stderr are distinct streams under all versions of DOS and Win32 I've seen.
> 
> The only difference is that, using built-in shell features, you can redirect only stdout and not stderr.
> 
> But you can redirect stderr using a third-party tool, e.g.
> 
> http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.announce/1518
> 
> Stewart.
> 


stderr can be redirected using "2>".