]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.2040: :tlunmenu incorrectly accepts a range v9.1.2040
authorDoug Kearns <dougkearns@gmail.com>
Fri, 2 Jan 2026 13:45:46 +0000 (13:45 +0000)
committerChristian Brabandt <cb@256bit.org>
Fri, 2 Jan 2026 13:45:46 +0000 (13:45 +0000)
Problem:  :tlnumenu incorrectly accepts a range.
Solution: Remove EX_RANGE and EX_ZEROR from the command definition and
          use ADDR_NONE (Doug Kearns).

closes: #19055

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/ex_cmds.h
src/testdir/test_menu.vim
src/version.c

index 8eda9ccee71d4d82e0e09e434c657d6963e3159e..4471e2adb81416368cd4c32552a5d1b572419e04 100644 (file)
@@ -1647,8 +1647,8 @@ EXCMD(CMD_tlnoremenu,     "tlnoremenu",   ex_menu,
        EX_RANGE|EX_ZEROR|EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK,
        ADDR_OTHER),
 EXCMD(CMD_tlunmenu,    "tlunmenu",     ex_menu,
-       EX_RANGE|EX_ZEROR|EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK,
-       ADDR_OTHER),
+       EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK,
+       ADDR_NONE),
 EXCMD(CMD_tmenu,       "tmenu",        ex_menu,
        EX_RANGE|EX_ZEROR|EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK,
        ADDR_OTHER),
index e42dd0cc4b9c1da6f30ca1c6e03452e02df70bf5..627d81476e42f0f0b2cdbe4189eef632b9ef2181 100644 (file)
@@ -159,6 +159,12 @@ func Test_menu_errors()
   unmenu Test
 endfunc
 
+func Test_unmenu_range_errors()
+  for prefix in ['', 'a', 'c', 'i', 'n', 's', 't', 'tl', 'v', 'x']
+    call assert_fails('42' .. prefix .. 'unmenu', 'E481:')
+  endfor
+endfunc
+
 " Test for menu item completion in command line
 func Test_menu_expand()
   " Create the menu items for test
index 99804297effb3fb649f41200b796f4f18e4a76b9..7ab092ac58ee0ba3ae82bdc73e4895b8b0fa19a1 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2040,
 /**/
     2039,
 /**/