runtime(vim): Update base syntax, fix incorrect function error

Commit: 
https://github.com/vim/vim/commit/175662f4f2a046a5ca33338cd3c1ca017e135ee8
Author: Doug Kearns <dougkea...@gmail.com>
Date:   Thu Jul 17 20:29:07 2025 +0200

    runtime(vim): Update base syntax, fix incorrect function error
    
    Don't match lower-case function names as errors when the qualifier
    includes a dict/list accessor.
    
    This is a less than perfect fix until qualified function call matching
    is reworked.
    
    fixes: #17766
    closes: #17780
    
    Signed-off-by: Doug Kearns <dougkea...@gmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/generator/vim.vim.base 
b/runtime/syntax/generator/vim.vim.base
index a32de1e69..03cee1256 100644
--- a/runtime/syntax/generator/vim.vim.base
+++ b/runtime/syntax/generator/vim.vim.base
@@ -291,7 +291,7 @@ syn keyword vimBehaveModel  contained       mswin   xterm
 
 " Call {{{2
 " ====
-syn match vimCall      "\<call\=\>"    skipwhite nextgroup=@vimFunc
+syn match vimCall      "\<call\=\>"    skipwhite nextgroup=vimVar,@vimFunc
 
 " Debuggreedy {{{2
 " ===========
@@ -2065,6 +2065,7 @@ unlet s:interfaces
 " (following Gautam Iyer's suggestion)
 " ==========================
 syn match      vimFunc contained       "\<\l\w*\ze\s*("                        
        skipwhite nextgroup=vimOperParen contains=vimFuncName
+syn match      vimUserFunc     contained       "\.\@1<=\l\w*\ze\s*("           
        skipwhite nextgroup=vimOperParen contains=vimFuncName
 syn match      vimUserFunc     contained       
"\<\%([[:upper:]_]\|\%(\h\w*\.\)\+\h\)\w*\ze\s*("               skipwhite 
nextgroup=vimOperParen contains=vim9MethodName,vim9Super,vim9This
 syn match      vimUserFunc     contained       
"\<\%(g:\)\=\%(\h\w*#\)\+\h\w*\ze\s*("          skipwhite 
nextgroup=vimOperParen contains=vimVarScope
 syn match      vimUserFunc     contained       
"\%(\<[sgbwtlav]:\|<[sS][iI][dD]>\)\%(\h\w*\.\)*\h\w*\ze\s*("   skipwhite 
nextgroup=vimOperParen contains=vimVarScope,vimNotation
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_00.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_00.dump
index c90f2fa1c..5fec8133b 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_00.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_00.dump
@@ -1,7 +1,7 @@
 >v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
 |#+0#0000e05&| |V|i|m| |f|u|n|c|t|i|o|n| |c|a|l@1|s| +0#0000000&@54
-|#+0#0000e05&| |V|I|M|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| 
|v|i|m|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@31
-|#+0#0000e05&| |V|I|M|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| 
|v|i|m|9|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@30
+|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| 
|v|i|m|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@26
+|#+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| 
|v|i|m|9|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@25
 @75
 @75
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@62
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_02.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_02.dump
index c669eaf7b..0f8d7a44b 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_02.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_02.dump
@@ -17,4 +17,4 @@
 |#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65
 |c+0#af5f00255&|o|n|f|i|r|m| 
+0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@62
 @75
-@57|3|7|,|1| @9|1@1|%| 
+@57|3|7|,|1| @9|1|0|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_03.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_03.dump
index 487699943..fae788c08 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_03.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_03.dump
@@ -17,4 +17,4 @@
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|e+0#00e0e07&|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@61
 |#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64
 |e+0#00e0e07&|v|a|l|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66
-@57|5@1|,|1| @9|1|7|%| 
+@57|5@1|,|1| @9|1|6|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_04.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_04.dump
index 9bc1fb7b4..0fbf9c339 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_04.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_04.dump
@@ -17,4 +17,4 @@
 |f+0#af5f00255&|i|l|t|e|r| 
+0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@63
 @75
 |v+0#af5f00255&|a|r| +0#0000000&|f|u|n|c|t|i|o|n| |=+0#af5f00255&| 
+0#0000000&|f+0#00e0e07&|u|n|c|t|i|o|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@47
-@57|7|3|,|1| @9|2|4|%| 
+@57|7|3|,|1| @9|2@1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_05.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_05.dump
index a8f4970cf..bc258f6ae 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_05.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_05.dump
@@ -17,4 +17,4 @@
 |#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64
 |j+0#00e0e07&|o|i|n|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@66
 |#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65
