]> granicus.if.org Git - vim/commitdiff
patch 8.2.1603: Vim9: cannot use "true" with getchar() v8.2.1603
authorBram Moolenaar <Bram@vim.org>
Sat, 5 Sep 2020 15:51:23 +0000 (17:51 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 5 Sep 2020 15:51:23 +0000 (17:51 +0200)
Problem:    Vim9: cannot use "true" with getchar().
Solution:   use tv_get_bool_chk(). (closes #6874)

src/getchar.c
src/testdir/test_vim9_func.vim
src/version.c

index a8778e0c61503680e19622e8e1d51ee791743874..4f5ea463906e97bd37ba053752846974e0dd3e3b 100644 (file)
@@ -2037,7 +2037,7 @@ f_getchar(typval_T *argvars, typval_T *rettv)
        if (argvars[0].v_type == VAR_UNKNOWN)
            // getchar(): blocking wait.
            n = plain_vgetc();
-       else if (tv_get_number_chk(&argvars[0], &error) == 1)
+       else if (tv_get_bool_chk(&argvars[0], &error))
            // getchar(1): only check if char avail
            n = vpeekc_any();
        else if (error || vpeekc_any() == NUL)
index 7303db997ddac342759e5bfbd7be42959dcf6809..3453f4488826b9370516a6e702f58d20b24d3868 100644 (file)
@@ -1505,6 +1505,10 @@ def Test_getbufinfo()
   bwipe Xtestfile1 Xtestfile2
 enddef
 
+def Test_getchar()
+  assert_equal(0, getchar(true))
+enddef
+
 def Fibonacci(n: number): number
   if n < 2
     return n
index 9a58f113c1592869829c6452d2680548cdc6e675..7ce5eb2412d7306167462cc3322bd4727f3bd475 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1603,
 /**/
     1602,
 /**/