]> git.eshelyaron.com Git - emacs.git/commitdiff
(record_point): Don't call Fundo_boundary for first
authorMartin Rudalics <rudalics@gmx.at>
Mon, 22 Sep 2008 15:40:20 +0000 (15:40 +0000)
committerMartin Rudalics <rudalics@gmx.at>
Mon, 22 Sep 2008 15:40:20 +0000 (15:40 +0000)
change.  (Bug#731)

src/ChangeLog
src/undo.c

index c53dd35e2d2c944f247e0b285e7f2eac29d3e625..e2505f5dfb715f8ff48414ddee0c3fe1ec45196c 100644 (file)
@@ -1,3 +1,8 @@
+2008-09-22  Martin Rudalics  <rudalics@gmx.at>
+
+       * undo.c (record_point): Don't call Fundo_boundary for first
+       change.  (Bug#731)
+
 2008-09-22  Juanma Barranquero  <lekktu@gmail.com>
 
        * emacs.c (Fdaemonp): Doc fix.
index 63daf1fdb687add34140614d71c68c6c99047e03..d29ba17fde517b8f05d5308b2fe74799fac9ca9e 100644 (file)
@@ -79,7 +79,13 @@ record_point (pt)
   if (NILP (pending_boundary))
     pending_boundary = Fcons (Qnil, Qnil);
 
-  if (current_buffer != last_undo_buffer)
+  if ((current_buffer != last_undo_buffer)
+      /* Don't call Fundo_boundary for the first change.  Otherwise we
+        risk overwriting last_boundary_position in Fundo_boundary with
+        PT of the current buffer and as a consequence not insert an
+        undo boundary because last_boundary_position will equal pt in
+        the test at the end of the present function (Bug#731).  */
+      && (MODIFF > SAVE_MODIFF))
     Fundo_boundary ();
   last_undo_buffer = current_buffer;