diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2007-08-30 14:38:26 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2007-08-30 14:38:26 +0000 |
commit | 4af9d9731744b496059acd32cbc98ecf2c896ea6 (patch) | |
tree | e9d159b5cb6950e2d167bc48708a873ba68fa456 /Src/Zle | |
parent | bcd3d2ab27e808463a87188eb9bc982928c51047 (diff) | |
download | zsh-4af9d9731744b496059acd32cbc98ecf2c896ea6.tar.gz zsh-4af9d9731744b496059acd32cbc98ecf2c896ea6.tar.xz zsh-4af9d9731744b496059acd32cbc98ecf2c896ea6.zip |
23807: fix interactive completion mode
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/complist.c | 10 | ||||
-rw-r--r-- | Src/Zle/zle_misc.c | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c index 64d7e50ce..0e83cb2a2 100644 --- a/Src/Zle/complist.c +++ b/Src/Zle/complist.c @@ -2542,10 +2542,20 @@ domenuselect(Hookdef dummy, Chdata dat) strncpy(zlemetaline, origline, l); zlemetacs = origcs; + /* + * Horrible quick fix: + * we shouldn't need to metafy and unmetafy + * quite as much. If we kept unmetafied through + * here we could fix up setmstatus to use unmetafied + * as well. This is the only use of setmstatus which + * restores the line so that should be doable. + */ + unmetafy_line(); if (cmd == Th(z_selfinsert)) selfinsert(zlenoargs); else selfinsertunmeta(zlenoargs); + metafy_line(); saveline = (char *) zhalloc(zlemetall); memcpy(saveline, zlemetaline, zlemetall); diff --git a/Src/Zle/zle_misc.c b/Src/Zle/zle_misc.c index 48739e531..f4c32e454 100644 --- a/Src/Zle/zle_misc.c +++ b/Src/Zle/zle_misc.c @@ -42,6 +42,8 @@ doinsert(ZLE_STRING_T zstr, int len) int m = neg ? -zmult : zmult; /* number of copies to insert */ int count; + UNMETACHECK(); + iremovesuffix(c1, 0); invalidatelist(); |