]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vim): Update base-syntax, bug fixes
authorDoug Kearns <dougkearns@gmail.com>
Mon, 2 Jun 2025 17:31:10 +0000 (19:31 +0200)
committerChristian Brabandt <cb@256bit.org>
Mon, 2 Jun 2025 17:31:10 +0000 (19:31 +0200)
- Contain :profdel arguments.
- Fix string highlighting immediately after lambda -> operators.

Reported by Aliaksei Budavei.

closes: #17427

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
21 files changed:
runtime/syntax/generator/vim.vim.base
runtime/syntax/testdir/dumps/vim_ex_function_02.dump
runtime/syntax/testdir/dumps/vim_ex_function_03.dump
runtime/syntax/testdir/dumps/vim_ex_function_04.dump
runtime/syntax/testdir/dumps/vim_ex_function_05.dump
runtime/syntax/testdir/dumps/vim_ex_function_06.dump
runtime/syntax/testdir/dumps/vim_ex_function_07.dump
runtime/syntax/testdir/dumps/vim_ex_function_08.dump
runtime/syntax/testdir/dumps/vim_ex_function_09.dump
runtime/syntax/testdir/dumps/vim_ex_function_10.dump
runtime/syntax/testdir/dumps/vim_ex_function_11.dump
runtime/syntax/testdir/dumps/vim_ex_function_12.dump
runtime/syntax/testdir/dumps/vim_lambda_02.dump
runtime/syntax/testdir/dumps/vim_lambda_03.dump
runtime/syntax/testdir/dumps/vim_lambda_04.dump
runtime/syntax/testdir/dumps/vim_lambda_05.dump
runtime/syntax/testdir/dumps/vim_lambda_06.dump
runtime/syntax/testdir/dumps/vim_lambda_07.dump
runtime/syntax/testdir/input/vim_ex_function.vim
runtime/syntax/testdir/input/vim_lambda.vim
runtime/syntax/vim.vim

index 3a3bd3c136897e822e8f338286f74013f3e91765..fa76c3ce90919157d749010822a88fe58e249ea3 100644 (file)
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkearns@gmail.com>
-" Last Change:    2025 Jun 01
+" Last Change:    2025 Jun 02
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -818,8 +818,8 @@ syn region  vimPatSepZone   oneline   contained   matchgroup=vimPatSepZ start="\\%\
 syn region     vimPatRegion    contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
 syn match      vimNotPatSep    contained       "\\\\"
 syn cluster    vimStringGroup  contains=vimEscape,vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
