zsh-workers
 help / color / mirror / code / Atom feed
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


  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).