patch 8.2.4603: sourcing buffer lines is too complicated
Problem: Sourcing buffer lines is too complicated.
Solution: Simplify the code. Make it possible to source Vim9 script lines.
(Yegappan Lakshmanan, closes #9974)
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index a775af0..f7756c1 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -201,7 +201,13 @@
:[range]so[urce] Read Ex commands from the [range] of lines in the
current buffer. When sourcing commands from the
current buffer, the same script-ID |<SID>| is used
- even if the buffer is sourced multiple times.
+ even if the buffer is sourced multiple times. If a
+ buffer is sourced more than once, then the functions
+ in the buffer are redefined again.
+ Sourcing a buffer with a Vim9 script more than once
+ works like |vim9-reload|.
+ To source a script in the Vim9 context, the |:vim9cmd|
+ modifier can be used.
*:source!*
:so[urce]! {file} Read Vim commands from {file}. These are commands
@@ -425,10 +431,10 @@
':source!' command. Useful for long command sequences. Can be combined with
the ':map' command to put complicated commands under a function key.
-The ':source' command reads Ex commands from a file line by line. You will
-have to type any needed keyboard input. The ':source!' command reads from a
-script file character by character, interpreting each character as if you
-typed it.
+The ':source' command reads Ex commands from a file or a buffer line by line.
+You will have to type any needed keyboard input. The ':source!' command reads
+from a script file character by character, interpreting each character as if
+you typed it.
Example: When you give the ":!ls" command you get the |hit-enter| prompt. If
you ':source' a file with the line "!ls" in it, you will have to type the