Subject: Re: bug#731: 23.0.60; Varying point position after undo

From: martin rudalics <[email-masked]>
Date: Sun, 21 Sep 2008 13:58:37 +0200

> buffer-undo-list is initially nil regardless of how I open the file.
 > When I open the file from the command line and then press C-M-x on the
 > first form, `buffer-undo-list' is with CVS trunk:
 >
 >    (nil
 >     (96 . 106)
 >     (t 18643 . 10108))
 >
 > whereas with Emacs 22.2, it is:
 >
 >    (nil
 >     (96 . 106)
 >     1
 >     (t 18643 . 10108))

Hmmm...  Can you try the attached patch?

martin
*** undo.c.~1.85.~	2008-05-14 09:49:54.000000000 +0200
--- undo.c	2008-09-21 13:44:44.468750000 +0200
***************
*** 79,85 ****
    if (NILP (pending_boundary))
      pending_boundary = Fcons (Qnil, Qnil);
  
!   if (current_buffer != last_undo_buffer)
      Fundo_boundary ();
    last_undo_buffer = current_buffer;
  
--- 79,88 ----
    if (NILP (pending_boundary))
      pending_boundary = Fcons (Qnil, Qnil);
  
!   if ((current_buffer != last_undo_buffer)
!       /* Don't make an undo boundary when record_first_change will do it
! 	 anyway.  */
!       && (MODIFF > SAVE_MODIFF))
      Fundo_boundary ();
    last_undo_buffer = current_buffer;