From 5aa1c04fd6358cfd5de9f7ddde78000ef73da8e5 Mon Sep 17 00:00:00 2001
From: Bart Schaefer <barts@users.sourceforge.net>
Date: Sun, 6 May 2001 22:37:51 +0000
Subject: [PATCH] Prevent "no multi-letter values" error on values of '\:' and
 '' in compvalues().

---
 Src/Zle/computil.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
index 90544b9c2..a4620151b 100644
--- a/Src/Zle/computil.c
+++ b/Src/Zle/computil.c
@@ -2119,6 +2119,7 @@ parse_cvdef(char *nam, char **args)
     ret->lastt = time(0);
 
     for (valp = &(ret->vals); *args; args++) {
+	int bs = 0;
 	p = dupstring(*args);
 	xnum = 0;
 
@@ -2166,9 +2167,9 @@ parse_cvdef(char *nam, char **args)
 
 	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;