runtime(sh): Distinguish parts of function definitions

Commit: 
https://github.com/vim/vim/commit/955c02dff76e097fc40344a4fbb0af9b9796208d
Author: Aliaksei Budavei <[email protected]>
Date:   Tue Mar 24 20:36:23 2026 +0000

    runtime(sh): Distinguish parts of function definitions
    
    - Highlight keywords "function" and "namespace" with
      the "Keyword" group ("shFunctionKey").
    - Highlight function body delimiters "{" and "}" with the
      "Delimiter" group ("shFunctionExprRegion").
    - Highlight function body delimiters "(" and ")" with the
      "Operator" group ("shFunctionSubShRegion").
    - Also, follow one style in folding all supported variants
      of function bodies for grouping commands too by enclosing
      a delimited function body, e.g. "{" and "}", in a fold and
      leaving its function header, e.g. "function f()", out of
      it when the header is written on a separate line.
    
    To restore previous colouring, add to "after/syntax/sh.vim":
    ------------------------------------------------------------
    hi link shFunctionKey Function
    hi link shFunctionExprRegion Function
    hi link shFunctionSubShRegion Function
    ------------------------------------------------------------
    
    fixes:  https://github.com/vim/vim/pull/19638#issuecomment-4052635546
    closes: #19638
    
    Signed-off-by: Aliaksei Budavei <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index efe0b22c2..f9aaa932a 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -660,40 +660,43 @@ if !exists("b:is_posix")
     syn keyword shFunctionKey function skipwhite skipnl 
nextgroup=shDoError,shIfError,shFunctionTwo,shFunctionFour,shFunctionCmdTwo
 endif
 
+ShFoldFunctions syn region shFunctionExpr      matchgroup=shFunctionExprRegion 
start="{"       end="}" contains=@shFunctionList         contained skipwhite 
skipnl nextgroup=shQuickComment
+ShFoldFunctions syn region shFunctionSubSh     
matchgroup=shFunctionSubShRegion start="("      end=")" 
contains=@shFunctionList         contained skipwhite skipnl 
nextgroup=shQuickComment
+
 if exists("b:is_bash")
     syn keyword shFunctionKey coproc
     syn match shFunctionCmdOne "^\s*\zs\%(\<\k\+\|[^()<>|&$;    
]\+\)\+\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" 
       skipwhite skipnl nextgroup=@shFunctionCmds
     syn match shFunctionCmdTwo "\%(\<\k\+\>\|[^()<>|&$;         
]\+\)\+\ze\s*\%(()\ze\)\=\_s*\%(\<\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)"
    contained skipwhite skipnl nextgroup=@shFunctionCmds
-    ShFoldFunctions syn region shFunctionOne   matchgroup=shFunction 
start="^\s*\zs\%(\<\k\+\|[^()<>|&$;        ]\+\)\+\s*()\_s*{"             
end="}" contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionTwo   matchgroup=shFunction 
start="\%(\<\k\+\|[^()<>|&$;       ]\+\)\+\s*\%(()\)\=\_s*{"      end="}" 
contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionThree matchgroup=shFunction 
start="^\s*\zs\%(\<\k\+\|[^()<>|&$;        ]\+\)\+\s*()\_s*((\@!"         
end=")" contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionFour  matchgroup=shFunction 
start="\%(\<\k\+\|[^()<>|&$;       ]\+\)\+\s*\%(\%(()\)\=\)\@>\_s*((\@!"  
end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shQuickComment
+    syn match shFunctionOne    "^\s*\zs\%(\<\k\+\|[^()<>|&$;    
]\+\)\+\s*()\ze\_s*{"  skipwhite skipnl nextgroup=shFunctionExpr
+    syn match shFunctionTwo    "\%(\<\k\+\|[^()<>|&$;   
]\+\)\+\ze\s*\%(()\ze\)\=\_s*{"        contained skipwhite skipnl 
nextgroup=shFunctionExpr
+    syn match shFunctionThree  "^\s*\zs\%(\<\k\+\|[^()<>|&$;    
]\+\)\+\s*()\ze\_s*((\@!"      skipwhite skipnl nextgroup=shFunctionSubSh
+    syn match shFunctionFour   "\%(\<\k\+\|[^()<>|&$;   
]\+\)\+\ze\s*\%(\%(()\ze\)\=\)\@>\_s*((\@!"    contained skipwhite skipnl 
nextgroup=shFunctionSubSh
 elseif exists("b:is_ksh88")
     " AT&T ksh88
     syn match shFunctionCmdOne 
"^\s*\zs\h\w*\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)"
   skipwhite skipnl nextgroup=@shFunctionCmds
-    ShFoldFunctions syn region shFunctionOne   matchgroup=shFunction 
start="^\s*\zs\h\w*\s*()\_s*{"            end="}" contains=@shFunctionList      
           skipwhite skipnl nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionTwo   matchgroup=shFunction 
start="\<\h\w*\>\_s*{"            end="}" 
contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionThree matchgroup=shFunction 
start="^\s*\zs\h\w*\s*()\_s*((\@!"                end=")" 
contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
+    syn match shFunctionOne    "^\s*\zs\h\w*\s*()\ze\_s*{"     skipwhite 
skipnl nextgroup=shFunctionExpr
+    syn match shFunctionTwo    "\<\h\w*\>\ze\_s*{"     contained skipwhite 
skipnl nextgroup=shFunctionExpr
+    syn match shFunctionThree  "^\s*\zs\h\w*\s*()\ze\_s*((\@!" skipwhite 
skipnl nextgroup=shFunctionSubSh
 elseif exists("b:is_mksh")
     " MirBSD ksh is the wild west of absurd and abstruse function names...
     syn match shFunctionCmdOne 
"^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)"
  skipwhite skipnl nextgroup=@shFunctionCmds
-    ShFoldFunctions syn region shFunctionOne   matchgroup=shFunction 
start="^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\_s*{"           
end="}" contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionTwo   matchgroup=shFunction 
start="\%([@!+.%,:-]\+\|\<\w\+\)*[-A-Za-z_.%,0-9:]\s*\%(()\)\=\_s*{"      
end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionThree matchgroup=shFunction 
start="^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\_s*((\@!"             
  end=")" contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
+    syn match shFunctionOne    
"^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*{"    skipwhite 
skipnl nextgroup=shFunctionExpr
+    syn match shFunctionTwo    
"\%([@!+.%,:-]\+\|\<\w\+\)*[-A-Za-z_.%,0-9:]\ze\s*\%(()\ze\)\=\_s*{"    
contained skipwhite skipnl nextgroup=shFunctionExpr
+    syn match shFunctionThree  
"^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*((\@!"        
skipwhite skipnl nextgroup=shFunctionSubSh
 elseif exists("b:is_kornshell")
     " ksh93
     syn match shFunctionCmdOne 
"^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)"
        skipwhite skipnl nextgroup=@shFunctionCmds
-    ShFoldFunctions syn region shFunctionOne   matchgroup=shFunction 
start="^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\_s*{"         end="}" 
contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionTwo   matchgroup=shFunction 
start="\%(\.\|\<\h\+\)[A-Za-z_.0-9]*\_s*{"                end="}" 
contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionThree matchgroup=shFunction 
start="^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\_s*((\@!"             end=")" 
contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shNamespaceOne  matchgroup=shFunction 
start="\<\h\w*\>\_s*{"                    end="}" 
contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shQuickComment
+    syn match shFunctionOne    "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*{"  
skipwhite skipnl nextgroup=shFunctionExpr
+    syn match shFunctionTwo    "\%(\.\|\<\h\+\)[A-Za-z_.0-9]*\ze\_s*{" 
contained skipwhite skipnl nextgroup=shFunctionExpr
+    syn match shFunctionThree  
"^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*((\@!"      skipwhite skipnl 
nextgroup=shFunctionSubSh
+    syn match shNamespaceOne   "\<\h\w*\>\ze\_s*{"     contained skipwhite 
skipnl nextgroup=shFunctionExpr
 else
     syn match shFunctionCmdOne 
"^\s*\zs\h\w*\s*()\ze\_s*\%(for\|case\|if\|while\|until\)\>"    skipwhite 
skipnl nextgroup=@shFunctionCmds
     syn match shFunctionCmdTwo 
"\<\h\w*\s*()\ze\_s*\%(for\|case\|if\|while\|until\)\>" contained skipwhite 
skipnl nextgroup=@shFunctionCmds
-    ShFoldFunctions syn region shFunctionOne   matchgroup=shFunction 
start="^\s*\zs\h\w*\s*()\_s*{"                    end="}" 
contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionTwo   matchgroup=shFunction 
start="\<\h\w*\>\s*()\_s*{"               end="}" 
contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionThree matchgroup=shFunction 
start="^\s*\zs\h\w*\s*()\_s*("                    end=")" 
contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shQuickComment
-    ShFoldFunctions syn region shFunctionFour  matchgroup=shFunction 
start="\<\h\w*\>\s*()\_s*("               end=")" 
contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shQuickComment
+    syn match shFunctionOne    "^\s*\zs\h\w*\s*()\ze\_s*{"     skipwhite 
skipnl nextgroup=shFunctionExpr
+    syn match shFunctionTwo    "\<\h\w*\>\s*()\ze\_s*{"        contained 
skipwhite skipnl nextgroup=shFunctionExpr
+    syn match shFunctionThree  "^\s*\zs\h\w*\s*()\ze\_s*("     skipwhite 
skipnl nextgroup=shFunctionSubSh
+    syn match shFunctionFour   "\<\h\w*\>\s*()\ze\_s*("        contained 
skipwhite skipnl nextgroup=shFunctionSubSh
 endif
 
 if !exists("g:sh_no_error")
@@ -902,9 +905,6 @@ if !exists("skip_sh_syntax_inits")
     hi def link shEchoDelim    shOperator
     hi def link shEchoQuote    shString
     hi def link shForPP        shLoop
-    hi def link shFunction     Function
-    hi def link shFunctionCmdOne       shFunction
-    hi def link shFunctionCmdTwo       shFunction
     hi def link shEmbeddedEcho shString
     hi def link shEscape       shCommandSub
     hi def link shExDoubleQuote        shDoubleQuote
@@ -982,8 +982,16 @@ if !exists("skip_sh_syntax_inits")
     hi def link shConditional          Conditional
     hi def link shCtrlSeq              Special
     hi def link shExprRegion           Delimiter
-    hi def link shFunctionKey          Function
-    hi def link shFunctionName         Function
+    hi def link shFunctionKey          Keyword
+    hi def link shFunctionOne          Function
+    hi def link shFunctionTwo          shFunctionOne
+    hi def link shFunctionThree                shFunctionOne
+    hi def link shFunctionFour         shFunctionOne
+    hi def link shFunctionCmdOne       shFunctionOne
+    hi def link shFunctionCmdTwo       shFunctionOne
+    hi def link shFunctionExprRegion   shExprRegion
+    hi def link shFunctionSubShRegion  shSubShRegion
+    hi def link shNamespaceOne         Function
     hi def link shNumber               Number
     hi def link shOperator             Operator
     hi def link shRepeat               Repeat
diff --git a/runtime/syntax/testdir/dumps/sh_06_00.dump 
b/runtime/syntax/testdir/dumps/sh_06_00.dump
index 5003c31b1..b21039227 100644
--- a/runtime/syntax/testdir/dumps/sh_06_00.dump
+++ b/runtime/syntax/testdir/dumps/sh_06_00.dump
@@ -11,7 +11,7 @@
 |#+0#0000e05&| +0#0000000&@73
 |#+0#0000e05&| |D|i|s|p|l|a|y| |s|o|m|e| |H|e|l|p| +0#0000000&@55
 |#+0#0000e05&| +0#0000000&@73
-|U+0#00e0e07&|s|a|g|e| |(|)| |{| +0#0000000&@64
+|U+0#00e0e07&|s|a|g|e| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @75
 |#+0#0000e05&| |d|o|e|s| |t|h|i|s| |c|o|m@1|e|n|t| |w|o|r|k|?| +0#0000000&@49
 
|V+0#00e0e07&|a|r|i|a|b|l|e|N|a|m|e|=+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|B|a|s|i|c|C|o|n|f|i|g|N|a|m|e|}|_+0#e000002&|*|"+0#af5f00255&|
 +0#0000000&@39
diff --git a/runtime/syntax/testdir/dumps/sh_06_01.dump 
b/runtime/syntax/testdir/dumps/sh_06_01.dump
index 5eea54383..e7cedb4b8 100644
--- a/runtime/syntax/testdir/dumps/sh_06_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_06_01.dump
@@ -1,4 +1,4 @@
-|U+0#00e0e07#ffffff0|s|a|g|e| |(|)| |{| +0#0000000&@64
+|U+0#00e0e07#ffffff0|s|a|g|e| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @75
 |#+0#0000e05&| |d|o|e|s| |t|h|i|s| |c|o|m@1|e|n|t| |w|o|r|k|?| +0#0000000&@49
 
|V+0#00e0e07&|a|r|i|a|b|l|e|N|a|m|e|=+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|B|a|s|i|c|C|o|n|f|i|g|N|a|m|e|}|_+0#e000002&|*|"+0#af5f00255&|
 +0#0000000&@39
diff --git a/runtime/syntax/testdir/dumps/sh_06_02.dump 
b/runtime/syntax/testdir/dumps/sh_06_02.dump
index 0177aff6b..1069ced2d 100644
--- a/runtime/syntax/testdir/dumps/sh_06_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_06_02.dump
@@ -14,7 +14,7 @@
 @75
 |"+0#af5f00255&| +0#0000000&@73
 @75
-|}+0#00e0e07&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |U|s|a|g|e| 
+0#0000000&@58
+|}+0#e000e06&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |U|s|a|g|e| 
+0#0000000&@58
 @75
 @75
 @57|3|5|,|1| @9|5@1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_06_03.dump 
