Subject: bug#31739: 25.2; Cannot expire articles in virtual group

From: Lars Ingebrigtsen <[email-masked]>
Date: Sat, 19 Oct 2019 10:09:15 +0200

Jamie Forth <[email-masked]> writes:

>> So this is done from gnus-summary-prepare-exit-hook.  What's the value
>> of that hook for you?
>
> Not sure I’m doing the right thing here… setting `debug-on-entry` for
> `gnus-summary-prepare-exit-hook` and stepping through I see this.
>
>   Debugger entered--returning value: nil
>   #f(compiled-function (&optional now) "Expire all articles that are
> marked as expirable in the current group." (interactive nil)
> #<bytecode 0x15590511b8b9>)()
> * apply(#f(compiled-function (&optional now) "Expire all articles that
> are marked as expirable in the current group." (interactive nil)
> #<bytecode 0x15590511b8b9>) nil)
> * gnus-summary-expire-articles()
>   run-hooks(gnus-summary-prepare-exit-hook)

[...]

> Sorry if that wasn’t what you meant.

I just wondered what the value of the variable was.  :-)  But this shows
that you definitely have gnus-summary-expire-articles in
gnus-summary-prepare-exit-hook, so that's not the reason the articles
aren't expired.

Reading the code, gnus-summary-prepare-exit-hook is called before the
marks are cleared, so at that point the expirable list should still
exist, which makes the bug you're seeing even more incomprehensible...

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