bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#33458: 27.0.50; dired loses position when reverted from outside plac


From: martin rudalics
Subject: bug#33458: 27.0.50; dired loses position when reverted from outside place
Date: Wed, 28 Nov 2018 09:35:00 +0100

> While 'isearch-push-state-function' could be used for example to save
> and restore window start positions on returning to previous search hits:
>
> (setq isearch-push-state-function
>        (lambda ()
>          `(lambda (cmd)
>             (when isearch-success
>               (set-window-start nil ,(window-start))))))
>
> wouldn't it be possible to use something like this to
> restore Dired point from the saved dired-filename.

As I mentioned earlier, dired is special because file names are
unique.  We just have to code it.

> And in non-dired buffers maybe at least when a window is restored from
> the window configuration or from the window state, then simply restore
> window point from the saved point when the saved point-marker is
> invalidated (its value is 1).  Currently window-state-get when not used
> with the WRITABLE arg, saves only point-marker, but maybe should save
> both: point and point-marker, for the case when point-marker invalidates
> after the buffer is reverted.

I still think that going to a wrong position in the middle of the
buffer occasionally is worse then predictably going to point-min.

> See for example how point is preserved in an intelligent way at the end
> of revert-buffer-insert-file-contents--default-function that uses
> insert-file-contents to preserve some marker positions.

You mean the 'restore_window_points' mechanism?  Then we would have to
make its information available in Lisp.  Certainly worthwhile.

martin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]