b/runtime/syntax/testdir/dumps/sh_06_03.dump
index b4b3a5c69..6a54bcd9a 100644
--- a/runtime/syntax/testdir/dumps/sh_06_03.dump
+++ b/runtime/syntax/testdir/dumps/sh_06_03.dump
@@ -4,13 +4,13 @@
 |#+0#0000e05&| +0#0000000&@73
 |#+0#0000e05&| |C|r|e|a|t|e| |a| |b|a|c|k|u|p| |u|s|i|n|g| 
|f|b|a|c|k|u|p|/|f|r|e|c|o|v|e|r| +0#0000000&@34
 >#+0#0000e05&| +0#0000000&@73
-|E+0#00e0e07&|x|e|c|u|t|e|F|b|a|c|k|u|p| |(|)| |{| +0#0000000&|#+0#0000e05&| 
|T|E|S|T|I|N|G| +0#0000000&@45
+|E+0#00e0e07&|x|e|c|u|t|e|F|b|a|c|k|u|p| |(|)| +0#0000000&|{+0#e000e06&| 
+0#0000000&|#+0#0000e05&| |T|E|S|T|I|N|G| +0#0000000&@45
 @75
 |[+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|D|e|b|u|g|S|c|r|i|p|t|"+0#af5f00255&| 
+0#0000000&|]+0#af5f00255&| +0#0000000&@3|&+0#af5f00255&@1| 
+0#0000000&|s+0#af5f00255&|e|t| +0#00e0e07&|-+0#e000e06&|x| 
+0#00e0e07&||+0#af5f00255&@1| +0#0000000&|s+0#af5f00255&|e|t| 
+0#00e0e07&|++0#e000e06&|x| +0#0000000&@33
 @75
 |c+0#af5f00255&|d| +0#0000000&|$+0#e000e06&|c|w|d| +0#0000000&@67
 @75
-|}+0#00e0e07&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| 
|E|x|e|c|u|t|e|F|b|a|c|k|u|p| +0#0000000&@49
+|}+0#e000e06&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| 
|E|x|e|c|u|t|e|F|b|a|c|k|u|p| +0#0000000&@49
 @75
 @75
 |#+0#0000e05&@74
diff --git a/runtime/syntax/testdir/dumps/sh_07_00.dump 
b/runtime/syntax/testdir/dumps/sh_07_00.dump
index bf02a6073..f6dbd2b79 100644
--- a/runtime/syntax/testdir/dumps/sh_07_00.dump
+++ b/runtime/syntax/testdir/dumps/sh_07_00.dump
@@ -14,7 +14,7 @@
 | | +0#0000000&@73
 |#+0#0000e05&| |a|v|a|i|l|a|b|l|e|!| +0#0000000&@62
 |#+0#0000e05&| +0#0000000&@73
