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

From: Markus Triska <[email-masked]>
Date: Sat, 16 Aug 2008 18:59:05 +0200 (CEST)

When you put the following two forms in undo1.el:

   (progn
     (goto-char (point-max))
     (insert "test line\n"))

   (defun mytest ()
     (message "hi"))

then do "$ emacs -Q undo1.el", place point after the first form, press
C-x C-e then C-_, point is placed at the original end of buffer. In
contrast, every further time you do the same, point is placed at the
end of the second form after the insertion is undone. When you then
switch to the *scratch* buffer and then switch back and do the same,
point is again placed at the original end of the buffer exactly the
first time you do it, and placed at the other spot every further time.

I find it desirable that point position after undo become more
predictable in this case. I have also seen cases where point after
undo is completely misplaced (i.e., neither at the place where point
originally was, nor where the inserted text started), though I cannot
yet reproduce it reliably.

In GNU Emacs 23.0.60.1 (i386-apple-darwin8.11.1, GTK+ Version 2.12.9)
 of 2008-08-15 on mt-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t