Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

# Re: Arithmetic expression (bug?)

• X-seq: zsh-workers 4643
• From: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxx>
• To: Phil Pennock <phil@xxxxxxxxxxxxxxxxxxxxx>, zsh-workers@xxxxxxxxxxxxxxx
• Subject: Re: Arithmetic expression (bug?)
• Date: Sun, 15 Nov 1998 14:46:03 -0800
• References: <199811042134.VAA01156@xxxxxxxxxxxxxxxxxxxxx>

```On Nov 4,  9:34pm, Phil Pennock wrote:
} Subject: Arithmetic expression (bug?)
}
} -----------------------------< cut here >-------------------------------
} foo=alpha
} print -- \${(l<\$[10]><x>)foo}
} print -- \${(l<10><x>)foo}
} -----------------------------< cut here >-------------------------------
} why does the third line produce:
} ./testfile: error in flags [3]
} ?

Having just said I wasn't sure how to fix this, here's a patch that takes
care of it.  I'm still not sure it's the *best* patch for it ....

Index: Src/subst.c
===================================================================
--- subst.c	1998/11/12 09:21:35	1.2
+++ subst.c	1998/11/15 22:27:52
@@ -743,6 +743,7 @@
long num;
int escapes = 0;
int klen;
+#define UNTOK(C)  (itok(C) ? ztokens[(C) - Pound] : (C))
#define UNTOK_AND_ESCAPE(X) {\
untokenize(X = dupstring(s + 1));\
if (escapes) {\
@@ -856,7 +857,7 @@
prenum = num;
else
postnum = num;
-		    if (s[1] != sav)
+		    if (UNTOK(s[1]) != UNTOK(sav))
break;
t = get_strarg(++s);
if (!*t)

--
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com

```

• Follow-Ups:

Messages sorted by: Reverse Date, Date, Thread, Author