about summary refs log tree commit diff
path: root/Src/Zle/zle_keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Zle/zle_keymap.c')
-rw-r--r--Src/Zle/zle_keymap.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
index 382eb8d41..13fd13844 100644
--- a/Src/Zle/zle_keymap.c
+++ b/Src/Zle/zle_keymap.c
@@ -1672,7 +1672,7 @@ getkeybuf(int w)
 mod_export void
 ungetkeycmd(void)
 {
-    ungetbytes(keybuf, keybuflen);
+    ungetbytes_unmeta(keybuf, keybuflen);
 }
 
 /* read a command from the current keymap, with widgets */
@@ -1690,17 +1690,12 @@ getkeycmd(void)
     if(!*seq)
 	return NULL;
     if(!func) {
-	int len;
-	char *pb;
-
 	if (++hops == 20) {
 	    zerr("string inserting another one too many times");
 	    hops = 0;
 	    return NULL;
 	}
-	pb = unmetafy(ztrdup(str), &len);
-	ungetbytes(pb, len);
-	zfree(pb, strlen(str) + 1);
+	ungetbytes_unmeta(str, strlen(str));
 	goto sentstring;
     }
     if (func == Th(z_executenamedcmd) && !statusline) {