Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: sysexits.h codes? (was: Re: [RFC][PATCH] `newuser` prompt theme)

On Wed, Apr 14, 2021 at 5:09 PM Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx> wrote:
> > >> @@ -0,0 +1,197 @@
> > >> +readonly -ga sysexits=(
> > >> +    USAGE
> > > ⋮
> > >> +    CONFIG
> > >
> > > Two interrelated scripts on zsh.org hardcode these constants too.
> > > I wonder if we should provide these constants in a standard autoloaded
> > > function or preset variable.
> >
> > A preset variable would be great. In C code, you can get the names and values from `sysexits.h`, which is available in both GNU and BSD.
> An associative array mapping symbolic names to integers?

I think we could settle for just an array of names, to be consistent
with $signals.

> Just those available on the target system, or?

sysexits.h tries to standardize exit codes. Having different $sysexits
on different target systems would defeat its purpose.

> > It would be great if, besides printing the name, it could also add a
> > short description of what the exit code actually means. Something like
> > “SIGPIPE (140): write on a pipe with no reader”.
> There's precedent to work with:
>     % =pwd | true
>     zsh: broken pipe  =pwd
> I suppose the default should be about this level of verbosity.
> Other degrees of verbosity could be considered.

Having an option to make error messages more verbose would be great
for new users. "broken pipe", for example, sounds a lot worse than it
really is. :)

Verbose descriptions could be copied from BSD's signal.h or man 2
sigaction. I think those are pretty decent.

Speaking of which, this reminds me of what Paul wrote in workers/48236:

On Wed, Mar 24, 2021 at 4:29 PM Paul <GammaFunction@xxxxxxxxxxx> wrote:
> - I half-agree with not unsetting clobber. noclobber is better default
>   behavior (it prevents much more damaging surprises), but just seeing
>   "file exists" or "no such file or directory" without any '>|' or '>>|'
>   suggestion is frustrating.

That could use a more helpful message, too.

Messages sorted by: Reverse Date, Date, Thread, Author