-|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(|)| |{| +0#0000000&@60
+|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
 @75
 |e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|F+0#e000002&|u|n|c|t|i|o|n|1|:| |f|o|r| |l|o@1|p| 
|i|n|s|i|d|e| |a| |f|u|n|c|t|i|o|n|:|\+0#e000e06&|t|\|c|"+0#af5f00255&| 
+0#0000000&@25
 |i|s|_|d|a|s|h|:| |1|,| |i|s|_|p|o|s|i|x|:| |1|,| |i|s|_|s|h|:| |1|,| 
@22|1|,|1| @10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/sh_07_01.dump 
b/runtime/syntax/testdir/dumps/sh_07_01.dump
index dfacae8d9..4c4fbcb90 100644
--- a/runtime/syntax/testdir/dumps/sh_07_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_07_01.dump
@@ -2,7 +2,7 @@
 | | +0#0000000&@73
 |#+0#0000e05&| |a|v|a|i|l|a|b|l|e|!| +0#0000000&@62
 |#+0#0000e05&| +0#0000000&@73
-|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(|)| |{| +0#0000000&@60
+|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
 @75
 >e+0#af5f00255&|c|h|o| 
 >+0#e000002&|"+0#af5f00255&|F+0#e000002&|u|n|c|t|i|o|n|1|:| |f|o|r| |l|o@1|p| 
 >|i|n|s|i|d|e| |a| |f|u|n|c|t|i|o|n|:|\+0#e000e06&|t|\|c|"+0#af5f00255&| 
 >+0#0000000&@25
 |[+0#af5f00255&| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|*|"+0#af5f00255&| 
+0#0000000&|]+0#af5f00255&| +0#0000000&||+0#af5f00255&@1| 
+0#0000000&|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|n+0#e000002&|o|n|e|\+0#e000e06&|c|"+0#af5f00255&| 
+0#0000000&@49
@@ -13,7 +13,7 @@
 |d+0#af5f00255&|o|n|e| +0#0000000&@70
 |e+0#af5f00255&|c|h|o| +0#0000000&@70
 @75
-|}+0#00e0e07&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |F|u|n|c|t|i|o|n|1| 
+0#0000000&@54
+|}+0#e000e06&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |F|u|n|c|t|i|o|n|1| 
+0#0000000&@54
 @75
 |#+0#0000e05&@74
 @5| +0#0000000&@69
diff --git a/runtime/syntax/testdir/dumps/sh_07_02.dump 
b/runtime/syntax/testdir/dumps/sh_07_02.dump
index 48e9fbb3d..61842b5eb 100644
--- a/runtime/syntax/testdir/dumps/sh_07_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_07_02.dump
@@ -3,7 +3,7 @@
 |#+0#0000e05&| +0#0000000&@73
 |#+0#0000e05&| |F|o|r| |l|o@1|p| |w|i|t|h| |'|i|n| |l|i|s|t|'| |$|*| 
+0#0000000&@46
 |#+0#0000e05&| +0#0000000&@73
->F+0#00e0e07&|u|n|c|t|i|o|n|2| |(|)| |{| +0#0000000&@60
+>F+0#00e0e07&|u|n|c|t|i|o|n|2| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
 @75
 |e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|F+0#e000002&|u|n|c|t|i|o|n|2|:| |f|o|r| |l|o@1|p| 
|i|n|s|i|d|e| |a| |f|u|n|c|t|i|o|n|:|\+0#e000e06&|t|\|c|"+0#af5f00255&| 
+0#0000000&@25
 |f+0#af5f00255&|o|r| +0#0000000&|V|a|r| |i+0#af5f00255&|n| 
+0#0000000&|$+0#e000e06&|*| +0#0000000&@61
@@ -11,7 +11,7 @@
 @4|[+0#af5f00255&| +0#0000000&|1+0#e000002&| +0#0000000&|$+0#e000e06&|V|a|r| 
+0#0000000&|2+0#e000002&| +0#0000000&|]+0#af5f00255&| 
+0#0000000&|&+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|O+0#e000002&|K| |\+0#e000e06&|c|"+0#af5f00255&| 
+0#e000002&||+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|n+0#e000002&|o| |\+0#e000e06&|c|"+0#af5f00255&| 
+0#0000000&@26
 |d+0#af5f00255&|o|n|e| +0#0000000&|;+0#af5f00255&| 
+0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&@63
 @75
-|}+0#00e0e07&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |F|u|n|c|t|i|o|n|2| 
+0#0000000&@54
+|}+0#e000e06&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |F|u|n|c|t|i|o|n|2| 
+0#0000000&@54
 @75
 |#+0#0000e05&@74
 @5| +0#0000000&@69
diff --git a/runtime/syntax/testdir/dumps/sh_07_03.dump 
b/runtime/syntax/testdir/dumps/sh_07_03.dump
index 999952e76..a42f25710 100644
--- a/runtime/syntax/testdir/dumps/sh_07_03.dump
+++ b/runtime/syntax/testdir/dumps/sh_07_03.dump
@@ -1,6 +1,6 @@
 |#+0#0000e05#ffffff0| |F|o|r| |l|o@1|p| |w|i|t|h| |'|i|n| |l|i|s|t|'| |$|@|.| 
|W|o|r|k|s| |t|h|e| |s|a|m|e| |w|a|y| |a|s| |$|*| +0#0000000&@20
 |#+0#0000e05&| +0#0000000&@73
-|F+0#00e0e07&|u|n|c|t|i|o|n|3| |(|)| |{| +0#0000000&@60
+|F+0#00e0e07&|u|n|c|t|i|o|n|3| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
 @75
 |e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|F+0#e000002&|u|n|c|t|i|o|n|3|:| |f|o|r| |l|o@1|p| 
|i|n|s|i|d|e| |a| |f|u|n|c|t|i|o|n|:|\+0#e000e06&|t|\|c|"+0#af5f00255&| 
+0#0000000&@25
 >f+0#af5f00255&|o|r| +0#0000000&|V|a|r| |i+0#af5f00255&|n| 
 >+0#0000000&|$+0#e000e06&|@| +0#0000000&@61
@@ -8,13 +8,13 @@
 @4|[+0#af5f00255&| +0#0000000&|1+0#e000002&| +0#0000000&|$+0#e000e06&|V|a|r| 
+0#0000000&|2+0#e000002&| +0#0000000&|]+0#af5f00255&| 
+0#0000000&|&+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|O+0#e000002&|K| |\+0#e000e06&|c|"+0#af5f00255&| 
+0#e000002&||+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|n+0#e000002&|o| |\+0#e000e06&|c|"+0#af5f00255&| 
+0#0000000&@26
 |d+0#af5f00255&|o|n|e| +0#0000000&|;+0#af5f00255&| 
+0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&@63
 @75
-|}+0#00e0e07&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |F|u|n|c|t|i|o|n|3| 
+0#0000000&@54
+|}+0#e000e06&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |F|u|n|c|t|i|o|n|3| 
+0#0000000&@54
 @75
 |#+0#0000e05&@74
 @5| +0#0000000&@69
 |#+0#0000e05&| +0#0000000&@73
 |#+0#0000e05&| |F|o|r| |l|o@1|p| |w|i|t|h| |'|i|n| |l|i|s|t|'| |"|$|@|"|.| 
|S|p|e|c|i|a|l| |c|a|s|e|.| |W|o|r|k|s| |l|i|k|e| |"|$|1|"| |"|$|2|"| |.@2| 
+0#0000000&@4
 |#+0#0000e05&| +0#0000000&@73
-|F+0#00e0e07&|u|n|c|t|i|o|n|4| |(|)| |{| +0#0000000&@60
+|F+0#00e0e07&|u|n|c|t|i|o|n|4| |(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
 @75
 @57|4|8|,|1| @9|5|6|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_07_04.dump 
b/runtime/syntax/testdir/dumps/sh_07_04.dump
index d9eea1069..fe8537f41 100644
--- a/runtime/syntax/testdir/dumps/sh_07_04.dump
+++ b/runtime/syntax/testdir/dumps/sh_07_04.dump
@@ -5,7 +5,7 @@
 @4|[+0#af5f00255&| +0#0000000&|1+0#e000002&| +0#0000000&|$+0#e000e06&|V|a|r| 
+0#0000000&|2+0#e000002&| +0#0000000&|]+0#af5f00255&| 
+0#0000000&|&+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|O+0#e000002&|K| |\+0#e000e06&|c|"+0#af5f00255&| 
+0#e000002&||+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|n+0#e000002&|o| |\+0#e000e06&|c|"+0#af5f00255&| 
+0#0000000&@26
 >d+0#af5f00255&|o|n|e| +0#0000000&|;+0#af5f00255&| 
 >+0#0000000&|e+0#af5f00255&|c|h|o| +0#0000000&@63
 @75
-|}+0#00e0e07&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |F|u|n|c|t|i|o|n|4| 
+0#0000000&@54
+|}+0#e000e06&| +0#0000000&|#+0#0000e05&| |E|n|d| |o|f| |F|u|n|c|t|i|o|n|4| 
+0#0000000&@54
 @75
 @75
 |#+0#0000e05&@74