-@57|9|1|,|1| @9|3|0|%| 
+@57|9|1|,|1| @9|2|8|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_06.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_06.dump
index c8c8f387f..e26a13a6a 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_06.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_06.dump
@@ -17,4 +17,4 @@
 @75
 |v+0#af5f00255&|a|r| +0#0000000&|s|o|r|t| |=+0#af5f00255&| 
+0#0000000&|s+0#00e0e07&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@55
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#00e0e07&|o|r|t|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@61
-@57|1|0|9|,|1| @8|3|7|%| 
+@57|1|0|9|,|1| @8|3|4|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_07.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_07.dump
index a41ea00f0..c61c89a2c 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_07.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_07.dump
@@ -17,4 +17,4 @@
 |s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@60
 |#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65
 |s+0#af5f00255&|u|b|s|t|i|t|u|t|e| 
+0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@59
-@57|1|2|7|,|0|-|1| @6|4|3|%| 
+@57|1|2|7|,|0|-|1| @6|4|0|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_08.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_08.dump
index 3f365bb32..657983f01 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_08.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_08.dump
@@ -17,4 +17,4 @@
 |v+0#af5f00255&|a|r| +0#0000000&|u|n|i|q| |=+0#af5f00255&| 
+0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@55
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@61
 |#+0#0000e05&| |f|u|n|c|t|i|o|n| +0#0000000&@64
-@57|1|4|5|,|1| @8|5|0|%| 
+@57|1|4|5|,|1| @8|4|6|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_09.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_09.dump
index 23b5f1d2e..a1e218e78 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_09.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_09.dump
@@ -17,4 +17,4 @@
 |#+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65
 |i+0#af5f00255&|f| +0#0000000&|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&||| |.+0#af5f00255&@1| +0#0000000&||| |e+0#af5f00255&|n|d|i|f| 
+0#0000000&@54
 @75
-@57|1|6|3|,|0|-|1| @6|5|6|%| 
+@57|1|6|3|,|0|-|1| @6|5|3|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_10.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_10.dump
index 1030aec6c..96d1d23f0 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_10.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_10.dump
@@ -17,4 +17,4 @@
 @75
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@62
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|(+0#e000e06&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&@1|
 +0#0000000&@60
-@57|1|8|1|,|1| @8|6|3|%| 
+@57|1|8|1|,|1| @8|5|9|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_11.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_11.dump
index 3cb73d122..fbf9a33b5 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_11.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_11.dump
@@ -2,19 +2,19 @@
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&|++0#af5f00255&| +0#0000000&|f|o@1| @56
 |e+0#af5f00255&|c|h|o| +0#0000000&|f|o@1| |++0#af5f00255&| 
+0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@56
 @75
-|F|o@1|(+0#e000e06&|)| +0#0000000&@69
->c+0#af5f00255&|a|l@1| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@64
-|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| 
|F|o@1|(+0#e000e06&|)| +0#0000000&@56
+|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| +0#0000000&@69
+>c+0#af5f00255&|a|l@1| 
+0#0000000&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| +0#0000000&@64
+|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| 
|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| +0#0000000&@56
 @75
-|e+0#af5f00255&|c|h|o| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@64
-|e+0#af5f00255&|c|h|o| 
+0#0000000&|(+0#e000e06&|F+0#0000000&|o@1|(+0#e000e06&|)@1| +0#0000000&@62
-|e+0#af5f00255&|c|h|o| +0#0000000&|F|o@1|(+0#e000e06&|)| 
+0#0000000&|++0#af5f00255&| +0#0000000&|b|a|r| @58
-|e+0#af5f00255&|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| 
+0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@58
+|e+0#af5f00255&|c|h|o| 
+0#0000000&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| +0#0000000&@64
+|e+0#af5f00255&|c|h|o| 
+0#0000000&|(+0#e000e06&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)@1| 
+0#0000000&@62
+|e+0#af5f00255&|c|h|o| 
+0#0000000&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| 
+0#0000000&|++0#af5f00255&| +0#0000000&|b|a|r| @58
+|e+0#af5f00255&|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| 
+0#0000000&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| +0#0000000&@58
 @75
 @75
 |#+0#0000e05&| |s|c|o|p|e| |m|o|d|i|f|i|e|r|s| |a|n|d| |q|u|a|l|i|f|i|e|d| 
|n|a|m|e|s| +0#0000000&@37
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-@57|1|9@1|,|1| @8|6|9|%| 
+@57|1|9@1|,|1| @8|6|5|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_12.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_12.dump
index 73b5a5301..4600baba1 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_12.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_12.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|b+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|b+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|w+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
->c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|w+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+>c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@50
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@55
-|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@50
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-@57|2|1|7|,|1| @8|7|6|%| 
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+@57|2|1|7|,|1| @8|7|1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_13.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_13.dump
index 79e893aaa..f7a451b14 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_13.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_13.dump
@@ -1,20 +1,20 @@
-|v+0#af5f00255#ffffff0|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
-|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
+|v+0#af5f00255#ffffff0|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
->c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
-|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|b+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+>c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|b+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
-|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|w+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|w+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
-|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|t+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|t+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
-|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
-@57|2|3|5|,|1| @8|8|2|%| 
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|v+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
+@57|2|3|5|,|1| @8|7@1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_14.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_14.dump
index 6115b4001..bcc576ad0 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_14.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_14.dump
@@ -1,20 +1,20 @@
-|v+0#00e0e07#ffffff0|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
+|v+0#00e0e07#ffffff0|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
 @75
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@50
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@55
->m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| +0#0000000&@60
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@50
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+>m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
-|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
+|v+0#af5f00255&|a|r| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@58
 @75
 @75
 |#+0#0000e05&| |n|o|t| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n|s| +0#0000000&@51
 @75
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-@57|2|5|3|,|1| @8|8|9|%| 
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+@57|2|5|3|,|1| @8|8|3|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_15.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_15.dump
index 2b15d1e2a..187a9bf26 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_15.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_15.dump
@@ -1,20 +1,20 @@
-|c+0#af5f00255#ffffff0|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
+|c+0#af5f00255#ffffff0|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
 @75
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|<+0#e000e06&|S|I|D|>|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@52
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|<+0#e000e06&|S|I|D|>|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@52
 @75
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
->c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+>c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
 @75
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|s|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@46
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@46
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
 @75
-|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60
-|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60
-|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60
-|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60
-|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@60
+|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)| 
+0#0000000&@60
+|b+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)| 
+0#0000000&@60
+|w+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)| 
+0#0000000&@60
+|t+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)| 
+0#0000000&@60
+|v+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)| 
+0#0000000&@60
 @75
