Patch 8.2.1612
Problem:    Vim9: cannot pass "true" to prop_remove().
Solution:   Use dict_get_bool(). (closes #6853)
Files:      src/textprop.c, src/testdir/test_textprop.vim


*** ../vim-8.2.1611/src/textprop.c      2020-09-03 22:33:40.969029618 +0200
--- src/textprop.c      2020-09-05 20:47:43.578133565 +0200
***************
*** 805,815 ****
      linenr_T  lnum;
      dict_T    *dict;
      buf_T     *buf = curbuf;
!     dictitem_T        *di;
!     int               do_all = FALSE;
      int               id = -1;
      int               type_id = -1;
!     int               both = FALSE;
  
      rettv->vval.v_number = 0;
      if (argvars[0].v_type != VAR_DICT || argvars[0].vval.v_dict == NULL)
--- 805,814 ----
      linenr_T  lnum;
      dict_T    *dict;
      buf_T     *buf = curbuf;
!     int               do_all;
      int               id = -1;
      int               type_id = -1;
!     int               both;
  
      rettv->vval.v_number = 0;
      if (argvars[0].v_type != VAR_DICT || argvars[0].vval.v_dict == NULL)
***************
*** 837,845 ****
      if (buf->b_ml.ml_mfp == NULL)
        return;
  
!     di = dict_find(dict, (char_u*)"all", -1);
!     if (di != NULL)
!       do_all = dict_get_number(dict, (char_u *)"all");
  
      if (dict_find(dict, (char_u *)"id", -1) != NULL)
        id = dict_get_number(dict, (char_u *)"id");
--- 836,842 ----
      if (buf->b_ml.ml_mfp == NULL)
        return;
  
!     do_all = dict_get_bool(dict, (char_u *)"all", FALSE);
  
      if (dict_find(dict, (char_u *)"id", -1) != NULL)
        id = dict_get_number(dict, (char_u *)"id");
***************
*** 852,859 ****
            return;
        type_id = type->pt_id;
      }
!     if (dict_find(dict, (char_u *)"both", -1) != NULL)
!       both = dict_get_number(dict, (char_u *)"both");
      if (id == -1 && type_id == -1)
      {
        emsg(_("E968: Need at least one of 'id' or 'type'"));
--- 849,856 ----
            return;
        type_id = type->pt_id;
      }
!     both = dict_get_bool(dict, (char_u *)"both", FALSE);
! 
      if (id == -1 && type_id == -1)
      {
        emsg(_("E968: Need at least one of 'id' or 'type'"));
*** ../vim-8.2.1611/src/testdir/test_textprop.vim       2020-09-04 
21:18:40.488161918 +0200
--- src/testdir/test_textprop.vim       2020-09-05 20:48:26.894034649 +0200
***************
*** 321,326 ****
--- 321,335 ----
    bwipe!
  endfunc
  
+ def Test_prop_remove_vim9()
+   new
+   call AddPropTypes()
+   call SetupPropsInFirstLine()
+   call assert_equal(1, prop_remove({'type': 'three', 'id': 13, 'both': true, 
'all': true}))
+   call DeletePropTypes()
+   bwipe!
+ enddef
+ 
  func SetupOneLine()
    call setline(1, 'xonex xtwoxx')
    normal gg0
*** ../vim-8.2.1611/src/version.c       2020-09-05 20:29:35.748679383 +0200
--- src/version.c       2020-09-05 20:39:01.667358657 +0200
***************
*** 756,757 ****
--- 756,759 ----
  {   /* Add new patch number below this line */
+ /**/
+     1612,
  /**/

-- 
The early bird gets the worm. If you want something else for
breakfast, get up later.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202009051851.085IpgiU684300%40masaka.moolenaar.net.

Raspunde prin e-mail lui