Patch 8.0.1053
Problem:    setline() does not work on startup. (Manuel Ortega)
Solution:   Do not check for ml_mfp to be set for the current buffer.
            (Christian Brabandt)
Files:      src/testdir/shared.vim, src/testdir/test_alot.vim,
            src/testdir/test_bufline.vim, src/testdir/test_timers.vim,
            src/evalfunc.c


*** ../vim-8.0.1052/src/testdir/shared.vim      2017-08-13 20:26:16.040377374 
+0200
--- src/testdir/shared.vim      2017-09-04 20:16:12.585521302 +0200
***************
*** 166,180 ****
  endfunc
  
  " Get the command to run Vim, with -u NONE and --not-a-term arguments.
  " Returns an empty string on error.
! func GetVimCommand()
    if !filereadable('vimcmd')
      return ''
    endif
    let cmd = readfile('vimcmd')[0]
!   let cmd = substitute(cmd, '-u \f\+', '-u NONE', '')
!   if cmd !~ '-u NONE'
!     let cmd = cmd . ' -u NONE'
    endif
    let cmd .= ' --not-a-term'
    let cmd = substitute(cmd, 'VIMRUNTIME=.*VIMRUNTIME;', '', '')
--- 166,186 ----
  endfunc
  
  " Get the command to run Vim, with -u NONE and --not-a-term arguments.
+ " If there is an argument use it instead of "NONE".
  " Returns an empty string on error.
! func GetVimCommand(...)
    if !filereadable('vimcmd')
      return ''
    endif
+   if a:0 == 0
+     let name = 'NONE'
+   else
+     let name = a:1
+   endif
    let cmd = readfile('vimcmd')[0]
!   let cmd = substitute(cmd, '-u \f\+', '-u ' . name, '')
!   if cmd !~ '-u '. name
!     let cmd = cmd . ' -u ' . name
    endif
    let cmd .= ' --not-a-term'
    let cmd = substitute(cmd, 'VIMRUNTIME=.*VIMRUNTIME;', '', '')
*** ../vim-8.0.1052/src/testdir/test_alot.vim   2017-09-02 19:45:00.049425409 
+0200
--- src/testdir/test_alot.vim   2017-09-04 20:18:28.460640375 +0200
***************
*** 1,6 ****
--- 1,8 ----
  " A series of tests that can run in one Vim invocation.
  " This makes testing go faster, since Vim doesn't need to restart.
  
+ source shared.vim
+ 
  set belloff=all
  source test_assign.vim
  source test_bufline.vim
*** ../vim-8.0.1052/src/testdir/test_bufline.vim        2017-09-02 
19:45:00.045425435 +0200
--- src/testdir/test_bufline.vim        2017-09-04 20:27:32.985105240 +0200
***************
*** 24,26 ****
--- 24,39 ----
    call assert_equal([], getbufline(b, 6))
    exe "bwipe! " . b
  endfunc
+ 
+ func Test_setline_startup()
+   let cmd = GetVimCommand('Xscript')
+   if cmd == ''
+     return
+   endif
+   call writefile(['call setline(1, "Hello")', 'w Xtest', 'q!'], 'Xscript')
+   call system(cmd)
+   call assert_equal(['Hello'], readfile('Xtest'))
+ 
+   call delete('Xscript')
+   call delete('Xtest')
+ endfunc
*** ../vim-8.0.1052/src/testdir/test_timers.vim 2017-09-03 15:48:07.907554560 
+0200
--- src/testdir/test_timers.vim 2017-09-04 20:29:53.492192490 +0200
***************
*** 1,7 ****
  " Test for timers
  
- source shared.vim
- 
  if !has('timers')
    finish
  endif
--- 1,5 ----
*** ../vim-8.0.1052/src/evalfunc.c      2017-09-03 15:48:07.907554560 +0200
--- src/evalfunc.c      2017-09-04 20:34:10.874520456 +0200
***************
*** 9885,9891 ****
      buf_T     *curbuf_save;
      int               is_curbuf = buf == curbuf;
  
!     if (buf == NULL || buf->b_ml.ml_mfp == NULL || lnum < 1)
      {
        rettv->vval.v_number = 1;       /* FAIL */
        return;
--- 9885,9894 ----
      buf_T     *curbuf_save;
      int               is_curbuf = buf == curbuf;
  
!     /* When using the current buffer ml_mfp will be set if needed.  Useful 
when
!      * setline() is used on startup.  For other buffers the buffer must be
!      * loaded. */
!     if (buf == NULL || (!is_curbuf && buf->b_ml.ml_mfp == NULL) || lnum < 1)
      {
        rettv->vval.v_number = 1;       /* FAIL */
        return;
*** ../vim-8.0.1052/src/version.c       2017-09-03 20:59:36.026190759 +0200
--- src/version.c       2017-09-04 20:32:43.119090775 +0200
***************
*** 771,772 ****
--- 771,774 ----
  {   /* Add new patch number below this line */
+ /**/
+     1053,
  /**/

-- 
Q: How many legs does a giraffe have?
A: Eight: two in front, two behind, two on the left and two on the right

 /// 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].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui