Re: Mutt 1.5.16 editor exit status brain damage
* Jean-Pierre Radley <jpr@xxxxxxx> [2007-06-16 15:33]:
> Derek Martin typed (on Sat, Jun 16, 2007 at 01:03:47PM -0400):
> | It does not apply to other system commands, because:
> |
> | - The standards assume that "standard utilities" have a non-zero
> | exit status when an error condition has occured
>
> Depends on the command. My man page for grep|egrep|fgrep says:
>
> Exit values
>
> Exit status is 0 if any matches are found,
> 1 if no matches are found, and 2 for syntax
> errors or inaccessible files.
This is a nice counter-example to the behaviour of Solaris' Vi, as it
shows an extremly useful definition of exit values (used in countless
scripts world-wide) as opposed to the completely useless values Solaris'
Vi returns (which forces the parent-process to ignore them entirely).
> Not finding a certain string in some files means that it is *false* that
> this string resides in these files. I wouldn't characterize that as any
> kind of *error*.
Me not either, and therefore I wouldn't even consider the behaviour of
Solaris' Vi POSIX compliant, since the standard says that Vi shall exit
non-zero only if an *error* occurs. However, no matter whether or not
such stupid behaviour is formally covered by some standard, the question
is whether Mutt should explicitely support this behaviour or whether it
should be left to the user. Personally, I'd opt for the latter.
Holger