]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.2262: Vim9: converting bool to string prefixes v: v8.2.2262
authorBram Moolenaar <Bram@vim.org>
Fri, 1 Jan 2021 14:11:04 +0000 (15:11 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 1 Jan 2021 14:11:04 +0000 (15:11 +0100)
Problem:    Vim9: converting bool to string prefixes v:.
Solution:   Do not use the v: prefix.

src/evalvars.c
src/testdir/test_vim9_disassemble.vim
src/testdir/test_vim9_expr.vim
src/version.c

index f9b3c486cbe87ae1500b48ae4823aa3b8cc75221..9f84d76efa2fec56b75925e2c498fa4c60d21fa0 100644 (file)
@@ -2068,8 +2068,8 @@ get_var_special_name(int nr)
 {
     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";
     }
index baac5871fbb7b0fdbfab1907b6b334fa959e8d97..fa512242501971c8dad567b8e2a232756e5c28bf 100644 (file)
@@ -182,7 +182,7 @@ def Test_disassemble_push()
   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 @@ def Test_disassemble_invert_bool()
   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*' ..
index e77c1f7e6d9d3563ca5d05b98e8529e8300b70ef..8fe041899cbba2c37b1c7cf232f8f8f17b0e72b2 100644 (file)
@@ -1056,14 +1056,19 @@ def Test_expr5()
       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
index b016c289e5be58000192ce158e581d99aa7250c5..ceea2777f525feb6598a46d36bcd2b5a99438a87 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2262,
 /**/
     2261,
 /**/