Mercurial > vim
diff src/normal.c @ 11366:b16bc115a270 v8.0.0568
patch 8.0.0568: 1gd may hang
commit https://github.com/vim/vim/commit/60402d68da09997cacdeec71fd22c9344f8f40d5
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 20 18:54:50 2017 +0200
patch 8.0.0568: 1gd may hang
Problem: "1gd" may hang.
Solution: Don't get stuck in one position. (Christian Brabandt, closes https://github.com/vim/vim/issues/1643)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 20 Apr 2017 19:00:06 +0200 |
parents | 501f46f7644c |
children | 69b52a770b29 |
line wrap: on
line diff
--- a/src/normal.c +++ b/src/normal.c @@ -4371,7 +4371,12 @@ find_decl( if ((pos = findmatchlimit(NULL, '}', FM_FORWARD, (int)(old_pos.lnum - curwin->w_cursor.lnum + 1))) != NULL && pos->lnum < old_pos.lnum) + { + /* There can't be a useful match before the end of this block. + * Skip to the end. */ + curwin->w_cursor = *pos; continue; + } } if (t == FAIL) @@ -8311,6 +8316,7 @@ nv_g_cmd(cmdarg_T *cap) break; #endif + /* "g<": show scrollback text */ case '<': show_sb_text(); break;