Holger Weiss typed (on Sat, Jun 16, 2007 at 10:34:16PM +0200): | * Jean-Pierre Radley <[EMAIL PROTECTED]> [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.
Current POSIX seems to say that, but go back a few years, and the POSIX standard said that a search error while in vi adds to the exit status number; many people still use a vi binary that conforms to that older standard. -- JP ==> http://www.frappr.com/cusm <==