From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/28922 Path: main.gmane.org!not-for-mail From: Doug Bagley Newsgroups: gmane.emacs.gnus.general Subject: Re: Wishlist for oGnus Date: 22 Jan 2000 09:12:50 -0600 Sender: owner-ding@hpc.uh.edu Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035165682 32312 80.91.224.250 (21 Oct 2002 02:01:22 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 02:01:22 +0000 (UTC) Cc: "(ding)" Return-Path: Original-Received: from karazm.math.uh.edu (karazm.math.uh.edu [129.7.128.1]) by mailhost.sclp.com (Postfix) with ESMTP id 15472D051E for ; Sat, 22 Jan 2000 10:14:04 -0500 (EST) Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by karazm.math.uh.edu (8.9.3/8.9.3) with ESMTP id JAC27586; Sat, 22 Jan 2000 09:13:41 -0600 (CST) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Sat, 22 Jan 2000 09:13:16 -0600 (CST) Original-Received: from mailhost.sclp.com (postfix@sclp3.sclp.com [204.252.123.139]) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id JAA18262 for ; Sat, 22 Jan 2000 09:13:04 -0600 (CST) Original-Received: from mail.deja.com (mail.deja.com [205.238.143.34]) by mailhost.sclp.com (Postfix) with ESMTP id 80935D051E for ; Sat, 22 Jan 2000 10:12:56 -0500 (EST) Original-Received: from yow.dejanews.com (yow.dejanews.com [205.238.143.191]) by mail.deja.com (8.8.7/8.8.5) with ESMTP id JAA06019; Sat, 22 Jan 2000 09:12:50 -0600 Original-Received: (doug@localhost) by yow.dejanews.com (8.9.3/8.6.12) id JAA03648; Sat, 22 Jan 2000 09:12:50 -0600 X-Authentication-Warning: yow.dejanews.com: doug set sender to using -f Original-To: Stainless Steel Rat X-Face: "|NaWfYJ-]P="T#?R.9}QgGuFXUd@3vi[.E2q-;"NV3+k_y@zreL2w^ts0XPXt t9^9{uQ@.cu2GgUgK9@HXC\a}Rtah}0'eT~>or7[~Hd?;!\Bpo#"3w>0a0ft-MvvZ X-Disclaimer: I am solely responsible for this message. In-Reply-To: Stainless Steel Rat's message of "21 Jan 2000 21:44:29 -0500" Original-Lines: 45 User-Agent: Gnus/5.0803 (Gnus v5.8.3) XEmacs/21.1 (Biscayne) Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:28922 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:28922 Stainless Steel Rat writes: > Relatively simple, I hope: > > * gnus-uu-decode should complain if one or more parts of a series post > (ie, "part N of X") is missing, and optionally tick what parts are > there for decoding in a later session. I was annoyed by that too. Why does it try to assemble incomplete series? So I wrote the following. I would use it to mark all the *complete* series I want, and then I download them all at once. Then I got tired of that and wrote a perl script which does it even better, so I don't really use this code any more. ;; only mark a series if it isn't missing any articles (define-key gnus-summary-mode-map [f1] 'kof:gnus-uu-mark-complete-series) (require 'gnus-uu) (defun kof:gnus-uu-mark-complete-series () "Mark the current series with the process mark if it contains all parts." (interactive) (if current-prefix-arg (let ((articles (gnus-uu-find-articles-matching))) (while articles (gnus-summary-remove-process-mark (car articles)) (setq articles (cdr articles)))) (let* ((articles (gnus-uu-find-articles-matching)) (actual-count (list-length articles)) (expected-count (kof:max-series-from-subject (gnus-summary-article-subject)))) (if (>= actual-count expected-count) (progn (while articles (gnus-summary-set-process-mark (car articles)) (setq articles (cdr articles))) (forward-line)) (message (format "Series is not continuous. Expected: %s Actual: %s" expected-count actual-count))) (gnus-summary-position-point)))) (defun kof:max-series-from-subject (subject) "according to subject, return the total count of articles in series." (let ((string (gnus-uu-reginize-string subject))) (if (string-match "\\[0-9\\]\\+[^0-9]*\\([0-9]+\\)" string) (string-to-number (substring string (match-beginning 1) (match-end 1))) 0))) Cheers, Doug