patch 8.2.2463: using :arglocal in an autocommand may use freed memory

Problem:    Using :arglocal in an autocommand may use freed memory.
            (houyunsong)
Solution:   Check if the arglist is locked.
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index dab6991..71f8d2d 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -2717,4 +2717,13 @@
   %bwipe!
 endfunc
 
+" This was using freed memory.
+func Test_BufNew_arglocal()
+  arglocal
+  au BufNew * arglocal
+  call assert_fails('drop xx', 'E1156:')
+
+  au! BufNew
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab