From ed8b099fd23b20d7b5a436182bde6672c8686189 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 8 Aug 2021 19:56:28 +0200 Subject: [PATCH] patch 8.2.3318: Vim9: cannot ignore quotes in number at the command line Problem: Vim9: cannot ignore quotes in number at the command line. Solution: Use in_vim9script() so that after ":vim9" quotes are ignored. --- src/testdir/test_float_func.vim | 4 ++++ src/typval.c | 2 +- src/version.c | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/testdir/test_float_func.vim b/src/testdir/test_float_func.vim index 628bbb0c06..77687d1fc3 100644 --- a/src/testdir/test_float_func.vim +++ b/src/testdir/test_float_func.vim @@ -261,6 +261,10 @@ def Test_float_quotes() call assert_fails("echo string(123'456.7'89)", 'E116:') enddef +func Test_float_quotes_from_legacy() + call assert_equal("\n123456.789", execute("vim9 echo 12'34'56.789")) +endfunc + func Test_float2nr() call assert_equal(1, float2nr(1.234)) call assert_equal(123, float2nr(1.234e2)) diff --git a/src/typval.c b/src/typval.c index 389ca34273..5a62fa0691 100644 --- a/src/typval.c +++ b/src/typval.c @@ -1704,7 +1704,7 @@ eval_number( int want_string UNUSED) { int len; - int skip_quotes = current_sctx.sc_version >= 4; + int skip_quotes = current_sctx.sc_version >= 4 || in_vim9script(); #ifdef FEAT_FLOAT char_u *p; int get_float = FALSE; diff --git a/src/version.c b/src/version.c index aacefc03d7..8971e5dd86 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3318, /**/ 3317, /**/