Mercurial > vim
comparison src/ex_getln.c @ 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 | 060fc3b69697 |
children | add09d468c0d |
comparison
equal
deleted
inserted
replaced
28748:2a275e203f8b | 28749:4a9fdf708575 |
---|---|
1080 } | 1080 } |
1081 else if (c == Ctrl_W) | 1081 else if (c == Ctrl_W) |
1082 { | 1082 { |
1083 while (p > ccline.cmdbuff && vim_isspace(p[-1])) | 1083 while (p > ccline.cmdbuff && vim_isspace(p[-1])) |
1084 --p; | 1084 --p; |
1085 i = vim_iswordc(p[-1]); | 1085 if (p > ccline.cmdbuff) |
1086 while (p > ccline.cmdbuff && !vim_isspace(p[-1]) | 1086 { |
1087 && vim_iswordc(p[-1]) == i) | 1087 i = vim_iswordc(p[-1]); |
1088 --p; | 1088 while (p > ccline.cmdbuff && !vim_isspace(p[-1]) |
1089 && vim_iswordc(p[-1]) == i) | |
1090 --p; | |
1091 } | |
1089 } | 1092 } |
1090 else | 1093 else |
1091 --p; | 1094 --p; |
1092 ccline.cmdpos = (int)(p - ccline.cmdbuff); | 1095 ccline.cmdpos = (int)(p - ccline.cmdbuff); |
1093 ccline.cmdlen -= j - ccline.cmdpos; | 1096 ccline.cmdlen -= j - ccline.cmdpos; |