-@57|2|7|1|,|1| @8|9|6|%| 
+@57|2|7|1|,|1| @8|8|9|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_call_16.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_16.dump
index d8cee2c80..5659a7c25 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_call_16.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_16.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|<+0#e000e06&|S|I|D|>|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@57
+|<+0#e000e06&|S|I|D|>|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@57
 @75
-|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@49
-|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@49
->w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@49
-|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@49
-|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@49
+|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@49
+|b+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@49
+>w+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@49
+|t+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@49
+|v+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@49
 @75
-|s|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| +0#0000000&@51
-|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@49
+|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@51
+|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@49
 @75
-|~+0#4040ff13&| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|2|8|9|,|1| @8|B|o|t| 
+@75
+|#+0#0000e05&| |c|h|a|i|n|e|d| |f|u|n|c|t|i|o|n| |c|a|l@1|s| +0#0000000&@50
+@75
+|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|)|.+0#af5f00255&|b+0#0000001#ffff4012|a|r|(+0#e000e06#ffffff0|)|
 +0#0000000&@56
+@75
+@75
+|#+0#0000e05&| |I|s@1|u|e| |1|6|7|2|1| |(|V|i|m| |s|c|r|i|p|t| 
|h|i|g|h|l|i|g|h|t| |o|f| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n| |a|f|t|e|r| |||)| 
+0#0000000&@10
+@57|2|8|9|,|1| @8|9|5|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_function_calls_00.dump 
b/runtime/syntax/testdir/dumps/vim9_function_call_17.dump
similarity index 67%
rename from runtime/syntax/testdir/dumps/vim9_function_calls_00.dump
rename to runtime/syntax/testdir/dumps/vim9_function_call_17.dump
index 752da8196..596b388eb 100644
--- a/runtime/syntax/testdir/dumps/vim9_function_calls_00.dump
+++ b/runtime/syntax/testdir/dumps/vim9_function_call_17.dump
@@ -1,20 +1,20 @@
->v+0#af5f00255#ffffff0|i|m|9|s|c|r|i|p|t| +0#0000000&@64
-@75
-|#+0#0000e05&| |V|i|m|9| |f|u|n|c|t|i|o|n| |c|a|l@1|s| +0#0000000&@53
-@75
-|c+0#00e0e07&|l|e|a|r|m|a|t|c|h|e|s|(+0#e000e06&|)| +0#0000000&@60
-|:|c+0#af5f00255&|a|l@1| 
+0#0000000&|c+0#00e0e07&|l|e|a|r|m|a|t|c|h|e|s|(+0#e000e06&|)| +0#0000000&@54
-|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| 
|c+0#00e0e07&|l|e|a|r|m|a|t|c|h|e|s|(+0#e000e06&|)| +0#0000000&@47
-@75
-@75
-|#+0#0000e05&| |I|s@1|u|e| |1|6|7|2|1| |(|V|i|m| |s|c|r|i|p|t| 
|h|i|g|h|l|i|g|h|t| |o|f| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n| |a|f|t|e|r| |||)| 
+0#0000000&@10
+|#+0#0000e05#ffffff0| |I|s@1|u|e| |1|6|7|2|1| |(|V|i|m| |s|c|r|i|p|t| 
|h|i|g|h|l|i|g|h|t| |o|f| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n| |a|f|t|e|r| |||)| 
+0#0000000&@10
 @75
 |&+0#00e0e07&|d|i|r|e|c|t|o|r|y| +0#0000000&|=+0#af5f00255&| 
