Mercurial > vim
changeset 28749:4a9fdf708575 v8.2.4899
patch 8.2.4899: with latin1 encoding CTRL-W might go before the cmdline
Commit: https://github.com/vim/vim/commit/ef02f16609ff0a26ffc6e20263523424980898fe
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 7 10:49:10 2022 +0100
patch 8.2.4899: with latin1 encoding CTRL-W might go before the cmdline
Problem: With latin1 encoding CTRL-W might go before the start of the
command line.
Solution: Check already being at the start of the command line.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 07 May 2022 12:00:03 +0200 |
parents | 2a275e203f8b |
children | 31c1187082c9 |
files | src/ex_getln.c src/testdir/test_cmdline.vim src/version.c |
diffstat | 3 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1082,10 +1082,13 @@ cmdline_erase_chars( { while (p > ccline.cmdbuff && vim_isspace(p[-1])) --p; - i = vim_iswordc(p[-1]); - while (p > ccline.cmdbuff && !vim_isspace(p[-1]) - && vim_iswordc(p[-1]) == i) - --p; + if (p > ccline.cmdbuff) + { + i = vim_iswordc(p[-1]); + while (p > ccline.cmdbuff && !vim_isspace(p[-1]) + && vim_iswordc(p[-1]) == i) + --p; + } } else --p;
--- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -773,6 +773,9 @@ func Test_cmdline_remove_char() call feedkeys(":abc def\<S-Left>\<C-U>\<C-B>\"\<CR>", 'tx') call assert_equal('"def', @:, e) + + " This was going before the start in latin1. + call feedkeys(": \<C-W>\<CR>", 'tx') endfor let &encoding = encoding_save