runtime(sh): Update syntax, don't include parens in function name highlighting
Commit:
https://github.com/vim/vim/commit/f7e239bd0e8eccc78bf93c44cc9e241691153842
Author: Doug Kearns <
dougk...@gmail.com>
Date: Sat May 16 07:54:54 2026 +0000
runtime(sh): Update syntax, don't include parens in function name highlighting
Parentheses are not part of the function name so highlight them
differently.
closes: #20219
Signed-off-by: Doug Kearns <
dougk...@gmail.com>
Signed-off-by: Christian Brabandt <
c...@256bit.org>
diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index d022059d7..41570cce4 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -25,6 +25,7 @@
" 2026 Mar 23 improve matching of function definitions #19638
" 2026 Apr 02 improve matching of function definitions #19849
" 2026 Apr 19 improve detection of special variables #20016
+" 2026 May 14 don't highlight parens as part of the function name #20219
" }}}
" Version: 208
" Former URL:
http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
@@ -665,40 +666,42 @@ 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
+syn match shFunctionParens "()" contained
+
if exists("b:is_bash")
syn keyword shFunctionKey coproc
- syn match shFunctionCmdOne "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds
- syn match shFunctionCmdTwo "\%#=1\%(\%(\<\k\+\>\|[^()<>|&$; ]\+\)\+\)\@>\ze\s*\%(()\ze\)\=\_s*\%(\<\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" contained skipwhite skipnl nextgroup=@shFunctionCmds
- syn match shFunctionOne "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr
- syn match shFunctionTwo "\%#=1\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\ze\s*\%(()\ze\)\=\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr
- syn match shFunctionThree "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh
- syn match shFunctionFour "\%#=1\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\ze\s*\%(\%(()\ze\)\=\)\@>\_s*((\@!" contained skipwhite skipnl nextgroup=shFunctionSubSh
+ syn match shFunctionCmdOne "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
+ syn match shFunctionCmdTwo "\%#=1\%(\%(\<\k\+\>\|[^()<>|&$; ]\+\)\+\)\@>\ze\s*\%(()\ze\)\=\_s*\%(\<\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" contained skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
+ syn match shFunctionOne "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
+ syn match shFunctionTwo "\%#=1\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\ze\s*\%(()\ze\)\=\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
+ syn match shFunctionThree "\%#=1^\s*\zs\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
+ syn match shFunctionFour "\%#=1\%(\%(\<\k\+\|[^()<>|&$; ]\+\)\+\)\@>\ze\s*\%(\%(()\ze\)\=\)\@>\_s*((\@!" contained skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
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
- syn match shFunctionOne "^\s*\zs\h\w*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr
+ syn match shFunctionCmdOne "^\s*\zs\h\w*\s*()\ze\_s*\%(\%(for\|case\|select\|if\|while\|until\)\>\|\[\[\s\|((\)" skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
+ syn match shFunctionOne "^\s*\zs\h\w*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
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
+ syn match shFunctionThree "^\s*\zs\h\w*\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
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
- 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 "\%#=1\%(\%(\<\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
+ 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 contains=shFunctionParens
+ syn match shFunctionOne "^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
+ syn match shFunctionTwo "\%#=1\%(\%(\<\w\+\|[@!+.%,:-]\+\)*[-A-Za-z_.%,0-9:]\)\@>\ze\s*\%(()\ze\)\=\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
+ syn match shFunctionThree "^\s*\zs[-A-Za-z_@!+.%,0-9:]*[-A-Za-z_.%,0-9:]\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
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
- syn match shFunctionOne "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr
+ 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 contains=shFunctionParens
+ syn match shFunctionOne "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
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 shFunctionThree "^\s*\zs[A-Za-z_.][A-Za-z_.0-9]*\s*()\ze\_s*((\@!" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
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
- 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
+ syn match shFunctionCmdOne "^\s*\zs\h\w*\s*()\ze\_s*\%(for\|case\|if\|while\|until\)\>" skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
+ syn match shFunctionCmdTwo "\<\h\w*\s*()\ze\_s*\%(for\|case\|if\|while\|until\)\>" contained skipwhite skipnl nextgroup=@shFunctionCmds contains=shFunctionParens
+ syn match shFunctionOne "^\s*\zs\h\w*\s*()\ze\_s*{" skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
+ syn match shFunctionTwo "\<\h\w*\>\s*()\ze\_s*{" contained skipwhite skipnl nextgroup=shFunctionExpr contains=shFunctionParens
+ syn match shFunctionThree "^\s*\zs\h\w*\s*()\ze\_s*(" skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
+ syn match shFunctionFour "\<\h\w*\>\s*()\ze\_s*(" contained skipwhite skipnl nextgroup=shFunctionSubSh contains=shFunctionParens
endif
if !exists("g:sh_no_error")
@@ -987,6 +990,7 @@ if !exists("skip_sh_syntax_inits")
hi def link shCtrlSeq Special
hi def link shExprRegion Delimiter
hi def link shFunctionKey Keyword
+ hi def link shFunctionParens Delimiter
hi def link shFunctionOne Function
hi def link shFunctionTwo shFunctionOne
hi def link shFunctionThree shFunctionOne
diff --git a/runtime/syntax/testdir/dumps/sh_06_00.dump b/runtime/syntax/testdir/dumps/sh_06_00.dump
index b21039227..800510591 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&|{+0#e000e06&| +0#0000000&@64
+|U+0#00e0e07&|s|a|g|e| |(+0#e000e06&|)| +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 e7cedb4b8..409fea9b6 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&|{+0#e000e06&| +0#0000000&@64
+|U+0#00e0e07#ffffff0|s|a|g|e| |(+0#e000e06&|)| +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_03.dump b/runtime/syntax/testdir/dumps/sh_06_03.dump
index 6a54bcd9a..98bad3092 100644
--- a/runtime/syntax/testdir/dumps/sh_06_03.dump
+++ b/runtime/syntax/testdir/dumps/sh_06_03.dump
@@ -4,7 +4,7 @@
|#+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#e000e06&| +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#e000e06&|)| +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
diff --git a/runtime/syntax/testdir/dumps/sh_07_00.dump b/runtime/syntax/testdir/dumps/sh_07_00.dump
index f6dbd2b79..0629360f5 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&|{+0#e000e06&| +0#0000000&@60
+|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(+0#e000e06&|)| +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 4c4fbcb90..d07fa5a55 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&|{+0#e000e06&| +0#0000000&@60
+|F+0#00e0e07&|u|n|c|t|i|o|n|1| |(+0#e000e06&|)| +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
diff --git a/runtime/syntax/testdir/dumps/sh_07_02.dump b/runtime/syntax/testdir/dumps/sh_07_02.dump
index 61842b5eb..8776cdb13 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&|{+0#e000e06&| +0#0000000&@60
+>F+0#00e0e07&|u|n|c|t|i|o|n|2| |(+0#e000e06&|)| +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
diff --git a/runtime/syntax/testdir/dumps/sh_07_03.dump b/runtime/syntax/testdir/dumps/sh_07_03.dump
index a42f25710..4e9308cd2 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&|{+0#e000e06&| +0#0000000&@60
+|F+0#00e0e07&|u|n|c|t|i|o|n|3| |(+0#e000e06&|)| +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
@@ -15,6 +15,6 @@
|#+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&|{+0#e000e06&| +0#0000000&@60
+|F+0#00e0e07&|u|n|c|t|i|o|n|4| |(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@60
@75
@57|4|8|,|1| @9|5|6|%|
diff --git a/runtime/syntax/testdir/dumps/sh_functions_bash_00.dump b/runtime/syntax/testdir/dumps/sh_functions_bash_00.dump
index 704545095..e78273f4f 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_bash_00.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_bash_00.dump
@@ -4,17 +4,17 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#af5f00255#ffffff0|y|p|e|s|e|t| +0#0000000&|-+0#e000e06&|i| +0#0000000&|n+0#00e0e07&|=+0#0000000&|0+0#e000002&| +0#0000000&@58
-| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
-| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
+| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(+0#e000e06&|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
+| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(+0#e000e06&|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
+| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:| @67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|i|s|_|b|a|s|h|:| |1|,| @45|1|,|1| @10|T|o|p|
diff --git a/runtime/syntax/testdir/dumps/sh_functions_bash_01.dump b/runtime/syntax/testdir/dumps/sh_functions_bash_01.dump
index a7ee351d9..de0d7d6f1 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_bash_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_bash_01.dump
@@ -1,19 +1,19 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
+|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(+0#e000e06&|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|l|e|c|t|o|r| |0+0#e000002&|<+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| |2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| ||@1| |:| @35
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
+| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
+| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:| @67
diff --git a/runtime/syntax/testdir/dumps/sh_functions_bash_02.dump b/runtime/syntax/testdir/dumps/sh_functions_bash_02.dump
index c11eb911e..8016beea4 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_bash_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_bash_02.dump
@@ -2,14 +2,14 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|i+0#00e0e07#ffffff0|f@1|y|(|)| +0#0000000&|f+0#af5f00255&|o|r| |(@1|;@1|)@1| +0#0000000&@55
+| +0#0000e05#a8a8a8255@1|i+0#00e0e07#ffffff0|f@1|y|(+0#e000e06&|)| +0#0000000&|f+0#af5f00255&|o|r| |(@1|;@1|)@1| +0#0000000&@55
|-+0#0000e05#a8a8a8255| >d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +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#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|!+0#00e0e07&|?|#|(|)| +0#0000000&@54
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|!+0#00e0e07&|?|#|(+0#e000e06&|)| +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
diff --git a/runtime/syntax/testdir/dumps/sh_functions_bash_03.dump b/runtime/syntax/testdir/dumps/sh_functions_bash_03.dump
index a18749ada..a90642e1d 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_bash_03.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_bash_03.dump
@@ -1,7 +1,7 @@
||+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@1|n+0#00e0e07#ffffff0|a|m|e|s|p|a|c|e| |(|)| +0#0000000&@60
+| +0#0000e05#a8a8a8255@1|n+0#00e0e07#ffffff0|a|m|e|s|p|a|c|e| |(+0#e000e06&|)| +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
diff --git a/runtime/syntax/testdir/dumps/sh_functions_dash_00.dump b/runtime/syntax/testdir/dumps/sh_functions_dash_00.dump
index f4465f4ea..a7f92e516 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_dash_00.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_dash_00.dump
@@ -3,18 +3,18 @@
| +0#0000e05#a8a8a8255@1|#+0&#ffffff0| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|s|h|_|f|o|l|d|_|e|n|a|b|l|e|d| |=| |1| |+| |2| |+| |4| +0#0000000&@22
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
+| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
+| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|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_functions_dash_01.dump b/runtime/syntax/testdir/dumps/sh_functions_dash_01.dump
index 5762b7be6..129470003 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_dash_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_dash_01.dump
@@ -1,10 +1,10 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
+| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1> +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
+| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
@@ -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
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|2|(+0#e000e06&|)| +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
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|i+0#00e0e07&|d|1|(+0#e000e06&|)| +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#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 e7d298590..e1aa1d46d 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_dash_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_dash_02.dump
@@ -4,7 +4,7 @@
||+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@1|f+0#00e0e07#ffffff0|u|n|c|t|i|o|n| |(|)| +0#0000000&@61
+| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|u|n|c|t|i|o|n| |(+0#e000e06&|)| +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
diff --git a/runtime/syntax/testdir/dumps/sh_functions_ksh2020_00.dump b/runtime/syntax/testdir/dumps/sh_functions_ksh2020_00.dump
index 8c4edd229..e1d5e0155 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_ksh2020_00.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_ksh2020_00.dump
@@ -4,17 +4,17 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#af5f00255#ffffff0|y|p|e|s|e|t| +0#0000000&|-+0#e000e06&|i| +0#0000000&|1+0#e000002&|0| +0#0000000&|n+0#00e0e07&|=+0#0000000&|0+0#e000002&| +0#0000000&@55
-| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
-| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
+| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(+0#e000e06&|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
+| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(+0#e000e06&|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
+| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|i|s|_|k|o|r|n|s|h|e|l@1|:| |1|,| |i|s|_|k|s|h|2|0|2|0|:| |1|,| @25|1|,|1| @10|T|o|p|
diff --git a/runtime/syntax/testdir/dumps/sh_functions_ksh2020_01.dump b/runtime/syntax/testdir/dumps/sh_functions_ksh2020_01.dump
index 6e74c342d..c466ead0f 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_ksh2020_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_ksh2020_01.dump
@@ -1,19 +1,19 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
+|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(+0#e000e06&|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|l|e|c|t|o|r| |0+0#e000002&|<+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| |2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| ||@1| |:| @35
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
+| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
+| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
diff --git a/runtime/syntax/testdir/dumps/sh_functions_ksh2020_02.dump b/runtime/syntax/testdir/dumps/sh_functions_ksh2020_02.dump
index cca29de74..0fb4817da 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_ksh2020_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_ksh2020_02.dump
@@ -2,14 +2,14 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|f+0#0000000#ffffff0|o|r|e| @68
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|i+0#00e0e07#ffffff0|f@1|y|(|)| +0#0000000&|f+0#af5f00255&|o|r| |(@1|;@1|)@1| +0#0000000&@55
+| +0#0000e05#a8a8a8255@1|i+0#00e0e07#ffffff0|f@1|y|(+0#e000e06&|)| +0#0000000&|f+0#af5f00255&|o|r| |(@1|;@1|)@1| +0#0000000&@55
|-+0#0000e05#a8a8a8255| >d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +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
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|i+0#00e0e07&|d|_|(+0#e000e06&|)| +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
diff --git a/runtime/syntax/testdir/dumps/sh_functions_ksh88_00.dump b/runtime/syntax/testdir/dumps/sh_functions_ksh88_00.dump
index f4a6e0311..799e458df 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_ksh88_00.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_ksh88_00.dump
@@ -4,17 +4,17 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#af5f00255#ffffff0|y|p|e|s|e|t| +0#0000000&|-+0#e000e06&|i| +0#0000000&|1+0#e000002&|0| +0#0000000&|n+0#00e0e07&|=+0#0000000&|0+0#e000002&| +0#0000000&@55
-| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
-| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
+| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(+0#e000e06&|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
+| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(+0#e000e06&|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
+| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|i|s|_|k|o|r|n|s|h|e|l@1|:| |1|,| |i|s|_|k|s|h|8@1|:| |1|,| @27|1|,|1| @10|T|o|p|
diff --git a/runtime/syntax/testdir/dumps/sh_functions_ksh88_01.dump b/runtime/syntax/testdir/dumps/sh_functions_ksh88_01.dump
index 3426afb1a..e72cee2b1 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_ksh88_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_ksh88_01.dump
@@ -1,19 +1,19 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
+|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(+0#e000e06&|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|l|e|c|t|o|r| |0+0#e000002&|<+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| |2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| ||@1| |:| @35
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
+| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
+| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
diff --git a/runtime/syntax/testdir/dumps/sh_functions_ksh88_02.dump b/runtime/syntax/testdir/dumps/sh_functions_ksh88_02.dump
index 4df14699a..c7fe98e65 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_ksh88_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_ksh88_02.dump
@@ -3,7 +3,7 @@
| +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
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>i+0#00e0e07&|d|2|(+0#e000e06&|)| +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
diff --git a/runtime/syntax/testdir/dumps/sh_functions_mksh_00.dump b/runtime/syntax/testdir/dumps/sh_functions_mksh_00.dump
index ac300ee60..5cb6c2fd4 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_mksh_00.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_mksh_00.dump
@@ -4,17 +4,17 @@
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
| +0#0000e05#a8a8a8255@1|t+0#af5f00255#ffffff0|y|p|e|s|e|t| +0#0000000&|-+0#e000e06&|i|1|0| +0#0000000&|n+0#00e0e07&|=+0#0000000&|0+0#e000002&| +0#0000000&@56
-| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
-| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
+| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o@1|s|i|e|(+0#e000e06&|)| +0#0000000&|(+0#e000e06&@1|n+0#0000000&|++0#af5f00255&|=|1+0#e000002&|)+0#e000e06&@1|;+0#0000000&| |d|o@1|s|i|e| @47
+| +0#0000e05#a8a8a8255@1|d+0#00e0e07#ffffff0|o|n|e@1|(+0#e000e06&|)| +0#0000000&|[+0#e000e06&@1| +0#0000000&|-+0#af5f00255&|n| +0#0000000&|$+0#e000e06&|#| +0#0000000&|]+0#e000e06&@1|;+0#0000000&| |d|o|n|e@1| @46
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(|)| +0#0000000&@64
+| +0#0000e05#a8a8a8255@1|t+0#00e0e07#ffffff0|h|e|n|c|e|(+0#e000e06&|)| +0#0000000&@64
| +0#0000e05#a8a8a8255@1|u+0#af5f00255#ffffff0|n|t|i|l| |:| +0#0000000&@65
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| |e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
|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_functions_mksh_01.dump b/runtime/syntax/testdir/dumps/sh_functions_mksh_01.dump
index 3426afb1a..e72cee2b1 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_mksh_01.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_mksh_01.dump
@@ -1,19 +1,19 @@
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e|n|c|e| @66
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
+| +0#0000e05#a8a8a8255@1|w+0#00e0e07#ffffff0|h|i|l|e|s|(+0#e000e06&|)| +0#0000000&|w+0#af5f00255&|h|i|l|e| |f|a|l|s|e|;| |d|o| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|d+0#af5f00255&|o|n|e|;+0#0000000&| |w|h|i|l|e|s| @32
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
+|-+0#0000e05#a8a8a8255| >e+0#00e0e07#ffffff0|l|s|e|w|h|e|r|e|(+0#e000e06&|)| +0#0000000&|i+0#af5f00255&|f| |:+0#0000000&| @56
||+0#0000e05#a8a8a8255| |t+0#af5f00255#ffffff0|h|e|n| +0#0000000&|:|;+0#af5f00255&| +0#0000000&|f+0#af5f00255&|i|;+0#0000000&| |e|l|s|e|w|h|e|r|e| @51
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
+|-+0#0000e05#a8a8a8255| |s+0#00e0e07#ffffff0|e|l|e|c|t|o|r|(+0#e000e06&|)| +0#0000000&|s+0#af5f00255&|e|l|e|c|t| |x+0#0000000&| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&|;+0#0000000&| |d+0#af5f00255&|o| +0#0000000&@42
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|b+0#af5f00255&|r|e|a|k| +0#0000000&@63
||+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o|n|e| +0#0000000&@68
| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0|e|l|e|c|t|o|r| |0+0#e000002&|<+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| |2+0#e000002&|>+0#af5f00255&|/+0#0000000&|d|e|v|/|n|u|l@1| ||@1| |:| @35
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
+| +0#0000e05#a8a8a8255@1|c+0#00e0e07#ffffff0|a|s|e|d|(+0#e000e06&|)| +0#0000000&|c+0#af5f00255&|a|s|e| +0#0000000&|"+0#af5f00255&|$+0#e000e06&|#|"+0#af5f00255&| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|*|)+0#af5f00255&| +0#0000000&|:|;+0#af5f00255&@1| +0#0000000&|e+0#af5f00255&|s|a|c|;+0#0000000&| |c|a|s|e|d| @33
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
-| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(|)| +0#0000000&@66
+| +0#0000e05#a8a8a8255@1|f+0#00e0e07#ffffff0|o|r|e|(+0#e000e06&|)| +0#0000000&@66
| +0#0000e05#a8a8a8255@1|f+0#af5f00255#ffffff0|o|r| +0#0000000&|x| |i+0#af5f00255&|n| +0#0000000&|1+0#e000002&| +0#0000000&|2+0#e000002&| +0#0000000&@60
|-+0#0000e05#a8a8a8255| |d+0#af5f00255#ffffff0|o| +0#0000000&@70
||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3|:+0#0000e05&| +0#0000000&@67
diff --git a/runtime/syntax/testdir/dumps/sh_functions_mksh_02.dump b/runtime/syntax/testdir/dumps/sh_functions_mksh_02.dump
index 5fed5e635..aa72e6f51 100644
--- a/runtime/syntax/testdir/dumps/sh_functions_mksh_02.dump
+++ b/runtime/syntax/testdir/dumps/sh_functions_mksh_02.dump
@@ -3,9 +3,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>%+0#00e0e07&@2|(|)| +0#0000000&@63
+||+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@3>%+0#00e0e07&@2|(+0#e000e06&|)| +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
+|-+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|@+0#00e0e07&|a|:|(+0#e000e06&|)| +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#e000e06&| +0#0000000&@63
|2+0#0000e05#a8a8a8255| | +0#0000000#ffffff0@7|@|a|:| |"+0#af5f00255&|$+0#e000e06&|1|"+0#af5f00255&| +0#0000000&@56
diff --git a/runtime/syntax/testdir/dumps/sh_generic_07.dump b/runtime/syntax/testdir/dumps/sh_generic_07.dump
index 758994610..6c7c45c6c 100644
--- a/runtime/syntax/testdir/dumps/sh_generic_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_generic_07.dump
@@ -3,7 +3,7 @@
|#+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&|{+0#e000e06&| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +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#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
diff --git a/runtime/syntax/testdir/dumps/sh_generic_10.dump b/runtime/syntax/testdir/dumps/sh_generic_10.dump
index cf4178f5e..dbd1f398d 100644
--- a/runtime/syntax/testdir/dumps/sh_generic_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_generic_10.dump
@@ -1,5 +1,5 @@
| +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
@8|t+0#af5f00255&|r|u|e| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
@75
@@ -15,6 +15,6 @@
@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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +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 f1eb6e296..fcb44b04c 100644
--- a/runtime/syntax/testdir/dumps/sh_generic_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_generic_11.dump
@@ -1,7 +1,7 @@
| +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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
+|f+0#00e0e07&|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
@@ -9,7 +9,7 @@
@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#e000e06&| +0#0000000&@73
@75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(+0#e000e06&|)| +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#af5f00255&| +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 187550a49..20ebec5e0 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh2020_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh2020_07.dump
@@ -3,7 +3,7 @@
|#+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&|{+0#e000e06&| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +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#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
diff --git a/runtime/syntax/testdir/dumps/sh_ksh2020_10.dump b/runtime/syntax/testdir/dumps/sh_ksh2020_10.dump
index cf4178f5e..dbd1f398d 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh2020_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh2020_10.dump
@@ -1,5 +1,5 @@
| +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
@8|t+0#af5f00255&|r|u|e| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
@75
@@ -15,6 +15,6 @@
@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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +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 f1eb6e296..fcb44b04c 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh2020_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh2020_11.dump
@@ -1,7 +1,7 @@
| +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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
+|f+0#00e0e07&|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
@@ -9,7 +9,7 @@
@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#e000e06&| +0#0000000&@73
@75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(+0#e000e06&|)| +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#af5f00255&| +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 f2b2a7f5d..f70edcc3d 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh88_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh88_07.dump
@@ -3,7 +3,7 @@
|#+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&|{+0#e000e06&| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +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#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
diff --git a/runtime/syntax/testdir/dumps/sh_ksh88_10.dump b/runtime/syntax/testdir/dumps/sh_ksh88_10.dump
index 54507b7d6..b7fefdea5 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh88_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh88_10.dump
@@ -15,6 +15,6 @@
@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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +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_07.dump b/runtime/syntax/testdir/dumps/sh_ksh93_generic_07.dump
index 187550a49..20ebec5e0 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93_generic_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93_generic_07.dump
@@ -3,7 +3,7 @@
|#+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&|{+0#e000e06&| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +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#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
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93_generic_10.dump b/runtime/syntax/testdir/dumps/sh_ksh93_generic_10.dump
index cf4178f5e..dbd1f398d 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93_generic_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93_generic_10.dump
@@ -1,5 +1,5 @@
| +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
@8|t+0#af5f00255&|r|u|e| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
@75
@@ -15,6 +15,6 @@
@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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +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 f1eb6e296..fcb44b04c 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93_generic_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93_generic_11.dump
@@ -1,7 +1,7 @@
| +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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
+|f+0#00e0e07&|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
@@ -9,7 +9,7 @@
@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#e000e06&| +0#0000000&@73
@75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(+0#e000e06&|)| +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#af5f00255&| +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 187550a49..20ebec5e0 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93u_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93u_07.dump
@@ -3,7 +3,7 @@
|#+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&|{+0#e000e06&| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +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#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
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93u_10.dump b/runtime/syntax/testdir/dumps/sh_ksh93u_10.dump
index cf4178f5e..dbd1f398d 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93u_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93u_10.dump
@@ -1,5 +1,5 @@
| +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
@8|t+0#af5f00255&|r|u|e| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
@75
@@ -15,6 +15,6 @@
@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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +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 f1eb6e296..fcb44b04c 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93u_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93u_11.dump
@@ -1,7 +1,7 @@
| +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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
+|f+0#00e0e07&|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
@@ -9,7 +9,7 @@
@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#e000e06&| +0#0000000&@73
@75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(+0#e000e06&|)| +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#af5f00255&| +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 187550a49..20ebec5e0 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93v_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93v_07.dump
@@ -3,7 +3,7 @@
|#+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&|{+0#e000e06&| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +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#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
diff --git a/runtime/syntax/testdir/dumps/sh_ksh93v_10.dump b/runtime/syntax/testdir/dumps/sh_ksh93v_10.dump
index cf4178f5e..dbd1f398d 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93v_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93v_10.dump
@@ -1,5 +1,5 @@
| +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
@8|t+0#af5f00255&|r|u|e| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
@75
@@ -15,6 +15,6 @@
@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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +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 f1eb6e296..fcb44b04c 100644
--- a/runtime/syntax/testdir/dumps/sh_ksh93v_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_ksh93v_11.dump
@@ -1,7 +1,7 @@
| +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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
+|f+0#00e0e07&|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
@@ -9,7 +9,7 @@
@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#e000e06&| +0#0000000&@73
@75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(+0#e000e06&|)| +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#af5f00255&| +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 758994610..6c7c45c6c 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_07.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_07.dump
@@ -3,7 +3,7 @@
|#+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&|{+0#e000e06&| +0#0000000&@52
+@8>v+0#00e0e07&|a|l|s|u|b|f|u|n|c|(+0#e000e06&|)| +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#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
diff --git a/runtime/syntax/testdir/dumps/sh_mksh_10.dump b/runtime/syntax/testdir/dumps/sh_mksh_10.dump
index 665c13ad9..f037f91d2 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_10.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_10.dump
@@ -1,5 +1,5 @@
| +0&#ffffff0@74
-|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
+|.+0#00e0e07&|s|h|.|t|i|l|d|e|.|g|e|t|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@57
@8|t+0#af5f00255&|r|u|e| +0#0000000&@62
|}+0#e000e06&| +0#0000000&@73
@75
@@ -7,7 +7,7 @@
@8|f+0#af5f00255&|a|l|s|e| +0#0000000&@61
|}+0#e000e06&| +0#0000000&@73
@75
-|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|o@1|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f+0#00e0e07&|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
@@ -15,6 +15,6 @@
@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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|3|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|f+0#00e0e07&|o@1|3|(+0#e000e06&|)| +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 4730aa276..8ce924e8b 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_11.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_11.dump
@@ -1,7 +1,7 @@
| +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#e000e06&| +0#0000000&@73
@75
-|f+0#00e0e07&|o@1|4|.|g|e|t|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@62
+|f+0#00e0e07&|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
@@ -9,7 +9,7 @@
@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#e000e06&| +0#0000000&@73
@75
-|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(|)| +0#0000000&|(+0#af5f00255&| +0#0000000&@59
+|_+0#00e0e07&|f|o@1|6|.|u|n|s|e|t|(+0#e000e06&|)| +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#af5f00255&| +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 1af1bd6b4..73b9046cf 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#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|7+0#00e0e07&|f|o|@|o|.|f|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@54
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|7+0#00e0e07&|f|o|@|o|.|f|(+0#e000e06&|)| +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#e000e06&| +0#0000000&@73
-|!+0#00e0e07&|:|@|-|+|.|8|v|f|o|%|o|,|_|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@56
+|!+0#00e0e07&|:|@|-|+|.|8|v|f|o|%|o|,|_|(+0#e000e06&|)| +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#e000e06&| +0#0000000&@73
@75
-|,+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
+|,+0#00e0e07&|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|a+0#00e0e07&|%|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|a+0#00e0e07&|%|a|(+0#e000e06&|)| +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 beae9b47d..205bbcc96 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&|{+0#e000e06&| +0#0000000&@69
+|,+0#00e0e07#ffffff0|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|a+0#00e0e07&|%|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@58
+|f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|a+0#00e0e07&|%|a|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@58
@8>f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|%+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
+|%+0#00e0e07&|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|.+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
+|.+0#00e0e07&|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|-+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
+|-+0#00e0e07&|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
@8|f|o@1| @63
|}+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 2aeb5366c..232bc8675 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#e000e06#ffffff0| +0#0000000&@73
@75
-|_+0#00e0e07&|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
+|_+0#00e0e07&|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@69
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
> @74
-|++0#00e0e07&|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
+|++0#00e0e07&|a|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|.+0#00e0e07&|b|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
+|.+0#00e0e07&|b|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|!+0#00e0e07&|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
+|!+0#00e0e07&|a|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|@+0#00e0e07&|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
+|@+0#00e0e07&|a|(+0#e000e06&|)| +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 8225b5869..3f61dfaee 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&|{+0#e000e06&| +0#0000000&@68
+|@+0#00e0e07#ffffff0|a|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|!+0#00e0e07&@1|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@67
+|!+0#00e0e07&@1|a|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@67
@8>f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|!+0#00e0e07&|a|!|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|!+0#00e0e07&|a|!|a|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|@+0#00e0e07&|a|@@1|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@65
+|@+0#00e0e07&|a|@@1|a|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@65
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
@75
-|++0#00e0e07&|a|+|a|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
+|++0#00e0e07&|a|+|a|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@66
@8|f|o@1| @63
|}+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 0e1dd0413..c04f2881f 100644
--- a/runtime/syntax/testdir/dumps/sh_mksh_gibberish_04.dump
+++ b/runtime/syntax/testdir/dumps/sh_mksh_gibberish_04.dump
@@ -1,6 +1,6 @@
|}+0#e000e06#ffffff0| +0#0000000&@73
@75
-|a+0#00e0e07&|:|(|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
+|a+0#00e0e07&|:|(+0#e000e06&|)| +0#0000000&|{+0#e000e06&| +0#0000000&@68
@8|f|o@1| @63
|}+0#e000e06&| +0#0000000&@73
> @74
diff --git a/src/testdir/dumps/Test_matchparen_sh_case_1.dump b/src/testdir/dumps/Test_matchparen_sh_case_1.dump
index 8494e0e3a..7eccca753 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&|(+0#af5f00255&| +0#0000000&@58
+|S+0#00e0e07&|U|S|U|W|U|_|P|R|I|N|T|(+0#e000e06&|)| +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 ae1adfb74..8e87b9844 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&|(+0#af5f00255&| +0#0000000&@58
+|S+0#00e0e07&|U|S|U|W|U|_|P|R|I|N|T|(+0#e000e06&|)| +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