Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Undocumented numeric globbing flags
On Mon, 25 Jul 2016 13:57:07 -0700
Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
> On Jul 25, 5:32pm, Peter Stephenson wrote:
> }
> } Does anyone use the undocumented globbing flag feature that a number
> } with no flag is treated as a set of octal bits to "and" with the file
> } mode?
>
> I can't remember ever having done so. Falstad probably did, 25 years ago.
> :-)
Sounds like cruft.
pws
diff --git a/README b/README
index d5343db..9de5eb4 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 850405f..a845c5f 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;
Messages sorted by:
Reverse Date,
Date,
Thread,
Author