From 7e2b75760f1723c44bf69951dad2cb8da92aa213 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Tue, 11 Mar 2025 06:54:17 +0800 Subject: vim-patch:9.1.1193: Unnecessary use of STRCAT() in au_event_disable() (#32829) Problem: Unnecessary use of STRCAT() in au_event_disable(). STRCAT() seeks to the end of new_ei, but here the end is already known. Solution: Use STRCPY() and add p_ei_len to new_ei. Also fix a typo in a comment. Add a test that 'eventignore' works in :argdo (zeertzjq). closes: vim/vim#16844 https://github.com/vim/vim/commit/969e11a18b145241dc0ab39fc1be7ed814655dfc Cherry-pick p_ei_len from patch 9.1.0256. --- test/old/testdir/test_arglist.vim | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'test') diff --git a/test/old/testdir/test_arglist.vim b/test/old/testdir/test_arglist.vim index 952b121aed..9c4d4bb715 100644 --- a/test/old/testdir/test_arglist.vim +++ b/test/old/testdir/test_arglist.vim @@ -555,9 +555,34 @@ endfunc func Test_argdo() next! Xa.c Xb.c Xc.c new + + let g:bufenter = 0 + let g:bufleave = 0 + autocmd BufEnter * let g:bufenter += 1 + autocmd BufLeave * let g:bufleave += 1 + + let l = [] + argdo call add(l, expand('%')) + call assert_equal(['Xa.c', 'Xb.c', 'Xc.c'], l) + call assert_equal(3, g:bufenter) + call assert_equal(3, g:bufleave) + + let g:bufenter = 0 + let g:bufleave = 0 + + set eventignore=BufEnter,BufLeave let l = [] argdo call add(l, expand('%')) call assert_equal(['Xa.c', 'Xb.c', 'Xc.c'], l) + call assert_equal(0, g:bufenter) + call assert_equal(0, g:bufleave) + call assert_equal('BufEnter,BufLeave', &eventignore) + set eventignore& + + autocmd! BufEnter + autocmd! BufLeave + unlet g:bufenter + unlet g:bufleave bwipe Xa.c Xb.c Xc.c endfunc -- cgit