about summary refs log tree commit diff
path: root/Src/Zle/zle_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle/zle_main.c')
-rw-r--r--Src/Zle/zle_main.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 104e5d6c5..472e326d1 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -357,6 +357,21 @@ ungetbytes(char *s, int len)
 	ungetbyte(*--s);
 }
 
+/**/
+void
+ungetbytes_unmeta(char *s, int len)
+{
+    s += len;
+    while (len--) {
+	if (len && s[-2] == Meta) {
+	    ungetbyte(*--s ^ 32);
+	    len--;
+	    s--;
+	} else
+	    ungetbyte(*--s);
+    }
+}
+
 #if defined(pyr) && defined(HAVE_SELECT)
 static int
 breakread(int fd, char *buf, int n)