From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2285 invoked from network); 4 May 2000 10:39:22 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 4 May 2000 10:39:22 -0000 Received: (qmail 18505 invoked by alias); 4 May 2000 10:39:11 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 11145 Received: (qmail 18484 invoked from network); 4 May 2000 10:39:10 -0000 Date: Thu, 4 May 2000 12:39:08 +0200 (MET DST) Message-Id: <200005041039.MAA00509@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Tanaka Akira's message of 04 May 2000 17:53:42 +0900 Subject: PATCH: Re: side effect of promptsubst. Tanaka Akira wrote: > ... > | foo="'and now' \"even the pubs\" \\a\\r\\e shut." > | print -r ${(Q)foo} > | Error output: > | Oops. Bug in parse_subst_string: len < l Hmhm. The other uses of `len' look good. Bye Sven Index: Src/lex.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/lex.c,v retrieving revision 1.4 diff -u -r1.4 lex.c --- Src/lex.c 2000/05/04 08:43:31 1.4 +++ Src/lex.c 2000/05/04 09:56:55 @@ -1447,7 +1447,7 @@ int parse_subst_string(char *s) { - int c, l = strlen(s), err; + int c, l = strlen(s), err, olen; if (! *s) return 0; @@ -1464,6 +1464,7 @@ strinend(); inpop(); DPUTS(cmdsp, "BUG: parse_subst_string: cmdstack not empty."); + olen = len; lexrestore(); errflag = err; if (c == LEXERR) { @@ -1471,9 +1472,9 @@ return 1; } #ifdef DEBUG - if (c != STRING || len != l || errflag) { + if (c != STRING || olen != l || errflag) { fprintf(stderr, "Oops. Bug in parse_subst_string: %s\n", - len < l ? "len < l" : errflag ? "errflag" : "c != STRING"); + olen < l ? "len < l" : errflag ? "errflag" : "c != STRING"); fflush(stderr); untokenize(s); return 1; -- Sven Wischnowsky wischnow@informatik.hu-berlin.de