exarg_T *eap;
{
win_T *old_curwin = curwin;
+ buf_T *old_curbuf = curbuf;
#ifdef FEAT_GUI
need_mouse_correct = TRUE;
{
/* Set 'diff', 'scrollbind' on and 'wrap' off. */
diff_win_options(curwin, TRUE);
- diff_win_options(old_curwin, TRUE);
+ if (win_valid(old_curwin))
+ {
+ diff_win_options(old_curwin, TRUE);
+
+ if (buf_valid(old_curbuf))
+ /* Move the cursor position to that of the old window. */
+ curwin->w_cursor.lnum = diff_get_corresponding_line(
+ old_curbuf,
+ old_curwin->w_cursor.lnum,
+ curbuf,
+ curwin->w_cursor.lnum);
+ }
}
}
}
return OK;
}
-#if defined(FEAT_CURSORBIND) || defined(PROTO)
linenr_T
diff_get_corresponding_line(buf1, lnum1, buf2, lnum3)
buf_T *buf1;
return lnum2;
}
-#endif
#if defined(FEAT_FOLDING) || defined(PROTO)
/*