Subject: Re: bug#52168: 29.0.50; Gnus buffers unexpectedly killed by project-kill-buffers

From: Lars Ingebrigtsen <[email-masked]>
Date: Wed, 01 Dec 2021 05:25:53 +0100

Philip Kaludercic <[email-masked]> writes:

> To fix issues like this was the intention behind adding
> project-kill-buffer-conditions (that is yet to be generalised).  What I
> believe is happening here is that the *Group* buffer is being matched by
> this condition
>
>      (and (derived-mode . special-mode)
>           (not (major-mode . help-mode)))
>
> because `gnus-group-mode' derives `special-mode' via
> `gnus-mode'. .newsrc-dribble matches both
>
>       buffer-file-name
>
> and
>
>      (major-mode . fundamental-mode)
>
> at least on my system.  Fixing this specific issue should be possible by
> just adjusting project-kill-buffer-conditions, but it is probably
> desirable to think about how this can be avoided in general, without
> loosing the actual intended functionality of project-kill-buffers.

I guess the issue is that it's pretty difficult to get an include-list
here:

    ;; Most of the temp buffers in the background:
    (major-mode . fundamental-mode)
    ;; non-text buffer such as xref, occur, vc, log, ...
    (and (derived-mode . special-mode)
         (not (major-mode . help-mode)))

But...  I think this is way too dangerous -- I think you really have to
come up with a include-list instead of going after fundamental-mode and
special-mode buffers.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no