]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.1588: Incsearch not triggered when pasting clipboard register v9.0.1588
authorK.Takata <kentkt@csc.jp>
Mon, 29 May 2023 15:08:08 +0000 (16:08 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 29 May 2023 15:08:08 +0000 (16:08 +0100)
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)

src/ex_getln.c
src/testdir/test_hlsearch.vim
src/version.c

index fbda2cc00db728dcabc9d21e9ce06998438593e7..00d32920b67fb8912bf6b2e46c1063df1694c280 100644 (file)
@@ -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
index 476c075a5d0fc4e7ff205a99caf3bdbcde3ec713..eb8fb873b70bcced0df09fed51fa390ccb7d4c04 100644 (file)
@@ -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
index 08c67bb7c6f40832c5353f8fee6de4cc8466cfb9..34c845669c103195b0d11949e0ad6b25fc588e62 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1588,
 /**/
     1587,
 /**/