delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1999/06/07/12:59:58

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com
Message-Id: <199906071552.KAA02703@mercury.xraylith.wisc.edu>
To: cygwin-developers AT sourceware DOT cygnus DOT com
Subject: Re: Text version of Windows error messages in small_printf considered harmful
In-Reply-To: Your message of "Fri, 04 Jun 1999 10:46:10 +0200."
<37579252 DOT 34EB714E AT vinschen DOT de>
Date: Mon, 07 Jun 1999 10:52:55 -0500
From: Mumit Khan <khan AT xraylith DOT wisc DOT EDU>

Corinna Vinschen <corinna AT vinschen DOT de> writes:
> Chris Faylor wrote:
> > 
> > Now that I've had the chance to use the extended error messages that
> > Mumit recently added to smallprint.c, I have to say that I'm not thrilled.
> > The error messages extend the length of the line so that things wrap
> > in a way that makes it hard to read.  Worse, I've received a couple of
> > strace logs from non-US users and the error messages are incomprehensible
> > to me.  Another problem is that it is not easy to figure out exactly
> > which error *code* is being displayed even when the error is in English.
> 
> I agree. I'm native german and it's easier for me to work with error
> codes than with german or english error messages. It's definitely
> easier to find related information with the error code instead of with
> the error message.

I on the other hand find it *very* cumbersome to look up error messages 
when given just numbers; eg., 'dlopen: win32 error 113' or something 
similar means nothing to a user, when something like 'dlopen: can't find
shared library' means a lot more.

However, since the code is problematic, it should be taken out or turned
on via a env variable as Chris suggests.

The language issue is trivial -- just force the language to be US English
instead of native in the FormatMessage.

IMO One way to do this correctly is the following:
  
- tag a set of these error codes as something we would like to display
  using a human-readable message.
- have a associative translation table using the error code as the key;
  the table will have error messages formatted like sys_errlist to 
  provide Unix-like consistency (eg., short and no embedded newlines!).
- display only these messages as text.

Over time, we can keep on expanding the error translation table.

> 
> > Because of this, I have conditionalized this code in recent snapshots.
> > It's off by default.
> > I'm thinking that an alternative is to add the
> > possibility to create text messages as an STRACE option.  I have always
> > wanted to write an strace program rather than using the kludgey environment
> > variable method.  If we did this, we could do something like
> > 'strace --text file.exe' to produce error message logs with text error
> > messages.
> 
> IMHO, the environment variable method is ok. It allows, to debug an
> application, that is started from the service manager.
> The `strace' program would nevertheless be a convenient method. I
> like this idea, too, and I think, this program can be very easy:
> It only has to control the setting of the environment variable.
> 

I do like the strace option, but please keep users in mind. 

Regards,
Mumit


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019