emacs-devel
[Top][All Lists]
Advanced

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

Re: Should (buffer-list) ever return killed buffers?


From: Sergey Organov
Subject: Re: Should (buffer-list) ever return killed buffers?
Date: Mon, 24 May 2021 02:55:01 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Clément Pit-Claudel <cpitclaudel@gmail.com> writes:

> On 5/23/21 7:14 PM, Sergey Organov wrote:
>> Hello!
>> 
>> I'm trying to fix a problem where `desktop-clear` errors-out because
>> (buffer-list) contains killed buffer.
>
> Could it be that the actions you take on one buffer while iterating on
> (buffer-list) cause another buffer later in the list to be killed?

This is relevant code snippet from "desktop.el":

    (dolist (buffer (buffer-list))
      (let ((bufname (buffer-name buffer)))
        (unless (or (eq (aref bufname 0) ?\s) ;; Don't kill internal buffers
                    (string-match-p preserve-regexp bufname))
          (kill-buffer buffer)))))


I fail to see how I can take any actions between its calls to (buffer-list)
and (aref bufname 0), that errors-out of bufname being nil.

Ah, apparently killing one buffer kills another... but why it happens
only when called from timer? Mystery.

Thanks,
-- Sergey Organov



reply via email to

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