Patch 8.2.3683

7 views
Skip to first unread message

Bram Moolenaar

unread,
Nov 27, 2021, 6:43:37 AM11/27/21
to vim...@googlegroups.com

Patch 8.2.3683
Problem: Vim9: cannot use `=expr` in :...do commands.
Solution: Add EX_EXPAND to the commands. (closes #9232)
Files: src/ex_cmds.h, src/testdir/test_vim9_cmd.vim


*** ../vim-8.2.3682/src/ex_cmds.h 2021-11-12 11:25:06.291264320 +0000
--- src/ex_cmds.h 2021-11-27 11:31:56.043299947 +0000
***************
*** 145,151 ****
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,
ADDR_ARGUMENTS),
EXCMD(CMD_argedit, "argedit", ex_argedit,
EX_BANG|EX_NEEDARG|EX_RANGE|EX_ZEROR|EX_FILES|EX_CMDARG|EX_ARGOPT|EX_TRLBAR,
--- 145,151 ----
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_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,241 ****
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,
ADDR_BUFFERS),
EXCMD(CMD_bunload, "bunload", ex_bunload,
EX_BANG|EX_RANGE|EX_BUFNAME|EX_COUNT|EX_EXTRA|EX_TRLBAR,
--- 235,241 ----
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_EXPAND,
ADDR_BUFFERS),
EXCMD(CMD_bunload, "bunload", ex_bunload,
EX_BANG|EX_RANGE|EX_BUFNAME|EX_COUNT|EX_EXTRA|EX_TRLBAR,
***************
*** 301,307 ****
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,
ADDR_QUICKFIX_VALID),
EXCMD(CMD_center, "center", ex_align,
EX_TRLBAR|EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK|EX_MODIFY,
--- 301,307 ----
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_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,319 ****
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,
ADDR_QUICKFIX_VALID),
EXCMD(CMD_cfirst, "cfirst", ex_cc,
EX_RANGE|EX_COUNT|EX_TRLBAR|EX_BANG,
--- 313,319 ----
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_EXPAND,
ADDR_QUICKFIX_VALID),
EXCMD(CMD_cfirst, "cfirst", ex_cc,
EX_RANGE|EX_COUNT|EX_TRLBAR|EX_BANG,
***************
*** 838,844 ****
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,
ADDR_QUICKFIX_VALID),
EXCMD(CMD_left, "left", ex_align,
EX_TRLBAR|EX_RANGE|EX_WHOLEFOLD|EX_EXTRA|EX_CMDWIN|EX_LOCK_OK|EX_MODIFY,
--- 838,844 ----
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_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,865 ****
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,
ADDR_QUICKFIX_VALID),
EXCMD(CMD_lfirst, "lfirst", ex_cc,
EX_RANGE|EX_COUNT|EX_TRLBAR|EX_BANG,
--- 859,865 ----
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_EXPAND,
ADDR_QUICKFIX_VALID),
EXCMD(CMD_lfirst, "lfirst", ex_cc,
EX_RANGE|EX_COUNT|EX_TRLBAR|EX_BANG,
***************
*** 1534,1540 ****
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,
ADDR_TABS),
EXCMD(CMD_tabedit, "tabedit", ex_splitview,
EX_BANG|EX_FILE1|EX_RANGE|EX_ZEROR|EX_CMDARG|EX_ARGOPT|EX_TRLBAR,
--- 1534,1540 ----
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_EXPAND,
ADDR_TABS),
EXCMD(CMD_tabedit, "tabedit", ex_splitview,
EX_BANG|EX_FILE1|EX_RANGE|EX_ZEROR|EX_CMDARG|EX_ARGOPT|EX_TRLBAR,
***************
*** 1768,1774 ****
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,
ADDR_WINDOWS),
EXCMD(CMD_winpos, "winpos", ex_winpos,
EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
--- 1768,1774 ----
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_EXPAND,
ADDR_WINDOWS),
EXCMD(CMD_winpos, "winpos", ex_winpos,
EX_EXTRA|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK,
*** ../vim-8.2.3682/src/testdir/test_vim9_cmd.vim 2021-11-23 14:52:03.029446451 +0000
--- src/testdir/test_vim9_cmd.vim 2021-11-27 11:41:59.866570568 +0000
***************
*** 105,110 ****
--- 105,127 ----
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()
*** ../vim-8.2.3682/src/version.c 2021-11-26 17:36:48.012799185 +0000
--- src/version.c 2021-11-27 11:16:30.812964740 +0000
***************
*** 759,760 ****
--- 759,762 ----
{ /* Add new patch number below this line */
+ /**/
+ 3683,
/**/

--
JOHN CLEESE PLAYED: SECOND SOLDIER WITH A KEEN INTEREST IN BIRDS, LARGE MAN
WITH DEAD BODY, BLACK KNIGHT, MR NEWT (A VILLAGE
BLACKSMITH INTERESTED IN BURNING WITCHES), A QUITE
EXTRAORDINARILY RUDE FRENCHMAN, TIM THE WIZARD, SIR
LAUNCELOT
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages