Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Prefixed backslash removed when completing command
- X-seq: zsh-workers 28375
- From: Peter Stephenson <Peter.Stephenson@xxxxxxx>
- To: Mikael Auno <auno@xxxxxx>, zsh-workers@xxxxxxx
- Subject: Re: Prefixed backslash removed when completing command
- Date: Wed, 27 Oct 2010 11:48:40 +0100
- In-reply-to: <4CC801C1.1020109@xxxxxx>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- Organization: Cambridge Silicon Radio
- References: <4BF51CF3.8010609@xxxxxx> <4CC7EB88.8020105@xxxxxx> <20101027110240.16941d1f@xxxxxxxxxxxxxxxxxxxxxxxxx> <4CC801C1.1020109@xxxxxx>
On Wed, 27 Oct 2010 12:41:05 +0200
Mikael Auno <auno@xxxxxx> wrote:
> You are completely correct. I misunderstood your reply as I did not
> know that the backslash was at all related to quoting or that
> ordinary quoting had the same result as prefixing a command with a
> backslash with respect to suppressing alias expansion.
The manual currently just gives the one example which, given your
experience, is probably not very helpful.
Index: Doc/Zsh/grammar.yo
===================================================================
RCS file: /cvsroot/zsh/zsh/Doc/Zsh/grammar.yo,v
retrieving revision 1.18
diff -p -u -r1.18 grammar.yo
--- Doc/Zsh/grammar.yo 3 Feb 2010 18:36:57 -0000 1.18
+++ Doc/Zsh/grammar.yo 27 Oct 2010 10:47:09 -0000
@@ -477,12 +477,15 @@ cindex(aliases, global)
An alias is defined using the tt(alias) builtin; global aliases
may be defined using the tt(-g) option to that builtin.
-Alias expansion is done on the shell input before any
-other expansion except history expansion. Therefore,
-if an alias is defined for the word tt(foo), alias expansion
-may be avoided by quoting part of the word, e.g. tt(\foo).
-But there is nothing to prevent an alias being defined
-for tt(\foo) as well.
+Alias expansion is done on the shell input before any other expansion
+except history expansion. Therefore, if an alias is defined for the
+word tt(foo), alias expansion may be avoided by quoting part of the
+word, e.g. tt(\foo). But there is nothing to prevent an alias being
+defined for tt(\foo) as well. For use with completion, which would
+remove an initial backslash following by a character that isn't special,
+it may be more convenient to quote the word by starting with a single
+quote, i.e. tt('foo); completion will automatically add the trailing
+single quote.
There is a commonly encountered problem with aliases
illustrated by the following code:
--
Peter Stephenson <pws@xxxxxxx> Software Engineer
Tel: +44 (0)1223 692070 Cambridge Silicon Radio Limited
Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, UK
Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
Messages sorted by:
Reverse Date,
Date,
Thread,
Author