[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Re: Should (buffer-list) ever return killed buffers?
From: |
Sergey Organov |
Subject: |
[PATCH] Re: Should (buffer-list) ever return killed buffers? |
Date: |
Mon, 24 May 2021 16:41:07 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> Somehow it happens when `desktop-clear` is called from a timer and there
>> is *Info* buffer out there, and apparently the one that is killed is
>>
>> "#<buffer *info tag table*>"
>>
>> I'd like to know if this is a bug in `destop-clear`, `buffer-list`,
>> info, or elsewhere?
>
> I strongly suspect that the problem goes as follows:
> - buffer-list returns a list of buffers that are all live (i.e. no bug
> there).
> - while processing that list, some of its buffers die.
> So I think the bug is in `desktop-clear` which should skip buffers that
> have died between the call to `buffer-list` and the moment we get to
> process them.
OK, here is a patch that fixes the issue:
lisp/desktop.el: check for killed buffers in desktop-clear
diff --git a/lisp/desktop.el b/lisp/desktop.el
index fb7c6c79a1..20d9e0f268 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -706,7 +706,8 @@ if different)."
"\\)\\'")))
(dolist (buffer (buffer-list))
(let ((bufname (buffer-name buffer)))
- (unless (or (eq (aref bufname 0) ?\s) ;; Don't kill internal buffers
+ (unless (or (nill bufname)
+ (eq (aref bufname 0) ?\s) ;; Don't kill internal buffers
(string-match-p preserve-regexp bufname))
(kill-buffer buffer)))))
(delete-other-windows)
Thanks,
-- Sergey Organov
- Re: Should (buffer-list) ever return killed buffers?, (continued)
- Re: Should (buffer-list) ever return killed buffers?, Stefan Monnier, 2021/05/23
- Re: Should (buffer-list) ever return killed buffers?, Sergey Organov, 2021/05/23
- Re: Should (buffer-list) ever return killed buffers?, Stefan Monnier, 2021/05/23
- Re: Should (buffer-list) ever return killed buffers?, martin rudalics, 2021/05/24
- Re: Should (buffer-list) ever return killed buffers?, Sergey Organov, 2021/05/24
- Re: Should (buffer-list) ever return killed buffers?, Stefan Monnier, 2021/05/24
- Re: Should (buffer-list) ever return killed buffers?, martin rudalics, 2021/05/24
- Re: Should (buffer-list) ever return killed buffers?, Stefan Monnier, 2021/05/24
- Re: Should (buffer-list) ever return killed buffers?, Sergey Organov, 2021/05/24
- Re: Should (buffer-list) ever return killed buffers?, martin rudalics, 2021/05/25
[PATCH] Re: Should (buffer-list) ever return killed buffers?,
Sergey Organov <=
Re: [PATCH] Re: Should (buffer-list) ever return killed buffers?, Eli Zaretskii, 2021/05/24
Re: [PATCH] Re: Should (buffer-list) ever return killed buffers?, martin rudalics, 2021/05/24
Re: [PATCH] Re: Should (buffer-list) ever return killed buffers?, Eli Zaretskii, 2021/05/24
Re: [PATCH] Re: Should (buffer-list) ever return killed buffers?, Sergey Organov, 2021/05/24
Re: [PATCH] Should (buffer-list) ever return killed buffers?, Philipp, 2021/05/24
Re: [PATCH] Should (buffer-list) ever return killed buffers?, Sergey Organov, 2021/05/24
Re: [PATCH] Should (buffer-list) ever return killed buffers?, Sergey Organov, 2021/05/24
Re: [PATCH] Re: Should (buffer-list) ever return killed buffers?, Eli Zaretskii, 2021/05/24