summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Doc/Zsh/options.yo6
-rw-r--r--Src/math.c3
-rw-r--r--Src/options.c1
-rw-r--r--Src/zsh.h1
5 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 989e9f692..f87ba8e0c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
2000-05-15 Clint Adams <schizo@debian.org>
+
+ * 11387: Doc/Zsh/options.yo, Src/math.c, Src/options.c,
+ Src/zsh.h: new option OCTAL_ZEROES to enable parsing
+ in 11385, on by default in 'sh' emulation.
+
* 11385: Src/math.c: interpret integer constants beginning
with '0' as octal to conform to IEEE Std 1003.2-1992
(ISO 9945-2:1993).
diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo
index b87eb788b..671ce1337 100644
--- a/Doc/Zsh/options.yo
+++ b/Doc/Zsh/options.yo
@@ -777,6 +777,12 @@ item(tt(NUMERIC_GLOB_SORT))(
If numeric filenames are matched by a filename generation pattern,
sort the filenames numerically rather than lexicographically.
)
+pindex(OCTAL_ZEROES)
+cindex(octal, arithmetic expressions)
+item(tt(OCTAL_ZEROES) <S>)(
+Interpret any integer constant beginning with a 0 and not
+as octal, per IEEE Std 1003.2-1992 (ISO 9945-2:1993).
+)
pindex(OVERSTRIKE)
cindex(editor, overstrike mode)
cindex(overstrike mode, of editor)
diff --git a/Src/math.c b/Src/math.c
index 75f0106bb..a7fcd0978 100644
--- a/Src/math.c
+++ b/Src/math.c
@@ -357,7 +357,8 @@ zzlex(void)
yyval.u.l = zstrtol(++ptr, &ptr, lastbase = 16);
return NUM;
}
- else if (idigit(*ptr) && (memchr(ptr, '.', strlen(ptr)) == NULL)) {
+ else if (isset(OCTALZEROES) &&
+ (memchr(ptr, '.', strlen(ptr)) == NULL)) {
yyval.u.l = zstrtol(ptr, &ptr, lastbase = 8);
return NUM;
}
diff --git a/Src/options.c b/Src/options.c
index 9125a2380..ea3bf13de 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -162,6 +162,7 @@ static struct optname optns[] = {
{NULL, "notify", OPT_ZSH, NOTIFY},
{NULL, "nullglob", OPT_EMULATE, NULLGLOB},
{NULL, "numericglobsort", OPT_EMULATE, NUMERICGLOBSORT},
+{NULL, "octalzeroes", OPT_EMULATE|OPT_SH, OCTALZEROES},
{NULL, "overstrike", 0, OVERSTRIKE},
{NULL, "pathdirs", OPT_EMULATE, PATHDIRS},
{NULL, "posixbuiltins", OPT_EMULATE|OPT_BOURNE, POSIXBUILTINS},
diff --git a/Src/zsh.h b/Src/zsh.h
index dec00c9e7..34cde8b54 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1395,6 +1395,7 @@ enum {
NOTIFY,
NULLGLOB,
NUMERICGLOBSORT,
+ OCTALZEROES,
OVERSTRIKE,
PATHDIRS,
POSIXBUILTINS,