From: Maxim Kim Date: Fri, 13 Jun 2025 18:18:50 +0000 (+0200) Subject: runtime(comment): handle special chars ^$[ robustly X-Git-Tag: v9.1.1458~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aef2e53cf8f331a0566857ac80a89a67e0d77722;p=thirdparty%2Fvim.git runtime(comment): handle special chars ^$[ robustly Make sure comment toggling works when 'commentstring' contains any of the following regex special characters by escaping them: ^ $ [ closes: #17537 Signed-off-by: Maxim Kim Signed-off-by: Christian Brabandt --- diff --git a/runtime/pack/dist/opt/comment/autoload/comment.vim b/runtime/pack/dist/opt/comment/autoload/comment.vim index f678a98fac..74e091c358 100644 --- a/runtime/pack/dist/opt/comment/autoload/comment.vim +++ b/runtime/pack/dist/opt/comment/autoload/comment.vim @@ -1,7 +1,7 @@ vim9script # Maintainer: Maxim Kim -# Last Update: 2025-06-12 +# Last Update: 2025-06-13 # # Toggle comments # Usage: @@ -19,7 +19,7 @@ export def Toggle(...args: list): string if empty(&cms) || !&ma | return '' | endif var cms = substitute(substitute(&cms, '\S\zs%s\s*', ' %s', ''), '%s\ze\S', '%s ', '') var [lnum1, lnum2] = [line("'["), line("']")] - var cms_l = split(escape(cms, '*.\'), '\s*%s\s*') + var cms_l = split(escape(cms, '*.\^$['), '\s*%s\s*') var first_col = indent(lnum1) var start_col = getpos("'[")[2] - 1