+0#0000000&|$+0#e000002&|'|{+0#e000e06&|$|M|Y|V|I|M|D|I|R|}|/+0#e000002&|.|d|a|t|a|/|s|w|a|p|/|'|
 +0#0000000&@35
 |&+0#00e0e07&|b|a|c|k|u|p|d|i|r| +0#0000000&|=+0#af5f00255&| 
+0#0000000&|$+0#e000002&|'|{+0#e000e06&|$|M|Y|V|I|M|D|I|R|}|/+0#e000002&|.|d|a|t|a|/|b|a|c|k|u|p|/@1|'|
 +0#0000000&@32
 |&+0#00e0e07&|u|n|d|o|d|i|r| +0#0000000&|=+0#af5f00255&| 
+0#0000000&|$+0#e000002&|'|{+0#e000e06&|$|M|Y|V|I|M|D|I|R|}|/+0#e000002&|.|d|a|t|a|/|u|n|d|o|/@1|'|
 +0#0000000&@36
-|i+0#af5f00255&|f| 
+0#0000000&|!+0#af5f00255&|i+0#00e0e07&|s|d|i|r|e|c|t|o|r|y|(+0#e000e06&|&+0#00e0e07&|u|n|d|o|d|i|r|)+0#e000e06&|
 +0#0000000&@2||| 
|m+0#00e0e07&|k|d|i|r|(+0#e000e06&|&+0#00e0e07&|u|n|d|o|d|i|r|,+0#0000000&| 
|"+0#e000002&|p|"|)+0#e000e06&| +0#0000000&@2||| |e+0#af5f00255&|n|d|i|f| 
+0#0000000&@14
+>i+0#af5f00255&|f| 
+0#0000000&|!+0#af5f00255&|i+0#00e0e07&|s|d|i|r|e|c|t|o|r|y|(+0#e000e06&|&+0#00e0e07&|u|n|d|o|d|i|r|)+0#e000e06&|
 +0#0000000&@2||| 
|m+0#00e0e07&|k|d|i|r|(+0#e000e06&|&+0#00e0e07&|u|n|d|o|d|i|r|,+0#0000000&| 
|"+0#e000002&|p|"|)+0#e000e06&| +0#0000000&@2||| |e+0#af5f00255&|n|d|i|f| 
+0#0000000&@14
 |i+0#af5f00255&|f| 
+0#0000000&|!+0#af5f00255&|i+0#00e0e07&|s|d|i|r|e|c|t|o|r|y|(+0#e000e06&|&+0#00e0e07&|b|a|c|k|u|p|d|i|r|)+0#e000e06&|
 +0#0000000&||| 
|m+0#00e0e07&|k|d|i|r|(+0#e000e06&|&+0#00e0e07&|b|a|c|k|u|p|d|i|r|,+0#0000000&| 
|"+0#e000002&|p|"|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|n|d|i|f| 
+0#0000000&@14
 |i+0#af5f00255&|f| 
+0#0000000&|!+0#af5f00255&|i+0#00e0e07&|s|d|i|r|e|c|t|o|r|y|(+0#e000e06&|&+0#00e0e07&|d|i|r|e|c|t|o|r|y|)+0#e000e06&|
 +0#0000000&||| 
