diff options
Diffstat (limited to 'Src/Zle/zle_hist.c')
-rw-r--r-- | Src/Zle/zle_hist.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Src/Zle/zle_hist.c b/Src/Zle/zle_hist.c index ddd17b760..066750e23 100644 --- a/Src/Zle/zle_hist.c +++ b/Src/Zle/zle_hist.c @@ -756,10 +756,12 @@ zle_setline(Histent he) ZS_memcpy(zleline, he->zle_text, zlell); if ((zlecs = zlell) && invicmdmode()) - zlecs--; + DECCS(); } else { setline(he->node.nam, ZSL_COPY|ZSL_TOEND); } + /* Move right if we're on a zero-width combining character */ + CCRIGHT(); setlastline(); clearlist = 1; } @@ -1548,6 +1550,7 @@ historybeginningsearchbackward(char **args) zletextfree(&zt); zle_setline(he); zlecs = cpos; + CCRIGHT(); return 0; } } @@ -1588,6 +1591,7 @@ historybeginningsearchforward(char **args) zletextfree(&zt); zle_setline(he); zlecs = cpos; + CCRIGHT(); return 0; } } |