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

PATCH: Allow a value of '\:' in _values



The code was checking for backslashes, but counting them as characters for
purposes of the "no multi-letter values" error.  It should ignore exactly
one backslash.

Also, an error of "no multi-letter values" was silly for the empty value.

diff -u zsh-forge/current/Src/Zle/computil.c zsh-4.0/Src/Zle/computil.c
--- zsh-forge/current/Src/Zle/computil.c	Thu May  3 07:30:57 2001
+++ zsh-4.0/Src/Zle/computil.c	Sun May  6 10:13:23 2001
@@ -2119,6 +2119,7 @@
     ret->lastt = time(0);
 
     for (valp = &(ret->vals); *args; args++) {
+	int bs = 0;
 	p = dupstring(*args);
 	xnum = 0;
 
@@ -2166,9 +2167,9 @@
 
 	for (name = p; *p && *p != ':' && *p != '['; p++)
 	    if (*p == '\\' && p[1])
-		p++;
+		p++, bs = 1;
 
-	if (hassep && !sep && name + 1 != p) {
+	if (hassep && !sep && name + bs + 1 < p) {
 	    freecvdef(ret);
 	    zwarnnam(nam, "no multi-letter values with empty separator allowed", NULL, 0);
 	    return NULL;

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

Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   



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