|m+0#00e0e07&|k|d|i|r|(+0#e000e06&|&+0#00e0e07&|d|i|r|e|c|t|o|r|y|,+0#0000000&| 
|"+0#e000002&|p|"|)+0#e000e06&| +0#0000000&||| |e+0#af5f00255&|n|d|i|f| 
+0#0000000&@14
 @75
+@75
+|#+0#0000e05&| |I|s@1|u|e| |#|1|7@1|6@1| |(|v|a|l|i|d| |f|u|n|c|t|i|o|n| 
|c|a|l@1| |h|i|g|h|l|i|g|h|t|e|d| |a|s| |e|r@1|o|r|)| +0#0000000&@17
+|| @73
+|m|o|d|u|l|e|[|0+0#e000002&|]+0#0000000&|.+0#af5f00255&|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)|
 +0#0000000&@59
+@75
 |~+0#4040ff13&| @73
-| +0#0000000&@56|1|,|1| @10|A|l@1| 
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|3|0|7|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_00.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_00.dump
index a0bae076c..538215dff 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_00.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_00.dump
@@ -1,5 +1,5 @@
 >"+0#0000e05#ffffff0| |V|i|m| |f|u|n|c|t|i|o|n| |c|a|l@1|s| +0#0000000&@54
-|"+0#0000e05&| |V|I|M|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| 
|v|i|m|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@31
+|"+0#0000e05&| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| 
|v|i|m|U|s|e|r|F|u|n|c| |T|o|d|o| +0#0000000&@26
 @75
 @75
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@62
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_04.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_04.dump
index e2442e8dc..421d04572 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_04.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_04.dump
@@ -17,4 +17,4 @@
 |"+0#0000e05&| |c|o|m@1|a|n|d| +0#0000000&@65
 |i+0#af5f00255&|n|s|e|r|t| +0#0000000&@68
 |.+0#af5f00255&| +0#0000000&@73
-@57|7|3|,|1| @9|2|7|%| 
+@57|7|3|,|1| @9|2|6|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_05.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_05.dump
index af7ffb025..e72eb390f 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_05.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_05.dump
@@ -17,4 +17,4 @@
 @75
 |l+0#af5f00255&|e|t| +0#0000000&|m|a|t|c|h| |=+0#af5f00255&| 
+0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@53
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|m+0#00e0e07&|a|t|c|h|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@60
-@57|9|1|,|1| @9|3|4|%| 
+@57|9|1|,|1| @9|3@1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_06.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_06.dump
index a28560b8d..7a1a7c3cd 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_06.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_06.dump
@@ -17,4 +17,4 @@
 @75
 |l+0#af5f00255&|e|t| +0#0000000&|s|u|b|s|t|i|t|u|t|e| |=+0#af5f00255&| 
+0#0000000&|s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@43
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#00e0e07&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-@57|1|0|9|,|1| @8|4|1|%| 
+@57|1|0|9|,|1| @8|4|0|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_07.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_07.dump
index cf67e25f6..e5699bfcd 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_07.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_07.dump
@@ -17,4 +17,4 @@
 @75
 |l+0#af5f00255&|e|t| +0#0000000&|u|n|i|q| |=+0#af5f00255&| 
+0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@55
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|u+0#00e0e07&|n|i|q|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@61
-@57|1|2|7|,|1| @8|4|9|%| 
+@57|1|2|7|,|1| @8|4|7|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_08.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_08.dump
index f671ae5d8..a79ec4a29 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_08.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_08.dump
@@ -17,4 +17,4 @@
 @75
 |l+0#af5f00255&|e|t| +0#0000000&|e|c|h|o| |=+0#af5f00255&| 
+0#0000000&|e+0#ffffff16#ff404010|c|h|o|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
 |c+0#af5f00255&|a|l@1| 
+0#0000000&|e+0#ffffff16#ff404010|c|h|o|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@61
-@57|1|4|5|,|0|-|1| @6|5|6|%| 
+@57|1|4|5|,|0|-|1| @6|5|4|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_09.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_09.dump
index 239b5fc72..51c26b1ef 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_09.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_09.dump
@@ -13,8 +13,8 @@
 |e+0#af5f00255&|c|h|o| 
+0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&|++0#af5f00255&| +0#0000000&|f|o@1| @56
 |e+0#af5f00255&|c|h|o| +0#0000000&|f|o@1| |++0#af5f00255&| 
+0#0000000&|a+0#00e0e07&|b|s|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@56
 @75
-|e+0#af5f00255&|c|h|o| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@64
-|e+0#af5f00255&|c|h|o| 
+0#0000000&|(+0#e000e06&|F+0#0000000&|o@1|(+0#e000e06&|)@1| +0#0000000&@62
-|e+0#af5f00255&|c|h|o| +0#0000000&|F|o@1|(+0#e000e06&|)| 
+0#0000000&|++0#af5f00255&| +0#0000000&|b|a|r| @58
-|e+0#af5f00255&|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| 
+0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@58
-@57|1|6|3|,|0|-|1| @6|6|3|%| 
+|e+0#af5f00255&|c|h|o| 
+0#0000000&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| +0#0000000&@64
+|e+0#af5f00255&|c|h|o| 
+0#0000000&|(+0#e000e06&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)@1| 
+0#0000000&@62
+|e+0#af5f00255&|c|h|o| 
+0#0000000&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| 
+0#0000000&|++0#af5f00255&| +0#0000000&|b|a|r| @58
+|e+0#af5f00255&|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| 
+0#0000000&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| +0#0000000&@58
+@57|1|6|3|,|0|-|1| @6|6|1|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_10.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_10.dump
index 9929799b0..d03cba26d 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_10.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_10.dump
@@ -1,20 +1,20 @@
-|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| 
+0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@58
+|e+0#af5f00255#ffffff0|c|h|o| +0#0000000&|b|a|r| |++0#af5f00255&| 
+0#0000000&|F+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)| +0#0000000&@58
 @75
 @75
 |"+0#0000e05&| |s|c|o|p|e| |m|o|d|i|f|i|e|r|s| |a|n|d| |q|u|a|l|i|f|i|e|d| 
|n|a|m|e|s| +0#0000000&@37
 @75
->l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|s+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+>l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|s+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|b+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|b+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|w+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|w+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
-@57|1|8|1|,|1| @8|7|1|%| 
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+@57|1|8|1|,|1| @8|6|8|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_11.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_11.dump
index 7215a0180..129481a62 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_11.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_11.dump
@@ -1,20 +1,20 @@
-|c+0#af5f00255#ffffff0|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|c+0#af5f00255#ffffff0|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|l+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|l+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
->l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|a+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+>l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|a+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|f+0#0000000&|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@60
 @75
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@50
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@55
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@50
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|s+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|m|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@55
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|s+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-@57|1|9@1|,|1| @8|7|8|%| 
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+@57|1|9@1|,|1| @8|7|5|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_12.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_12.dump
index 891bc7689..e1eca5369 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_12.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_12.dump
@@ -1,20 +1,20 @@
-|l+0#af5f00255#ffffff0|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|l+0#af5f00255#ffffff0|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|b+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
 > @74
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|w+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|t+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|l+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|l+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|a+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|a+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-@57|2|1|7|,|0|-|1| @6|8|5|%| 
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+@57|2|1|7|,|0|-|1| @6|8|2|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_13.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_13.dump
index 443664453..93b8786bb 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_13.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_13.dump
@@ -1,20 +1,20 @@
-|l+0#af5f00255#ffffff0|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|.|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|l+0#af5f00255#ffffff0|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
 @75
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@50
->c+0#af5f00255&|a|l@1| 
+0#0000000&|m|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&| 
+0#0000000&@55
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@50
+>c+0#af5f00255&|a|l@1| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@55
 @75
-|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000000&|o|d|u|l|e|#|f|o@1|(+0#e000e06&|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
+|l+0#af5f00255&|e|t| +0#0000000&|f|o@1| |=+0#af5f00255&| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@48
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|m+0#0000001#ffff4012|o|d|u|l|e|#|f|o@1|(+0#e000e06#ffffff0|4+0#e000002&|2|)+0#e000e06&|
 +0#0000000&@53
 @75
 @75
 |"+0#0000e05&| |n|o|t| |b|u|i|l|t|i|n| |f|u|n|c|t|i|o|n|s| +0#0000000&@51
 @75
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-@57|2|3|5|,|1| @8|9|3|%| 
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+@57|2|3|5|,|1| @8|8|9|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_14.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_14.dump
index 376b2ac5b..0bd6a01dc 100644
--- a/runtime/syntax/testdir/dumps/vim_function_call_14.dump
+++ b/runtime/syntax/testdir/dumps/vim_function_call_14.dump
@@ -1,20 +1,20 @@
-|c+0#af5f00255#ffffff0|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@55
+|c+0#af5f00255#ffffff0|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@55
 @75
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|<+0#e000e06&|S|I|D|>|s+0#0000000&|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@52
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|<+0#e000e06&|S|I|D|>|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@52
 > @74
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|b+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|w+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|t+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|l+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|a+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|v+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|.|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
 @75
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|s|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)| 
+0#0000000&@46
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000000&|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06&|)|
 +0#0000000&@44
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@46
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|g+0#00e0e07&|:|s+0#0000001#ffff4012|u|b|s|t|i|t|u|t|e|#|s|u|b|s|t|i|t|u|t|e|(+0#e000e06#ffffff0|)|
 +0#0000000&@44
 @75
