1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-04-19 16:44:02 +02:00

47889: Update csh aliasing equivalences

This commit is contained in:
Bart Schaefer 2021-02-04 17:01:07 -08:00
parent 9120d1e841
commit 6db45b94d8
2 changed files with 9 additions and 5 deletions

View File

@ -1,3 +1,7 @@
2021-02-04 Bart Schaefer <schaefer@zsh.org>
* 47889: Etc/FAQ.yo: Update csh alias equivalences (section 2.3)
2021-02-03 Joshua Krusell <js.shirin@gmail.com>
* 47899: Src/Modules/zutil.c, Test/V12zparseopts.ztst: Improved

View File

@ -715,7 +715,8 @@ label(23)
enumeration(
myeit() If the csh alias references "parameters" (tt(\!:1), tt(\!*) etc.),
then in zsh you need a function (referencing tt($1), tt($*) etc.).
Otherwise, you can use a zsh alias.
In recent versions of zsh this can be done by defining an anonymous
function within the alias. Otherwise, a simple zsh alias suffices.
myeit() If you use a zsh function, you need to refer _at_least_ to
tt($*) in the body (inside the tt({ })). Parameters don't magically
@ -759,7 +760,7 @@ label(23)
parameters. (E.g., in a csh alias, a reference to tt(\!:5) will
cause an error if 4 or fewer arguments are given; in a zsh
function, tt($5) is the empty string if there are 4 or fewer
parameters.)
parameters. Force an error in this example by using tt(${5?}).)
myeit() To begin a zsh alias with a - (dash, hyphen) character, use
mytt(alias --):
@ -780,9 +781,8 @@ label(23)
)
mytt(l) in the function definition is in command position and is expanded
as an alias, defining mytt(/bin/ls) and mytt(-F) as functions which call
mytt(/bin/ls), which gets a bit recursive. This can be avoided if you use
mytt(function) to define a function, which doesn't expand aliases. It is
possible to argue for extra warnings somewhere in this mess.
mytt(/bin/ls), which gets a bit recursive. Recent versions of zsh treat
this as an error, but older versions silently create the functions.
One workaround for this is to use the "function" keyword instead:
verb(