Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [PATCH] respect nullglob given multios
On Thu, 2019-10-10 at 16:40 +0000, Peter Stephenson wrote:
> On Thu, 2019-10-10 at 01:18 +0000, Joe Rice wrote:
> > This patch makes multios behave less surprisingly with nullglob.
> >
> > Currently, multios throws a file not found error when a nullglob is
> > given. This patch inserts /dev/null into the redirection list when
> > the
> > glob returns empty with no errors.
> >
> > Is this a behavior that would interest anyone else? I find myself
> > using the `cat /dev/null *(N.)` idiom quite a bit and I thought the
> > behavior made sense for the null case in multios.
>
> This does seem a logical effect, though it ought to be documented.
I am not sure if it's that logical.
What about if the pipeline on left of the redirection is something
expensive?
I'd rather have the command fail than starting a long-running job whose
output will be lost.
Also, conceptually, this introduces a difference between the behaviors
of an explicitly empty redirection and an empty redirection after
filename expansion.
Compare:
% zsh -f
% echo $ZSH_VERSION
5.7.1
% print nosuchfileprefix*(N)
% print
% print > nosuchfileprefix*(N) # Implicitly sends to /dev/null
% print >
zsh: parse error near `\n'
%
I'd argue that the behavior should be the same: both should send to
/dev/null or not.
Incidentally, and as a completely separate issue, on an unpatched 5.7.1
zsh (Fedora 30 stock package), the command above succeeds and creates a
file:
% print > nosuchfileprefix*(N)
% ls nosuchfileprefix*(N)
'nosuchfileprefix'$'\207\210''N'$'\212'
Is that expected?
Phil.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author