diff src/testdir/test_vim9_func.vim @ 21689:10866fd07595 v8.2.1394

patch 8.2.1394: Vim9: compiling a function interferes with command modifiers Commit: https://github.com/vim/vim/commit/2dd0a2c39a3b3fbffc94d0676e472c78d02ebdbd Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 8 15:10:27 2020 +0200 patch 8.2.1394: Vim9: compiling a function interferes with command modifiers Problem: Vim9: compiling a function interferes with command modifiers. Solution: Save and restore command modifiers. (closes https://github.com/vim/vim/issues/6658)
author Bram Moolenaar <Bram@vim.org>
date Sat, 08 Aug 2020 15:15:04 +0200
parents 26a4b53c4587
children 4e4fd845553d
line wrap: on
line diff
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1351,5 +1351,30 @@ def Test_partial_call()
   assert_equal({'title': 'test'}, getqflist({'title': 1}))
 enddef
 
+def Test_cmd_modifier()
+  tab echo '0'
+  call CheckDefFailure(['5tab echo 3'], 'E16:')
+enddef
+
+def Test_restore_modifiers()
+  # check that when compiling a :def function command modifiers are not messed
+  # up.
+  let lines =<< trim END
+      vim9script
+      set eventignore=
+      autocmd QuickFixCmdPost * copen
+      def AutocmdsDisabled()
+          eval 0
+      enddef
+      func Func()
+        noautocmd call s:AutocmdsDisabled()
+        let g:ei_after = &eventignore
+      endfunc
+      Func()
+  END
+  CheckScriptSuccess(lines)
+  assert_equal('', g:ei_after)
+enddef
+
 
 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker