Subject: Re: bug#33871: 27.0.50; Revert Dired window saved in window configuration

From: martin rudalics <[email-masked]>
Date: Wed, 26 Dec 2018 10:43:03 +0100

> Try to eval in emacs -Q in *scratch*:
 >
 > (progn (dired "/tmp") (dired-next-line 1)
 >         (split-window) (other-window 1)
 >         (dired "/tmp") (dired-next-line 2)
 >         (let ((w-c (current-window-configuration))
 > 	     (p-m (point-marker)))
 > 	 (view-emacs-todo) (delete-other-windows)
 > 	 (with-current-buffer (get-buffer "tmp")
 > 	   (revert-buffer))
 > 	 (set-window-configuration w-c)
 > 	 (goto-char p-m)))
 >
 > Result:
 > - point in the selected Dired window moves to point-min
 > - point in the non-selected Dired window moves to point-max

You're obfuscating the underlying behavior with the 'dired-next-line'
and 'goto-char' calls but the final points are different without that.

Without your explicit moves, `dired' moves to the first file name in
the lower directory here.  So 'dired-move-to-filename' was called when
reverting the buffer and the 'set-window-configuration' "restores" the
lower window's point from the buffer's point because that window is
the selected one.  To confirm, try with the upper window selected
instead.

martin