diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-04-25 15:54:16 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-04-25 15:54:16 +0200 |
commit | 333015a46e916f566763ec44ae8669c0378767d9 (patch) | |
tree | dc3532022d4401595b0aa5b214f40d138ad6fe08 /src | |
parent | 41f6918bf4545de6a80c96d8c80f5f509f9a647f (diff) |
patch 8.2.0637: incsearch highlighting does not work for ":sort!"v8.2.0637
Problem: Incsearch highlighting does not work for ":sort!".
Solution: Skip over the exclamation point. (closes #5983)
Diffstat (limited to 'src')
-rw-r--r-- | src/ex_getln.c | 4 | ||||
-rw-r--r-- | src/testdir/dumps/Test_incsearch_sort_02.dump | 9 | ||||
-rw-r--r-- | src/testdir/test_search.vim | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 18 insertions, 2 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c index 18da926560..7e92ec8992 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -249,7 +249,9 @@ do_incsearch_highlighting(int firstc, int *search_delim, incsearch_state_T *is_s } else if (STRNCMP(cmd, "sort", MAX(p - cmd, 3)) == 0) { - // skip over flags + // skip over ! and flags + if (*p == '!') + p = skipwhite(p + 1); while (ASCII_ISALPHA(*(p = skipwhite(p)))) ++p; if (*p == NUL) diff --git a/src/testdir/dumps/Test_incsearch_sort_02.dump b/src/testdir/dumps/Test_incsearch_sort_02.dump new file mode 100644 index 0000000000..ee752e178b --- /dev/null +++ b/src/testdir/dumps/Test_incsearch_sort_02.dump @@ -0,0 +1,9 @@ +|a+0&#ffffff0|n|o|t|h|e|r| |o+1&&|n|e+0&&| |2| @56 +|t|h|a|t| |o+0&#ffff4012|n|e+0&#ffffff0| |3| @59 +|t|h|e| |o+0&#ffff4012|n|e+0&#ffffff0| |1| @60 +|~+0#4040ff13&| @68 +|~| @68 +|~| @68 +|~| @68 +|~| @68 +|:+0#0000000&|s|o|r|t|!| |/|o|n> @59 diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim index aaa42352ce..7aaf8db52d 100644 --- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -1136,11 +1136,14 @@ func Test_incsearch_sort_dump() " the 'ambiwidth' check. sleep 100m - " Need to send one key at a time to force a redraw. call term_sendkeys(buf, ':sort ni u /on') call VerifyScreenDump(buf, 'Test_incsearch_sort_01', {}) call term_sendkeys(buf, "\<Esc>") + call term_sendkeys(buf, ':sort! /on') + call VerifyScreenDump(buf, 'Test_incsearch_sort_02', {}) + call term_sendkeys(buf, "\<Esc>") + call StopVimInTerminal(buf) call delete('Xis_sort_script') endfunc diff --git a/src/version.c b/src/version.c index 7c753e22ab..28d317922a 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 637, +/**/ 636, /**/ 635, |