I think this can be avoided. Let use stderr to print this, this way you can use redirections with every program you want.
I will add one more remark (!) : I dont know many programs that expect "Wine version" in their output. If they are disturbed by this, this is a huge design problem.
-----Message d'origine----- De : Francois Gouget [mailto:fgouget@free.fr] Envoyé : mardi 1 juillet 2003 23:57 À : wine-devel@winehq.org Objet : Re: [RESENT] Always print version on startup
Let me object too then.
This patch will break all scripts that use regedit to export part of the registry to stdout. It will also break all applications that run 'uninstaller --list' and then parse the output to determine what Windows applications are installed. It will also break all Winelib applications that print anything to stdout that then needs to be parsed by a script or some other program. Of course we have each of these cases in CrossOver.
Then it will break all Windows application that analyze the output of another Windows application. For instance I expect Visual C++'s nmake+cl will not work anymore (as well as other make+compiler cases). Even compiling from the Visual C++ IDE may stop working.
Finally it's a matter of what Wine is about. Wine is about transparently running Windows applications. Wine itself should be as invisible as possible, it should just get out of the way. We went out of our way (well iirc Alexandre did most of that work) to avoid having the Wine command line options interfer with the application's command line options. Printing garbage (from the Windows application point of vue) on stdout would be a step backwards.
On Wed, 2 Jul 2003, PETREOLLE Sylvain wrote:
I think this can be avoided. Let use stderr to print this, this way you can use redirections with every program you want.
Actually, MESSAGE probably prints to stderr already. But still, some programs will assume that an error occurred if something is printed on stderr. For instance this will happen to any application written in tcl unless the developper went to great lengths to avoid it. So such a change would likely break WineSetupTk.
I will add one more remark (!) : I dont know many programs that expect "Wine version" in their output.
Precisely. And they should not have to deal with it. This is absolutely equivalent to modifying grep so it systematically prints its version information on stdout or stderr. This would break tons of scripts out there.
If they are disturbed by this, this is a huge design problem.
In the above example the design bug would not be in the scripts that get broken but in grep. Similarly, Wine has no business adding or removing anything from what the Windows application prints on stdout or stderr.