-|~+0#4040ff13&| @73
-| +0#0000000&@56|2|5|3|,|0|-|1| @6|B|o|t| 
+@75
+@57|2|5|3|,|0|-|1| @6|9|6|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_call_15.dump 
b/runtime/syntax/testdir/dumps/vim_function_call_15.dump
new file mode 100644
index 000000000..58b6f9c6b
--- /dev/null
+++ b/runtime/syntax/testdir/dumps/vim_function_call_15.dump
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|"+0#0000e05&| |c|h|a|i|n|e|d| |f|u|n|c|t|i|o|n| |c|a|l@1|s| +0#0000000&@50
+@75
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|m+0#0000001#ffff4012|o|d|u|l|e|.|f|o@1|(+0#e000e06#ffffff0|)|.+0#af5f00255&|b+0#0000001#ffff4012|a|r|(+0#e000e06#ffffff0|)|
 +0#0000000&@51
+@75
+> @74
+|"+0#0000e05&| |I|s@1|u|e| |#|1|7@1|6@1| |(|v|a|l|i|d| |f|u|n|c|t|i|o|n| 
|c|a|l@1| |h|i|g|h|l|i|g|h|t|e|d| |a|s| |e|r@1|o|r|)| +0#0000000&@17
+|| @73
+|c+0#af5f00255&|a|l@1| 
+0#0000000&|m|o|d|u|l|e|[|0+0#e000002&|]+0#0000000&|.+0#af5f00255&|f+0#0000001#ffff4012|o@1|(+0#e000e06#ffffff0|)|
 +0#0000000&@54
