updated for version 7.0c02
diff --git a/src/buffer.c b/src/buffer.c
index 439b5f2..a268065 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -381,8 +381,10 @@
* unloaded. */
if (buf->b_nwindows > 0 || !unload_buf)
{
+#if 0 /* why was this here? */
if (buf == curbuf)
u_sync(); /* sync undo before going to another buffer */
+#endif
return;
}
@@ -1312,10 +1314,14 @@
#else
if (buf_valid(prevbuf))
#endif
+ {
+ if (prevbuf == curbuf)
+ u_sync();
close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
unload ? action : (action == DOBUF_GOTO
&& !P_HID(prevbuf)
&& !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0);
+ }
}
#ifdef FEAT_AUTOCMD
# ifdef FEAT_EVAL
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index dbab4e2..cba3da5 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -9070,7 +9070,7 @@
win_T *curwin_save = curwin;
g_do_tagpreview = p_pvh;
- prepare_tagpreview();
+ prepare_tagpreview(TRUE);
keep_help_flag = curwin_save->w_buffer->b_help;
do_exedit(eap, NULL);
keep_help_flag = FALSE;
diff --git a/src/main.aap b/src/main.aap
index a4de631..3fb2a9c 100644
--- a/src/main.aap
+++ b/src/main.aap
@@ -296,7 +296,7 @@
fold.c
getchar.c
hardcopy.c
- hashtable.c
+ hashtab.c
if_cscope.c
if_xcmdsrv.c
main.c
@@ -314,7 +314,7 @@
option.c
os_unix.c
auto/pathdef.c
- popupmenu.c
+ popupmnu.c
quickfix.c
regexp.c
screen.c
diff --git a/src/window.c b/src/window.c
index c37ec67..6a12de1 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3192,6 +3192,18 @@
newtp->tp_topframe = topframe;
last_status(FALSE);
+
+#if defined(FEAT_GUI)
+ /* When 'guioptions' includes 'L' or 'R' may have to remove or add
+ * scrollbars. Have to update them anyway. */
+ if (gui.in_use && starting == 0)
+ {
+ gui_init_which_components(NULL);
+ gui_update_scrollbars(TRUE);
+ }
+ need_mouse_correct = TRUE;
+#endif
+
redraw_all_later(CLEAR);
#ifdef FEAT_AUTOCMD
apply_autocmds(EVENT_TABENTER, NULL, NULL, FALSE, curbuf);