patch 8.2.2262: Vim9: converting bool to string prefixes v:
Problem: Vim9: converting bool to string prefixes v:.
Solution: Do not use the v: prefix.
diff --git a/src/evalvars.c b/src/evalvars.c
index f9b3c48..9f84d76 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -2068,8 +2068,8 @@
{
switch (nr)
{
- case VVAL_FALSE: return "v:false";
- case VVAL_TRUE: return "v:true";
+ case VVAL_FALSE: return in_vim9script() ? "false" : "v:false";
+ case VVAL_TRUE: return in_vim9script() ? "true" : "v:true";
case VVAL_NONE: return "v:none";
case VVAL_NULL: return "v:null";
}
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index baac587..fa51224 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -182,7 +182,7 @@
var res = execute('disass s:ScriptFuncPush')
assert_match('<SNR>\d*_ScriptFuncPush.*' ..
'localbool = true.*' ..
- ' PUSH v:true.*' ..
+ ' PUSH true.*' ..
'localspec = v:none.*' ..
' PUSH v:none.*' ..
'localblob = 0z1234.*' ..
@@ -1461,7 +1461,7 @@
var instr = execute('disassemble InvertBool')
assert_match('InvertBool\_s*' ..
'var flag = true\_s*' ..
- '\d PUSH v:true\_s*' ..
+ '\d PUSH true\_s*' ..
'\d STORE $0\_s*' ..
'var invert = !flag\_s*' ..
'\d LOAD $0\_s*' ..
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index e77c1f7..8fe0418 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1056,14 +1056,19 @@
assert_equal('123 hello', 123 .. ' hello')
assert_equal('123456', 123 .. 456)
- assert_equal('av:true', 'a' .. true)
- assert_equal('av:false', 'a' .. false)
+ assert_equal('atrue', 'a' .. true)
+ assert_equal('afalse', 'a' .. false)
assert_equal('av:null', 'a' .. v:null)
assert_equal('av:none', 'a' .. v:none)
if has('float')
assert_equal('a0.123', 'a' .. 0.123)
endif
+ set digraph
+ assert_equal('val: true', 'val: ' .. &digraph)
+ set nodigraph
+ assert_equal('val: false', 'val: ' .. &digraph)
+
assert_equal([1, 2, 3, 4], [1, 2] + [3, 4])
assert_equal(0z11223344, 0z1122 + 0z3344)
assert_equal(0z112201ab, 0z1122
diff --git a/src/version.c b/src/version.c
index b016c28..ceea277 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2262,
+/**/
2261,
/**/
2260,