Subject: Re: bug#11980: [PATCH] Other expirable marks lost if non-native articles are expired

From: Dave Abrahams <[email-masked]>
Date: Wed, 18 Jul 2012 14:13:19 -0400

And here's the patch that fixes it:

diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el
index 18e56ed..d4a52ed 100644
--- a/lisp/gnus-int.el
+++ b/lisp/gnus-int.el
@@ -722,6 +722,10 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned."
 
 (defun gnus-request-expire-articles (articles group &optional force)
   (let* ((gnus-command-method (gnus-find-method-for-group group))
+         ;; Filter out any negative article numbers; they can't be
+         ;; expired here.
+         (articles
+          (delq nil (mapcar (lambda (n) (and (>= n 0) n)) articles)))
 	 (gnus-inhibit-demon t)
 	 (not-deleted
 	  (funcall

on Wed Jul 18 2012, Dave Abrahams <dave-AT-boostpro.com> wrote:

> I'm forever bringing articles into my INBOX via gnus-summary-refer-*
> functions.  Oftentimes I mark these articles expirable, along with some
> others, and the `M-g' to get Gnus to actually delete them (that's what
> expiry does in my INBOX: immediate deletion).  Gnus, however, leaves the
> articles there.  To get rid of them, I have to be very careful *not* to
> mark any articles that have been inserted from other groups as expirable.
>
> Ma Gnus v0.6
> GNU Emacs 24.1.1 (x86_64-apple-darwin11.4.0, Carbon Version 1.6.0 AppKit 1138.47)
>  of 2012-06-27 on pluto.luannocracy.com
> 200 news.gmane.org InterNetNews NNRP server INN 2.5.1 ready (posting ok)
> 101 Capability list:
> VERSION 2
> IMPLEMENTATION INN 2.5.1
> AUTHINFO USER
> HDR
> LIST ACTIVE ACTIVE.TIMES DISTRIB.PATS HEADERS NEWSGROUPS OVERVIEW.FMT
> OVER
> POST
> READER
> STARTTLS
> .
> 382 Begin TLS negotiation now
> 101 Capability list:
> VERSION 2
> IMPLEMENTATION INN 2.5.1
> AUTHINFO USER
> HDR
> LIST ACTIVE ACTIVE.TIMES DISTRIB.PATS HEADERS NEWSGROUPS OVERVIEW.FMT
> OVER
> POST
> READER
> .

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com