# HG changeset patch # User Bram Moolenaar # Date 1413917835 -7200 # Node ID 1f9577e9ef1b22cf701b58d418a4ce00071405ed # Parent a1efdac513cff2b0a6bcf8b6547c099d5d919536 updated for version 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) diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak --- a/src/testdir/Make_amiga.mak +++ b/src/testdir/Make_amiga.mak @@ -46,6 +46,7 @@ SCRIPTS = test1.out test3.out test4.out test_mapping.out \ test_options.out \ test_qf_title.out \ + test_signs.out \ test_utf8.out .SUFFIXES: .in .out @@ -179,4 +180,5 @@ test_listlbr.out: test_listlbr.in test_listlbr_utf8.out: test_listlbr_utf8.in test_options.out: test_options.in test_qf_title.out: test_qf_title.in +test_signs.out: test_signs.in test_utf8.out: test_utf8.in diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -45,6 +45,7 @@ SCRIPTS = test3.out test4.out test5.out test_mapping.out \ test_options.out \ test_qf_title.out \ + test_signs.out \ test_utf8.out SCRIPTS32 = test50.out test70.out diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak --- a/src/testdir/Make_ming.mak +++ b/src/testdir/Make_ming.mak @@ -65,6 +65,7 @@ SCRIPTS = test3.out test4.out test5.out test_mapping.out \ test_options.out \ test_qf_title.out \ + test_signs.out \ test_utf8.out SCRIPTS32 = test50.out test70.out diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak --- a/src/testdir/Make_os2.mak +++ b/src/testdir/Make_os2.mak @@ -47,6 +47,7 @@ SCRIPTS = test1.out test3.out test4.out test_mapping.out \ test_options.out \ test_qf_title.out \ + test_signs.out \ test_utf8.out .SUFFIXES: .in .out diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -106,6 +106,7 @@ SCRIPT = test1.out test2.out test3.out test_mapping.out \ test_options.out \ test_qf_title.out \ + test_signs.out \ test_utf8.out # Known problems: diff --git a/src/testdir/Makefile b/src/testdir/Makefile --- a/src/testdir/Makefile +++ b/src/testdir/Makefile @@ -43,6 +43,7 @@ SCRIPTS = test1.out test2.out test3.out test_mapping.out \ test_options.out \ test_qf_title.out \ + test_signs.out \ test_utf8.out SCRIPTS_GUI = test16.out diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 487, +/**/ 486, /**/ 485, diff --git a/src/window.c b/src/window.c --- a/src/window.c +++ b/src/window.c @@ -4407,20 +4407,19 @@ win_enter_ext(wp, undo_sync, curwin_inva buf_jump_open_win(buf) buf_T *buf; { + win_T *wp = NULL; + + if (curwin->w_buffer == buf) + wp = curwin; # ifdef FEAT_WINDOWS - win_T *wp; - - for (wp = firstwin; wp != NULL; wp = wp->w_next) - if (wp->w_buffer == buf) - break; + else + for (wp = firstwin; wp != NULL; wp = wp->w_next) + if (wp->w_buffer == buf) + break; if (wp != NULL) win_enter(wp, FALSE); +# endif return wp; -# else - if (curwin->w_buffer == buf) - return curwin; - return NULL; -# endif } /* @@ -4432,12 +4431,10 @@ buf_jump_open_win(buf) buf_jump_open_tab(buf) buf_T *buf; { + win_T *wp = buf_jump_open_win(buf); # ifdef FEAT_WINDOWS - win_T *wp; tabpage_T *tp; - /* First try the current tab page. */ - wp = buf_jump_open_win(buf); if (wp != NULL) return wp; @@ -4455,13 +4452,8 @@ buf_jump_open_tab(buf) break; } } - +# endif return wp; -# else - if (curwin->w_buffer == buf) - return curwin; - return NULL; -# endif } #endif