diff --git a/runtime/syntax/testdir/dumps/sh_functions_bash_02.dump 
b/runtime/syntax/testdir/dumps/sh_functions_bash_02.dump
index fe4e93a88..c11eb911e 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_bash_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_bash_02.dump
@@ -9,12 +9,12 @@
 | +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|f@1|y| @68
 | +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
 |-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| 
|:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|f+0#00e0e07&|u|n|c|t|i|o|n| 
+0#0000000&|!+0#00e0e07&|?|#|(|)| +0#0000000&@54
-|2+0#0000e05#a8a8a8255| | +0#00e0e07#ffffff0@3|(| +0#0000000&@67
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#00e0e07&|u|n|c|t|i|o|n| 
+0#0000000&|@+0#00e0e07&|α|!| |{| +0#0000000&@50
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|!+0#00e0e07&|?|#|(|)| +0#0000000&@54
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|@+0#00e0e07&|α|!| +0#0000000&|{+0#e000e06&| +0#0000000&@50
 |3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@51
-|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#00e0e07&| +0#0000000&@63
+|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
 |2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|@|α|!+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@56
-|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#00e0e07&| +0#0000000&@67
+|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#af5f00255&| +0#0000000&@67
 ||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|e+0#af5f00255&|v|a|l| 
+0#0000000&|!+0#af5f00255&|?+0#0000000&|\+0#e000e06&|#| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@54
 @57|3|7|,|1| @9|8|6|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_functions_bash_03.dump 
b/runtime/syntax/testdir/dumps/sh_functions_bash_03.dump
index 39a73d39c..a18749ada 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_bash_03.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_bash_03.dump
@@ -1,9 +1,9 @@
 ||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|e+0#af5f00255&|v|a|l| 
+0#0000000&|!+0#af5f00255&|?+0#0000000&|\+0#e000e06&|#| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@54
 ||+0#0000e05#a8a8a8255| |f+0#af5f00255#ffffff0|i| +0#0000000&@70
 | +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |n+0#00e0e07#ffffff0|a|m|e|s|p|a|c|e| |(|)| 
+0#0000000&@60
-||+0#0000e05#a8a8a8255| |{+0#00e0e07#ffffff0| 
+0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|#|;+0#af5f00255&| 
+0#0000000&@62
-||+0#0000e05#a8a8a8255| >}+0#00e0e07#ffffff0|;+0#0000000&| |n|a|m|e|s|p|a|c|e| 
|$+0#e000e06&|@| +0#0000000&@57
+| +0#0000e05#a8a8a8255@1|n+0#00e0e07#ffffff0|a|m|e|s|p|a|c|e| |(|)| 
+0#0000000&@60
+|-+0#0000e05#a8a8a8255| |{+0#e000e06#ffffff0| 
+0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|#|;+0#af5f00255&| 
+0#0000000&@62
+||+0#0000e05#a8a8a8255| >}+0#e000e06#ffffff0|;+0#0000000&| |n|a|m|e|s|p|a|c|e| 
|$+0#e000e06&|@| +0#0000000&@57
 |~+0#4040ff13&| @73
 |~| @73
 |~| @73
diff --git a/runtime/syntax/testdir/dumps/sh_functions_dash_01.dump 
b/runtime/syntax/testdir/dumps/sh_functions_dash_01.dump
index a0d7ba0e6..5762b7be6 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_dash_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_dash_01.dump
@@ -12,9 +12,9 @@
 | +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
 | +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
 |-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| 
|:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|2|(|)| 
+0#0000000&@63
-|2+0#0000e05#a8a8a8255| | +0#00e0e07#ffffff0@3|(| +0#0000000&@67
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i+0#00e0e07&|d|1|(|)| |{| 
+0#0000000&@57
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|2|(|)| 
+0#0000000&@63
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i+0#00e0e07&|d|1|(|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@57
 |3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@51
-|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#00e0e07&| +0#0000000&@63
+|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
 @57|1|9|,|0|-|1| @7|6|1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_functions_dash_02.dump 
b/runtime/syntax/testdir/dumps/sh_functions_dash_02.dump
index 4f928ffc0..e7d298590 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_dash_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_dash_02.dump
@@ -1,12 +1,12 @@
-|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#00e0e07&| +0#0000000&@63
+|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
 |2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i|d|1| 
|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@56
-|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#00e0e07&| +0#0000000&@67
+|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#af5f00255&| +0#0000000&@67
 ||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i|d|2| 
|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@60
 ||+0#0000e05#a8a8a8255| |f+0#af5f00255#ffffff0|i| +0#0000000&@70
 | +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |f+0#00e0e07#ffffff0|u|n|c|t|i|o|n| |(|)| 
+0#0000000&@61
-||+0#0000e05#a8a8a8255| |{+0#00e0e07#ffffff0| 
+0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|#|;+0#af5f00255&| 
+0#0000000&@62
-||+0#0000e05#a8a8a8255| |}+0#00e0e07#ffffff0|;+0#0000000&| |f|u|n|c|t|i|o|n| 
|$+0#e000e06&|@| +0#0000000&@58
+| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|u|n|c|t|i|o|n| |(|)| 
+0#0000000&@61
+|-+0#0000e05#a8a8a8255| |{+0#e000e06#ffffff0| 
+0#0000000&|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|#|;+0#af5f00255&| 
+0#0000000&@62
+||+0#0000e05#a8a8a8255| |}+0#e000e06#ffffff0|;+0#0000000&| |f|u|n|c|t|i|o|n| 
|$+0#e000e06&|@| +0#0000000&@58
 |~+0#4040ff13&| @73
 |~| @73
 |~| @73
diff --git a/runtime/syntax/testdir/dumps/sh_functions_ksh2020_02.dump 
b/runtime/syntax/testdir/dumps/sh_functions_ksh2020_02.dump
index add584189..cca29de74 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_ksh2020_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_ksh2020_02.dump
@@ -9,12 +9,12 @@
 | +0#0000e05#a8a8a8255@1|i+0#0000000#ffffff0|f@1|y| @68
 | +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
 |-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| 
|:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|_|(|)| 
+0#0000000&@63
-|2+0#0000e05#a8a8a8255| | +0#00e0e07#ffffff0@3|(| +0#0000000&@67
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#00e0e07&|u|n|c|t|i|o|n| 
+0#0000000&|n+0#00e0e07&|.|s|e|t| |{| +0#0000000&@48
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|_|(|)| 
+0#0000000&@63
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|n+0#00e0e07&|.|s|e|t| +0#0000000&|{+0#e000e06&| +0#0000000&@48
 |3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|n|"+0#af5f00255&| +0#0000000&@51
-|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#00e0e07&| +0#0000000&@63
+|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
 |2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|d|o@1|s|i|e| @58
-|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#00e0e07&| +0#0000000&@67
+|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#af5f00255&| +0#0000000&@67
 ||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i|d|_| 
|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@60
 @57|3|7|,|1| @9|9|6|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_functions_ksh88_02.dump 
b/runtime/syntax/testdir/dumps/sh_functions_ksh88_02.dump
index 967300cbb..4df14699a 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_ksh88_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_ksh88_02.dump
@@ -3,13 +3,13 @@
 | +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
 | +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
 |-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| 
|:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>i+0#00e0e07&|d|2|(|)| 
+0#0000000&@63
-|2+0#0000e05#a8a8a8255| | +0#00e0e07#ffffff0@3|(| +0#0000000&@67
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#00e0e07&|u|n|c|t|i|o|n| 
+0#0000000&|i+0#00e0e07&|d|1| |{| +0#0000000&@50
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>i+0#00e0e07&|d|2|(|)| 
+0#0000000&@63
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|i+0#00e0e07&|d|1| +0#0000000&|{+0#e000e06&| +0#0000000&@50
 |3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@51
-|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#00e0e07&| +0#0000000&@63
+|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
 |2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i|d|1| 
|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@56
-|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#00e0e07&| +0#0000000&@67
+|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#af5f00255&| +0#0000000&@67
 ||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i|d|2| 
|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@60
 ||+0#0000e05#a8a8a8255| |f+0#af5f00255#ffffff0|i| +0#0000000&@70
 |~+0#4040ff13&| @73
