runtime(doc): clarify how ex ranges are adjusted when acting on folds
Commit:
https://github.com/vim/vim/commit/3987eac5725087177fdb7bcf91ef6c1040820295
Author: Christian Brabandt <[email protected]>
Date: Wed Jul 9 19:59:22 2025 +0200
runtime(doc): clarify how ex ranges are adjusted when acting on folds
closes: https://github.com/vim/vim/issues/17696
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index b6cb2a440..961fa57c9 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -1,4 +1,4 @@
-*fold.txt* For Vim version 9.1. Last change: 2024 Dec 17
+*fold.txt* For Vim version 9.1. Last change: 2025 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -642,14 +642,17 @@ what you type!
When using an operator, a closed fold is included as a whole. Thus "dl"
deletes the whole closed fold under the cursor.
-For Ex commands that work on buffer lines the range is adjusted to always
+For Ex commands that operate on buffer lines, the range is adjusted to always
start at the first line of a closed fold and end at the last line of a closed
-fold. Thus this command: >
+fold. Thus, this command: >
:s/foo/bar/g
when used with the cursor on a closed fold, will replace "foo" with "bar" in
all lines of the fold.
This does not happen for |:folddoopen| and |:folddoclosed|.
+Note that for some Ex commands like |:source| the range is only adjusted when
+using a two-address [range].
+
When editing a buffer that has been edited before, the last used folding
settings are used again. For manual folding the defined folds are restored.
For all folding methods the manually opened and closed folds are restored.
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index d85e580f5..bf260dc48 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt* For Vim version 9.1. Last change: 2024 Oct 16
+*repeat.txt* For Vim version 9.1. Last change: 2025 Jul 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -233,7 +233,12 @@ For writing a Vim script, see chapter 41 of the user
manual |usr_41.txt|.
Examples: >
:4,5source
:10,18source ++clear
-<
+
+< Implementation detail: When sourcing a [range] of
+ lines that falls inside a folded region, the range
+ will be adjusted to the start and end of the fold,
+ but only if a two-address range was used.
+
*:source!*
:so[urce]! {file} Read Vim commands from {file}. These are commands
that are executed from Normal mode, like you type
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1uZZJv-00D9CM-6E%40256bit.org.