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

From: Juri Linkov <[email-masked]>
Date: Mon, 14 Feb 2022 20:10:46 +0200

>> It should end up where it was initially, i.e. on file names in Dired.
>> But this can achieved only by implementing context-aware markers,
>> such as used by the package saveplace.el, e.g.:
>>
>>    ((window-configuration-1
>>       ((dired-window-1 . `(lambda () (dired-goto-file ,(dired-get-filename))))))
>>     (window-configuration-2 ...)
>>     ...)
>
> Reverting a directory in a window could remember the name of the file
> shown at the corresponding line and the offset of 'window-point' on that
> line and also the entire contents of the old directory until revert
> completes.  As soon as the new contents of the directory have been
> established, dired would search the remembered name and position point
> at the remembered offset accordingly.  If it does not find that name, it
> would have to compare the contents of the old and current contents of
> the directory and use some heuristics to position point appropriately.

You meant remembering the file name and window-point in a buffer-local variable?
Then it should be an alist with all windows of the same Dired buffer, e.g.

  (setq-local dired-positions
    '((#<window 1 on dired> dired-file-1 window-point-1)
      (#<window 2 on dired> dired-file-2 window-point-2)
      ...))