diff --git a/runtime/syntax/testdir/dumps/sh_functions_mksh_02.dump 
b/runtime/syntax/testdir/dumps/sh_functions_mksh_02.dump
index a68196f10..5fed5e635 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_mksh_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_mksh_02.dump
@@ -3,13 +3,13 @@
 | +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
 | +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
 |-+0#0000e05#a8a8a8255| |i+0#af5f00255#ffffff0|f| 
|:+0#0000000&|;+0#af5f00255&| +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@62
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>%+0#00e0e07&@2|(|)| 
+0#0000000&@63
-|2+0#0000e05#a8a8a8255| | +0#00e0e07#ffffff0@3|(| +0#0000000&@67
-|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#00e0e07&|u|n|c|t|i|o|n| 
+0#0000000&|@+0#00e0e07&|a|:|(|)| |{| +0#0000000&@48
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>%+0#00e0e07&@2|(|)| 
+0#0000000&@63
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|(+0#af5f00255&| +0#0000000&@67
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|@+0#00e0e07&|a|:|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@48
 |3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@11|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@51
-|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#00e0e07&| +0#0000000&@63
+|3+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|}+0#e000e06&| +0#0000000&@63
 |2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|@|a|:| 
|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@56
-|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#00e0e07&| +0#0000000&@67
+|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|)+0#af5f00255&| +0#0000000&@67
 ||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|%@2| 
|"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@60
 ||+0#0000e05#a8a8a8255| |f+0#af5f00255#ffffff0|i| +0#0000000&@70
 |~+0#4040ff13&| @73
diff --git a/runtime/syntax/testdir/dumps/sh_generic_07.dump 
b/runtime/syntax/testdir/dumps/sh_generic_07.dump
index 0d12eeedb..758994610 100644
--- a/runtime/syntax/testdir/dumps/sh_generic_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_generic_07.dump
@@ -3,9 +3,9 @@
 |#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| 
|$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
 |#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| 
+0#0000000&@43
 |i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| 
+0#0000000&|e+0#af5f00255&|v|a|l| 
+0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| 
|2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| 
+0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&|
 +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
-@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
 @16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
-@8|}+0#00e0e07&| +0#0000000&@65
+@8|}+0#e000e06&| +0#0000000&@65
 @8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| 
|t|e|n|}| +0#0000000&@43
 @8|p+0#af5f00255&|r|i|n|t| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| 
|e|l|e|v|e|n|;+0#af5f00255&|}+0#e000e06&|"+0#af5f00255&| +0#0000000&@36
 @8|p+0#af5f00255&|r|i|n|t|f| 
+0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| 
@6|}|"+0#af5f00255&| +0#0000000&@24
diff --git a/runtime/syntax/testdir/dumps/sh_generic_10.dump 
b/runtime/syntax/testdir/dumps/sh_generic_10.dump
index 08be254fb..cf4178f5e 100644
--- a/runtime/syntax/testdir/dumps/sh_generic_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_generic_10.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| |{| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| 
+0#0000000&@57
 @8|t+0#af5f00255&|r|u|e| +0#0000000&@62
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
->f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| 
|{| +0#0000000&@50
+>f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| +0#0000000&|{+0#e000e06&| 
+0#0000000&@50
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|s|h|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| |(|m|k|s|h|-|o|n|l|y|)| +0#0000000&@30
 |}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| |{| +0#0000000&@59
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| 
+0#0000000&|{+0#e000e06&| +0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| +0#0000000&@37
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|3|(|)| |{| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| 
+0#0000000&@47
 @57|1|5|4|,|1| @8|7|9|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_generic_11.dump 
b/runtime/syntax/testdir/dumps/sh_generic_11.dump
index 5337b16bb..f1eb6e296 100644
--- a/runtime/syntax/testdir/dumps/sh_generic_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_generic_11.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| 
|f|u|n|c|t|i|o|n| +0#0000000&@47
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| |{| +0#0000000&@62
+|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
->}+0#00e0e07&| +0#0000000&@73
+>}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| |{| 
+0#0000000&@55
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| 
+0#0000000&|{+0#e000e06&| +0#0000000&@55
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@20
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| |(| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| 
+0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|s|u|b|s|h|e|l@1| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@21
-|)+0#00e0e07&| +0#0000000&@73
+|)+0#af5f00255&| +0#0000000&@73
 @75
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| |{| 
+0#0000000&@58
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@65
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
 @57|1|7|2|,|1| @8|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_generic_12.dump 
b/runtime/syntax/testdir/dumps/sh_generic_12.dump
index cf853126a..3ef75a887 100644
--- a/runtime/syntax/testdir/dumps/sh_generic_12.dump
+++ b/runtime/syntax/testdir/dumps/sh_generic_12.dump
@@ -1,14 +1,14 @@
 | +0&#ffffff0@74
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
 @8|:+0#0000e05&| +0#0000000&@65
 |}+0#e000e06&| +0#0000000&@73
 @75
->n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
+>n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| 
+0#0000000&@51
 |}+0#e000e06&| +0#0000000&@73
 @75
 |#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| |(|n|o| |n|a|m|e|)| +0#0000000&@52
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
 |}+0#e000e06&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/sh_ksh2020_07.dump 
b/runtime/syntax/testdir/dumps/sh_ksh2020_07.dump
index c2214f251..187550a49 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh2020_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh2020_07.dump
@@ -3,9 +3,9 @@
 |#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| 
|$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
 |#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| 
+0#0000000&@43
 |i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| 
+0#0000000&|e+0#af5f00255&|v|a|l| 
+0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| 
|2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| 
+0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&|
 +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
-@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
 @16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
-@8|}+0#00e0e07&| +0#0000000&@65
+@8|}+0#e000e06&| +0#0000000&@65
 @8|e+0#af5f00255&|c|h|o| 
+0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| 
|t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
 @8|p+0#af5f00255&|r|i|n|t| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
 @8|p+0#af5f00255&|r|i|n|t|f| 
+0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
diff --git a/runtime/syntax/testdir/dumps/sh_ksh2020_10.dump 
b/runtime/syntax/testdir/dumps/sh_ksh2020_10.dump
index 08be254fb..cf4178f5e 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh2020_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh2020_10.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| |{| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| 
+0#0000000&@57
 @8|t+0#af5f00255&|r|u|e| +0#0000000&@62
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
->f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| 
|{| +0#0000000&@50
+>f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| +0#0000000&|{+0#e000e06&| 
+0#0000000&@50
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|s|h|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| |(|m|k|s|h|-|o|n|l|y|)| +0#0000000&@30
 |}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| |{| +0#0000000&@59
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| 
+0#0000000&|{+0#e000e06&| +0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| +0#0000000&@37
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|3|(|)| |{| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| 
+0#0000000&@47
 @57|1|5|4|,|1| @8|7|9|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh2020_11.dump 
b/runtime/syntax/testdir/dumps/sh_ksh2020_11.dump
index 5337b16bb..f1eb6e296 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh2020_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh2020_11.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| 
|f|u|n|c|t|i|o|n| +0#0000000&@47
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| |{| +0#0000000&@62
+|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
->}+0#00e0e07&| +0#0000000&@73
+>}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| |{| 
+0#0000000&@55
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| 
+0#0000000&|{+0#e000e06&| +0#0000000&@55
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@20
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| |(| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| 
+0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|s|u|b|s|h|e|l@1| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@21
-|)+0#00e0e07&| +0#0000000&@73
+|)+0#af5f00255&| +0#0000000&@73
 @75
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| |{| 
+0#0000000&@58
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@65
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
 @57|1|7|2|,|1| @8|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh2020_12.dump 
b/runtime/syntax/testdir/dumps/sh_ksh2020_12.dump
index cf853126a..3ef75a887 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh2020_12.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh2020_12.dump
@@ -1,14 +1,14 @@
 | +0&#ffffff0@74
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
 @8|:+0#0000e05&| +0#0000000&@65
 |}+0#e000e06&| +0#0000000&@73
 @75
->n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
+>n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| 
+0#0000000&@51
 |}+0#e000e06&| +0#0000000&@73
 @75
 |#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| |(|n|o| |n|a|m|e|)| +0#0000000&@52
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
 |}+0#e000e06&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/sh_ksh88_07.dump 
b/runtime/syntax/testdir/dumps/sh_ksh88_07.dump
index e7d559dac..f2b2a7f5d 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh88_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh88_07.dump
@@ -3,9 +3,9 @@
 |#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| 
