runtime(python): add syntax support inside f-strings

Commit: 
https://github.com/vim/vim/commit/d2b28ddfc2a7350c2f63b75d06cc53d17b3a66ff
Author: Rob B <[email protected]>
Date:   Fri Sep 5 11:28:47 2025 +0200

    runtime(python): add syntax support inside f-strings
    
    fixes: https://github.com/vim/vim/issues/14033
    closes: https://github.com/vim/vim/issues/17962
    
    Signed-off-by: Rob B <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/runtime/syntax/python.vim b/runtime/syntax/python.vim
index e963155d4..ba3c6f3a1 100644
--- a/runtime/syntax/python.vim
+++ b/runtime/syntax/python.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:    Python
 " Maintainer:  Zvezdan Petkovic <[email protected]>
-" Last Change: 2025 Aug 23
+" Last Change: 2025 Sep 05
 " Credits:     Neil Schemenauer <[email protected]>
 "              Dmitry Vasiliev
 "              Rob B
@@ -218,21 +218,24 @@ syn region  pythonRawBytes
 
 " F-string replacement fields
 "
-" - Matched parentheses, brackets and braces are ignored
-" - A bare # is ignored to end of line
-" - A bare = (surrounded by optional whitespace) enables debugging
-" - A bare ! prefixes a conversion field
+" - Matched parentheses, brackets and braces are skipped
+" - A bare = (followed by optional whitespace) enables debugging
+" - A bare ! prefixes a conversion field (followed by optional whitespace)
 " - A bare : begins a format specification
-"     - Matched braces inside a format specification are ignored
+"     - Matched braces inside a format specification are skipped
 "
 syn region  pythonFStringField
     \ matchgroup=pythonFStringDelimiter
     \ start=/{/
-    \ skip=/([^)]*)\|\[[^]]*]\|{[^}]*}\|#.*$/
-    \ end=/\%(\s*=\s*\)\=\%(! \)\=\%(:\%({[^}]*}\|[^}]*\)\+\)\=}/
+    \ end=/\%(=\s*\)\=\%(! \s*\)\=\%(:\%({\_[^}]*}\|[^{}]*\)\+\)\=}/
     \ contained
