diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-04-30 07:04:53 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-30 07:04:53 +0800 |
commit | 7df25a1372fde01d9498ddef349a0b7851045cc7 (patch) | |
tree | 82817b8be4cfdf4dbd3cf929ed58b634c090f72f | |
parent | 9a1920e2238f8dcde3e923cf67dae2a46a4d40df (diff) | |
parent | 1f72e315503fbaa802270bbad0650c73ef39e3e2 (diff) | |
download | rneovim-7df25a1372fde01d9498ddef349a0b7851045cc7.tar.gz rneovim-7df25a1372fde01d9498ddef349a0b7851045cc7.tar.bz2 rneovim-7df25a1372fde01d9498ddef349a0b7851045cc7.zip |
Merge pull request #18309 from zeertzjq/vim-8.2.4845
vim-patch:8.2.{4844,4845,4846}
-rw-r--r-- | src/nvim/state.c | 15 | ||||
-rw-r--r-- | test/functional/ex_cmds/cmd_map_spec.lua | 6 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/nvim/state.c b/src/nvim/state.c index 056828574f..6f4bab62d1 100644 --- a/src/nvim/state.c +++ b/src/nvim/state.c @@ -187,22 +187,17 @@ void get_mode(char *buf) if (State & VREPLACE_FLAG) { buf[i++] = 'R'; buf[i++] = 'v'; - if (ins_compl_active()) { - buf[i++] = 'c'; - } else if (ctrl_x_mode_not_defined_yet()) { - buf[i++] = 'x'; - } } else { if (State & REPLACE_FLAG) { buf[i++] = 'R'; } else { buf[i++] = 'i'; } - if (ins_compl_active()) { - buf[i++] = 'c'; - } else if (ctrl_x_mode_not_defined_yet()) { - buf[i++] = 'x'; - } + } + if (ins_compl_active()) { + buf[i++] = 'c'; + } else if (ctrl_x_mode_not_defined_yet()) { + buf[i++] = 'x'; } } else if ((State & CMDLINE) || exmode_active) { buf[i++] = 'c'; diff --git a/test/functional/ex_cmds/cmd_map_spec.lua b/test/functional/ex_cmds/cmd_map_spec.lua index dbbfadabd8..42e97757db 100644 --- a/test/functional/ex_cmds/cmd_map_spec.lua +++ b/test/functional/ex_cmds/cmd_map_spec.lua @@ -136,6 +136,12 @@ describe('mappings with <Cmd>', function() ]]) end) + it('handles character containing K_SPECIAL (0x80) byte correctly', function() + command([[noremap <F3> <Cmd>let g:str = '‥'<CR>]]) + feed('<F3>') + eq('‥', eval('g:str')) + end) + it('works in various modes and sees correct `mode()` value', function() -- normal mode feed('<F3>') |