aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-05-20 20:50:32 +0800
committerzeertzjq <zeertzjq@outlook.com>2024-05-20 20:59:54 +0800
commite0259b9466a0dd62b74d4aa195b3c5e6c7a183d0 (patch)
tree225a99d08431a6f295c01e60f17ccbe65075a57a /src/nvim/eval.lua
parent3383603c134944d374eb0814a2f707a7e3e89b43 (diff)
downloadrneovim-e0259b9466a0dd62b74d4aa195b3c5e6c7a183d0.tar.gz
rneovim-e0259b9466a0dd62b74d4aa195b3c5e6c7a183d0.tar.bz2
rneovim-e0259b9466a0dd62b74d4aa195b3c5e6c7a183d0.zip
vim-patch:9.1.0423: getregionpos() wrong with blockwise mode and multibyte
Problem: getregionpos() wrong with blockwise mode and multibyte. Solution: Use textcol and textlen instead of start_vcol and end_vcol. Handle coladd properly (zeertzjq). Also remove unnecessary buflist_findnr() in add_regionpos_range(), as getregionpos() has already switched buffer. closes: vim/vim#14805 https://github.com/vim/vim/commit/c95e64f41f7f6d1bdc95b047ae9b369743c8637b
Diffstat (limited to 'src/nvim/eval.lua')
-rw-r--r--src/nvim/eval.lua10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua
index 0653a51f96..58f2ac0acf 100644
--- a/src/nvim/eval.lua
+++ b/src/nvim/eval.lua
@@ -4429,10 +4429,12 @@ M.funcs = {
"bufnum" is the buffer number.
"lnum" and "col" are the position in the buffer. The first
column is 1.
- The "off" number is zero, unless 'virtualedit' is used. Then
- it is the offset in screen columns from the start of the
- character. E.g., a position within a <Tab> or after the last
- character.
+ If the "off" number of a starting position is non-zero, it is
+ the offset in screen columns from the start of the character.
+ E.g., a position within a <Tab> or after the last character.
+ If the "off" number of an ending position is non-zero, it is
+ the character's number of cells included in the selection,
+ otherwise the whole character is included.
]=],
name = 'getregionpos',
params = { { 'pos1', 'table' }, { 'pos2', 'table' }, { 'opts', 'table' } },