]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(doc): clarify how ex ranges are adjusted when acting on folds
authorChristian Brabandt <cb@256bit.org>
Wed, 9 Jul 2025 17:59:22 +0000 (19:59 +0200)
committerChristian Brabandt <cb@256bit.org>
Wed, 9 Jul 2025 17:59:22 +0000 (19:59 +0200)
closes: #17696

Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/doc/fold.txt
runtime/doc/repeat.txt

index b6cb2a44091a28f53383631f50609333f91ec094..961fa57c932658325b2f405e05b2ed152e4fd755 100644 (file)
@@ -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.
index d85e580f51ce3d622c9389873a07d58f12955fa9..bf260dc48b7ec9307e210627a6bfb06931cb040e 100644 (file)
@@ -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