vim-patch:9.1.0167: Changing buffer in another window causes it to show matchparen (#27820)

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: vim/vim#14177

49ffb6b428
This commit is contained in:
zeertzjq
2024-03-12 07:19:47 +08:00
committed by GitHub
parent 6481da3015
commit e20e5ecf0a
3 changed files with 70 additions and 9 deletions

View File

@@ -22,7 +22,8 @@ let s:has_matchaddpos = exists('*matchaddpos')
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()