patch 8.0.0602: when gF fails to edit the file the cursor still moves
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)
diff --git a/src/testdir/test_gf.vim b/src/testdir/test_gf.vim
index c4aa6f9..1f3db24 100644
--- a/src/testdir/test_gf.vim
+++ b/src/testdir/test_gf.vim
@@ -1,7 +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()
+func Test_gf_url()
enew!
call append(0, [
\ "first test for URL://machine.name/tmp/vimtest2a and other text",
@@ -30,4 +30,25 @@
set isf&vim
enew!
-endfunction
+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