zsh-workers
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-workers@zsh.org
Subject: Aliasing separators (Re: grammar triviality with '&&')
Date: Thu, 5 Mar 2015 09:07:20 -0800	[thread overview]
Message-ID: <150305090720.ZM8441@torch.brasslantern.com> (raw)
In-Reply-To: <20150305100638.55631238@pwslap01u.europe.root.pri>

Moved to zsh-workers.

On Mar 5, 10:06am, Peter Stephenson wrote:
}
} > Although I see PWS has already made a (broken?) stab at changing this,
} > I think that's a documentation omission rather than a code bug.  Some
} > things intentionally cannot be aliased.
} 
} I don't think that makes sense: there's too much you already can alias.
} You can alias reserved words and arbitrary magic sequences like \&, for
} example, and consequently already have the power to do as much damage as
} you like.  Forbidding it in this case would just be providing an
} unmemorable list of special cases.

There has to be a line somewhere; you can't usefully alias whitespace, for
example.  And I think this particular case goes over that line.

Consider, with this patch in place:

torch% alias -g '&&'=foo
torch% set -x     
torch% true&&false
+Src/zsh:3> true foofalse
torch% &&bar         
+Src/zsh:4> foobar
zsh: command not found: foobar

That's CERTAINLY not the intended behavior -- separator tokens don't need
to be delineated by whitespace, but the intention of aliasing is that
it does NOT take place "inside" an unbroken string without whitespace
around it.

Aliasing only of STRING tokens is exactly the right thing and this change
is simply wrong.  The doc only says "before parsing" as a shorthand instead
of a long explaination about how the alias is replaced and then parsed all
over again.


  parent reply	other threads:[~2015-03-05 17:07 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <54F33934.2070607@eastlink.ca>
     [not found] ` <13666281425228233@web7o.yandex.ru>
     [not found]   ` <54F345D3.9010204@eastlink.ca>
     [not found]     ` <D0509295-7DA9-4F18-9E3D-D50C0A756998@larryv.me>
     [not found]       ` <20150302022754.GA7449@xvii.vinc17.org>
     [not found]         ` <CABx2=D8efL3X2tfB+_+VweY2yye6EhaMNbJa3b3jJeVMp=7gaQ@mail.gmail.com>
     [not found]           ` <20150302104619.GC6869@xvii.vinc17.org>
     [not found]             ` <20150302110610.2e2c7e86@pwslap01u.europe.root.pri>
     [not found]               ` <CAH+w=7YoHjN85hqOZVywOfYGZqvU74vZrbE84Ln+V2HQi-6nSA@mail.gmail.com>
     [not found]                 ` <20150304144756.GA27231@ypig.lip.ens-lyon.fr>
2015-03-04 15:18                   ` grammar triviality with '&&' Peter Stephenson
2015-03-04 21:13                     ` Daniel Shahaf
2015-03-04 22:05                     ` Mikael Magnusson
2015-03-05  9:46                       ` Peter Stephenson
     [not found]                   ` <150304175112.ZM19818@torch.brasslantern.com>
     [not found]                     ` <20150305100638.55631238@pwslap01u.europe.root.pri>
2015-03-05 17:07                       ` Bart Schaefer [this message]
2015-03-05 17:40                         ` Aliasing separators (Re: grammar triviality with '&&') Peter Stephenson
2015-03-06  1:42                           ` Bart Schaefer
2015-03-06  4:13                             ` Mikael Magnusson
2015-03-06 16:43                               ` Vincent Lefevre
2015-03-06  9:40                             ` Peter Stephenson
2015-03-06 19:26                               ` Bart Schaefer
2015-03-07 15:52                                 ` Peter Stephenson
2015-03-07 17:18                                   ` Ray Andrews
2015-03-07 21:10                                   ` Bart Schaefer
2015-03-09 11:46                                     ` Vincent Lefevre
2015-03-09 16:33                                       ` Peter Stephenson
2015-03-09 17:03                                         ` Bart Schaefer
2015-03-09 17:39                                           ` Peter Stephenson
2015-03-09 17:47                                           ` Ray Andrews

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=150305090720.ZM8441@torch.brasslantern.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).