Patch 8.2.0282
Problem:    Vim9: setting number option not tested.
Solution:   Add more tests.   Fix assigning to global variable.
Files:      src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim,
            src/vim9execute.c


*** ../vim-8.2.0281/src/testdir/test_vim9_expr.vim      2020-02-19 
12:40:36.343661114 +0100
--- src/testdir/test_vim9_expr.vim      2020-02-19 18:01:28.976048113 +0100
***************
*** 596,603 ****
  
  let $TESTVAR = 'testvar'
  
- let @a = 'register a'
- 
  " test low level expression
  def Test_expr7_number()
    " number constant
--- 596,601 ----
***************
*** 675,680 ****
--- 673,680 ----
    " option
    set ts=11
    assert_equal(11, &ts)
+   &ts = 9
+   assert_equal(9, &ts)
    set ts=8
    set grepprg=some\ text
    assert_equal('some text', &grepprg)
***************
*** 690,696 ****
  enddef
  
  def Test_expr7_register()
!   " register
    assert_equal('register a', @a)
  enddef
  
--- 690,696 ----
  enddef
  
  def Test_expr7_register()
!   @a = 'register a'
    assert_equal('register a', @a)
  enddef
  
***************
*** 724,730 ****
    call CheckDefFailure("let x = @", "E1002:")
    call CheckDefFailure("let x = @<", "E354:")
  
!   call CheckDefFailure("let x = &notexist", "E113:")
  endfunc
  
  let g:Funcrefs = [function('add')]
--- 724,731 ----
    call CheckDefFailure("let x = @", "E1002:")
    call CheckDefFailure("let x = @<", "E354:")
  
!   call CheckDefFailure("let x = &notexist", 'E113:')
!   call CheckDefExecFailure("&grepprg = [343]", 'E1051:')
  endfunc
  
  let g:Funcrefs = [function('add')]
*** ../vim-8.2.0281/src/testdir/test_vim9_script.vim    2020-02-19 
17:06:07.428684012 +0100
--- src/testdir/test_vim9_script.vim    2020-02-19 18:04:28.351379586 +0100
***************
*** 29,34 ****
--- 29,35 ----
  
  let s:appendToMe = 'xxx'
  let s:addToMe = 111
+ let g:existing = 'yes'
  
  def Test_assignment()
    let bool1: bool = true
***************
*** 46,51 ****
--- 47,59 ----
    let dict1: dict<string> = #{key: 'value'}
    let dict2: dict<number> = #{one: 1, two: 2}
  
+   g:newvar = 'new'
+   assert_equal('new', g:newvar)
+ 
+   assert_equal('yes', g:existing)
+   g:existing = 'no'
+   assert_equal('no', g:existing)
+ 
    v:char = 'abc'
    assert_equal('abc', v:char)
  
*** ../vim-8.2.0281/src/vim9execute.c   2020-02-19 17:06:07.424684028 +0100
--- src/vim9execute.c   2020-02-19 18:12:19.878080861 +0100
***************
*** 726,733 ****
                    int reg = iptr->isn_arg.number;
  
                    --ectx.ec_stack.ga_len;
                    write_reg_contents(reg == '@' ? '"' : reg,
!                                   tv_get_string(STACK_TV_BOT(0)), -1, FALSE);
                }
                break;
  
--- 726,735 ----
                    int reg = iptr->isn_arg.number;
  
                    --ectx.ec_stack.ga_len;
+                   tv = STACK_TV_BOT(0);
                    write_reg_contents(reg == '@' ? '"' : reg,
!                                                tv_get_string(tv), -1, FALSE);
!                   clear_tv(tv);
                }
                break;
  
***************
*** 746,752 ****
  
                    --ectx.ec_stack.ga_len;
                    di = find_var_in_ht(get_globvar_ht(), 0,
!                                                  iptr->isn_arg.string, TRUE);
                    if (di == NULL)
                    {
                        funccal_entry_T entry;
--- 748,754 ----
  
                    --ectx.ec_stack.ga_len;
                    di = find_var_in_ht(get_globvar_ht(), 0,
!                                              iptr->isn_arg.string + 2, TRUE);
                    if (di == NULL)
                    {
                        funccal_entry_T entry;
*** ../vim-8.2.0281/src/version.c       2020-02-19 17:12:48.911095268 +0100
--- src/version.c       2020-02-19 17:52:05.222158789 +0100
***************
*** 740,741 ****
--- 740,743 ----
  {   /* Add new patch number below this line */
+ /**/
+     282,
  /**/

-- 
>From "know your smileys":
 :-D    Big smile

 /// 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/202002191715.01JHFDC8005806%40masaka.moolenaar.net.

Raspunde prin e-mail lui