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

Re: BUG: failure in "vcs_info prompt" aborts precmd function



On Sun, Nov 23, 2014 at 7:13 PM, Bart Schaefer
<schaefer@xxxxxxxxxxxxxxxx> wrote:
> On Nov 23,  4:58pm, Daniel Hahler wrote:
> } Subject: Re: BUG: failure in "vcs_info prompt" aborts precmd function
> }
> } On 22.11.2014 23:20, Mikael Magnusson wrote:
> }
> } >> Apart from that, I am still wondering why the error in vcs_info causes abortion of the precmd function?!
> } >
> } > Passing a non-existing file to $(< is a fatal error, or whichever term
> } > is correct here.
> }
> } I got that, but e.g. `false` does not abort the precmd function.
>
> "false" is just a normal command that returns nonzero.
>
> $(<notafile) is treated similarly to a syntax error, it kills the whole
> surrounding context.
>
> It's pretty easy to make it behave like a failed external command; can
> anyone recall why it wasn't, other than to avoid allocating an empty
> linked list?  It has been a fatal error since before revision control
> was in use.  It is possible something really depends on being stopped
> by this error?

Maybe it predates the UNSET option and nobody ever caught it? compare eg,
% ( setopt nounset; echo $a; echo hello )
zsh: a: parameter not set
% ( echo $(< foo); echo hello )
zsh: no such file or directory: foo

It is sort of a parameter expansion, after all.

-- 
Mikael Magnusson



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