changeset 32513:57e589d18e7d v9.0.1588

patch 9.0.1588: Incsearch not triggered when pasting clipboard register Commit: https://github.com/vim/vim/commit/9cf6ab133227ac7e9169941752293bb7178d8e38 Author: K.Takata <kentkt@csc.jp> Date: Mon May 29 16:08:08 2023 +0100 patch 9.0.1588: Incsearch not triggered when pasting clipboard register Problem: Incsearch not triggered when pasting clipboard register on the command line. Solution: Also set "literally" when using a clipboard register. (Ken Takata, closes #12460)
author Bram Moolenaar <Bram@vim.org>
date Mon, 29 May 2023 17:15:04 +0200
parents d7cc6452d071
children 31a9d7423c9d
files src/ex_getln.c src/testdir/test_hlsearch.vim src/version.c
diffstat 3 files changed, 27 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1221,7 +1221,12 @@ cmdline_insert_reg(int *gotesc UNUSED)
 #endif
     if (c != ESC)	    // use ESC to cancel inserting register
     {
-	literally = i == Ctrl_R;
+	literally = i == Ctrl_R
+#ifdef FEAT_CLIPBOARD
+			|| (clip_star.available && c == '*')
+			|| (clip_plus.available && c == '+')
+#endif
+			;
 	cmdline_paste(c, literally, FALSE);
 
 #ifdef FEAT_EVAL
--- a/src/testdir/test_hlsearch.vim
+++ b/src/testdir/test_hlsearch.vim
@@ -91,4 +91,23 @@ func Test_hlsearch_Ctrl_R()
   call StopVimInTerminal(buf)
 endfunc
 
+func Test_hlsearch_clipboard()
+  CheckRunVimInTerminal
+  CheckFeature clipboard_working
+
+  let lines =<< trim END
+      set incsearch hlsearch
+      let @* = "text"
+      put *
+  END
+  call writefile(lines, 'XhlsearchClipboard', 'D')
+  let buf = RunVimInTerminal('-S XhlsearchClipboard', #{rows: 6, cols: 60})
+
+  call term_sendkeys(buf, "/\<C-R>*")
+  call VerifyScreenDump(buf, 'Test_hlsearch_ctrlr_1', {})
+
+  call term_sendkeys(buf, "\<Esc>")
+  call StopVimInTerminal(buf)
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1588,
+/**/
     1587,
 /**/
     1586,