]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.2.0574: tests: missing test for v9.2.0572 v9.2.0574
authorthinca <thinca@gmail.com>
Sun, 31 May 2026 19:43:42 +0000 (19:43 +0000)
committerChristian Brabandt <cb@256bit.org>
Sun, 31 May 2026 19:47:46 +0000 (19:47 +0000)
Problem:  tests: missing test for v9.2.0572 (the patch accidentally
          included some additional unwanted changes from #20372)
          (thinca)
Solution: Add additional test for delfunc
          (thinca)

Patch 9.2.0572 fixed ":call d.key()" and ":delfunction d.key" failing
with E1017 in Vim9 script, but only the :call form was covered by a
regression test.  Add Test_delfunction_dict_funcref to exercise both
"delfunction d.key" and "delfunction d['k2']".

closes: #20372

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/testdir/test_vim9_cmd.vim
src/version.c

index a4c2d05d455d4efaa2306a394a1b45da67bb25d6..cec81f3ed636706458388b5ad46a8d5a1092b4fd 100644 (file)
@@ -2178,4 +2178,23 @@ def Test_call_dict_funcref()
   v9.CheckScriptSuccess(lines)
 enddef
 
+" :delfunction on a funcref stored in a dict member used to fail with E1017 in
+" Vim9 script for the same reason as :call.
+def Test_delfunction_dict_funcref()
+  var lines =<< trim END
+      vim9script
+      func g:LegacyFunc()
+      endfunc
+      var d: dict<any> = {}
+      d.key = g:LegacyFunc
+      d['k2'] = g:LegacyFunc
+      delfunction d.key
+      assert_false(has_key(d, 'key'))
+      delfunction d['k2']
+      assert_false(has_key(d, 'k2'))
+      delfunction g:LegacyFunc
+  END
+  v9.CheckScriptSuccess(lines)
+enddef
+
 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
index 53c557e432a015c04aaed09d42d464200ebaedcd..361a0ca1f575e17214eb6e295d99c76f14540fd7 100644 (file)
@@ -729,6 +729,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    574,
 /**/
     573,
 /**/