diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | README | 8 | ||||
-rw-r--r-- | Src/glob.c | 9 |
3 files changed, 15 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index bf74cbe3c..88cf4cd19 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2016-07-28 Peter Stephenson <p.stephenson@samsung.com> + + * users/21793: README, Src/glob.c: remove ancient undocumented + pre-"f" glob qualifer feature that unqualified integers were + treated as octal file mode. + 2016-07-27 Daniel Shahaf <d.s@daniel.shahaf.name> * unposted: Functions/Misc/add-zle-hook-widget: Prefix function's diff --git a/README b/README index d5343db19..9de5eb4a9 100644 --- a/README +++ b/README @@ -79,6 +79,14 @@ Other aspects of EXIT trap handling have not changed --- there is still only one EXIT trap at any point in a programme, so it is not generally useful to combine POSIX and non-POSIX behaviour in the same script. +4) There was an undocumented feature dating from the early days of zsh +that glob qualifiers consisting only of the digits 0 to 7 were treated +as an octal file mode to "and" with the modes of files being tested. +This has been removed in order to be more sensitive to syntax errors. +The "f" qualifier has for many years been the documented way of testing +file modes; it allows the "and" test ("*(f+1)" is the documented +equivalent of "*(1)") as well as many other forms. + Incompatibilities between 5.0.8 and 5.2 --------------------------------------- diff --git a/Src/glob.c b/Src/glob.c index 850405fd4..a845c5fbb 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -1282,14 +1282,7 @@ zglob(LinkList list, LinkNode np, int nountok) *ptr = '-'; while (*s && !newcolonmod) { func = (int (*) _((char *, Statptr, off_t, char *)))0; - if (idigit(*s)) { - /* Store numeric argument for qualifier */ - func = qualflags; - data = 0; - sdata = NULL; - while (idigit(*s)) - data = data * 010 + (*s++ - '0'); - } else if (*s == ',') { + if (*s == ',') { /* A comma separates alternative sets of qualifiers */ s++; sense = 0; |