From e504499d98a057b0e39bb019707cb905bdbe7e62 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Thu, 23 Sep 1999 14:30:25 +0000 Subject: zsh-workers/8033 --- Doc/Zsh/arith.yo | 5 +++-- Src/math.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Doc/Zsh/arith.yo b/Doc/Zsh/arith.yo index b18aed94c..29897a233 100644 --- a/Doc/Zsh/arith.yo +++ b/Doc/Zsh/arith.yo @@ -86,13 +86,14 @@ if the var(args) is used as a string or a comma-separated list of arithmetic expressions. The shell currently defines no mathematical functions, but modules may define some. -An expression of the form `tt(#\)var(x)' where var(x) is any character +An expression of the form `tt(##)var(x)' where var(x) is any character sequence such as `tt(a)', `tt(^A)', or `tt(\M-\C-x)' gives the ascii value of this character and an expression of the form `tt(#)var(foo)' gives the ascii value of the first character of the value of the parameter var(foo). Note that this is different from the expression `tt($#)var(foo)', a standard parameter substitution which gives the -length of the parameter var(foo). +length of the parameter var(foo). `tt(#\)' is accepted instead of +`tt(##)', but its use is deprecated. Named parameters and subscripted arrays can be referenced by name within an arithmetic expression without using the parameter expansion syntax. For diff --git a/Src/math.c b/Src/math.c index e764e5957..d9855f1ba 100644 --- a/Src/math.c +++ b/Src/math.c @@ -374,7 +374,7 @@ zzlex(void) return NUM; } if (*ptr == '#') { - if (*++ptr == '\\') { + if (*++ptr == '\\' || *ptr == '#') { int v; ptr++; -- cgit 1.4.1