|$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
 |#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| 
+0#0000000&@43
 |i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| 
+0#0000000&|e+0#af5f00255&|v|a|l| 
+0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| 
|2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| 
+0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&|
 +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
-@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
 @16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
-@8|}+0#00e0e07&| +0#0000000&@65
+@8|}+0#e000e06&| +0#0000000&@65
 @8|e+0#af5f00255&|c|h|o| 
+0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| 
|t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
 @8|p+0#af5f00255&|r|i|n|t| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
 @8|p+0#af5f00255&|r|i|n|t|f| 
+0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
diff --git a/runtime/syntax/testdir/dumps/sh_ksh88_10.dump 
b/runtime/syntax/testdir/dumps/sh_ksh88_10.dump
index 9dc4442bf..54507b7d6 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh88_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh88_10.dump
@@ -3,18 +3,18 @@
 @8|t+0#af5f00255&|r|u|e| +0#0000000&@62
 |}+0#e000e06&| +0#0000000&@73
 @75
->f+0#00e0e07&|u|n|c|t|i|o|n| 
+0#0000000&|.|s|h|.|t|i|l|d|e|.|s+0#af5f00255&|e|t| +0#00e0e07&|{+0#e000e06&| 
+0#0000000&@50
+>f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|.|s|h|.|t|i|l|d|e|.|s+0#af5f00255&|e|t| +0#00e0e07&|{+0#e000e06&| 
+0#0000000&@50
 | +0#00e0e07&@7|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
 |}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|s|h|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| |(|m|k|s|h|-|o|n|l|y|)| +0#0000000&@30
 |}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| |{| +0#0000000&@59
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| 
+0#0000000&|{+0#e000e06&| +0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| +0#0000000&@37
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|3|(|)| |{| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| 
+0#0000000&@47
 @57|1|5|4|,|1| @8|7|9|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh88_11.dump 
b/runtime/syntax/testdir/dumps/sh_ksh88_11.dump
index 17f89d7d3..801a27c45 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh88_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh88_11.dump
@@ -1,11 +1,11 @@
 | +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| 
|f|u|n|c|t|i|o|n| +0#0000000&@47
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
 |f|o@1|4|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
 >}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|5|.|s+0#af5f00255&|e|t| 
+0#00e0e07&|{+0#e000e06&| +0#0000000&@55
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|5|.|s+0#af5f00255&|e|t| 
+0#00e0e07&|{+0#e000e06&| +0#0000000&@55
 | +0#00e0e07&@7|:+0#0000e05&| +0#00e0e07&@1|#+0#0000e05&| 
|K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| |k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| 
|f|u|n|c|t|i|o|n| +0#0000000&@20
 |}+0#e000e06&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/sh_ksh88_12.dump 
b/runtime/syntax/testdir/dumps/sh_ksh88_12.dump
index 3b1df9ae9..815c35cdc 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh88_12.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh88_12.dump
@@ -8,7 +8,7 @@
 |}+0#e000e06&| +0#0000000&@73
 @75
 |#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| |(|n|o| |n|a|m|e|)| +0#0000000&@52
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
 |}+0#e000e06&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93_generic_07.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93_generic_07.dump
index c2214f251..187550a49 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93_generic_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93_generic_07.dump
@@ -3,9 +3,9 @@
 |#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| 
|$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
 |#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| 
+0#0000000&@43
 |i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| 
+0#0000000&|e+0#af5f00255&|v|a|l| 
+0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| 
|2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| 
+0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&|
 +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
-@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
 @16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
-@8|}+0#00e0e07&| +0#0000000&@65
+@8|}+0#e000e06&| +0#0000000&@65
 @8|e+0#af5f00255&|c|h|o| 
+0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| 
|t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
 @8|p+0#af5f00255&|r|i|n|t| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
 @8|p+0#af5f00255&|r|i|n|t|f| 
+0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93_generic_10.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93_generic_10.dump
index 08be254fb..cf4178f5e 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93_generic_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93_generic_10.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| |{| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| 
+0#0000000&@57
 @8|t+0#af5f00255&|r|u|e| +0#0000000&@62
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
->f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| 
|{| +0#0000000&@50
+>f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| +0#0000000&|{+0#e000e06&| 
+0#0000000&@50
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|s|h|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| |(|m|k|s|h|-|o|n|l|y|)| +0#0000000&@30
 |}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| |{| +0#0000000&@59
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| 
+0#0000000&|{+0#e000e06&| +0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| +0#0000000&@37
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|3|(|)| |{| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| 
+0#0000000&@47
 @57|1|5|4|,|1| @8|7|9|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93_generic_11.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93_generic_11.dump
index 5337b16bb..f1eb6e296 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93_generic_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93_generic_11.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| 
|f|u|n|c|t|i|o|n| +0#0000000&@47
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| |{| +0#0000000&@62
+|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
->}+0#00e0e07&| +0#0000000&@73
+>}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| |{| 
+0#0000000&@55
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| 
+0#0000000&|{+0#e000e06&| +0#0000000&@55
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@20
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| |(| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| 
+0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|s|u|b|s|h|e|l@1| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@21
-|)+0#00e0e07&| +0#0000000&@73
+|)+0#af5f00255&| +0#0000000&@73
 @75
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| |{| 
+0#0000000&@58
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@65
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
 @57|1|7|2|,|1| @8|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93_generic_12.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93_generic_12.dump
index cf853126a..3ef75a887 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93_generic_12.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93_generic_12.dump
@@ -1,14 +1,14 @@
 | +0&#ffffff0@74
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
 @8|:+0#0000e05&| +0#0000000&@65
 |}+0#e000e06&| +0#0000000&@73
 @75
->n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
+>n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| 
+0#0000000&@51
 |}+0#e000e06&| +0#0000000&@73
 @75
 |#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| |(|n|o| |n|a|m|e|)| +0#0000000&@52
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
 |}+0#e000e06&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93u_07.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93u_07.dump
index c2214f251..187550a49 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93u_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93u_07.dump
@@ -3,9 +3,9 @@
 |#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| 
|$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
 |#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| 
+0#0000000&@43
 |i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| 
+0#0000000&|e+0#af5f00255&|v|a|l| 
+0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| 
|2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| 
+0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&|
 +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
-@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
 @16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
-@8|}+0#00e0e07&| +0#0000000&@65
+@8|}+0#e000e06&| +0#0000000&@65
 @8|e+0#af5f00255&|c|h|o| 
+0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| 
|t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
 @8|p+0#af5f00255&|r|i|n|t| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
 @8|p+0#af5f00255&|r|i|n|t|f| 
+0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93u_10.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93u_10.dump
index 08be254fb..cf4178f5e 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93u_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93u_10.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| |{| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| 
+0#0000000&@57
 @8|t+0#af5f00255&|r|u|e| +0#0000000&@62
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
->f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| 
|{| +0#0000000&@50
+>f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| +0#0000000&|{+0#e000e06&| 
+0#0000000&@50
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|s|h|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| |(|m|k|s|h|-|o|n|l|y|)| +0#0000000&@30
 |}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| |{| +0#0000000&@59
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| 
+0#0000000&|{+0#e000e06&| +0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| +0#0000000&@37
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|3|(|)| |{| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| 
+0#0000000&@47
 @57|1|5|4|,|1| @8|7|9|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93u_11.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93u_11.dump
index 5337b16bb..f1eb6e296 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93u_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93u_11.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| 
|f|u|n|c|t|i|o|n| +0#0000000&@47
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| |{| +0#0000000&@62
+|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
->}+0#00e0e07&| +0#0000000&@73
+>}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| |{| 
+0#0000000&@55
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| 
+0#0000000&|{+0#e000e06&| +0#0000000&@55
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@20
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| |(| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| 
+0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|s|u|b|s|h|e|l@1| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@21
-|)+0#00e0e07&| +0#0000000&@73
+|)+0#af5f00255&| +0#0000000&@73
 @75
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| |{| 
+0#0000000&@58
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@65
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
 @57|1|7|2|,|1| @8|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93u_12.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93u_12.dump
index cf853126a..3ef75a887 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93u_12.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93u_12.dump
@@ -1,14 +1,14 @@
 | +0&#ffffff0@74
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
 @8|:+0#0000e05&| +0#0000000&@65
 |}+0#e000e06&| +0#0000000&@73
 @75
->n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
+>n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| 
+0#0000000&@51
 |}+0#e000e06&| +0#0000000&@73
 @75
 |#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| |(|n|o| |n|a|m|e|)| +0#0000000&@52
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
 |}+0#e000e06&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93v_07.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93v_07.dump
