]> granicus.if.org Git - vim/commitdiff
patch 8.2.3683: Vim9: cannot use in :...do commands v8.2.3683
authorBram Moolenaar <Bram@vim.org>
Sat, 27 Nov 2021 11:42:50 +0000 (11:42 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 27 Nov 2021 11:42:50 +0000 (11:42 +0000)
Problem:    Vim9: cannot use  in :...do commands.
Solution:   Add EX_EXPAND to the commands. (closes #9232)

src/ex_cmds.h
src/testdir/test_vim9_cmd.vim
src/version.c

index 35080dbc62cdaa125fc82e2983e6bfa9503f70f1..fcf15ba60f47a763b77a275b2e9f77a5c99ff7d6 100644 (file)
@@ -145,7 +145,7 @@ EXCMD(CMD_argdelete,        "argdelete",    ex_argdelete,
        EX_BANG|EX_RANGE|EX_FILES|EX_TRLBAR,
        ADDR_ARGUMENTS),
 EXCMD(CMD_argdo,       "argdo",        ex_listdo,
-       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL,
+       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL|EX_EXPAND,
        ADDR_ARGUMENTS),
 EXCMD(CMD_argedit,     "argedit",      ex_argedit,
        EX_BANG|EX_NEEDARG|EX_RANGE|EX_ZEROR|EX_FILES|EX_CMDARG|EX_ARGOPT|EX_TRLBAR,
@@ -235,7 +235,7 @@ EXCMD(CMD_buffers,  "buffers",      buflist_list,
        EX_BANG|EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
        ADDR_NONE),
 EXCMD(CMD_bufdo,       "bufdo",        ex_listdo,
-       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL,
+       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL|EX_EXPAND,
        ADDR_BUFFERS),
 EXCMD(CMD_bunload,     "bunload",      ex_bunload,
        EX_BANG|EX_RANGE|EX_BUFNAME|EX_COUNT|EX_EXTRA|EX_TRLBAR,
@@ -301,7 +301,7 @@ EXCMD(CMD_cd,               "cd",           ex_cd,
        EX_BANG|EX_FILE1|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
        ADDR_NONE),
 EXCMD(CMD_cdo,         "cdo",          ex_listdo,
-       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL,
+       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL|EX_EXPAND,
        ADDR_QUICKFIX_VALID),
 EXCMD(CMD_center,      "center",       ex_align,
        EX_TRLBAR|EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK|EX_MODIFY,
@@ -313,7 +313,7 @@ EXCMD(CMD_cfile,    "cfile",        ex_cfile,
        EX_TRLBAR|EX_FILE1|EX_BANG,
        ADDR_NONE),
 EXCMD(CMD_cfdo,                "cfdo",         ex_listdo,
-       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL,
+       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL|EX_EXPAND,
        ADDR_QUICKFIX_VALID),
 EXCMD(CMD_cfirst,      "cfirst",       ex_cc,
        EX_RANGE|EX_COUNT|EX_TRLBAR|EX_BANG,
@@ -838,7 +838,7 @@ EXCMD(CMD_lcscope,  "lcscope",      ex_cscope,
        EX_EXTRA|EX_NOTRLCOM|EX_XFILE,
        ADDR_NONE),
 EXCMD(CMD_ldo,         "ldo",          ex_listdo,
-       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL,
+       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL|EX_EXPAND,
        ADDR_QUICKFIX_VALID),
 EXCMD(CMD_left,                "left",         ex_align,
        EX_TRLBAR|EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK|EX_MODIFY,
@@ -859,7 +859,7 @@ EXCMD(CMD_lfile,    "lfile",        ex_cfile,
        EX_TRLBAR|EX_FILE1|EX_BANG,
        ADDR_NONE),
 EXCMD(CMD_lfdo,                "lfdo",         ex_listdo,
-       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL,
+       EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL|EX_EXPAND,
        ADDR_QUICKFIX_VALID),
 EXCMD(CMD_lfirst,      "lfirst",       ex_cc,
        EX_RANGE|EX_COUNT|EX_TRLBAR|EX_BANG,
@@ -1534,7 +1534,7 @@ EXCMD(CMD_tabclose,       "tabclose",     ex_tabclose,
        EX_BANG|EX_RANGE|EX_ZEROR|EX_EXTRA|EX_NOSPC|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
        ADDR_TABS),
 EXCMD(CMD_tabdo,       "tabdo",        ex_listdo,
-       EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL,
+       EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL|EX_EXPAND,
        ADDR_TABS),
 EXCMD(CMD_tabedit,     "tabedit",      ex_splitview,
        EX_BANG|EX_FILE1|EX_RANGE|EX_ZEROR|EX_CMDARG|EX_ARGOPT|EX_TRLBAR,
@@ -1768,7 +1768,7 @@ EXCMD(CMD_wincmd, "wincmd",       ex_wincmd,
        EX_NEEDARG|EX_WORD1|EX_RANGE|EX_CMDWIN|EX_LOCK_OK,
        ADDR_OTHER),
 EXCMD(CMD_windo,       "windo",        ex_listdo,
-       EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL,
+       EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_RANGE|EX_DFLALL|EX_EXPAND,
        ADDR_WINDOWS),
 EXCMD(CMD_winpos,      "winpos",       ex_winpos,
        EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
index 81899d6f00edfbf713a9242072b75e413beb3939..7a05189db8816c91a3f0f52aaacc9530f3813b6f 100644 (file)
@@ -105,6 +105,23 @@ def Test_edit_wildcards()
   var files = ['file 1', 'file%2', 'file# 3']
   args `=files`
   assert_equal(files, argv())
+
+  filename = 'Xwindo'
+  windo edit `=filename`
+  assert_equal('Xwindo', bufname())
+
+  filename = 'Xtabdo'
+  tabdo edit `=filename`
+  assert_equal('Xtabdo', bufname())
+
+  filename = 'Xargdo'
+  argdo edit `=filename`
+  assert_equal('Xargdo', bufname())
+
+  :%bwipe!
+  filename = 'Xbufdo'
+  bufdo file `=filename`
+  assert_equal('Xbufdo', bufname())
 enddef
 
 def Test_expand_alternate_file()
index f328f833c8022c99c607486bd92826f8859b4c41..7361d90f26a1357c9ba35527f4df8d856329a7c9 100644 (file)
@@ -757,6 +757,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    3683,
 /**/
     3682,
 /**/