diff src/buffer.c @ 815:c68b7b2b9e07

updated for version 7.0c02
author vimboss
date Tue, 28 Mar 2006 20:57:42 +0000
parents 4f1b94b51e99
children 23f82b5d2814
line wrap: on
line diff
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -381,8 +381,10 @@ close_buffer(win, buf, action)
      * 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 @@ set_curbuf(buf, action)
 #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