diff options
Diffstat (limited to 'Src/Zle')
-rw-r--r-- | Src/Zle/zle_misc.c | 2 | ||||
-rw-r--r-- | Src/Zle/zle_move.c | 4 | ||||
-rw-r--r-- | Src/Zle/zle_vi.c | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/Src/Zle/zle_misc.c b/Src/Zle/zle_misc.c index d25e4ebef..2d1862813 100644 --- a/Src/Zle/zle_misc.c +++ b/Src/Zle/zle_misc.c @@ -738,7 +738,7 @@ yankpop(UNUSED(char **args)) } /**/ -char * +mod_export char * bracketedstring(void) { static const char endesc[] = "\033[201~"; diff --git a/Src/Zle/zle_move.c b/Src/Zle/zle_move.c index f49df8647..155fda80d 100644 --- a/Src/Zle/zle_move.c +++ b/Src/Zle/zle_move.c @@ -344,6 +344,8 @@ endofline(char **args) zlecs = zlell; return 0; } + if ((zlecs += invicmdmode()) == zlell) + break; if (zleline[zlecs] == '\n') if (++zlecs == zlell) return 0; @@ -414,6 +416,8 @@ endoflinehist(char **args) zlecs = zlell; break; } + if ((zlecs += invicmdmode()) == zlell) + break; if (zleline[zlecs] == '\n') if (++zlecs == zlell) break; diff --git a/Src/Zle/zle_vi.c b/Src/Zle/zle_vi.c index 1a11ca7d5..42dc46e7e 100644 --- a/Src/Zle/zle_vi.c +++ b/Src/Zle/zle_vi.c @@ -224,6 +224,7 @@ getvirange(int wf) ZS_memcpy(zleline, lastline, zlell = lastll); zlecs = pos; mark = mpos; + virangeflag = 0; return -1; } @@ -232,6 +233,7 @@ getvirange(int wf) if (!zlell || (zlecs == pos && (mark == -1 || mark == zlecs) && virangeflag != 2) || ret == -1) { mark = mpos; + virangeflag = 0; return -1; } virangeflag = 0; |