Patch 8.0.0602
Problem:    When gF fails to edit the file the cursor still moves to the found
            line number.
Solution:   Check the return value of do_ecmd(). (Michael Hwang)
Files:      src/normal.c, src/testdir/test_gf.vim


*** ../vim-8.0.0601/src/normal.c        2017-04-20 18:54:46.272771934 +0200
--- src/normal.c        2017-05-24 09:45:42.883485129 +0200
***************
*** 6250,6258 ****
        if (curbufIsChanged() && curbuf->b_nwindows <= 1 && !P_HID(curbuf))
            (void)autowrite(curbuf, FALSE);
        setpcmark();
!       (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST,
!                                      P_HID(curbuf) ? ECMD_HIDE : 0, curwin);
!       if (cap->nchar == 'F' && lnum >= 0)
        {
            curwin->w_cursor.lnum = lnum;
            check_cursor_lnum();
--- 6250,6258 ----
        if (curbufIsChanged() && curbuf->b_nwindows <= 1 && !P_HID(curbuf))
            (void)autowrite(curbuf, FALSE);
        setpcmark();
!       if (do_ecmd(0, ptr, NULL, NULL, ECMD_LAST,
!                                  P_HID(curbuf) ? ECMD_HIDE : 0, curwin) == OK
!               && cap->nchar == 'F' && lnum >= 0)
        {
            curwin->w_cursor.lnum = lnum;
            check_cursor_lnum();
*** ../vim-8.0.0601/src/testdir/test_gf.vim     2016-09-07 20:37:01.000000000 
+0200
--- src/testdir/test_gf.vim     2017-05-24 09:44:38.255878156 +0200
***************
*** 1,7 ****
  
  " This is a test if a URL is recognized by "gf", with the cursor before and
  " after the "://".  Also test ":\\".
! function! Test_gf_url()
    enew!
    call append(0, [
        \ "first test for URL://machine.name/tmp/vimtest2a and other text",
--- 1,7 ----
  
  " This is a test if a URL is recognized by "gf", with the cursor before and
  " after the "://".  Also test ":\\".
! func Test_gf_url()
    enew!
    call append(0, [
        \ "first test for URL://machine.name/tmp/vimtest2a and other text",
***************
*** 30,33 ****
  
    set isf&vim
    enew!
! endfunction
--- 30,54 ----
  
    set isf&vim
    enew!
! endfunc
! 
! func Test_gF()
!   new
!   call setline(1, ['111', '222', '333', '444'])
!   w! Xfile
!   close
!   new
!   call setline(1, ['one', 'Xfile:3', 'three'])
!   2
!   call assert_fails('normal gF', 'E37:')
!   call assert_equal(2, getcurpos()[1])
!   w! Xfile2
!   normal gF
!   call assert_equal('Xfile', bufname('%'))
!   call assert_equal(3, getcurpos()[1])
! 
!   call delete('Xfile')
!   call delete('Xfile2')
!   bwipe Xfile
!   bwipe Xfile2
! endfunc
*** ../vim-8.0.0601/src/version.c       2017-05-23 11:31:05.802965969 +0200
--- src/version.c       2017-05-24 09:36:05.198998339 +0200
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     602,
  /**/

-- 
BODY:        I'm not dead!
CART DRIVER: 'Ere.  He says he's not dead.
LARGE MAN:   Yes he is.
BODY:        I'm not!
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// 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