summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-12-21 20:32:43 +0100
committerBram Moolenaar <Bram@vim.org>2020-12-21 20:32:43 +0100
commit60f63100b9bc1d24b7b80c81f43cf2fc3da95987 (patch)
tree6401024697d26e2af4ca7af7132de0c44f7dee4b
parentf4e2099e39ed4d71aed0f9a9579455aed5ec6cc2 (diff)
downloadvim-git-60f63100b9bc1d24b7b80c81f43cf2fc3da95987.tar.gz
patch 8.2.2183: Vim9: value of 'edcompatible' and 'gdefault' are usedv8.2.2183
Problem: Vim9: value of 'edcompatible' and 'gdefault' are used. Solution: Ignore these deprecated options in Vim9 script. (closes #7508)
-rw-r--r--src/ex_cmds.c9
-rw-r--r--src/testdir/test_vim9_cmd.vim13
-rw-r--r--src/version.c2
3 files changed, 24 insertions, 0 deletions
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 01f14cd58..a2b60c988 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3778,6 +3778,15 @@ ex_substitute(exarg_T *eap)
++cmd;
else
{
+#ifdef FEAT_EVAL
+ if (in_vim9script())
+ {
+ // ignore 'gdefault' and 'edcompatible'
+ subflags.do_all = FALSE;
+ subflags.do_ask = FALSE;
+ }
+ else
+#endif
if (!p_ed)
{
if (p_gd) // default is global on
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 3b8a7a45e..f05872ef2 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -740,4 +740,17 @@ def Test_magic_not_used()
bwipe!
enddef
+def Test_gdefault_not_used()
+ new
+ for cmd in ['set gdefault', 'set nogdefault']
+ exe cmd
+ setline(1, 'aaa')
+ s/./b/
+ assert_equal('baa', getline(1))
+ endfor
+
+ set nogdefault
+ bwipe!
+enddef
+
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
diff --git a/src/version.c b/src/version.c
index 41040af68..bebfa115e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2183,
+/**/
2182,
/**/
2181,