-syn region     vimString       oneline keepend matchgroup=vimString start=+[^a-zA-Z>\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=vimStringEnd end=+"+ nextgroup=vimSubscript contains=@vimStringGroup extend
-syn region     vimString       oneline matchgroup=vimString start=+[^a-zA-Z>\\@]'+lc=1 end=+'+                nextgroup=vimSubscript contains=vimQuoteEscape  extend
+syn region     vimString       oneline keepend matchgroup=vimString start=+[^a-zA-Z\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=vimStringEnd end=+"+ nextgroup=vimSubscript contains=@vimStringGroup extend
+syn region     vimString       oneline matchgroup=vimString start=+[^a-zA-Z\\@]'+lc=1 end=+'+                 nextgroup=vimSubscript contains=vimQuoteEscape  extend
 "syn region    vimString       oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/"   contains=@vimStringGroup  " see tst45.vim
 
 syn match      vimEscape       contained       "\\."
@@ -1354,9 +1354,9 @@ syn region        vimProfilePattern contained
       \ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment
 syn match      vimProfile      "\<prof\%[ile]\>"       skipwhite nextgroup=vimProfileBang,vimProfileArg
 
-syn keyword    vimProfdelArg   func    skipwhite nextgroup=vimProfilePattern
-syn keyword    vimProfdelArg   file    skipwhite nextgroup=vimProfilePattern
-syn keyword    vimProfdelArg   here    skipwhite nextgroup=vimCmdSep,@vimComment
+syn keyword    vimProfdelArg   contained       func    skipwhite nextgroup=vimProfilePattern
+syn keyword    vimProfdelArg   contained       file    skipwhite nextgroup=vimProfilePattern
+syn keyword    vimProfdelArg   contained       here    skipwhite nextgroup=vimCmdSep,@vimComment
 syn match      vimProfdel      "\<profd\%[el]\>" skipwhite nextgroup=vimProfdelArg
 
 " Redir: {{{2
index 282c06c423681031c16adcf23c008a0a837091fc..e4b5d6a566fe9182f67e196a060fcb07d5636949 100644 (file)
@@ -17,4 +17,4 @@
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
 @75
-@57|3|7|,|0|-|1| @7|1|5|%| 
+@57|3|7|,|0|-|1| @7|1|4|%| 
index 8192288c85649d2cfed917765d20f7e80dcad0bd..94e2ea1b44a6a5df2e648168da11c233b6dae8a9 100644 (file)
@@ -17,4 +17,4 @@
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|f|o@1|#|b|a|r|#|F|o@1|(+0#e000e06&|)| +0#0000000&@52
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
-@57|5@1|,|1| @9|2|5|%| 
+@57|5@1|,|1| @9|2|3|%| 
index 486dfd84c77f22c3ed426d644d4434e3b69ba3ce..2dbc75b8597426f7fb765435eb4edbf912ead64f 100644 (file)
@@ -17,4 +17,4 @@
 |f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&|r+0#e000e06&|a|n|g|e| +0#0000000&@54
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
-@57|7|3|,|1| @9|3|4|%| 
+@57|7|3|,|1| @9|3|1|%| 
index 4359d4e2551129ef4e6da31639ad4282d330e329..94f265a88016f7fd9873dd9680713a73f57ddb47 100644 (file)
@@ -17,4 +17,4 @@
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n|!| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&|r+0#e000e06&|a|n|g|e| +0#0000000&@53
-@57|9|1|,|0|-|1| @7|4|3|%| 
+@57|9|1|,|0|-|1| @7|4|0|%| 
index f4d96ac6491ebe99014f38b11fff31fa720f1401..f771e63319ab42e6856bee049e861606e53bb2fd 100644 (file)
@@ -17,4 +17,4 @@
 |f+0#af5f00255&|u|n|c|t|i|o|n|!| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&|r+0#e000e06&|a|n|g|e| +0#0000000&|a+0#e000e06&|b|o|r|t| +0#0000000&|d+0#e000e06&|i|c|t| +0#0000000&|c+0#e000e06&|l|o|s|u|r|e| +0#0000000&@34
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
-@57|1|0|9|,|3| @8|5|3|%| 
+@57|1|0|9|,|3| @8|4|9|%| 
index 160f9ad9bf077409748dea523b9092dbed62a914..325c9434fb52d703852feeb42acaa84b01c4ee97 100644 (file)
@@ -17,4 +17,4 @@
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@53
 @75
 @75
-@57|1|2|7|,|1| @8|6|2|%| 
+@57|1|2|7|,|1| @8|5|7|%| 
index 98e02cfd1317e3bbbb2b53c41211d387a57a3ea4..9239196fb18e9174066215c6a0f3b97f0d8b7aab 100644 (file)
@@ -17,4 +17,4 @@
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
 @75
-@57|1|4|5|,|1| @8|7|1|%| 
+@57|1|4|5|,|1| @8|6@1|%| 
index 60ea6cb36461801589cd58cc5bc6d82729380302..717113784bb763ecce253a8ef643edd1ecebbc46 100644 (file)
@@ -17,4 +17,4 @@
 @2|e+0#af5f00255&|c|h|o| +0#0000000&|a+0#00e0e07&|:|0@2| +0#0000000&@62
 @2|e+0#af5f00255&|c|h|o| +0#0000000&|a+0#00e0e07&|:|0| +0#0000000&@64
 @2|e+0#af5f00255&|c|h|o| +0#0000000&|a+0#00e0e07&|:|1| +0#0000000&|a+0#00e0e07&|:|2| +0#0000000&|a+0#00e0e07&|:|3| +0#0000000&|a+0#00e0e07&|:|4| +0#0000000&|a+0#00e0e07&|:|5| +0#0000000&|a+0#00e0e07&|:|6| +0#0000000&|a+0#00e0e07&|:|7| +0#0000000&|a+0#00e0e07&|:|8| +0#0000000&|a+0#00e0e07&|:|9| +0#0000000&|a+0#00e0e07&|:|1|0| +0#0000000&|a+0#00e0e07&|:|1@1| +0#0000000&|a+0#00e0e07&|:|1|2| +0#0000000&|a+0#00e0e07&|:|1|3| +0#0000000&|a+0#00e0e07&|:|1|4| +0#0000000&|a+0#00e0e07&|:|1|5|@+0#4040ff13&@2
-| +0#0000000&@56|1|6|3|,|3| @8|8|0|%| 
+| +0#0000000&@56|1|6|3|,|3| @8|7|4|%| 
index 9e08fcdb62a3ecf0e9df0e93c6a8175d7fd7a1ce..9a7eff4516d9be9096ba5a2ba392dbb48b0c7fc4 100644 (file)
@@ -17,4 +17,4 @@
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
 @75
-@57|1|8|0|,|1| @8|8|9|%| 
+@57|1|8|0|,|1| @8|8|2|%| 
index 868930304f701cb794b75addd4f1d5e2fc5898c3..98e0c79f7d506836bda030e64abdd38c6e4cd9c7 100644 (file)
@@ -17,4 +17,4 @@
 |d+0#af5f00255&|e|l|f|u|n|c|t|i|o|n| +0#0000000&|F|o@1| @59
 |d+0#af5f00255&|e|l|f|u|n|c|t|i|o|n| +0#0000000&|f|o@1|.+0#af5f00255&|b+0#00e0e07&|a|r| +0#0000000&@55
 |d+0#af5f00255&|e|l|f|u|n|c|t|i|o|n|!| +0#0000000&|F|o@1| @58
-@57|1|9|8|,|1| @8|9|8|%| 
+@57|1|9|8|,|1| @8|9|1|%| 
index d5e26ae2a8c3c2acdd667543804ec6c1e92f3940..2e431aa072b605ab2ee51f6a0fcbada171c31412 100644 (file)
@@ -1,20 +1,20 @@
 |d+0#af5f00255#ffffff0|e|l|f|u|n|c|t|i|o|n|!| +0#0000000&|F|o@1| @58
 |d+0#af5f00255&|e|l|f|u|n|c|t|i|o|n| +0#0000000&|f|o@1|.+0#af5f00255&|b+0#00e0e07&|a|r| +0#0000000&@55
-> @74
-|~+0#4040ff13&| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|2|1|3|,|0|-|1| @6|B|o|t| 
+@75
+@75
+|"+0#0000e05&| |I|s@1|u|e| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|v|i|m|/|v|i|m|/|p|u|l@1|/|1|7|4|2|0|#|i|s@1|u|e|c|o|m@1|e|n|t|-|2|9|2|7@1|9|8|6|8|7| +0#0000000&@5
+>"+0#0000e05&| |(|a|r|g| |n|a|m|e|d| |/|f|u|%|\|[|n|c|t|i|o|n|]|/|)| +0#0000000&@46
+@75
+|"+0#0000e05&| |F+0#0000001#ffff4012|I|X|M|E| +0#0000000#ffffff0@67
+|s+0#af5f00255&|i|l|e|n|t|!| +0#0000000&|d+0#af5f00255&|e|l|f|u|n|c|!| +0#0000000&|f+0#af5f00255&|u|n|c| +0#0000000&@53
+@75
+@75
+|"+0#0000e05&| |I|s@1|u|e| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|v|i|m|/|v|i|m|/|p|u|l@1|/|1|7|4|2|0|#|i|s@1|u|e|c|o|m@1|e|n|t|-|2|9|2|7@1|9|8|6|8|7| +0#0000000&@5
+|"+0#0000e05&| |(|f|u|n|c|t|i|o|n| |n|a|m|e|d| |/|s|:|f|u|%|\|[|n|c|t|i|o|n|]|/|)| +0#0000000&@39
+@75
+|"+0#0000e05&| |F+0#0000001#ffff4012|I|X|M|E| +0#0000000#ffffff0@67
+|f+0#af5f00255&|u|n|c|!| +0#0000000&|s+0#e000e06&|:|f+0#af5f00255&|u|n|c|(+0#e000e06&|_+0#00e0e07&|,+0#0000000&| |f+0#00e0e07&|u|n|c|)+0#e000e06&| +0#0000000&@53
+@4|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|a+0#00e0e07&|:|f|u|n|c| +0#0000000&@57
+|e+0#af5f00255&|n|d|f|u|n|c| +0#0000000&@67
+@75
+@57|2|1|6|,|1| @8|B|o|t| 
index 99cf668a677ffa4cce9403d90ae04271e377fd69..f930e1dfe42537b6df413bb77f00b7d1083bfd34 100644 (file)
@@ -17,4 +17,4 @@
 @6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
 @6|\+0#e000e06&| +0#0000000&|e+0#00e0e07&|x|p|r| +0#0000000&@62
 @6|\+0#e000e06&| +0#0000000&|}+0#0000001#ffff4012| +0#0000000#ffffff0@65
-@57|3|7|,|7| @9|2|8|%| 
+@57|3|7|,|7| @9|2|6|%| 
index 194b85ace18b54a2ed0ca94c12c8a34b9bd5409f..297288d21b0d969db3050d5f02fa8c7861823dec 100644 (file)
@@ -17,4 +17,4 @@
 @6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
 @6|\+0#e000e06&| +0#0000000&|z+0#00e0e07&| +0#0000000&@65
 @6|"+0#0000e05&|\| |c|o|m@1|e|n|t| +0#0000000&@58
-@57|5@1|,|7| @9|4@1|%| 
+@57|5@1|,|7| @9|4|2|%| 
index 2769f521dfd931cd0050344a0fb8ea0c52f2399e..38b3ad0205bd2fa83876cbaed8a608a578a386fc 100644 (file)
@@ -17,4 +17,4 @@
 @75
 |l+0#af5f00255&|e|t| +0#0000000&|F+0#00e0e07&|o@1| +0#0000000&|=+0#af5f00255&| +0#0000000&|{+0#0000001#ffff4012|-|>| +0#0000000#ffffff0|#+0#e000e06&|{| +0#0000000&@58
 @6|\+0#e000e06&| +0#0000000&|a+0#00e0e07&|:| +0#0000000&|4+0#e000002&|2|,+0#0000000&| @60
-@57|7|3|,|7| @9|6|0|%| 
+@57|7|3|,|7| @9|5|7|%| 
index 74778ce75c140a2596ff0825c35340b7e62297df..b588e334f32a545540652c3e910b6f7b61c73255 100644 (file)
@@ -17,4 +17,4 @@
 @6|\+0#e000e06&| +0#0000000&|b+0#00e0e07&|:| +0#0000000&|8+0#e000002&|3| +0#0000000&@61
 @6|\+0#e000e06&|}|}+0#0000001#ffff4012@1| +0#0000000#ffffff0@64
 @75
-@57|9|1|,|7| @9|7@1|%| 
+@57|9|1|,|7| @9|7|3|%| 
index 0cd993165d96e5027224c4e16b93121a9b43934d..5e9b19e77000d6b8fd6f04d5637842047a869511 100644 (file)
@@ -17,4 +17,4 @@
 @75
 |:|e+0#af5f00255&|c|h|o| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|[|1+0#e000002&|,+0#0000000&| |2+0#e000002&|,+0#0000000&| |3+0#e000002&|]+0#e000e06&|,+0#0000000&| |{+0#0000001#ffff4012|i+0#00e0e07#ffffff0|d|x|,+0#0000000&| |v+0#00e0e07&|a|l| +0#0000000&|-+0#0000001#ffff4012|>| +0#0000000#ffffff0|v+0#00e0e07&|a|l| +0#0000000&|++0#af5f00255&| +0#0000000&|1+0#e000002&|}+0#0000001#ffff4012|)+0#e000e06#ffffff0| +0#0000000&@31
 |"+0#0000e05&| |[|2|,| |3|,| |4|]| @1| +0#0000000&@61
-@57|1|0|9|,|1| @8|9|3|%| 
+@57|1|0|9|,|1| @8|8@1|%| 
index c1e29d75212ef020c65067564aa9b82580d4457c..a8f4162b541b7b5b542e6a888df889ad7289dc05 100644 (file)
@@ -6,15 +6,15 @@
 @16>\+0#e000e06&| +0#0000000&|{+0#0000001#ffff4012|-|>| +0#0000000#ffffff0|e+0#00e0e07&|x|e|c|u|t|e|(+0#e000e06&|"+0#e000002&|e|c|h|o| |'|H|a|n|d|l|e|r| |c|a|l@1|e|d|'|"|,+0#0000000&| |"+0#e000002&@1|)+0#e000e06&|}+0#0000001#ffff4012|,+0#0000000#ffffff0| @14
 @16|\+0#e000e06&| +0#0000000&|{+0#e000e06&|'+0#e000002&|r|e|p|e|a|t|'|:+0#0000000&| |3+0#e000002&|}+0#e000e06&|)| +0#0000000&@42
 @75
+@75
+|"+0#0000e05&| |I|s@1|u|e| |h|t@1|p|s|:|/@1|g|i|t|h|u|b|.|c|o|m|/|v|i|m|/|v|i|m|/|p|u|l@1|/|1|7|4|2|0|#|i|s@1|u|e|c|o|m@1|e|n|t|-|2|9|2|7@1|9|8|6|8|7| +0#0000000&@5
+|"+0#0000e05&| |(|s|t|r|i|n|g| |i|m@1|e|d|i|a|t|e|l|y| |a|f|t|e|r| |-|>| |o|p|e|r|a|t|o|r|)| +0#0000000&@34
+@75
+|l+0#af5f00255&|e|t| +0#0000000&|[|f+0#00e0e07&|u|n|c|,+0#0000000&| |_+0#00e0e07&|f|u|n|c|_|]+0#0000000&| |=+0#af5f00255&| +0#0000000&|[+0#e000e06&|{+0#0000001#ffff4012|-|>|"+0#e000002#ffffff0|f|u|n|c|"|}+0#0000001#ffff4012|(+0#e000e06#ffffff0|)|,+0#0000000&| |'+0#e000002&|f|u|n|c|'|]+0#e000e06&| +0#0000000&@31
+@75
 |~+0#4040ff13&| @73
 |~| @73
 |~| @73
 |~| @73
 |~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
 | +0#0000000&@56|1|2|7|,|3|-|1|7| @5|B|o|t| 
index 95cf4586e1b55a6dc2ac396a25aafdca678f1864..dc11f390a31d4981c9b461917f4c2eab4e01845c 100644 (file)
@@ -211,3 +211,19 @@ delfunction foo.bar
 delfunction! Foo
 delfunction foo.bar
 
+
+" Issue https://github.com/vim/vim/pull/17420#issuecomment-2927798687
+" (arg named /fu%\[nction]/)
+
+" FIXME
+silent! delfunc! func
+
+
+" Issue https://github.com/vim/vim/pull/17420#issuecomment-2927798687
+" (function named /s:fu%\[nction]/)
+
+" FIXME
+func! s:func(_, func)
+    return a:func
+endfunc
+
index d08509c90b31a52683afc91c4313be07ccfe3dba..47c194662efda7d0e3008b6f310bb10954f51978 100644 (file)
@@ -127,3 +127,9 @@ let Foo = {-> {-> #{
                \ {-> execute("echo 'Handler called'", "")},
                \ {'repeat': 3})
 
+
+" Issue https://github.com/vim/vim/pull/17420#issuecomment-2927798687
+" (string immediately after -> operator)
+
+let [func, _func_] = [{->"func"}(), 'func']
+
index bf275964b51276248919d3757d1e0a2e8680e0dd..6afcb0492c830bf9d5ca84b2ff5fc77fd5f3872d 100644 (file)
@@ -2,7 +2,7 @@
 " Language:       Vim script
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkearns@gmail.com>
-" Last Change:    2025 Jun 01
+" Last Change:    2025 Jun 02
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -873,8 +873,8 @@ syn region  vimPatSepZone   oneline   contained   matchgroup=vimPatSepZ start="\\%\
 syn region     vimPatRegion    contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
 syn match      vimNotPatSep    contained       "\\\\"
 syn cluster    vimStringGroup  contains=vimEscape,vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
-syn region     vimString       oneline keepend matchgroup=vimString start=+[^a-zA-Z>\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=vimStringEnd end=+"+ nextgroup=vimSubscript contains=@vimStringGroup extend
-syn region     vimString       oneline matchgroup=vimString start=+[^a-zA-Z>\\@]'+lc=1 end=+'+                nextgroup=vimSubscript contains=vimQuoteEscape  extend
+syn region     vimString       oneline keepend matchgroup=vimString start=+[^a-zA-Z\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=vimStringEnd end=+"+ nextgroup=vimSubscript contains=@vimStringGroup extend
+syn region     vimString       oneline matchgroup=vimString start=+[^a-zA-Z\\@]'+lc=1 end=+'+                 nextgroup=vimSubscript contains=vimQuoteEscape  extend
 "syn region    vimString       oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/"   contains=@vimStringGroup  " see tst45.vim
 
 syn match      vimEscape       contained       "\\."
@@ -1415,9 +1415,9 @@ syn region        vimProfilePattern contained
       \ skipwhite nextgroup=vimCmdSep,vimComment,vim9Comment
 syn match      vimProfile      "\<prof\%[ile]\>"       skipwhite nextgroup=vimProfileBang,vimProfileArg
 
-syn keyword    vimProfdelArg   func    skipwhite nextgroup=vimProfilePattern
-syn keyword    vimProfdelArg   file    skipwhite nextgroup=vimProfilePattern
-syn keyword    vimProfdelArg   here    skipwhite nextgroup=vimCmdSep,@vimComment
+syn keyword    vimProfdelArg   contained       func    skipwhite nextgroup=vimProfilePattern
+syn keyword    vimProfdelArg   contained       file    skipwhite nextgroup=vimProfilePattern
+syn keyword    vimProfdelArg   contained       here    skipwhite nextgroup=vimCmdSep,@vimComment
 syn match      vimProfdel      "\<profd\%[el]\>" skipwhite nextgroup=vimProfdelArg
 
 " Redir: {{{2