Patch 8.2.0306
Problem: Vim9: :substitute(pat(repl does not work in Vim9 script.
Solution: Remember starting with a colon. (closes #5676)
Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim
*** ../vim-8.2.0305/src/ex_docmd.c 2020-02-22 18:36:18.604483756 +0100
--- src/ex_docmd.c 2020-02-23 14:31:57.369013366 +0100
***************
*** 1647,1652 ****
--- 1647,1655 ----
int save_reg_executing = reg_executing;
int ni; // set when Not Implemented
char_u *cmd;
+ #ifdef FEAT_EVAL
+ int starts_with_colon;
+ #endif
vim_memset(&ea, 0, sizeof(ea));
ea.line1 = 1;
***************
*** 1689,1694 ****
--- 1692,1698 ----
ea.cookie = cookie;
#ifdef FEAT_EVAL
ea.cstack = cstack;
+ starts_with_colon = *skipwhite(ea.cmd) == ':';
#endif
if (parse_command_modifiers(&ea, &errormsg, FALSE) == FAIL)
goto doend;
***************
*** 1713,1719 ****
ea.cmd = skipwhite(ea.cmd + 1);
#ifdef FEAT_EVAL
! if (current_sctx.sc_version == SCRIPT_VERSION_VIM9)
p = find_ex_command(&ea, NULL, lookup_scriptvar, NULL);
else
#endif
--- 1717,1723 ----
ea.cmd = skipwhite(ea.cmd + 1);
#ifdef FEAT_EVAL
! if (current_sctx.sc_version == SCRIPT_VERSION_VIM9 && !starts_with_colon)
p = find_ex_command(&ea, NULL, lookup_scriptvar, NULL);
else
#endif
*** ../vim-8.2.0305/src/testdir/test_vim9_script.vim 2020-02-22
18:36:18.608483742 +0100
--- src/testdir/test_vim9_script.vim 2020-02-23 14:27:49.825770218 +0100
***************
*** 580,585 ****
--- 580,600 ----
setline(1, 'something')
:substitute(some(other(
assert_equal('otherthing', getline(1))
+ bwipe!
+
+ " also when the context is Vim9 script
+ let lines =<< trim END
+ vim9script
+ new
+ setline(1, 'something')
+ :substitute(some(other(
+ assert_equal('otherthing', getline(1))
+ bwipe!
+ END
+ writefile(lines, 'Xvim9lines')
+ source Xvim9lines
+
+ delete('Xvim9lines')
enddef
*** ../vim-8.2.0305/src/version.c 2020-02-23 13:38:05.730666220 +0100
--- src/version.c 2020-02-23 14:29:11.781524858 +0100
***************
*** 740,741 ****
--- 740,743 ----
{ /* Add new patch number below this line */
+ /**/
+ 306,
/**/
--
hundred-and-one symptoms of being an internet addict:
102. When filling out your driver's license application, you give
your IP address.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/202002231336.01NDaLT9016146%40masaka.moolenaar.net.