patch 9.1.1193: Unnecessary use of STRCAT() in au_event_disable()
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: #16844
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_arglist.vim b/src/testdir/test_arglist.vim
index 8d81a82..d21a222 100644
--- a/src/testdir/test_arglist.vim
+++ b/src/testdir/test_arglist.vim
@@ -554,9 +554,34 @@
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