diff runtime/plugin/matchparen.vim @ 34529:2ee041017eb4 v9.1.0167

patch 9.1.0167: Changing buffer in another window causes it to show matchparen Commit: https://github.com/vim/vim/commit/49ffb6b428e1e053446ec0209558a8f9d0963ae7 Author: zeertzjq <zeertzjq@outlook.com> Date: Mon Mar 11 21:38:58 2024 +0100 patch 9.1.0167: Changing buffer in another window causes it to show matchparen Problem: Changing buffer in another window using win_execute() causes it to show matchparen (after 9.0.0969). Solution: Delay highlighting with SafeState in BufWinEnter. (zeertzjq) closes: #14177 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 11 Mar 2024 21:45:05 +0100
parents 7b26c36e9b3b
children 57f7c2b32500
line wrap: on
line diff
--- a/runtime/plugin/matchparen.vim
+++ b/runtime/plugin/matchparen.vim
@@ -22,7 +22,8 @@ let s:has_matchaddpos = exists('*matchad
 
 augroup matchparen
   " Replace all matchparen autocommands
-  autocmd! CursorMoved,CursorMovedI,WinEnter,BufWinEnter,WinScrolled * call s:Highlight_Matching_Pair()
+  autocmd! CursorMoved,CursorMovedI,WinEnter,WinScrolled * call s:Highlight_Matching_Pair()
+  autocmd! BufWinEnter * autocmd SafeState * ++once call s:Highlight_Matching_Pair()
   autocmd! WinLeave,BufLeave * call s:Remove_Matches()
   if exists('##TextChanged')
     autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair()