[Bug: 21.5-b29] point moved in dired when visiting file with local vars

Mike Kupfer mike.kupfer at xemacs.org
Mon Oct 26 19:07:41 EDT 2009


MikeS> Here's what happens:

MikeS> - Ideally, the window's point marker should reflect the last
MikeS>   point position when the current buffer is switched ...
MikeS> - but it doesn't, namely the window position is the position of
MikeS>   the first file, not the second in your test.
MikeS> - The `current-window-configuration' used when asking the
MikeS>   question looks at the incorrect window point, and later
MikeS>   restores it.

MikeS> The attached patch fixes it, but it seems awfully invasive, so
MikeS> I'm holding off pushing it.  Comments welcome!

Hmm.  I see that set_buffer_internal() is unchanged since 21.4.22 (which
doesn't exhibit the failure).  

Would point normally be in the local variable list for the buffer?  I
see that there is code in set_buffer_internal() to sync the Lisp and C
values of buffer-local variables.  Could that be broken?  

It seemed odd to me that the old buffer's variables would get
synchronized after setting current_buffer, but moving that code to come
before setting current_buffer doesn't seem to fix anything.

mike



More information about the XEmacs-Patches mailing list