# HG changeset patch # User Bram Moolenaar # Date 1626550204 -7200 # Node ID 84d5cda23b341595481006b1198763c44ced58ce # Parent e1b2a8fa046536b2c8422e45fd5c8c4d1682ae38 patch 8.2.3174: Vim9: "legacy undo" finds "undo" variable Commit: https://github.com/vim/vim/commit/47bc9c333766ee3d45cb18c583a630e4ad53405a Author: Bram Moolenaar Date: Sat Jul 17 21:24:56 2021 +0200 patch 8.2.3174: Vim9: "legacy undo" finds "undo" variable Problem: Vim9: "legacy undo" finds "undo" variable. Solution: Do not pass lookup function to find_ex_command(). (closes https://github.com/vim/vim/issues/8563) diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim --- a/src/testdir/test_vim9_assign.vim +++ b/src/testdir/test_vim9_assign.vim @@ -1632,6 +1632,13 @@ def Test_script_local_in_legacy() let s:legvar = 'one' END CheckScriptFailure(lines, 'E476:', 1) + + edit! Xfile + lines =<< trim END + var edit: bool + legacy edit + END + CheckDefAndScriptSuccess(lines) enddef def Test_var_type_check() diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -756,6 +756,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3174, +/**/ 3173, /**/ 3172, diff --git a/src/vim9compile.c b/src/vim9compile.c --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -9510,7 +9510,8 @@ compile_def_function( } } } - p = find_ex_command(&ea, NULL, starts_with_colon + p = find_ex_command(&ea, NULL, + starts_with_colon || (local_cmdmod.cmod_flags & CMOD_LEGACY) ? NULL : item_exists, &cctx); if (p == NULL)