summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0320
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0320')
-rw-r--r--data/vim/patches/8.1.0320141
1 files changed, 141 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0320 b/data/vim/patches/8.1.0320
new file mode 100644
index 000000000..dc3181114
--- /dev/null
+++ b/data/vim/patches/8.1.0320
@@ -0,0 +1,141 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0320
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.0320
+Problem: Too much 'incsearch' highlight for pattern matching everything.
+Solution: Add the skiplen to the command and remove the line range.
+ (Christian Brabandt) Check for empty pattern earlier.
+Files: src/ex_getln.c, src/testdir/test_search.vim,
+ src/testdir/dumps/Test_incsearch_substitute_09.dump
+
+
+*** ../vim-8.1.0319/src/ex_getln.c 2018-08-18 21:23:00.787474060 +0200
+--- src/ex_getln.c 2018-08-22 22:35:09.131882839 +0200
+***************
+*** 285,290 ****
+--- 285,291 ----
+ char_u *dummy;
+ exarg_T ea;
+ pos_T save_cursor;
++ int use_last_pat;
+
+ *skiplen = 0;
+ *patlen = ccline.cmdlen;
+***************
+*** 361,370 ****
+ delim = (delim_optional && vim_isIDc(*p)) ? ' ' : *p++;
+ end = skip_regexp(p, delim, p_magic, NULL);
+
+! if (end == p && *end != delim)
+ return FALSE;
+- // found a non-empty pattern or //
+
+ *skiplen = (int)(p - ccline.cmdbuff);
+ *patlen = (int)(end - p);
+
+--- 362,386 ----
+ delim = (delim_optional && vim_isIDc(*p)) ? ' ' : *p++;
+ end = skip_regexp(p, delim, p_magic, NULL);
+
+! use_last_pat = end == p && *end == delim;
+!
+! if (end == p && !use_last_pat)
+ return FALSE;
+
++ // Don't do 'hlsearch' highlighting if the pattern matches everything.
++ if (!use_last_pat)
++ {
++ char c = *end;
++ int empty;
++
++ *end = NUL;
++ empty = empty_pattern(p);
++ *end = c;
++ if (empty)
++ return FALSE;
++ }
++
++ // found a non-empty pattern or //
+ *skiplen = (int)(p - ccline.cmdbuff);
+ *patlen = (int)(end - p);
+
+***************
+*** 556,572 ****
+ else
+ end_pos = curwin->w_cursor; // shutup gcc 4
+
+- // Disable 'hlsearch' highlighting if the pattern matches everything.
+- // Avoids a flash when typing "foo\|".
+- if (!use_last_pat)
+- {
+- next_char = ccline.cmdbuff[skiplen + patlen];
+- ccline.cmdbuff[skiplen + patlen] = NUL;
+- if (empty_pattern(ccline.cmdbuff))
+- set_no_hlsearch(TRUE);
+- ccline.cmdbuff[skiplen + patlen] = next_char;
+- }
+-
+ validate_cursor();
+ // May redraw the status line to show the cursor position.
+ if (p_ru && curwin->w_status_height > 0)
+--- 572,577 ----
+*** ../vim-8.1.0319/src/testdir/test_search.vim 2018-08-18 21:04:57.743864534 +0200
+--- src/testdir/test_search.vim 2018-08-22 22:41:42.689971619 +0200
+***************
+*** 913,918 ****
+--- 913,926 ----
+ call VerifyScreenDump(buf, 'Test_incsearch_substitute_08', {})
+ call term_sendkeys(buf, "\<Esc>")
+
++ " Only \v handled as empty pattern, does not move cursor
++ call term_sendkeys(buf, '3G4G')
++ call term_sendkeys(buf, ":nohlsearch\<CR>")
++ call term_sendkeys(buf, ':6,7s/\v')
++ sleep 100m
++ call VerifyScreenDump(buf, 'Test_incsearch_substitute_09', {})
++ call term_sendkeys(buf, "\<Esc>")
++
+ call StopVimInTerminal(buf)
+ call delete('Xis_subst_script')
+ endfunc
+*** ../vim-8.1.0319/src/testdir/dumps/Test_incsearch_substitute_09.dump 2018-08-22 23:02:14.943209354 +0200
+--- src/testdir/dumps/Test_incsearch_substitute_09.dump 2018-08-22 22:41:52.269923211 +0200
+***************
+*** 0 ****
+--- 1,9 ----
++ |f+0&#ffffff0|o@1| |3| @64
++ |f+8&&|o@1| |4| @64
++ |f+0&&|o@1| |5| @64
++ |f|o@1| |6| @64
++ |f|o@1| |7| @64
++ |f|o@1| |8| @64
++ |f|o@1| |9| @64
++ |f|o@1| |1|0| @63
++ |:|6|,|7|s|/|\|v> @61
+*** ../vim-8.1.0319/src/version.c 2018-08-22 21:56:53.399893884 +0200
+--- src/version.c 2018-08-22 23:02:25.679145625 +0200
+***************
+*** 796,797 ****
+--- 796,799 ----
+ { /* Add new patch number below this line */
++ /**/
++ 320,
+ /**/
+
+--
+ A village. Sound of chanting of Latin canon, punctuated by short, sharp
+ cracks. It comes nearer. We see it is a line of MONKS ala SEVENTH SEAL
+ flagellation scene, chanting and banging themselves on the foreheads with
+ wooden boards.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///