diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-05-30 07:18:12 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-30 07:18:12 +0800 |
commit | 55f6a1cab031ecc28c5a7f2558a0cac9df2145e1 (patch) | |
tree | a1de3a75f54b7a728fa846f6d4c2df3276e4a424 /src | |
parent | e8776074f50593df90402a3642236990edfba6f0 (diff) | |
download | rneovim-55f6a1cab031ecc28c5a7f2558a0cac9df2145e1.tar.gz rneovim-55f6a1cab031ecc28c5a7f2558a0cac9df2145e1.tar.bz2 rneovim-55f6a1cab031ecc28c5a7f2558a0cac9df2145e1.zip |
vim-patch:9.0.1588: Incsearch not triggered when pasting clipboard register (#23817)
Problem: Incsearch not triggered when pasting clipboard register on the
command line.
Solution: Also set "literally" when using a clipboard register. (Ken Takata,
closes vim/vim#12460)
https://github.com/vim/vim/commit/9cf6ab133227ac7e9169941752293bb7178d8e38
Co-authored-by: K.Takata <kentkt@csc.jp>
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/ex_getln.c | 2 | ||||
-rw-r--r-- | src/nvim/ops.c | 9 | ||||
-rw-r--r-- | src/nvim/ops.h | 9 |
3 files changed, 10 insertions, 10 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index dd23f6ece9..b2acc561be 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -1597,7 +1597,7 @@ static int command_line_insert_reg(CommandLineState *s) bool literally = false; if (s->c != ESC) { // use ESC to cancel inserting register - literally = i == Ctrl_R; + literally = i == Ctrl_R || is_literal_register(s->c); cmdline_paste(s->c, literally, false); // When there was a serious error abort getting the diff --git a/src/nvim/ops.c b/src/nvim/ops.c index de77cdd238..c39a3273da 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -854,15 +854,6 @@ static bool is_append_register(int regname) return ASCII_ISUPPER(regname); } -/// @see get_yank_register -/// @returns true when register should be inserted literally -/// (selection or clipboard) -static inline bool is_literal_register(int regname) - FUNC_ATTR_CONST -{ - return regname == '*' || regname == '+'; -} - /// @return a copy of contents in register `name` for use in do_put. Should be /// freed by caller. yankreg_T *copy_register(int name) diff --git a/src/nvim/ops.h b/src/nvim/ops.h index 81e006be27..e378d2f7b5 100644 --- a/src/nvim/ops.h +++ b/src/nvim/ops.h @@ -123,6 +123,15 @@ static inline int op_reg_index(const int regname) } } +/// @see get_yank_register +/// @return true when register should be inserted literally +/// (selection or clipboard) +static inline bool is_literal_register(const int regname) + FUNC_ATTR_CONST +{ + return regname == '*' || regname == '+'; +} + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "ops.h.generated.h" #endif |