index c2214f251..187550a49 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93v_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93v_07.dump
@@ -3,9 +3,9 @@
 |#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| 
|$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
 |#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| 
+0#0000000&@43
 |i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| 
+0#0000000&|e+0#af5f00255&|v|a|l| 
+0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| 
|2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| 
+0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&|
 +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
-@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
 @16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
-@8|}+0#00e0e07&| +0#0000000&@65
+@8|}+0#e000e06&| +0#0000000&@65
 @8|e+0#af5f00255&|c|h|o| 
+0#e000002&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c| 
|t|e|n|}+0#e000e06#ffffff0| +0#0000000&@43
 @8|p+0#af5f00255&|r|i|n|t| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |e|l|e|v|e|n|;|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@36
 @8|p+0#af5f00255&|r|i|n|t|f| 
+0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{||+0#ffffff16#ff404010|v|a|l|s|u|b|f|u|n|c|
 |t|w|e|l|v|e| @6|}+0#e000e06#ffffff0|"+0#af5f00255&| +0#0000000&@24
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93v_10.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93v_10.dump
index 08be254fb..cf4178f5e 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93v_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93v_10.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| |{| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| 
+0#0000000&@57
 @8|t+0#af5f00255&|r|u|e| +0#0000000&@62
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
->f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| 
|{| +0#0000000&@50
+>f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| +0#0000000&|{+0#e000e06&| 
+0#0000000&@50
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|s|h|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| |(|m|k|s|h|-|o|n|l|y|)| +0#0000000&@30
 |}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| |{| +0#0000000&@59
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| 
+0#0000000&|{+0#e000e06&| +0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| +0#0000000&@37
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|3|(|)| |{| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| 
+0#0000000&@47
 @57|1|5|4|,|1| @8|7|9|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93v_11.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93v_11.dump
index 5337b16bb..f1eb6e296 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93v_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93v_11.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| 
|f|u|n|c|t|i|o|n| +0#0000000&@47
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| |{| +0#0000000&@62
+|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
->}+0#00e0e07&| +0#0000000&@73
+>}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| |{| 
+0#0000000&@55
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| 
+0#0000000&|{+0#e000e06&| +0#0000000&@55
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@20
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| |(| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| 
+0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|s|u|b|s|h|e|l@1| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@21
-|)+0#00e0e07&| +0#0000000&@73
+|)+0#af5f00255&| +0#0000000&@73
 @75
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| |{| 
+0#0000000&@58
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|_+0#00e0e07&|f|o@1| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@65
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
 @57|1|7|2|,|1| @8|8@1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93v_12.dump 
b/runtime/syntax/testdir/dumps/sh_ksh93v_12.dump
index cf853126a..3ef75a887 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93v_12.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93v_12.dump
@@ -1,14 +1,14 @@
 | +0&#ffffff0@74
-|n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
+|n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|1|b|a|d|.|i|n|v|a|l|i|d| 
|{+0#e000e06&| +0#0000000&@50
 @8|:+0#0000e05&| +0#0000000&@65
 |}+0#e000e06&| +0#0000000&@73
 @75
->n+0#00e0e07&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
+>n+0#af5f00255&|a|m|e|s|p|a|c|e| +0#0000000&|f|o@1|1|(+0#e000e06&|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@56
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| 
+0#0000000&@51
 |}+0#e000e06&| +0#0000000&@73
 @75
 |#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| |(|n|o| |n|a|m|e|)| +0#0000000&@52
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
 |}+0#e000e06&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_07.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_07.dump
index 0d12eeedb..758994610 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_07.dump
@@ -3,9 +3,9 @@
 |#+0#0000e05&| |V|a|l|u|e| |s|u|b|s|t|i|t|u|t|i|o|n|s| |o|f| |t|h|e| |f|o|r|m| 
|$|{|||c|o|m@1|a|n|d|}| |a|r|e| |o|n|l|y| +0#0000000&@20
 |#+0#0000e05&| |s|u|p@1|o|r|t|e|d| |b|y| |m|k|s|h|,| |n|o|t| |k|s|h|9|3|.| 
+0#0000000&@43
 |i+0#af5f00255&|f| |!| +0#0000000&|c+0#af5f00255&|o|m@1|a|n|d| 
+0#0000000&|e+0#af5f00255&|v|a|l| 
+0#0000000&|'+0#af5f00255&|(+0#e000002&@1|.|s|h|.|v|e|r|s|i|o|n| |>|=| 
|2|0@1|7|0|7|0|3|)@1|'+0#af5f00255&| 
+0#0000000&|2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1|;+0#af5f00255&|
 +0#0000000&|t+0#af5f00255&|h|e|n| +0#0000000&@9
-@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| |{| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@52
 @16|R+0#e000e06&|E|P|L|Y|=+0#af5f00255&|$+0#e000e06&|1| +0#0000000&@50
-@8|}+0#00e0e07&| +0#0000000&@65
+@8|}+0#e000e06&| +0#0000000&@65
 @8|e+0#af5f00255&|c|h|o| +0#e000002&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| 
|t|e|n|}| +0#0000000&@43
 @8|p+0#af5f00255&|r|i|n|t| 
+0#e000002&|"+0#af5f00255&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| 
|e|l|e|v|e|n|;+0#af5f00255&|}+0#e000e06&|"+0#af5f00255&| +0#0000000&@36
 @8|p+0#af5f00255&|r|i|n|t|f| 
