vim-patch:7.4.487

Problem:    ":sign jump" may use another window even though the file is
	    already edited in the current window.
Solution:   First check if the file is in the current window. (James McCoy)

https://code.google.com/p/vim/source/detail?r=v7-4-487
This commit is contained in:
Justin M. Keyes 2014-12-29 00:17:46 -05:00
parent ec615012a7
commit bb1be08bae
2 changed files with 15 additions and 14 deletions

View File

@ -251,7 +251,7 @@ static int included_patches[] = {
//490,
489,
488,
//487,
487,
486,
485,
//484 NA

View File

@ -3543,27 +3543,28 @@ static void win_enter_ext(win_T *wp, bool undo_sync, int curwin_invalid, int tri
}
/*
* Jump to the first open window that contains buffer "buf", if one exists.
* Returns a pointer to the window found, otherwise NULL.
*/
/// Jump to the first open window that contains buffer "buf", if one exists.
/// Returns a pointer to the window found, otherwise NULL.
win_T *buf_jump_open_win(buf_T *buf)
{
FOR_ALL_WINDOWS_IN_TAB(wp, curtab) {
if (wp->w_buffer == buf) {
win_enter(wp, false);
return wp;
if (curwin->w_buffer == buf) {
win_enter(curwin, false);
return curwin;
} else {
FOR_ALL_WINDOWS_IN_TAB(wp, curtab) {
if (wp->w_buffer == buf) {
win_enter(wp, false);
return wp;
}
}
}
return NULL;
}
/*
* Jump to the first open window in any tab page that contains buffer "buf",
* if one exists.
* Returns a pointer to the window found, otherwise NULL.
*/
/// Jump to the first open window in any tab page that contains buffer "buf",
/// if one exists.
/// @return the found window, or NULL.
win_T *buf_jump_open_tab(buf_T *buf)
{