runtime(doc): clarify the effect of exclusive single char selections
closes: #17410
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 8cce98a..3105a3d 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt* For Vim version 9.1. Last change: 2025 Jun 01
+*builtin.txt* For Vim version 9.1. Last change: 2025 Jun 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5042,6 +5042,10 @@
- It is evaluated in current window context, which makes a
difference if the buffer is displayed in a window with
different 'virtualedit' or 'list' values.
+ - When specifying an exclusive selection and {pos1} and {pos2}
+ are equal, the returned list contains a single character as
+ if selection is inclusive, to match the behavior of an empty
+ exclusive selection in Visual mode.
Examples: >
:xnoremap <CR>
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index cc0a5e6..5c6fbfb 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 9.1. Last change: 2025 Jun 01
+*options.txt* For Vim version 9.1. Last change: 2025 Jun 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7199,9 +7199,14 @@
the end of line the line break still isn't included.
When "exclusive" is used, cursor position in visual mode will be
adjusted for inclusive motions |inclusive-motion-selection-exclusive|.
- Note that when "exclusive" is used and selecting from the end
- backwards, you cannot include the last character of a line, when
- starting in Normal mode and 'virtualedit' empty.
+
+ Note:
+ - When "exclusive" is used and selecting from the end backwards, you
+ cannot include the last character of a line, when starting in Normal
+ mode and 'virtualedit' empty.
+ - when "exclusive" is used with a single character visual selection,
+ Vim will behave as if the 'selection' is inclusive (in other words,
+ you cannot visually select an empty region).
The 'selection' option is set by the |:behave| command.