+0#0000000&|'+0#af5f00255&|%+0#e000002&|s|'+0#af5f00255&| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|||v|a|l|s|u|b|f|u|n|c| |t|w|e|l|v|e| 
@6|}|"+0#af5f00255&| +0#0000000&@24
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_10.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_10.dump
index 09847480a..665c13ad9 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_10.dump
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| |{| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| 
+0#0000000&@57
 @8|t+0#af5f00255&|r|u|e| +0#0000000&@62
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
->f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| 
|{| +0#0000000&@50
+>f+0#af5f00255&|u|n|c|t|i|o|n| 
+0#0000000&|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|s|e|t| +0#0000000&|{+0#e000e06&| 
+0#0000000&@50
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|(|)| |{| 
+0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|(|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |B|a|s|h|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| |(|m|k|s|h|-|o|n|l|y|)| +0#0000000&@30
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| |{| +0#0000000&@59
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|2| 
+0#0000000&|{+0#e000e06&| +0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|f|u|n|c|t|i|o|n| +0#0000000&@37
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|3|(|)| |{| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| |f|u|n|c|t|i|o|n| 
+0#0000000&@47
 @57|1|5|4|,|1| @8|7|9|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_11.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_11.dump
index ceec31b79..4730aa276 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_11.dump
@@ -1,17 +1,17 @@
 | +0&#ffffff0@7|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X| 
|f|u|n|c|t|i|o|n| +0#0000000&@47
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| |{| +0#0000000&@62
+|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@24
->}+0#00e0e07&| +0#0000000&@73
+>}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| |{| 
+0#0000000&@55
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|5|.|s|e|t| 
+0#0000000&|{+0#e000e06&| +0#0000000&@55
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |K|o|r|n|S|h|e|l@1|-|s|t|y|l|e| 
|k|s|h|9|3| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@20
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| |(| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| 
+0#0000000&@59
 @8|:+0#0000e05&| +0#0000000&@1|#+0#0000e05&| |P|O|S|I|X|-|s|t|y|l|e| 
|s|u|b|s|h|e|l@1| |d|i|s|c|i|p|l|i|n|e| |f|u|n|c|t|i|o|n| +0#0000000&@21
-|)+0#00e0e07&| +0#0000000&@73
+|)+0#af5f00255&| +0#0000000&@73
 @75
 |n|a|m|e|s|p|a|c|e| |_|f|o@1| |{+0#e000e06&| +0#0000000&@58
 @8|:+0#0000e05&| +0#0000000&@65
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_12.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_12.dump
index 3b1df9ae9..815c35cdc 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_12.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_12.dump
@@ -8,7 +8,7 @@
 |}+0#e000e06&| +0#0000000&@73
 @75
 |#+0#0000e05&| |B|a|d| |s|y|n|t|a|x| |(|n|o| |n|a|m|e|)| +0#0000000&@52
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|{+0#e000e06&| +0#0000000&@64
 @8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
 |}+0#e000e06&| +0#0000000&@73
 @75
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_00.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_00.dump
index c995df5b2..1af1bd6b4 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_00.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_00.dump
@@ -3,18 +3,18 @@
 @75
 |#+0#0000e05&| |V|a|l|i|d| |f|u|n|c|t|i|o|n| |n|a|m|e|s| +0#0000000&@52
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|7+0#00e0e07&|f|o|@|o|.|f|(|)| |{| 
+0#0000000&@54
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|7+0#00e0e07&|f|o|@|o|.|f|(|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@54
 @8|e+0#af5f00255&|c|h|o| 
+0#e000002&|"+0#af5f00255&|G+0#e000002&|i|b@1|e|r|i|s|h| 
|n|o|t|-|K|o|r|n|S|h|e|l@1| |f|u|n|c|t|i|o|n| |(|t|h|e| |e|n|d|i|n|g| |'|(|)|'| 
|i|s| |a| |b|a|s|h|i|s
 |m| |m|k|s|h| |a|l@1|o|w|s|)|"+0#af5f00255&| +0#0000000&@59
-|}+0#00e0e07&| +0#0000000&@73
-|!+0#00e0e07&|:|@|-|+|.|8|v|f|o|%|o|,|_|(|)| |{| +0#0000000&@56
+|}+0#e000e06&| +0#0000000&@73
+|!+0#00e0e07&|:|@|-|+|.|8|v|f|o|%|o|,|_|(|)| +0#0000000&|{+0#e000e06&| 
+0#0000000&@56
 @8|e+0#af5f00255&|c|h|o| 
+0#e000002&|'+0#af5f00255&|G+0#e000002&|i|b@1|e|r|i|s|h| |P|O|S|I|X| 
|f|u|n|c|t|i|o|n|'+0#af5f00255&| +0#0000000&@35
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|,+0#00e0e07&|(|)| |{| +0#0000000&@69
+|,+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|a+0#00e0e07&|%|a|(|)| |{| 
+0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|a+0#00e0e07&|%|a|(|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8|f|o@1| @63
 |i|s|_|k|o|r|n|s|h|e|l@1|:| |1|,| |i|s|_|m|k|s|h|:| |1|,| @28|1|,|1| 
@10|T|o|p| 
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_01.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_01.dump
index b84cd5804..beae9b47d 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_01.dump
@@ -1,20 +1,20 @@
-|,+0#00e0e07#ffffff0|(|)| |{| +0#0000000&@69
+|,+0#00e0e07#ffffff0|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|f+0#00e0e07&|u|n|c|t|i|o|n| +0#0000000&|a+0#00e0e07&|%|a|(|)| |{| 
+0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|a+0#00e0e07&|%|a|(|)| 
+0#0000000&|{+0#e000e06&| +0#0000000&@58
 @8>f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|%+0#00e0e07&|(|)| |{| +0#0000000&@69
+|%+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|.+0#00e0e07&|(|)| |{| +0#0000000&@69
+|.+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|-+0#00e0e07&|(|)| |{| +0#0000000&@69
+|-+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @57|1|8|,|2|-|9| @7|1@1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_02.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_02.dump
index 906490149..2aeb5366c 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_02.dump
@@ -1,20 +1,20 @@
-|}+0#00e0e07#ffffff0| +0#0000000&@73
+|}+0#e000e06#ffffff0| +0#0000000&@73
 @75
-|_+0#00e0e07&|(|)| |{| +0#0000000&@69
+|_+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 > @74
-|++0#00e0e07&|a|(|)| |{| +0#0000000&@68
+|++0#00e0e07&|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|.+0#00e0e07&|b|(|)| |{| +0#0000000&@68
+|.+0#00e0e07&|b|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|!+0#00e0e07&|a|(|)| |{| +0#0000000&@68
+|!+0#00e0e07&|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|@+0#00e0e07&|a|(|)| |{| +0#0000000&@68
+|@+0#00e0e07&|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
 @57|3|6|,|0|-|1| @7|2|8|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_03.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_03.dump
index e0dc95fc2..8225b5869 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_03.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_03.dump
@@ -1,20 +1,20 @@
-|@+0#00e0e07#ffffff0|a|(|)| |{| +0#0000000&@68
+|@+0#00e0e07#ffffff0|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|!+0#00e0e07&@1|a|(|)| |{| +0#0000000&@67
+|!+0#00e0e07&@1|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@67
 @8>f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|!+0#00e0e07&|a|!|a|(|)| |{| +0#0000000&@66
+|!+0#00e0e07&|a|!|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|@+0#00e0e07&|a|@@1|a|(|)| |{| +0#0000000&@65
+|@+0#00e0e07&|a|@@1|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@65
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @75
-|++0#00e0e07&|a|+|a|(|)| |{| +0#0000000&@66
+|++0#00e0e07&|a|+|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 @57|5|4|,|2|-|9| @7|4@1|%| 
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_04.dump 
b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_04.dump
index 51610c7f2..0e1dd0413 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_04.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_04.dump
@@ -1,8 +1,8 @@
-|}+0#00e0e07#ffffff0| +0#0000000&@73
+|}+0#e000e06#ffffff0| +0#0000000&@73
 @75
-|a+0#00e0e07&|:|(|)| |{| +0#0000000&@68
+|a+0#00e0e07&|:|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
 @8|f|o@1| @63
-|}+0#00e0e07&| +0#0000000&@73
+|}+0#e000e06&| +0#0000000&@73
 > @74
 |#+0#0000e05&| |I|n|v|a|l|i|d| |f|u|n|c|t|i|o|n| |n|a|m|e|s| +0#0000000&@50
 |@|a|@|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@67
diff --git a/src/testdir/dumps/Test_matchparen_sh_case_1.dump 
b/src/testdir/dumps/Test_matchparen_sh_case_1.dump
index 7e7a2a3f4..8494e0e3a 100644
--- a/src/testdir/dumps/Test_matchparen_sh_case_1.dump
+++ b/src/testdir/dumps/Test_matchparen_sh_case_1.dump
@@ -1,5 +1,5 @@
 |#+0#0000e05#ffffff0|!|/|b|i|n|/|s|h| +0#0000000&@65
-|S+0#00e0e07&|U|S|U|W|U|_|P|R|I|N|T|(|)| |(| +0#0000000&@58
+|S+0#00e0e07&|U|S|U|W|U|_|P|R|I|N|T|(|)| +0#0000000&|(+0#af5f00255&| 
+0#0000000&@58
 @2|c+0#af5f00255&|a|s|e| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|L|E|V|E|L|}|"+0#af5f00255&| 
+0#0000000&|i+0#af5f00255&|n| +0#0000000&@54
 
@4|"+0#af5f00255&|$+0#e000e06&|S|U|S|U|W|U|_|S|H|_|N|O|T|I|C|E|"+0#af5f00255&>)|
 +0#0000000&@50
 @4|$+0#e000e06&|{|S|U|S|U|W|U|_|S|}| +0#0000000&|&+0#af5f00255&@1| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|1+0#e000002&| +0#0000000&@47
diff --git a/src/testdir/dumps/Test_matchparen_sh_case_2.dump 
b/src/testdir/dumps/Test_matchparen_sh_case_2.dump
index 3ba1c04ee..ae1adfb74 100644
--- a/src/testdir/dumps/Test_matchparen_sh_case_2.dump
+++ b/src/testdir/dumps/Test_matchparen_sh_case_2.dump
@@ -1,5 +1,5 @@
 |#+0#0000e05#ffffff0|!|/|b|i|n|/|s|h| +0#0000000&@65
-|S+0#00e0e07&|U|S|U|W|U|_|P|R|I|N|T|(|)| |(| +0#0000000&@58
+|S+0#00e0e07&|U|S|U|W|U|_|P|R|I|N|T|(|)| +0#0000000&|(+0#af5f00255&| 
+0#0000000&@58
 @2|c+0#af5f00255&|a|s|e| 
+0#0000000&|"+0#af5f00255&|$+0#e000e06&|{|L|E|V|E|L|}|"+0#af5f00255&| 
+0#0000000&|i+0#af5f00255&|n| +0#0000000&@54
 
@4|"+0#af5f00255&|$+0#e000e06&|S|U|S|U|W|U|_|S|H|_|N|O|T|I|C|E|"+0#af5f00255&|)|
 +0#0000000&|f|o@1|b|a|r> @43
 @4|$+0#e000e06&|{|S|U|S|U|W|U|_|S|}| +0#0000000&|&+0#af5f00255&@1| 
+0#0000000&|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|1+0#e000002&| +0#0000000&@47

-- 
-- 
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/E1w58cb-004Ce0-13%40256bit.org.

Raspunde prin e-mail lui