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