-" Doubled braces and Unicode escapes are not replacement fields
-syn match   pythonFStringSkip  /{{\|\N{/ transparent contained contains=NONE
+    \ 
contains=ALLBUT,pythonFStringField,pythonClass,pythonFunction,pythonDoctest,pythonDoctestValue,@Spell
+syn match   pythonFStringFieldSkip  /(\_[^()]*)\|\[\_[^][]*]\|{\_[^{}]*}/
+    \ contained
+    \ 
contains=ALLBUT,pythonFStringField,pythonClass,pythonFunction,pythonDoctest,pythonDoctestValue,@Spell
+
+" Doubled braces are not replacement fields
+syn match   pythonFStringSkip  /{{/ transparent contained contains=NONE
 
 syn match   pythonEscape       +\[abfnrtv'"\]+ contained
 syn match   pythonEscape       "\\o\{1,3}" contained
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_01.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_01.dump
index f8ea6801a..f9f1c74eb 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_01.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_01.dump
@@ -17,4 +17,4 @@
 |a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| 
+0#0000000&@42
 |a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
 @75
-@57|1|7|,|1| @10|6|%| 
+@57|1|7|,|1| @10|5|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_02.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_02.dump
index 704cbe348..1683bdd8b 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_02.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_02.dump
@@ -17,4 +17,4 @@
 |#+0#0000e05&| |R|a|w| |U|n|i|c|o|d|e| |l|i|t|e|r|a|l|s| |a|r|e| |n|o|t| 
|a|l@1|o|w|e|d| +0#0000000&@36
 |t|e|s|t| |=| |u|r+0#e000002&|'|I|n|v|a|l|i|d| |s|t|r|i|n|g| |w|i|t|h| |\|'| 
|a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@27
 |t|e|s|t| |=| |u|R+0#e000002&|"|I|n|v|a|l|i|d| |s|t|r|i|n|g| |w|i|t|h| 
|\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@30
-@57|3@1|,|1| @9|1|5|%| 
+@57|3@1|,|1| @9|1|4|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_03.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_03.dump
index 610311dac..28ba342fe 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_03.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_03.dump
@@ -17,4 +17,4 @@
 |a+0#e000002&|n|d| |\+0#e000e06&|u|0@1|A|1| +0#e000002&|a|n|d| 
|\+0#e000e06&|U|0@2|1|0|6|0|5|"+0#e000002&@2| +0#0000000&@46
 @75
 |#+0#0000e05&| |F|o|r|m|a|t@1|e|d| |s|t|r|i|n|g| |l|i|t|e|r|a|l|s| 
|(|f|-|s|t|r|i|n|g|s|)| +0#0000000&@35
-@57|4|9|,|1| @9|2|4|%| 
+@57|4|9|,|1| @9|2|3|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_04.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_04.dump
index ba0de991d..35085253c 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_04.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_04.dump
@@ -1,20 +1,20 @@
 |#+0#0000e05#ffffff0| |F|o|r|m|a|t@1|e|d| |s|t|r|i|n|g| |l|i|t|e|r|a|l|s| 
|(|f|-|s|t|r|i|n|g|s|)| +0#0000000&@35
 |#+0#0000e05&| 
|h|t@1|p|s|:|/@1|d|o|c|s|.|p|y|t|h|o|n|.|o|r|g|/|3|/|r|e|f|e|r|e|n|c|e|/|l|e|x|i|c|a|l|_|a|n|a|l|y|s|i|s|.|h|t|m|l|#|f|-|s|t|r|i|n|g|s|
 +0#0000000&@5
-|t|e|s|t| |=| |f+0#e000002&|'|F|-|s|t|r|i|n|g| |w|i|t|h| |e|s|c|a|p|e|s| 
|\+0#e000e06&|'| +0#e000002&|a|n|d| |\+0#e000e06&|"| +0#e000002&|a|n|d| 
|\+0#e000e06&|t| +0#e000002&|a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&
-|t+0#0000000&|e|s|t| |=| |F+0#e000002&|"|F|-|s|t|r|i|n|g| |w|i|t|h| 
|e|s|c|a|p|e|s| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| 
+0#e000002&|a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| 
+0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@2
+|t|e|s|t| |=| |f+0#e000002&|'|F|-|s|t|r|i|n|g| |w|i|t|h| |e|s|c|a|p|e|s| 
|\+0#e000e06&|'| +0#e000002&|a|n|d| |\+0#e000e06&|"| +0#e000002&|a|n|d| 
|\+0#e000e06&|t| +0#e000002&|a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r|}+0#e000e06&|'+0#e000002&
+|t+0#0000000&|e|s|t| |=| |F+0#e000002&|"|F|-|s|t|r|i|n|g| |w|i|t|h| 
|e|s|c|a|p|e|s| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| 
+0#e000002&|a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| 
+0#e000002&|a|n|d| |{+0#e000e06&|b+0#00e0003&|a|r|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@2
 |t|e|s|t| |=| |f+0#e000002&|'|F|-|s|t|r|i|n|g| |w|i|t|h| |e|s|c|a|p|e|s| 
|\+0#e000e06&|u|0@1|A|1| +0#e000002&|a|n|d| |\+0#e000e06&|U|0@2|1|0|6|0|5| 
+0#e000002&|a|n|d| |\+0#e000e06&|N|{|I|N|V|E|R|T|E|D| |E|X|C|L|A|M
-|A|T|I|O|N| |M|A|R|K|}| +0#e000002&|a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@35
->t|e|s|t| |=| |F+0#e000002&|"|F|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| 
|{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@6
+|A|T|I|O|N| |M|A|R|K|}| +0#e000002&|a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@35
+>t|e|s|t| |=| |F+0#e000002&|"|F|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| 
|{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@6
 |t|e|s|t| |=| |f+0#e000002&|'@2|F|-|s|t|r|i|n|g| |w|i|t|h| |q|u|o|t|e|s| |'| 
|a|n|d| |"| +0#0000000&@35
 |a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| 
|\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
 |a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|u|0@1|A|1| +0#e000002&|a|n|d| 
|\+0#e000e06&|U|0@2|1|0|6|0|5| +0#0000000&@41
-|a+0#e000002&|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|1+0#0000000&|}+0#e000e06&|,+0#e000002&| 
|{+0#e000e06&|2+0#0000000&|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|1+0#0000000&| @48
+|a+0#e000002&|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|1+0#e000002&|}+0#e000e06&|,+0#e000002&| 
|{+0#e000e06&|2+0#e000002&|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|1+0#e000002&| +0#0000000&@48
 @4|+| @69
-@4|2|}+0#e000e06&|'+0#e000002&@2| +0#0000000&@65
+@4|2+0#e000002&|}+0#e000e06&|'+0#e000002&@2| +0#0000000&@65
 |t|e|s|t| |=| |F+0#e000002&|"@2|F|-|s|t|r|i|n|g| |w|i|t|h| |q|u|o|t|e|s| |'| 
|a|n|d| |"| +0#0000000&@35
 |a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| 
|\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
 |a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|u|0@1|A|1| +0#e000002&|a|n|d| 
|\+0#e000e06&|U|0@2|1|0|6|0|5| +0#0000000&@41
-|a+0#e000002&|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|1+0#0000000&|}+0#e000e06&|,+0#e000002&| 
|{+0#e000e06&|2+0#0000000&|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|1+0#0000000&| @48
+|a+0#e000002&|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|1+0#e000002&|}+0#e000e06&|,+0#e000002&| 
|{+0#e000e06&|2+0#e000002&|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|1+0#e000002&| +0#0000000&@48
 @4|+| @69
-@4|2|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
-@57|6@1|,|1| @9|3|4|%| 
+@4|2+0#e000002&|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
+@57|6@1|,|1| @9|3|1|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_05.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_05.dump
index 2c3f5c037..0a321294a 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_05.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_05.dump
@@ -1,20 +1,20 @@
-| +0&#ffffff0@3|2|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
+| +0&#ffffff0@3|2+0#e000002&|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
 @75
 |#+0#0000e05&| |R|a|w| |f|o|r|m|a|t@1|e|d| |s|t|r|i|n|g| |l|i|t|e|r|a|l|s| 
+0#0000000&@43
-|t|e|s|t| |=| |f+0#e000002&|r|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&
-|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@69
->t|e|s|t| |=| |f+0#e000002&|R|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r
+|t|e|s|t| |=| |f+0#e000002&|r|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&
+|b+0#00e0003&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@69
+>t|e|s|t| |=| |f+0#e000002&|R|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r
 |}+0#e000e06&|"+0#e000002&| +0#0000000&@72
-|t|e|s|t| |=| |F+0#e000002&|r|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| 
|\|N|{|I|N|V|E|R|T|E|D| |E
-|X|C|L|A|M|A|T|I|O|N| |M|A|R|K|}| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@30
-|t|e|s|t| |=| |F+0#e000002&|R|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@1
-|t|e|s|t| |=| |r+0#e000002&|f|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&
-|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@69
-|t|e|s|t| |=| |r+0#e000002&|F|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r
+|t|e|s|t| |=| |F+0#e000002&|r|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |f|i|e|l|d|s| 
|\|N|{+0#e000e06&|F+0#00e0003&|I|E
+|L|D|,+0#0000000&| |N+0#00e0003&|O|T|,+0#0000000&| 
|E+0#00e0003&|S|C|A|P|E|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@37
+|t|e|s|t| |=| |F+0#e000002&|R|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@1
+|t|e|s|t| |=| |r+0#e000002&|f|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&
+|b+0#00e0003&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@69
+|t|e|s|t| |=| |r+0#e000002&|F|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r
 |}+0#e000e06&|"+0#e000002&| +0#0000000&@72
-|t|e|s|t| |=| |R+0#e000002&|f|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| 
|\|N|{|I|N|V|E|R|T|E|D| |E
-|X|C|L|A|M|A|T|I|O|N| |M|A|R|K|}| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@30
-|t|e|s|t| |=| |R+0#e000002&|F|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@1
+|t|e|s|t| |=| |R+0#e000002&|f|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |f|i|e|l|d|s| 
|\|N|{+0#e000e06&|F+0#00e0003&|I|E
+|L|D|,+0#0000000&| |N+0#00e0003&|O|T|,+0#0000000&| 
|E+0#00e0003&|S|C|A|P|E|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@37
+|t|e|s|t| |=| |R+0#e000002&|F|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|f+0#00e0003&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|b+0#00e0003&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@1
 |t|e|s|t| |=| |f+0#e000002&|r|'@2|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
|q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@30
 |a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| 
+0#0000000&@42
-@57|8|2|,|1| @9|4|2|%| 
+@57|8|2|,|1| @9|3|9|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_06.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_06.dump
index a9ac329df..d8bb2d097 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_06.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_06.dump
@@ -1,20 +1,20 @@
 |a+0#e000002#ffffff0|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| 
|\|x|F@1| +0#0000000&@42
 |a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| 
+0#0000000&@41
-|a+0#e000002&|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|1+0#0000000&|}+0#e000e06&|,+0#e000002&| 
|{+0#e000e06&|2+0#0000000&|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|1+0#0000000&| @48
+|a+0#e000002&|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|1+0#e000002&|}+0#e000e06&|,+0#e000002&| 
|{+0#e000e06&|2+0#e000002&|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|1+0#e000002&| +0#0000000&@48
 @4|+| @69
-@4|2|}+0#e000e06&|'+0#e000002&@2| +0#0000000&@65
+@4|2+0#e000002&|}+0#e000e06&|'+0#e000002&@2| +0#0000000&@65
 >t|e|s|t| |=| |R+0#e000002&|F|"@2|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| 
 >|q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@30
 |a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| 
+0#0000000&@42
 |a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| 
+0#0000000&@41
-|a+0#e000002&|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|1+0#0000000&|}+0#e000e06&|,+0#e000002&| 
|{+0#e000e06&|2+0#0000000&|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|1+0#0000000&| @48
+|a+0#e000002&|n|d| |f|i|e|l|d|s| 
|{+0#e000e06&|1+0#e000002&|}+0#e000e06&|,+0#e000002&| 
|{+0#e000e06&|2+0#e000002&|}+0#e000e06&| +0#e000002&|a|n|d| 
|{+0#e000e06&|1+0#e000002&| +0#0000000&@48
 @4|+| @69
-@4|2|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
+@4|2+0#e000002&|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
 @75
 |#+0#0000e05&| |F|-|s|t|r|i|n|g| |r|e|p|l|a|c|e|m|e|n|t| |f|i|e|l|d|s| 
+0#0000000&@45
 |t|e|s|t| |=| |f+0#e000002&|"|S|t|r|i|n|g| |i|s| |{+0#e000e06&| +0#0000000&@54
-@4|"|o|n|e| |p|l|u|s| |"| @59
-@4|"|t|w|o| |p|l|u|s| |"| @59
-@4|"|t|h|r|e@1|"|}+0#e000e06&|"+0#e000002&| +0#0000000&@61
+@4|"+0#e000002&|o|n|e| |p|l|u|s| |"| +0#0000000&@59
+@4|"+0#e000002&|t|w|o| |p|l|u|s| |"| +0#0000000&@59
+@4|"+0#e000002&|t|h|r|e@1|"|}+0#e000e06&|"+0#e000002&| +0#0000000&@61
 |t|e|s|t| |=| |f+0#e000002&|"|N|u|m|b|e|r| |i|s| |{+0#e000e06&| +0#0000000&@54
-@4|1| |+| @67
-@57|9|5|,|1| @9|5|0|%| 
+@4|1+0#e000002&| +0#0000000&|+| @67
+@57|9|5|,|1| @9|4|7|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_07.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_07.dump
index 7ada66081..36a8ccf3a 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_07.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_07.dump
@@ -1,20 +1,20 @@
-| +0&#ffffff0@3|1| |+| @67
-@4|2| |+| @67
-@4|3|}+0#e000e06&|"+0#e000002&| +0#0000000&@67
-|t|e|s|t| |=| |f+0#e000002&|"|a|b|c|{+0#e000e06&|a+0#0000000&| |#| |T|h|i|s| 
|i|s| |a| |c|o|m@1|e|n|t| |}| @38
-@4|+| |1|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
->t|e|s|t| |=| |f+0#e000002&|"|d|e|f|{+0#e000e06&|a+0#0000000&| |#| |S|o| |i|s| 
|t|h|i|s| |:| @45
-@4|+| |2|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
-|t|e|s|t| |=| |f+0#e000002&|"|g|h|i|{+0#e000e06&|a+0#0000000&| |#| |A|n|d| 
|t|h|i|s| |"| @47
-@4|+| |3|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
-|t|e|s|t| |=| |f+0#e000002&|"|H|e| |s|a|i|d| |h|i|s| |n|a|m|e| |i|s| 
|{+0#e000e06&|n+0#0000000&|a|m|e|!+0#e000e06&|r|}|.+0#e000002&|"| +0#0000000&@35
-|t|e|s|t| |=| |f+0#e000002&|"|H|e| |s|a|i|d| |h|i|s| |n|a|m|e| |i|s| 
|{+0#e000e06&|r+0#0000000&|e|p|r|(|n|a|m|e|)|}+0#e000e06&|.+0#e000002&|"| 
+0#0000000&@31
-|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#0000000&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|}@1|"+0#e000002&| 
+0#0000000&@41
-|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#0000000&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|}|.|{|p|r|e|c|i|s|i|o|n|}|}+0#e000002&|"|
 +0#0000000&@29
-|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#0000000&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|:|d|}|.|{|p|r|e|c|i|s|i|o|n|!|s|}|}+0#e000002&|"|
 +0#0000000&@25
-|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#0000000&|a|l|u|e|:+0#e000e06&|{|o|p|t|i|o|n|s|}|{|w|i|d|t|h|}|{|g|r|o|u|p|i|n|g|}|{|p|r|e|c|i|s|i|o|n|}|{|t|y|p|e|}@1|"+0#e000002&|
 +0#0000000&@5
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&|#|0|x|}|"+0#e000002&|
 +0#0000000&@52
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&|+|#|0|x|}|"+0#e000002&|
 +0#0000000&@51
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&|<|+|#|0|x|}|"+0#e000002&|
 +0#0000000&@50
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&| 
|<|+|#|0|x|}|"+0#e000002&| +0#0000000&@49
-@57|1@1|3|,|1| @8|6|1|%| 
+| +0&#ffffff0@3|1+0#e000002&| +0#0000000&|+| @67
+@4|2+0#e000002&| +0#0000000&|+| @67
+@4|3+0#e000002&|}+0#e000e06&|"+0#e000002&| +0#0000000&@67
+|t|e|s|t| |=| |f+0#e000002&|"|a|b|c|{+0#e000e06&|a+0#00e0003&| 
+0#0000000&|#+0#0000e05&| |T|h|i|s| |i|s| |a| |c|o|m@1|e|n|t| |}| +0#0000000&@38
+@4|+| |1+0#e000002&|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
+>t|e|s|t| |=| |f+0#e000002&|"|d|e|f|{+0#e000e06&|a+0#00e0003&| 
+0#0000000&|#+0#0000e05&| |S|o| |i|s| |t|h|i|s| |:| +0#0000000&@45
+@4|+| |2+0#e000002&|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
+|t|e|s|t| |=| |f+0#e000002&|"|g|h|i|{+0#e000e06&|a+0#00e0003&| 
+0#0000000&|#+0#0000e05&| |A|n|d| |t|h|i|s| |"| +0#0000000&@47
+@4|+| |3+0#e000002&|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
+|t|e|s|t| |=| |f+0#e000002&|"|H|e| |s|a|i|d| |h|i|s| |n|a|m|e| |i|s| 
|{+0#e000e06&|n+0#00e0003&|a|m|e|!+0#e000e06&|r|}|.+0#e000002&|"| +0#0000000&@35
+|t|e|s|t| |=| |f+0#e000002&|"|H|e| |s|a|i|d| |h|i|s| |n|a|m|e| |i|s| 
|{+0#e000e06&|r+0#00e0e07&|e|p|r|(+0#0000000&|n+0#00e0003&|a|m|e|)+0#0000000&|}+0#e000e06&|.+0#e000002&|"|
 +0#0000000&@31
+|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#00e0003&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|}@1|"+0#e000002&| 
+0#0000000&@41
+|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#00e0003&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|}|.|{|p|r|e|c|i|s|i|o|n|}@1|"+0#e000002&|
 +0#0000000&@29
+|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#00e0003&|a|l|u|e|:+0#e000e06&|{| +0#0000000&@49
+| +0#e000e06&@7|w|i|d|t|h| +0#0000000&@61
+| +0#e000e06&@3|}|.|{| +0#0000000&@67
+| +0#e000e06&@7|p|r|e|c|i|s|i|o|n| +0#0000000&@57
+| +0#e000e06&@3|}@1|"+0#e000002&| +0#0000000&@67
+|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#00e0003&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|:|d|}|.|{|p|r|e|c|i|s|i|o|n|!|s|}@1|"+0#e000002&|
 +0#0000000&@25
+@57|1@1|3|,|1| @8|5|6|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_08.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_08.dump
index 40ef0ecdc..7e1b41801 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_08.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_08.dump
@@ -1,20 +1,20 @@
-|t+0&#ffffff0|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&| 
|<|+|#|0|x|}|"+0#e000002&| +0#0000000&@49
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&|<|#|0|x|}|"+0#e000002&|
 +0#0000000&@51
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&| 
|<|#|0|x|}|"+0#e000002&| +0#0000000&@50
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g|=+0#e000e06&|}|"+0#e000002&|
 +0#0000000&@55
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g|=+0#e000e06&|!|r|}|"+0#e000002&|
 +0#0000000&@53
->t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g|=+0#e000e06&|:|2|0|}|"+0#e000002&|
 +0#0000000&@52
-|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g|=+0#e000e06&|!|r|:|2|0|}|"+0#e000002&|
 +0#0000000&@50
-|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g| 
+0#e000e06&|=| |}|"+0#e000002&| +0#0000000&@53
-|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g| 
+0#e000e06&|=| |!|r|}|"+0#e000002&| +0#0000000&@51
-|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g| 
+0#e000e06&|=| |:|2|0|}|"+0#e000002&| +0#0000000&@50
-|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g| 
+0#e000e06&|=| |!|r|:|2|0|}|"+0#e000002&| +0#0000000&@48
-|t|e|s|t| |=| |f+0#e000002&|"|a|b|c| 
|{+0#e000e06&|a+0#0000000&|[|"|x|"|]|}+0#e000e06&| +0#e000002&|d|e|f|"| 
+0#0000000&@48
-|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| 
|c|o|n|t|a|i|n|s|:|\+0#e000e06&|n|{|"+0#0000000&|\|n|"|.|j|o|i|n|(|a|)|}+0#e000e06&|"+0#e000002&|
 +0#0000000&@34
-|t|e|s|t| |=| |f+0#e000002&|"|T|o|d|a|y|'|s| |d|a|t|e| |i|s| 
|{+0#e000e06&|d+0#0000000&|a|t|e|t|i|m|e|.|n|o|w|(|)|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@32
-|t|e|s|t| |=| |f+0#e000002&|"|T|o|d|a|y|'|s| |f|o|r|m|a|t@1|e|d| |d|a|t|e| 
|i|s| 
|{+0#e000e06&|d+0#0000000&|a|t|e|t|i|m|e|.|n|o|w|(|)|:+0#e000e06&|%|Y|-|%|m|-|%|d|
 |%|H|:|%|M|:|%|S|}|"+0#e000002&| +0#0000000&@4
-|t|e|s|t| |=| |f+0#e000002&|"|D|a|t|e| |i|s| 
|{+0#e000e06&|d+0#0000000&|a|t|e|t|i|m|e|.|d|a|t|e|t|i|m|e|(|2|0|1|0|,| |7|,| 
|4|,| |1|2|,| |1|5|,| |5|8|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@13
-|t|e|s|t| |=| |f+0#e000002&|"|F|o|r|m|a|t@1|e|d| |d|a|t|e| |i|s| 
|{+0#e000e06&|d+0#0000000&|a|t|e|t|i|m|e|.|d|a|t|e|t|i|m|e|(|2|0|1|0|,| |7|,| 
|4|,| |1|2|,| |1|5|,| |5|8|)|:+0#e000e06&|%|Y|-|%|m
-|-|%|d| |%|H|:|%|M|:|%|S|}|"+0#e000002&| +0#0000000&@60
-|t|e|s|t| |=| |f+0#e000002&|"|L|a|m|b|d|a| |r|e|t|u|r|n|s| 
|{+0#e000e06&|(+0#0000000&|l|a|m|b|d|a| |x|:| 
|x|*@1|2|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@31
-@57|1|3|1|,|1| @8|7|1|%| 
+|t+0&#ffffff0|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#00e0003&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|:|d|}|.|{|p|r|e|c|i|s|i|o|n|!|s|}@1|"+0#e000002&|
 +0#0000000&@25
+|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| 
|{+0#e000e06&|v+0#00e0003&|a|l|u|e|:+0#e000e06&|{|o|p|t|i|o|n|s|}|{|w|i|d|t|h|}|{|g|r|o|u|p|i|n|g|}|{|p|r|e|c|i|s|i|o|n|}|{|t|y|p|e|}@1|"+0#e000002&|
 +0#0000000&@5
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#00e0003&|u|m|b|e|r|:+0#e000e06&|#|0|x|}|"+0#e000002&|
 +0#0000000&@52
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#00e0003&|u|m|b|e|r|:+0#e000e06&|+|#|0|x|}|"+0#e000002&|
 +0#0000000&@51
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#00e0003&|u|m|b|e|r|:+0#e000e06&|<|+|#|0|x|}|"+0#e000002&|
 +0#0000000&@50
+>t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#00e0003&|u|m|b|e|r|:+0#e000e06&| 
|<|+|#|0|x|}|"+0#e000002&| +0#0000000&@49
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#00e0003&|u|m|b|e|r|:+0#e000e06&|<|#|0|x|}|"+0#e000002&|
 +0#0000000&@51
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|n+0#00e0003&|u|m|b|e|r|:+0#e000e06&| 
|<|#|0|x|}|"+0#e000002&| +0#0000000&@50
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|s+0#00e0003&|t|r|i|n|g|=+0#e000e06&|}|"+0#e000002&|
 +0#0000000&@55
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|s+0#00e0003&|t|r|i|n|g|=+0#e000e06&|!|r|}|"+0#e000002&|
 +0#0000000&@53
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|s+0#00e0003&|t|r|i|n|g|=+0#e000e06&|:|2|0|}|"+0#e000002&|
 +0#0000000&@52
+|t|e|s|t| |=| 
|f+0#e000002&|"|{+0#e000e06&|s+0#00e0003&|t|r|i|n|g|=+0#e000e06&|!|r|:|2|0|}|"+0#e000002&|
 +0#0000000&@50
+|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&| 
+0#0000000&|s+0#00e0003&|t|r|i|n|g| +0#0000000&|=+0#e000e06&| |}|"+0#e000002&| 
+0#0000000&@52
+|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&| 
+0#0000000&|s+0#00e0003&|t|r|i|n|g| +0#0000000&|=+0#e000e06&| 
|!|r|}|"+0#e000002&| +0#0000000&@50
+|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&| 
+0#0000000&|s+0#00e0003&|t|r|i|n|g| +0#0000000&|=+0#e000e06&| |!|r| 
|}|"+0#e000002&| +0#0000000&@49
+|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&| 
+0#0000000&|s+0#00e0003&|t|r|i|n|g| +0#0000000&|=+0#e000e06&| 
|:|2|0|}|"+0#e000002&| +0#0000000&@49
+|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&| 
+0#0000000&|s+0#00e0003&|t|r|i|n|g| +0#0000000&|=+0#e000e06&| 
|!|r|:|2|0|}|"+0#e000002&| +0#0000000&@47
+|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&| 
+0#0000000&|s+0#00e0003&|t|r|i|n|g| +0#0000000&|=+0#e000e06&| |!|r| 
|:|2|0|}|"+0#e000002&| +0#0000000&@46
+|t|e|s|t| |=| |f+0#e000002&|"|a|b|c| 
|{+0#e000e06&|a+0#00e0003&|[+0#0000000&|"+0#e000002&|x|"|]+0#0000000&|}+0#e000e06&|
 +0#e000002&|d|e|f|"| +0#0000000&@48
+@57|1|3|1|,|1| @8|6@1|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_09.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_09.dump
index 9c9847d5c..b7c0b3a3d 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_09.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_09.dump
@@ -1,20 +1,20 @@
-|t+0&#ffffff0|e|s|t| |=| |f+0#e000002&|"|L|a|m|b|d|a| |r|e|t|u|r|n|s| 
|{+0#e000e06&|(+0#0000000&|l|a|m|b|d|a| |x|:| 
|x|*@1|2|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@31
-|t|e|s|t| |=| |f+0#e000002&|"|Z|e|r|o| |p|a|d@1|e|d| |l|a|m|b|d|a| 
|r|e|t|u|r|n|s| |{+0#e000e06&|(+0#0000000&|l|a|m|b|d|a| |x|:| 
|x|*@1|2|)|:+0#e000e06&|0|9|}|"+0#e000002&| +0#0000000&@16
-|t|e|s|t| |=| |f+0#e000002&|"|S|p|a|c|e| |p|a|d@1|e|d| |l|a|m|b|d|a| 
|r|e|t|u|r|n|s| |{+0#e000e06&|(+0#0000000&|l|a|m|b|d|a| |x|:| 
|x|*@1|2|)|:+0#e000e06&|{|w|i|d|t|h|}@1|"+0#e000002&| +0#0000000&@10
-|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |c|o|p|y| |i|s| 
|{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|]|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@41
-|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |s|l|i|c|e| |i|s| 
|{+0#e000e06&|i+0#0000000&|t|e|m|s|[|1|:|]|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@39
->t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |s|l|i|c|e| |i|s| 
|{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|9|]|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@39
-|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |e|l|e|m|e|n|t|s| |a|r|e| 
|{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|2|:|]|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@34
-|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |l|i|s|t| |c|o|p|y| |i|s| 
|{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|]|:+0#e000e06&|9@1|}|"+0#e000002&| 
+0#0000000&@31
-|t|e|s|t| |=| |f+0#e000002&|"|L|e|f|t|-|a|l|i|g|n|e|d| |l|i|s|t| |s|l|i|c|e| 
|i|s| 
|{+0#e000e06&|i+0#0000000&|t|e|m|s|[|1|:|]|:+0#e000e06&|<|9@1|}|"+0#e000002&| 
+0#0000000&@22
-|t|e|s|t| |=| |f+0#e000002&|"|R|i|g|h|t| |a|l|i|g|n|e|d| |l|i|s|t| |s|l|i|c|e| 
|i|s| 
|{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|9|]|:+0#e000e06&|>|9@1|}|"+0#e000002&| 
+0#0000000&@21
-|t|e|s|t| |=| |f+0#e000002&|"|C|e|n|t|e|r|-|a|l|i|g|n|e|d| |l|i|s|t| 
|e|l|e|m|e|n|t|s| |a|r|e| 
|{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|2|:|]|:+0#e000e06&|^|9@1|}|"+0#e000002&| 
+0#0000000&@15
-|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#0000000&| |=@1| |1|}+0#e000e06&|"+0#e000002&| +0#0000000&@42
-|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#0000000&| |!|=| |1|}+0#e000e06&|"+0#e000002&| +0#0000000&@42
-|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|(+0#0000000&|x| |:|=| |1|)|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@40
-|t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#0000000&| |=@1| |1|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@35
-|t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#0000000&| |!|=| |1|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@35
-|t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|(+0#0000000&|x| |:|=| |1|)|=+0#e000e06&|}|"+0#e000002&| 
+0#0000000&@33
-|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| 
|r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|[|x|*@1|2| |f|o|r| |x| |i|n| 
|r|a|n|g|e|(|1|0|)|]| |}+0#e000e06&|"+0#e000002&| +0#0000000&@8
-|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |l|i|s|t| 
|c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| 
+0#0000000&|[|x|*@1|2| |f|o|r| |x| |i|n| |r|a|n|g|e|(|1|0|)|]| 
|:+0#e000e06&|@+0#4040ff13&@2
-| +0#0000000&@56|1|4|8|,|1| @8|8|0|%| 
+|t+0&#ffffff0|e|s|t| |=| |f+0#e000002&|"|a|b|c| 
|{+0#e000e06&|a+0#00e0003&|[+0#0000000&|"+0#e000002&|x|"|]+0#0000000&|}+0#e000e06&|
 +0#e000002&|d|e|f|"| +0#0000000&@48
+|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| 
|c|o|n|t|a|i|n|s|:|\+0#e000e06&|n|{|"+0#e000002&|\+0#e000e06&|n|"+0#e000002&|.+0#0000000&|j|o|i|n|(|a+0#00e0003&|)+0#0000000&|}+0#e000e06&|"+0#e000002&|
 +0#0000000&@34
+|t|e|s|t| |=| |f+0#e000002&|"|T|o|d|a|y|'|s| |d|a|t|e| |i|s| 
|{+0#e000e06&|d+0#00e0003&|a|t|e|t|i|m|e|.+0#0000000&|n|o|w|(|)|}+0#e000e06&|"+0#e000002&|
 +0#0000000&@32
+|t|e|s|t| |=| |f+0#e000002&|"|T|o|d|a|y|'|s| |f|o|r|m|a|t@1|e|d| |d|a|t|e| 
|i|s| 
|{+0#e000e06&|d+0#00e0003&|a|t|e|t|i|m|e|.+0#0000000&|n|o|w|(|)|:+0#e000e06&|%|Y|-|%|m|-|%|d|
 |%|H|:|%|M|:|%|S|}|"+0#e000002&| +0#0000000&@4
+|t|e|s|t| |=| |f+0#e000002&|"|D|a|t|e| |i|s| 
|{+0#e000e06&|d+0#00e0003&|a|t|e|t|i|m|e|.+0#0000000&|d|a|t|e|t|i|m|e|(|2+0#e000002&|0|1|0|,+0#0000000&|
 |7+0#e000002&|,+0#0000000&| |4+0#e000002&|,+0#0000000&| 
|1+0#e000002&|2|,+0#0000000&| |1+0#e000002&|5|,+0#0000000&| 
|5+0#e000002&|8|)+0#0000000&|}+0#e000e06&|"+0#e000002&| +0#0000000&@13
+>t|e|s|t| |=| |f+0#e000002&|"|F|o|r|m|a|t@1|e|d| |d|a|t|e| |i|s| 
|{+0#e000e06&|d+0#00e0003&|a|t|e|t|i|m|e|.+0#0000000&|d|a|t|e|t|i|m|e|(|2+0#e000002&|0|1|0|,+0#0000000&|
 |7+0#e000002&|,+0#0000000&| |4+0#e000002&|,+0#0000000&| 
|1+0#e000002&|2|,+0#0000000&| |1+0#e000002&|5|,+0#0000000&| 
|5+0#e000002&|8|)+0#0000000&|:+0#e000e06&|%|Y|-|%|m
+|-|%|d| |%|H|:|%|M|:|%|S|}|"+0#e000002&| +0#0000000&@60
+|t|e|s|t| |=| |f+0#e000002&|"|L|a|m|b|d|a| |r|e|t|u|r|n|s| 
|{+0#e000e06&|(+0#0000000&|l+0#af5f00255&|a|m|b|d|a| 
+0#0000000&|x+0#00e0003&|:+0#0000000&| 
|x+0#00e0003&|*+0#0000000&@1|2+0#e000002&|)+0#0000000&|}+0#e000e06&|"+0#e000002&|
 +0#0000000&@31
+|t|e|s|t| |=| |f+0#e000002&|"|Z|e|r|o| |p|a|d@1|e|d| |l|a|m|b|d|a| 
|r|e|t|u|r|n|s| |{+0#e000e06&|(+0#0000000&|l+0#af5f00255&|a|m|b|d|a| 
+0#0000000&|x+0#00e0003&|:+0#0000000&| 
|x+0#00e0003&|*+0#0000000&@1|2+0#e000002&|)+0#0000000&|:+0#e000e06&|0|9|}|"+0#e000002&|
 +0#0000000&@16
+|t|e|s|t| |=| |f+0#e000002&|"|S|p|a|c|e| |p|a|d@1|e|d| |l|a|m|b|d|a| 
|r|e|t|u|r|n|s| |{+0#e000e06&|(+0#0000000&|l+0#af5f00255&|a|m|b|d|a| 
+0#0000000&|x+0#00e0003&|:+0#0000000&| 
|x+0#00e0003&|*+0#0000000&@1|2+0#e000002&|)+0#0000000&|:+0#e000e06&|{|w|i|d|t|h|}@1|"+0#e000002&|
 +0#0000000&@10
+|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |c|o|p|y| |i|s| 
|{+0#e000e06&|i+0#00e0003&|t|e|m|s|[+0#0000000&|:|]|}+0#e000e06&|"+0#e000002&| 
+0#0000000&@41
+|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |s|l|i|c|e| |i|s| 
|{+0#e000e06&|i+0#00e0003&|t|e|m|s|[+0#0000000&|1+0#e000002&|:+0#0000000&|]|}+0#e000e06&|"+0#e000002&|
 +0#0000000&@39
+|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |s|l|i|c|e| |i|s| 
|{+0#e000e06&|i+0#00e0003&|t|e|m|s|[+0#0000000&|:|9+0#e000002&|]+0#0000000&|}+0#e000e06&|"+0#e000002&|
 +0#0000000&@39
+|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |e|l|e|m|e|n|t|s| |a|r|e| 
|{+0#e000e06&|i+0#00e0003&|t|e|m|s|[+0#0000000&|:|2+0#e000002&|:+0#0000000&|]|}+0#e000e06&|"+0#e000002&|
 +0#0000000&@34
+|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |l|i|s|t| |c|o|p|y| |i|s| 
|{+0#e000e06&|i+0#00e0003&|t|e|m|s|[+0#0000000&|:|]|:+0#e000e06&|9@1|}|"+0#e000002&|
 +0#0000000&@31
+|t|e|s|t| |=| |f+0#e000002&|"|L|e|f|t|-|a|l|i|g|n|e|d| |l|i|s|t| |s|l|i|c|e| 
|i|s| 
|{+0#e000e06&|i+0#00e0003&|t|e|m|s|[+0#0000000&|1+0#e000002&|:+0#0000000&|]|:+0#e000e06&|<|9@1|}|"+0#e000002&|
 +0#0000000&@22
+|t|e|s|t| |=| |f+0#e000002&|"|R|i|g|h|t| |a|l|i|g|n|e|d| |l|i|s|t| |s|l|i|c|e| 
|i|s| 
|{+0#e000e06&|i+0#00e0003&|t|e|m|s|[+0#0000000&|:|9+0#e000002&|]+0#0000000&|:+0#e000e06&|>|9@1|}|"+0#e000002&|
 +0#0000000&@21
+|t|e|s|t| |=| |f+0#e000002&|"|C|e|n|t|e|r|-|a|l|i|g|n|e|d| |l|i|s|t| 
|e|l|e|m|e|n|t|s| |a|r|e| 
|{+0#e000e06&|i+0#00e0003&|t|e|m|s|[+0#0000000&|:|2+0#e000002&|:+0#0000000&|]|:+0#e000e06&|^|9@1|}|"+0#e000002&|
 +0#0000000&@15
+|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#00e0003&| +0#0000000&|=@1| 
|1+0#e000002&|}+0#e000e06&|"+0#e000002&| +0#0000000&@42
+@57|1|4|9|,|1| @8|7|5|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_10.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_10.dump
index 15781d7f6..0d210e750 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_10.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_10.dump
@@ -1,20 +1,20 @@
-|t+0&#ffffff0|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |l|i|s|t| 
|c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| 
+0#0000000&|[|x|*@1|2| |f|o|r| |x| |i|n| |r|a|n|g|e|(|1|0|)|]| 
|:+0#e000e06&|9@1|}
+|t+0&#ffffff0|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#00e0003&| +0#0000000&|=@1| 
|1+0#e000002&|}+0#e000e06&|"+0#e000002&| +0#0000000&@42
+|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#00e0003&| +0#0000000&|!|=| 
|1+0#e000002&|}+0#e000e06&|"+0#e000002&| +0#0000000&@42
+|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|(+0#0000000&|x+0#00e0003&| +0#0000000&|:|=| 
|1+0#e000002&|)+0#0000000&|}+0#e000e06&|"+0#e000002&| +0#0000000&@40
+|t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#00e0003&| +0#0000000&|=@1| 
|1+0#e000002&|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@35
+|t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|x+0#00e0003&| +0#0000000&|!|=| 
|1+0#e000002&|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@35
+>t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| 
|{+0#e000e06&|(+0#0000000&|x+0#00e0003&| +0#0000000&|:|=| 
|1+0#e000002&|)+0#0000000&|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@33
+|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| 
|r|e|t|u|r|n|s| |{+0#e000e06&| 
+0#0000000&|[|x+0#00e0003&|*+0#0000000&@1|2+0#e000002&| 
+0#0000000&|f+0#af5f00255&|o|r| +0#0000000&|x+0#00e0003&| 
+0#0000000&|i+0#af5f00255&|n| 
+0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#0000000&|1+0#e000002&|0|)+0#0000000&|]| 
|}+0#e000e06&|"+0#e000002&| +0#0000000&@8
+|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| 
|r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|[| @35
+@8|x+0#00e0003&|*+0#0000000&@1|2+0#e000002&| +0#0000000&|f+0#af5f00255&|o|r| 
+0#0000000&|x+0#00e0003&| +0#0000000&|i+0#af5f00255&|n| 
+0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#0000000&|1+0#e000002&|0|)+0#0000000&| @43
+@4|]| |}+0#e000e06&|"+0#e000002&| +0#0000000&@66
+|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |l|i|s|t| 
|c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| 
+0#0000000&|[|x+0#00e0003&|*+0#0000000&@1|2+0#e000002&| 
+0#0000000&|f+0#af5f00255&|o|r| +0#0000000&|x+0#00e0003&| 
+0#0000000&|i+0#af5f00255&|n| 
+0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#0000000&|1+0#e000002&|0|)+0#0000000&|]| 
|:+0#e000e06&|9@1|}
 |"+0#e000002&| +0#0000000&@73
-|t|e|s|t| |=| |f+0#e000002&|"|D|i|c|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| 
|r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|{|x|:| |x|*@1|2| |f|o|r| |x| |i|n| 
|r|a|n|g|e|(|1|0|)|}| |}+0#e000e06&|"+0#e000002&| +0#0000000&@5
-|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |d|i|c|t| 
|c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|{|x|:| 
|x|*@1|2| |f|o|r| |x| |i|n| |r|a|n|g|e|(|1|0|)|}| |:+0#e000e06&
+|t|e|s|t| |=| |f+0#e000002&|"|D|i|c|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| 
|r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|{|x+0#00e0003&|:+0#0000000&| 
|x+0#00e0003&|*+0#0000000&@1|2+0#e000002&| +0#0000000&|f+0#af5f00255&|o|r| 
+0#0000000&|x+0#00e0003&| +0#0000000&|i+0#af5f00255&|n| 
+0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#0000000&|1+0#e000002&|0|)+0#0000000&|}| 
|}+0#e000e06&|"+0#e000002&| +0#0000000&@5
+|t|e|s|t| |=| |f+0#e000002&|"|D|i|c|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| 
|r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|{| @35
+@8|x+0#00e0003&|:+0#0000000&| |x+0#00e0003&|*+0#0000000&@1|2+0#e000002&| 
+0#0000000&|f+0#af5f00255&|o|r| +0#0000000&|x+0#00e0003&| 
+0#0000000&|i+0#af5f00255&|n| 
+0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#0000000&|1+0#e000002&|0|)+0#0000000&| @40
+@4|}| |}+0#e000e06&|"+0#e000002&| +0#0000000&@66
+|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |d|i|c|t| 
|c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| 
+0#0000000&|{|x+0#00e0003&|:+0#0000000&| 
|x+0#00e0003&|*+0#0000000&@1|2+0#e000002&| +0#0000000&|f+0#af5f00255&|o|r| 
+0#0000000&|x+0#00e0003&| +0#0000000&|i+0#af5f00255&|n| 
+0#0000000&|r+0#00e0e07&|a|n|g|e|(+0#0000000&|1+0#e000002&|0|)+0#0000000&|}| 
|:+0#e000e06&
 |9@1|}|"+0#e000002&| +0#0000000&@70
-> @74
-|#+0#0000e05&| |B|y|t|e|s| +0#0000000&@67
-|t|e|s|t| |=| |b+0#e000002&|'|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|s| 
|\+0#e000e06&|'| +0#e000002&|a|n|d| |\+0#e000e06&|"| +0#e000002&|a|n|d| 
|\+0#e000e06&|t|'+0#e000002&| +0#0000000&@29
-|t|e|s|t| |=| |B+0#e000002&|"|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|s| 
|\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1|"+0#e000002&| 
+0#0000000&@32
-|t|e|s|t| |=| |b+0#e000002&|'|B|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| 
|E|X|C|L|A|M|A|T|I
-|O|N| |M|A|R|K|}|'| +0#0000000&@65
-|t|e|s|t| |=| |B+0#e000002&|"|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|d| 
|\+0#e000e06&@1| +0#e000002&|b|a|c|k|s|l|a|s|h| |a|n|d| |i|g|n|o|r|e|d| 
|\+0#e000e06&| +0#0000000&@20
-|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
-|t|e|s|t| |=| |b+0#e000002&|'@2|B|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| 
|"| +0#0000000&@38
-|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| 
|\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
-|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|'@2| +0#0000000&@38
-|t|e|s|t| |=| |B+0#e000002&|"@2|B|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| 
|"| +0#0000000&@38
-|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| 
|\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
-|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
-@57|1|6|4|,|0|-|1| @6|8|9|%| 
+@75
+@57|1|6@1|,|1| @8|8|4|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_11.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_11.dump
index 297f46cf4..d3cc144d8 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_11.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_11.dump
@@ -1,20 +1,20 @@
-|a+0#e000002#ffffff0|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
+| +0&#ffffff0@74
+|#+0#0000e05&| |B|y|t|e|s| +0#0000000&@67
+|t|e|s|t| |=| |b+0#e000002&|'|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|s| 
|\+0#e000e06&|'| +0#e000002&|a|n|d| |\+0#e000e06&|"| +0#e000002&|a|n|d| 
|\+0#e000e06&|t|'+0#e000002&| +0#0000000&@29
+|t|e|s|t| |=| |B+0#e000002&|"|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|s| 
|\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1|"+0#e000002&| 
+0#0000000&@32
+|t|e|s|t| |=| |b+0#e000002&|'|B|y|t|e|s| |w|i|t|h| |S|y|n|t|a|x|W|a|r|n|i|n|g| 
|\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E|X|C
+|L|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@59
+>t|e|s|t| |=| |B+0#e000002&|"|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|d| 
|\+0#e000e06&@1| +0#e000002&|b|a|c|k|s|l|a|s|h| |a|n|d| |i|g|n|o|r|e|d| 
|\+0#e000e06&| +0#0000000&@20
+|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
+|t|e|s|t| |=| |b+0#e000002&|'@2|B|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| 
|"| +0#0000000&@38
+|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| 
|\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
+|a+0#e000002&|n|d| |S|y|n|t|a|x|W|a|r|n|i|n|g| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|'@2| +0#0000000&@32
+|t|e|s|t| |=| |B+0#e000002&|"@2|B|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| 
|"| +0#0000000&@38
+|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| 
|\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
+|a+0#e000002&|n|d| |S|y|n|t|a|x|W|a|r|n|i|n|g| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@32
 @75
 |#+0#0000e05&| |R|a|w| |b|y|t|e|s| +0#0000000&@63
 |t|e|s|t| |=| |b+0#e000002&|r|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|'| |a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@24
 |t|e|s|t| |=| |b+0#e000002&|R|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@27
->t|e|s|t| |=| |B+0#e000002&|r|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| 
|E|X|C|L
-|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
-|t|e|s|t| |=| |B+0#e000002&|R|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\@1| |b|a|c|k|s|l|a|s|h|e|s| |a|n|d| |l|i|t|e|r|a|l| |\| +0#0000000&@13
-|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
-|t|e|s|t| |=| |r+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|'| |a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@24
-|t|e|s|t| |=| |r+0#e000002&|B|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@27
-|t|e|s|t| |=| |R+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| 
|E|X|C|L
-|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
-|t|e|s|t| |=| |R+0#e000002&|B|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\@1| |b|a|c|k|s|l|a|s|h|e|s| |a|n|d| |l|i|t|e|r|a|l| |\| +0#0000000&@13
-|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
-|t|e|s|t| |=| |b+0#e000002&|r|'@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| 
|'| |a|n|d| |"| +0#0000000&@33
-|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| 
+0#0000000&@42
-|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|'@2| +0#0000000&@38
-|t|e|s|t| |=| |R+0#e000002&|B|"@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| 
|'| |a|n|d| |"| +0#0000000&@33
-@57|1|8|1|,|1| @8|9|8|%| 
+|t|e|s|t| |=| |B+0#e000002&|r|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| 
|E|@+0#4040ff13&@2
+| +0#0000000&@56|1|8|2|,|1| @8|9|2|%| 
diff --git a/runtime/syntax/testdir/dumps/python_strings_bytes_12.dump 
b/runtime/syntax/testdir/dumps/python_strings_bytes_12.dump
index d2cf6bad0..9ae3142a8 100644
--- a/runtime/syntax/testdir/dumps/python_strings_bytes_12.dump
+++ b/runtime/syntax/testdir/dumps/python_strings_bytes_12.dump
@@ -1,20 +1,20 @@
-|t+0&#ffffff0|e|s|t| |=| |R+0#e000002&|B|"@2|R|a|w| |b|y|t|e|s| |w|i|t|h| 
|q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@33
+|t+0&#ffffff0|e|s|t| |=| |B+0#e000002&|r|'|R|a|w| |b|y|t|e|s| |w|i|t|h| 
|l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| 
|\|N|{|I|N|V|E|R|T|E|D| |E|X|C|L
+|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
+|t|e|s|t| |=| |B+0#e000002&|R|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\@1| |b|a|c|k|s|l|a|s|h|e|s| |a|n|d| |l|i|t|e|r|a|l| |\| +0#0000000&@13
+|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
+|t|e|s|t| |=| |r+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|'| |a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@24
+>t|e|s|t| |=| |r+0#e000002&|B|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@27
+|t|e|s|t| |=| |R+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| 
|E|X|C|L
+|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
+|t|e|s|t| |=| |R+0#e000002&|B|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| 
|\@1| |b|a|c|k|s|l|a|s|h|e|s| |a|n|d| |l|i|t|e|r|a|l| |\| +0#0000000&@13
+|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
+|t|e|s|t| |=| |b+0#e000002&|r|'@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| 
|'| |a|n|d| |"| +0#0000000&@33
 |a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| 
+0#0000000&@42
->a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
+|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|'@2| +0#0000000&@38
+|t|e|s|t| |=| |R+0#e000002&|B|"@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| 
|'| |a|n|d| |"| +0#0000000&@33
+|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| 
+0#0000000&@42
+|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| 
|\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
 |~+0#4040ff13&| @73
 |~| @73
 |~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|1|9|4|,|1| @8|B|o|t| 
+| +0#0000000&@56|1|9|8|,|1| @8|B|o|t| 
diff --git a/runtime/syntax/testdir/input/python_strings_bytes.py 
b/runtime/syntax/testdir/input/python_strings_bytes.py
index 1b87fd4ac..fc405ed7e 100644
--- a/runtime/syntax/testdir/input/python_strings_bytes.py
+++ b/runtime/syntax/testdir/input/python_strings_bytes.py
@@ -80,11 +80,11 @@ and fields {1}, {2} and {1
 # Raw formatted string literals
 test = fr'Raw f-string with literal \' and \" and       and fields {foo} and 
{bar}'
 test = fR"Raw f-string with literal   and \xFF and fields {foo} and {bar}"
-test = Fr'Raw f-string with literal \u00A1 and \U00010605 and \N{INVERTED 
EXCLAMATION MARK} and fields {foo} and {bar}'
+test = Fr'Raw f-string with literal \u00A1 and \U00010605 and fields \N{FIELD, 
NOT, ESCAPE} and {foo} and {bar}'
 test = FR"Raw f-string with literal {{field}} and fields {foo} and {bar}"
 test = rf'Raw f-string with literal \' and \" and       and fields {foo} and 
{bar}'
 test = rF"Raw f-string with literal   and \xFF and fields {foo} and {bar}"
-test = Rf'Raw f-string with literal \u00A1 and \U00010605 and \N{INVERTED 
EXCLAMATION MARK} and fields {foo} and {bar}'
+test = Rf'Raw f-string with literal \u00A1 and \U00010605 and fields \N{FIELD, 
NOT, ESCAPE} and {foo} and {bar}'
 test = RF"Raw f-string with literal {{field}} and fields {foo} and {bar}"
 test = fr'''Raw f-string with quotes ' and "
 and literal     and   and \xFF
@@ -118,6 +118,11 @@ test = f"He said his name is {name!r}."
 test = f"He said his name is {repr(name)}."
 test = f"result: {value:{width}}"
 test = f"result: {value:{width}.{precision}}"
+test = f"result: {value:{
+        width
+    }.{
+        precision
+    }}"
 test = f"result: {value:{width:d}.{precision!s}}"
 test = f"result: {value:{options}{width}{grouping}{precision}{type}}"
 test = f"{number:#0x}"
@@ -130,10 +135,12 @@ test = f"{string=}"
 test = f"{string=!r}"
 test = f"{string=:20}"
 test = f"{string=!r:20}"
-test = f"{string = }"
-test = f"{string = !r}"
-test = f"{string = :20}"
-test = f"{string = !r:20}"
+test = f"{ string = }"
+test = f"{ string = !r}"
+test = f"{ string = !r }"
+test = f"{ string = :20}"
+test = f"{ string = !r:20}"
+test = f"{ string = !r :20}"
 test = f"abc {a["x"]} def"
 test = f"List contains:
{"
".join(a)}"
 test = f"Today's date is {datetime.now()}"
@@ -158,22 +165,28 @@ test = f"Debug expression is {x == 1=}"
 test = f"Debug expression is {x != 1=}"
 test = f"Debug expression is {(x := 1)=}"
 test = f"List comprehension returns { [x**2 for x in range(10)] }"
+test = f"List comprehension returns { [
+        x**2 for x in range(10)
+    ] }"
 test = f"Padded list comprehension returns { [x**2 for x in range(10)] :99}"
 test = f"Dict comprehension returns { {x: x**2 for x in range(10)} }"
+test = f"Dict comprehension returns { {
+        x: x**2 for x in range(10)
+    } }"
 test = f"Padded dict comprehension returns { {x: x**2 for x in range(10)} :99}"
 
 # Bytes
 test = b'Bytes with escapes \' and \" and      '
 test = B"Bytes with escapes   and \xFF"
-test = b'Bytes with literal \u00A1 and \U00010605 and \N{INVERTED EXCLAMATION 
MARK}'
+test = b'Bytes with SyntaxWarning \u00A1 and \U00010605 and \N{INVERTED 
EXCLAMATION MARK}'
 test = B"Bytes with escaped \ backslash and ignored \
 newline"
 test = b'''Bytes with quotes ' and "
 and escapes     and   and \xFF
-and literal \u00A1 and \U00010605'''
+and SyntaxWarning \u00A1 and \U00010605'''
 test = B"""Bytes with quotes ' and "
 and escapes     and   and \xFF
-and literal \u00A1 and \U00010605"""
+and SyntaxWarning \u00A1 and \U00010605"""
 
 # Raw bytes
 test = br'Raw bytes with literal \' and \" and         '

-- 
-- 
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/E1uuSll-005GEt-Ff%40256bit.org.

Raspunde prin e-mail lui