+@75
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|2|7|1|,|0|-|1| @6|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/vim_function_calls_00.dump 
b/runtime/syntax/testdir/dumps/vim_function_calls_00.dump
deleted file mode 100644
index df0a3cdea..000000000
--- a/runtime/syntax/testdir/dumps/vim_function_calls_00.dump
+++ /dev/null
@@ -1,20 +0,0 @@
->"+0#0000e05#ffffff0| |V|i|m| |f|u|n|c|t|i|o|n| |c|a|l@1|s| +0#0000000&@54
-@75
-|c+0#af5f00255&|a|l@1| 
+0#0000000&|c+0#00e0e07&|l|e|a|r|m|a|t|c|h|e|s|(+0#e000e06&|)| +0#0000000&@55
-|:|c+0#af5f00255&|a|l@1| 
+0#0000000&|c+0#00e0e07&|l|e|a|r|m|a|t|c|h|e|s|(+0#e000e06&|)| +0#0000000&@54
-|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|F|o@1|"| +0#0000000&||| 
|c+0#af5f00255&|a|l@1| 
+0#0000000&|c+0#00e0e07&|l|e|a|r|m|a|t|c|h|e|s|(+0#e000e06&|)| +0#0000000&@42
-@75
-|~+0#4040ff13&| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|1|,|1| @10|A|l@1| 
diff --git a/runtime/syntax/testdir/input/vim9_function_call.vim 
b/runtime/syntax/testdir/input/vim9_function_call.vim
index 9de6f398a..b70f58da0 100644
--- a/runtime/syntax/testdir/input/vim9_function_call.vim
+++ b/runtime/syntax/testdir/input/vim9_function_call.vim
@@ -1,7 +1,7 @@
 vim9script
 # Vim function calls
-# VIM_SETUP highlight link vimUserFunc Todo
-# VIM_SETUP highlight link vim9UserFunc Todo
+# VIM_TEST_SETUP highlight link vimUserFunc Todo
+# VIM_TEST_SETUP highlight link vim9UserFunc Todo
 
 
 call abs(42)
@@ -293,3 +293,23 @@ v:substitute.substitute()
 substitute#substitute()
 g:substitute#substitute()
 
