diff runtime/doc/vim9.txt @ 19473:b09afbebffee v8.2.0294

patch 8.2.0294: cannot use Ex command that is also a function name Commit: https://github.com/vim/vim/commit/5b1c8fe3d588ab450d4646a0088db4efda88200a Author: Bram Moolenaar <Bram@vim.org> Date: Fri Feb 21 18:42:43 2020 +0100 patch 8.2.0294: cannot use Ex command that is also a function name Problem: Cannot use Ex command that is also a function name. Solution: Recognize an Ex command by a colon prefix.
author Bram Moolenaar <Bram@vim.org>
date Fri, 21 Feb 2020 18:45:06 +0100
parents 7be3663e2f2b
children c27837cbe922
line wrap: on
line diff
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Feb 13
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Feb 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -140,6 +140,13 @@ identifier or can't be an Ex command.  I
 	"foobar"->Process()		" does NOT work
 	eval "foobar"->Process()	" works
 
+In case there is ambiguity between a function name and an Ex command, use ":"
+to make clear you want to use the Ex command.  For example, there is both the
+`:substitute` command and the `substitute()` function.  When the line starts
+with `substitute(` this will use the function, prepend a colon to use the
+command instead: >
+	:substitute(pattern(replacement(
+
 
 No curly braces expansion ~
 
@@ -175,6 +182,9 @@ White space is not allowed:
   	call Func(arg)	   " OK
   	call Func(
 	     \ arg)	   " OK
+  	call Func(
+	     \ arg	   " OK
+	     \ )
 
 
 Conditions and expressions ~
@@ -254,6 +264,12 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHI
 :enddef			End of a function defined with `:def`.
 
 
+If the script the function is defined in is Vim9 script, then script-local
+variables can be accessed without the "s:" prefix.  They must be defined
+before the function.  If the script the function is defined in is legacy
+script, then script-local variables must be accessed with the "s:" prefix.
+
+
 						*:disa* *:disassemble*
 :disa[ssemble] {func}	Show the instructions generated for {func}.
 			This is for debugging and testing.