commit f5e6c73e6061924a5fe798835cbaebd7ff17ac47
parent c9f62674028d764f8a6faa433baa7ab209956fc8
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri, 19 Sep 2025 07:40:53 +0800
vim-patch:1e7a288: runtime(config): mark unportable += as an error
closes: vim/vim#18292
https://github.com/vim/vim/commit/1e7a288cd3e522d70ad857a0a4d0ea7797f73bae
Co-authored-by: Damien Lejay <damien@lejay.be>
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/runtime/syntax/config.vim b/runtime/syntax/config.vim
@@ -1,10 +1,11 @@
" Vim syntax file
-" Language: configure.in script: M4 with sh
+" Language: Autoconf M4
" Former Maintainer: Christian Hammesr <ch@lathspell.westend.com>
" Last Change: 2018 Feb 03
" (patch from Yngve Inntjore Levinsen to detect AC_MSG)
" (patch from Khym Chanur to add @Spell)
" (patch from James McCoy to fix paren matching)
+" (2025 Sep 14 patch from Damien Lejay to detect unportable +=)
" Well, I actually even do not know much about m4. This explains why there
" is probably very much missing here, yet !
@@ -34,6 +35,9 @@ syn region configstring start=+\z(["'`]\)+ skip=+\\\z1+ end=+\z1+ contains=@
syn region configmsg matchgroup=configfunction start="AC_MSG_[A-Z]*\ze(\[" matchgroup=configdelimiter end="\])" contains=configdelimiter,@Spell
syn region configmsg matchgroup=configfunction start="AC_MSG_[A-Z]*\ze([^[]" matchgroup=configdelimiter end=")" contains=configdelimiter,@Spell
+" Help write portable shell code
+syn match acPlusEq '\v\+\=' containedin=ALLBUT,configcomment
+
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
@@ -47,6 +51,7 @@ hi def link configkeyword Keyword
hi def link configspecial Special
hi def link configstring String
hi def link configmsg String
+hi def link acPlusEq Error
let b:current_syntax = "config"