From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ben Bacarisse Newsgroups: gmane.emacs.bugs Subject: bug#20170: 24.3; Gnus v5.13; Only the first expired article is moved when using Gnus nnmh Date: Sun, 22 Mar 2015 22:54:26 +0000 Message-ID: <87384wod1g.fsf@bsb.me.uk> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1427067927 23865 80.91.229.3 (22 Mar 2015 23:45:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 22 Mar 2015 23:45:27 +0000 (UTC) To: 20170@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Mar 23 00:45:13 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YZpYO-0002Gg-Kj for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Mar 2015 00:45:12 +0100 Original-Received: from localhost ([::1]:52985 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZpYN-0007MP-KJ for geb-bug-gnu-emacs@m.gmane.org; Sun, 22 Mar 2015 19:45:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46007) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZpYI-0007Jt-Hp for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 19:45:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YZpYF-0000eH-7s for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 19:45:06 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:43071) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZpYE-0000dM-V8 for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 19:45:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YZpYE-0000GC-JM for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 19:45:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ben Bacarisse Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 22 Mar 2015 23:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 20170 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.1427067890959 (code B ref -1); Sun, 22 Mar 2015 23:45:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 Mar 2015 23:44:50 +0000 Original-Received: from localhost ([127.0.0.1]:32847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YZpY0-0000FO-JK for submit@debbugs.gnu.org; Sun, 22 Mar 2015 19:44:50 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:38956) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YZop2-0006CO-3b for submit@debbugs.gnu.org; Sun, 22 Mar 2015 18:58:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YZoov-0003sB-26 for submit@debbugs.gnu.org; Sun, 22 Mar 2015 18:58:14 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:54551) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZoou-0003s1-WB for submit@debbugs.gnu.org; Sun, 22 Mar 2015 18:58:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZoot-0006rI-DH for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 18:58:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YZoop-0003pn-7V for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 18:58:11 -0400 Original-Received: from duffman.enixns.com ([91.238.164.3]:48819) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YZooo-0003pD-Sw for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 18:58:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bsb.me.uk; s=default; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From; bh=gKbW/OzXirav0QZgk4OzDERMfp3x+b9ztnnMu8ZzpzQ=; b=lQqIYdqiWIO5A2JesrxJWYXJkXnwRcxAIUJ9pKAxK5LUMo8WFaGPtMcfrFaFmEAczrsZnDiJ7AKoKR1s+C4Pge5a3Vshf6GmZTf3iHPu9xfObZa65pUU4DPKvT8iJRaTqc3ebIvqhZxOt5XEFDU5wCMmEIHwj/zxxUd82QBq3Ec=; Original-Received: from dsl-217-155-82-182.zen.co.uk ([217.155.82.182]:55702 helo=skinny) by duffman.enixns.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.85) (envelope-from ) id 1YZoom-0048Qr-Gg for bug-gnu-emacs@gnu.org; Sun, 22 Mar 2015 22:58:04 +0000 Original-Received: by skinny (masqmail 0.3.4, from userid 1000) id 1YZool-7IW-00 for ; Sun, 22 Mar 2015 22:58:03 +0000 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-enixltd-MailScanner-Information: Please contact the ISP for more information X-enixltd-MailScanner-ID: 1YZoom-0048Qr-Gg X-enixltd-MailScanner: Not scanned: please contact your Internet E-Mail Service Provider for details X-enixltd-MailScanner-SpamCheck: X-enixltd-MailScanner-From: ben.usenet@bsb.me.uk X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - duffman.enixns.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - bsb.me.uk X-Get-Message-Sender-Via: duffman.enixns.com: authenticated_id: bsbmeuk/from_h X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Sun, 22 Mar 2015 19:44:47 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:100817 Archived-At: Using Gnus MH back-end, when nnmail-expiry-target is anything but 'delete, only the first expired articles gets moved to the nominated target. To test, mark as expired more than one old message (old enough for the expiry to take effect) and exit the group. Only one message gets moved to nnmail-expiry-target and *Messages* will show only one "Deleting article NNN in GROUP..." line. The problem is in nnmh-request-expire-articles. The code that does the copy and delete changes nnmh-current-directory to that of the nnmail-expiry-target folder. As a result, all but the first article number are not (usually) found. One simple fix is save the value of nnmh-current-directory before the loop and to use that saved value: --- nnmh.el 2015-03-22 22:51:10.450422141 +0000 +++ nnmh-fix.el 2015-03-22 22:47:52.536939066 +0000 @@ -259,11 +259,12 @@ &optional server force) (nnmh-possibly-change-directory newsgroup server) (let ((is-old t) + (dir nnmh-current-directory) article rest mod-time) (nnheader-init-server-buffer) (while (and articles is-old) - (setq article (concat nnmh-current-directory + (setq article (concat dir (int-to-string (car articles)))) (when (setq mod-time (nth 5 (file-attributes article))) (if (and (nnmh-deletable-article-p newsgroup (car articles)) In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.9) of 2014-06-06 on brownie, modified by Debian Windowing system distributor `The X.Org Foundation', version 11.0.11600000 System Description: Ubuntu 14.10 Configured using: `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp' '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes' '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'' Important settings: value of $LANG: en_GB.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Summary Minor modes in effect: cua-mode: t shell-dirtrack-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent messages: Expiring articles...done Opening nntp server on E.S....done nl=9 nq= 0 pc=0 nl=23 nq= 4 pc=17 Auto-saving...done No more unseen articles No more unread articles nl=21 nq= 4 pc=19 Making completion list... call-interactively: End of buffer [12 times] Load-path shadows: /home/ben/.emacs.d/elpa/web-mode-20150303.645/web-mode hides /usr/local/share/emacs/site-lisp/web-mode /usr/share/emacs24/site-lisp/css-mode/css-mode hides /usr/share/emacs/site-lisp/css-mode/css-mode /usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup /usr/share/emacs24/site-lisp/flim/hex-util hides /usr/share/emacs/24.3/lisp/hex-util /usr/share/emacs24/site-lisp/flim/md4 hides /usr/share/emacs/24.3/lisp/md4 ~/.emacs.d/loaddefs hides /usr/share/emacs/24.3/lisp/loaddefs /usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.3/lisp/textmodes/ispell /usr/share/emacs24/site-lisp/css-mode/css-mode hides /usr/share/emacs/24.3/lisp/textmodes/css-mode /usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.3/lisp/textmodes/flyspell /usr/share/emacs24/site-lisp/flim/hmac-def hides /usr/share/emacs/24.3/lisp/net/hmac-def /usr/share/emacs24/site-lisp/flim/sasl hides /usr/share/emacs/24.3/lisp/net/sasl /usr/share/emacs24/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.3/lisp/net/hmac-md5 /usr/share/emacs24/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.3/lisp/net/sasl-cram /usr/share/emacs24/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.3/lisp/net/sasl-ntlm /usr/share/emacs24/site-lisp/flim/ntlm hides /usr/share/emacs/24.3/lisp/net/ntlm /usr/share/emacs24/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.3/lisp/net/sasl-digest /usr/share/emacs24/site-lisp/mh-e/mh-identity hides /usr/share/emacs/24.3/lisp/mh-e/mh-identity /usr/share/emacs24/site-lisp/mh-e/mh-alias hides /usr/share/emacs/24.3/lisp/mh-e/mh-alias /usr/share/emacs24/site-lisp/mh-e/mh-show hides /usr/share/emacs/24.3/lisp/mh-e/mh-show /usr/share/emacs24/site-lisp/mh-e/mh-mime hides /usr/share/emacs/24.3/lisp/mh-e/mh-mime /usr/share/emacs24/site-lisp/mh-e/mh-acros hides /usr/share/emacs/24.3/lisp/mh-e/mh-acros /usr/share/emacs24/site-lisp/mh-e/mh-print hides /usr/share/emacs/24.3/lisp/mh-e/mh-print /usr/share/emacs24/site-lisp/mh-e/mh-limit hides /usr/share/emacs/24.3/lisp/mh-e/mh-limit /usr/share/emacs24/site-lisp/mh-e/mh-seq hides /usr/share/emacs/24.3/lisp/mh-e/mh-seq /usr/share/emacs24/site-lisp/mh-e/mh-comp hides /usr/share/emacs/24.3/lisp/mh-e/mh-comp /usr/share/emacs24/site-lisp/mh-e/mh-tool-bar hides /usr/share/emacs/24.3/lisp/mh-e/mh-tool-bar /usr/share/emacs24/site-lisp/mh-e/mh-loaddefs hides /usr/share/emacs/24.3/lisp/mh-e/mh-loaddefs /usr/share/emacs24/site-lisp/mh-e/mh-compat hides /usr/share/emacs/24.3/lisp/mh-e/mh-compat /usr/share/emacs24/site-lisp/mh-e/mh-folder hides /usr/share/emacs/24.3/lisp/mh-e/mh-folder /usr/share/emacs24/site-lisp/mh-e/mh-buffers hides /usr/share/emacs/24.3/lisp/mh-e/mh-buffers /usr/share/emacs24/site-lisp/mh-e/mh-inc hides /usr/share/emacs/24.3/lisp/mh-e/mh-inc /usr/share/emacs24/site-lisp/mh-e/mh-utils hides /usr/share/emacs/24.3/lisp/mh-e/mh-utils /usr/share/emacs24/site-lisp/mh-e/mh-gnus hides /usr/share/emacs/24.3/lisp/mh-e/mh-gnus /usr/share/emacs24/site-lisp/mh-e/mh-scan hides /usr/share/emacs/24.3/lisp/mh-e/mh-scan /usr/share/emacs24/site-lisp/mh-e/mh-letter hides /usr/share/emacs/24.3/lisp/mh-e/mh-letter /usr/share/emacs24/site-lisp/mh-e/mh-thread hides /usr/share/emacs/24.3/lisp/mh-e/mh-thread /usr/share/emacs24/site-lisp/mh-e/mh-funcs hides /usr/share/emacs/24.3/lisp/mh-e/mh-funcs /usr/share/emacs24/site-lisp/mh-e/mh-xface hides /usr/share/emacs/24.3/lisp/mh-e/mh-xface /usr/share/emacs24/site-lisp/mh-e/mh-e hides /usr/share/emacs/24.3/lisp/mh-e/mh-e /usr/share/emacs24/site-lisp/mh-e/mh-junk hides /usr/share/emacs/24.3/lisp/mh-e/mh-junk /usr/share/emacs24/site-lisp/mh-e/mh-search hides /usr/share/emacs/24.3/lisp/mh-e/mh-search /usr/share/emacs24/site-lisp/mh-e/mh-speed hides /usr/share/emacs/24.3/lisp/mh-e/mh-speed Features: (shadow emacsbug gnus-dup help-mode pp gnus-eform canlock footnote flyspell ispell perl-mode gnus-logic flow-fill w3m-form w3m doc-view jka-compr dired image-mode timezone w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util mm-archive mule-util sort smiley gnus-cite mail-extr gnus-bcklg qp gnus-async gnus-ml gnus-topic nndraft nnfolder parse-time epa-file epa derived epg netrc gnutls network-stream auth-source eieio byte-opt bytecomp byte-compile cconv starttls tls gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime password-cache dig mailcap nntp gnus-cache gnus-sum gnus-group gnus-undo nnmhmrk nnmh cl-macs gv cl nnoo nnmail mail-source gnus-start gnus-spec gnus-int gnus-range message sendmail rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader gnus-util mail-utils mm-util mail-prsvr wid-edit saveplace avoid cua-base cus-start cus-load bbdb-autoloads gnome-calendar-autoloads org-bullets-autoloads pandoc-mode-autoloads info smooth-scroll-autoloads web-mode-autoloads package web-mode disp-table w3m-load mh-autoloads haskell-mode-autoloads edmacro kmacro ido ess-toolbar ess-mouse mouseme thingatpt browse-url ess-menu ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug format-spec ess-roxy advice cl-lib advice-preload hideshow ess-help ess-developer ess-r-args eldoc help-fns ess-s-l ess ess-inf comint ansi-color ring ess-mode ess-noweb-mode ess-utils ess-custom executable easymenu ess-compat ess-site time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) -- Ben.