patch 7.4.1940
Problem: "gd" hangs in some situations. (Eric Biggers)
Solution: Remove the SEARCH_START flag when looping. Add a test.
diff --git a/src/testdir/test_goto.vim b/src/testdir/test_goto.vim
index fb8f190..2afd96b 100644
--- a/src/testdir/test_goto.vim
+++ b/src/testdir/test_goto.vim
@@ -1,6 +1,6 @@
" Test commands that jump somewhere.
-func Test_geedee()
+func Test_geeDEE()
new
call setline(1, ["Filename x;", "", "int Filename", "int func() {", "Filename y;"])
/y;/
@@ -8,3 +8,13 @@
call assert_equal(1, line('.'))
quit!
endfunc
+
+func Test_gee_dee()
+ new
+ call setline(1, ["int x;", "", "int func(int x)", "{", " return x;", "}"])
+ /return/
+ normal $hgd
+ call assert_equal(3, line('.'))
+ call assert_equal(14, col('.'))
+ quit!
+endfunc