patch 8.1.0220: Ruby converts v:true and v:false to a number
Problem: Ruby converts v:true and v:false to a number.
Solution: Use Qtrue and Qfalse instead. (Masataka Pocke Kuwabara,
closes #3259)
diff --git a/src/testdir/test_ruby.vim b/src/testdir/test_ruby.vim
index ae27b39..36442fc 100644
--- a/src/testdir/test_ruby.vim
+++ b/src/testdir/test_ruby.vim
@@ -33,6 +33,14 @@
call assert_equal(['{"a"=>"foo", "b"=>123}'], split(l:out, "\n"))
endfunc
+func Test_ruby_evaluate_special_var()
+ let l = [v:true, v:false, v:null, v:none]
+ redir => l:out
+ ruby d = Vim.evaluate("l"); print d
+ redir END
+ call assert_equal(['[true, false, nil, nil]'], split(l:out, "\n"))
+endfunc
+
func Test_rubydo()
" Check deleting lines does not trigger ml_get error.
new