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

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

bug#68235: 29.1.90; Switching tabs stops following process output in sel


From: Juri Linkov
Subject: bug#68235: 29.1.90; Switching tabs stops following process output in selected window
Date: Mon, 22 Jan 2024 09:43:09 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)

> I attach a patch.  Note that in my Emacs, window configurations are much
> more lightweight so I cannot reliably test it.  You would have to do all
> the testing yourself.

Thanks, this works great.  Some observations:

1. 'post-set-window-configuration-functions' is called even
after 'delete-other-windows' and 'kill-buffer', albeit with
windows=nil, so no problems.

2. It seems there is no way to get the name of the killed buffer
from '(nth 1 quad)'?

Here is what I tried:

(defun foo (frame windows)
  (while windows
    (let* ((quad (car windows))
           (window (car quad))
           (buffer (generate-new-buffer
                    (format " *Old buffer %s*" (nth 1 quad)))))
      (with-current-buffer buffer
        (insert (format "Restore the original buffer named %s:\n"
                        (nth 1 quad)))
        (insert-button
         "[Restore]"
         'action
         (lambda (_button)
           (set-window-buffer window (find-file-noselect
                                      (buffer-file-name (nth 1 quad))))
           (set-window-point window (nth 3 quad))
           (set-window-start window (nth 2 quad) t)))
        (set-window-buffer window buffer)))
    (setq windows (cdr windows))))

It inserts to the transient buffer this text without the real buffer name:

  Restore the original buffer named #<killed buffer>:
  [Restore]

But the button really restores the original buffer.

3. It seems the buffer-local value of 'revert-buffer-function'
   is not preserved in the killed buffer?





reply via email to

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