+
+# chained function calls
+
+module.foo().bar()
+
+
+# Issue 16721 (Vim script highlight of builtin function after |)
+
+&directory = $'{$MYVIMDIR}/.data/swap/'
+&backupdir = $'{$MYVIMDIR}/.data/backup//'
+&undodir = $'{$MYVIMDIR}/.data/undo//'
+if !isdirectory(&undodir)   | mkdir(&undodir, "p")   | endif
+if !isdirectory(&backupdir) | mkdir(&backupdir, "p") | endif
+if !isdirectory(&directory) | mkdir(&directory, "p") | endif
+
+
+# Issue #17766 (valid function call highlighted as error)
+
+module[0].foo()
+
diff --git a/runtime/syntax/testdir/input/vim9_function_calls.vim 
b/runtime/syntax/testdir/input/vim9_function_calls.vim
deleted file mode 100644
index 0b9f4c252..000000000
--- a/runtime/syntax/testdir/input/vim9_function_calls.vim
+++ /dev/null
@@ -1,18 +0,0 @@
-vim9script
-
-# Vim9 function calls
-
-clearmatches()
-:call clearmatches()
-echo "Foo" | clearmatches()
-
-
-# Issue 16721 (Vim script highlight of builtin function after |)
-
-&directory = $'{$MYVIMDIR}/.data/swap/'
-&backupdir = $'{$MYVIMDIR}/.data/backup//'
-&undodir = $'{$MYVIMDIR}/.data/undo//'
-if !isdirectory(&undodir)   | mkdir(&undodir, "p")   | endif
-if !isdirectory(&backupdir) | mkdir(&backupdir, "p") | endif
-if !isdirectory(&directory) | mkdir(&directory, "p") | endif
-
diff --git a/runtime/syntax/testdir/input/vim_function_call.vim 
b/runtime/syntax/testdir/input/vim_function_call.vim
index b94a898b7..f2e2d8b7b 100644
--- a/runtime/syntax/testdir/input/vim_function_call.vim
+++ b/runtime/syntax/testdir/input/vim_function_call.vim
@@ -1,5 +1,5 @@
 " Vim function calls
-" VIM_SETUP highlight link vimUserFunc Todo
+" VIM_TEST_SETUP highlight link vimUserFunc Todo
 
 
 call abs(42)
@@ -263,3 +263,13 @@ call v:substitute.substitute()
 call substitute#substitute()
 call g:substitute#substitute()
 
+
+" chained function calls
+
+call module.foo().bar()
+
+
+" Issue #17766 (valid function call highlighted as error)
+
+call module[0].foo()
+
diff --git a/runtime/syntax/testdir/input/vim_function_calls.vim 
b/runtime/syntax/testdir/input/vim_function_calls.vim
deleted file mode 100644
index 5401f6ec8..000000000
--- a/runtime/syntax/testdir/input/vim_function_calls.vim
+++ /dev/null
@@ -1,6 +0,0 @@
-" Vim function calls
-
-call clearmatches()
-:call clearmatches()
-echo "Foo" | call clearmatches()
-
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 2adffe9c4..4b73b9d6d 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -345,7 +345,7 @@ syn keyword vimBehaveModel  contained       mswin   xterm
 
 " Call {{{2
 " ====
-syn match vimCall      "\<call\=\>"    skipwhite nextgroup=@vimFunc
+syn match vimCall      "\<call\=\>"    skipwhite nextgroup=vimVar,@vimFunc
 
 " Debuggreedy {{{2
 " ===========
@@ -2127,6 +2127,7 @@ unlet s:interfaces
 " (following Gautam Iyer's suggestion)
 " ==========================
 syn match      vimFunc contained       "\<\l\w*\ze\s*("                        
        skipwhite nextgroup=vimOperParen contains=vimFuncName
+syn match      vimUserFunc     contained       "\.\@1<=\l\w*\ze\s*("           
        skipwhite nextgroup=vimOperParen contains=vimFuncName
 syn match      vimUserFunc     contained       
"\<\%([[:upper:]_]\|\%(\h\w*\.\)\+\h\)\w*\ze\s*("               skipwhite 
nextgroup=vimOperParen contains=vim9MethodName,vim9Super,vim9This
 syn match      vimUserFunc     contained       
"\<\%(g:\)\=\%(\h\w*#\)\+\h\w*\ze\s*("          skipwhite 
nextgroup=vimOperParen contains=vimVarScope
 syn match      vimUserFunc     contained       
"\%(\<[sgbwtlav]:\|<[sS][iI][dD]>\)\%(\h\w*\.\)*\h\w*\ze\s*("   skipwhite 
nextgroup=vimOperParen contains=vimVarScope,vimNotation

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1ucTMt-00Bd3S-Kv%40256bit.org.

Raspunde prin e-mail lui