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