From: Bart Schaefer <schaefer@brasslantern.com>
To: Zsh hackers list <zsh-workers@zsh.org>
Subject: Re: How should empty aliases work?
Date: Fri, 29 Dec 2017 17:14:38 -0800 [thread overview]
Message-ID: <CAH+w=7bB+FugYxHnw-6WWLYU3DoCxv_FangQiDcRWN=LR+Hvig@mail.gmail.com> (raw)
In-Reply-To: <CAH+w=7bNy-66-v=QX2BDzkbJ5SadK7mVgd9joHGgF07364PV0w@mail.gmail.com>
On Fri, Dec 29, 2017 at 12:30 AM, Bart Schaefer
<schaefer@brasslantern.com> wrote:
>
> % alias empty=''
> % alias output='empty echo'
> % alias echo='print -r bar'
> % output foo
>
> What actually happens is that "echo" expands and "print -r bar foo" is
> executed. If that's correct, can someone explain why?
I think the answer is that being a word in command position has
precedence over being a word preceded by an alias replacement. Words
in command position are always alias-replaceable; words not in command
position are alias-replaceable if preceded by an alias replacement
that ended with a space.
So when "empty" disappears, it leaves "echo" in command position and
the first clause applies even though the second clause does not.
next prev parent reply other threads:[~2017-12-30 1:14 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-29 8:30 Bart Schaefer
2017-12-30 1:14 ` Bart Schaefer [this message]
2018-01-03 11:47 ` Peter Stephenson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAH+w=7bB+FugYxHnw-6WWLYU3DoCxv_FangQiDcRWN=LR+Hvig@mail.gmail.com' \
--to=schaefer@brasslantern.com \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).