Subject: bug#61102: closed (Re: bug#61102: 28.1; with-selected-window/save-window-excursion calls buffer-list-update-hook only once)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 02 Feb 2023 19:58:02 +0000

Your bug report

#61102: 28.1; with-selected-window/save-window-excursion calls buffer-list-update-hook only once

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
61102: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61102
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#61102: 28.1; with-selected-window/save-window-excursion calls buffer-list-update-hook only once
From: Eli Zaretskii <[email-masked]>
To: martin rudalics <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Thu, 02 Feb 2023 21:56:56 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Thu, 2 Feb 2023 19:16:34 +0100
> Cc: [email-masked], [email-masked]
> From: martin rudalics <[email-masked]>
> 
>  > So do you agree with me that there's no bug here?
> 
> Yes.

Thanks, I'm therefore closing this bug.  (The issue can still be
discussed even though the bug is closed.)

Subject: 28.1; with-selected-window/save-window-excursion calls buffer-list-update-hook only once
From: Al Haji-Ali <[email-masked]>
To: [email-masked]
Date: Fri, 27 Jan 2023 18:29:06 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

The following code:

--8<---------------cut here---------------start------------->8---

(let ((fn (lambda () (message "Buffer changed: %S" (current-buffer)))))
  (add-hook 'buffer-list-update-hook fn)
  (with-selected-window (minibuffer-window)  
    (save-window-excursion nil) nil)
  (remove-hook 'buffer-list-update-hook fn)
  nil)
  
--8<---------------cut here---------------end--------------->8---

Prints "Buffer changed: #<buffer  *Minibuf-0*>" once, even though the selection should return to the currently selected buffer (which is different from the mini-buffer).

I would expect either that the hook 'buffer-list-update-hook is not called at all, or that it is called twice (one time for every change of the selected buffer).

Best regards,
-- Al