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

Re: Here-documents borked in "functions" output



On Fri, 14 Mar 2008 11:36:41 +0000
Peter Stephenson <pws@xxxxxxx> wrote:
> The new tests should catch most likely glitches.

However, there is a glitch in the quoting code; it's
independent of here-documents but there aren't many places
where we do this, so it hasn't shown up before:

% hello() {
  cat <<HERE
  I will `echo stuff` and then `echo more stuff`
  HERE
}
% functions hello
hello () {
        cat <<< "I will `echo stuff`` and then ``echo more stuff```"
}

Index: Src/utils.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/utils.c,v
retrieving revision 1.182
diff -u -r1.182 utils.c
--- Src/utils.c	27 Feb 2008 11:46:26 -0000	1.182
+++ Src/utils.c	14 Mar 2008 11:56:30 -0000
@@ -4268,6 +4268,8 @@
 		while (*u && *u != c)
 		    *v++ = *u++;
 		*v++ = c;
+		if (*u)
+		    u++;
 		continue;
 	    } else if ((*u == Qstring || *u == '$') && u[1] == '\'' &&
 		       instring == QT_DOUBLE) {

-- 
Peter Stephenson <pws@xxxxxxx>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070



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