diff -urN --exclude=*~ ../gnus-5.8.7/lisp/ChangeLog ./lisp/ChangeLog
--- ../gnus-5.8.7/lisp/ChangeLog	Sat Jul  1 13:10:42 2000
+++ ./lisp/ChangeLog	Thu Dec  7 13:35:40 2000
@@ -1,3 +1,8 @@
+2000-12-07  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+	* nnmh.el (nnmh-request-expire-articles): Implemented
+	expiry-target for nnmh backend.
+
 Sun Jul  2 15:11:35 2000  Lars Magne Ingebrigtsen  <lmi@quimbies.gnus.org>
 
 	* gnus.el: Gnus v5.8.7 is released.
diff -urN --exclude=*~ ../gnus-5.8.7/lisp/nnmh.el ./lisp/nnmh.el
--- ../gnus-5.8.7/lisp/nnmh.el	Sat Jul  1 13:10:51 2000
+++ ./lisp/nnmh.el	Thu Dec  7 13:34:56 2000
@@ -248,13 +248,26 @@
 (deffoo nnmh-request-newgroups (date &optional server)
   (nnmh-request-list server))
 
+;; Urg, there's lots of code duplication and not much doco in backends
+;; group = nnmh:inbox.foo
+;; newsgroup = inbox.foo   == (gnus-group-real-name group)
+;; -- jcn
 (deffoo nnmh-request-expire-articles (articles newsgroup
 					       &optional server force)
   (nnmh-possibly-change-directory newsgroup server)
-  (let* ((is-old t)
-	 article rest mod-time)
+  (let ((is-old t)
+	(current-directory nnmh-current-directory)
+	;; gnus-group::gnus-group-expire-articles-1 only checks for
+	;; nnmail backend
+	(nnmail-expiry-target
+	 (or (gnus-group-find-parameter group 'expiry-target)
+	     nnmail-expiry-target))
+	article rest mod-time)
     (nnheader-init-server-buffer)
 
+    ;; ugh: should sort on *date*
+    (setq articles (sort articles '<))
+
     (while (and articles is-old)
       (setq article (concat nnmh-current-directory
 			    (int-to-string (car articles))))
@@ -263,6 +276,14 @@
 		 (setq is-old
 		       (nnmail-expired-article-p newsgroup mod-time force)))
 	    (progn
+	      ;; Allow a special target group
+	      (unless (eq nnmail-expiry-target 'delete)
+		(with-temp-buffer
+		  (nnmh-request-article (car articles)
+					newsgroup server (current-buffer))
+		  (nnmail-expiry-target-group
+		   nnmail-expiry-target group))
+		(setq nnmh-current-directory current-directory))
 	      (nnheader-message 5 "Deleting article %s in %s..."
 				article newsgroup)
 	      (condition-case ()

