From 333015a46e916f566763ec44ae8669c0378767d9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 25 Apr 2020 15:54:16 +0200 Subject: patch 8.2.0637: incsearch highlighting does not work for ":sort!" Problem: Incsearch highlighting does not work for ":sort!". Solution: Skip over the exclamation point. (closes #5983) --- src/ex_getln.c | 4 +++- src/testdir/dumps/Test_incsearch_sort_02.dump | 9 +++++++++ src/testdir/test_search.vim | 5 ++++- src/version.c | 2 ++ 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 src/testdir/dumps/Test_incsearch_sort_02.dump (limited to 'src') 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, "\") + call term_sendkeys(buf, ':sort! /on') + call VerifyScreenDump(buf, 'Test_incsearch_sort_02', {}) + call term_sendkeys(buf, "\") + 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 @@ -746,6 +746,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 637, /**/ 636, /**/ -- cgit v1.2.3