From: "Bart Schaefer" <schaefer@brasslantern.com>
To: Phil Pennock <phil@athenaeum.demon.co.uk>, zsh-workers@math.gatech.edu
Subject: PATCH: 3.1.5 and 3.0.5: ${(l<e><s1><s2>)param} (was Re: Arithmetic expression (bug?))
Date: Sun, 15 Nov 1998 15:19:24 -0800 [thread overview]
Message-ID: <981115151925.ZM30071@candle.brasslantern.com> (raw)
In-Reply-To: <981115144603.ZM29810@candle.brasslantern.com>
On Nov 15, 2:46pm, Bart Schaefer wrote:
} Subject: Re: Arithmetic expression (bug?)
}
} Having just said I wasn't sure how to fix this, here's a patch that takes
} care of it.
That patch didn't go far enough; it misses the case where two strings are
passed to (l...) or (r...). Use this one instead (and this time I did
remember to put the word PATCH in the subject).
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)
@@ -871,7 +871,7 @@
*t = sav;
sav = *s;
s = t + 1;
- if (*s != sav) {
+ if (UNTOK(*s) != UNTOK(sav)) {
s--;
break;
}
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
next prev parent reply other threads:[~1998-11-15 23:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-11-04 21:34 Arithmetic expression (bug?) Phil Pennock
1998-11-04 22:05 ` Bernd Eggink
1998-11-05 1:40 ` Phil Pennock
1998-11-15 22:21 ` Bart Schaefer
1998-11-15 22:46 ` Bart Schaefer
1998-11-15 23:19 ` Bart Schaefer [this message]
1998-11-15 23:25 ` More about ${(l:e::s1::s2:)param} Bart Schaefer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=981115151925.ZM30071@candle.brasslantern.com \
--to=schaefer@brasslantern.com \
--cc=phil@athenaeum.demon.co.uk \
--cc=zsh-workers@math.gatech.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).