From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/61270 Path: news.gmane.org!not-for-mail From: Nelson Ferreira Newsgroups: gmane.emacs.gnus.general Subject: [PATCH] Allow topic catch-up with some groups available and some disconnected Date: Mon, 31 Oct 2005 18:36:56 -0500 Organization: - none - Message-ID: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1130802425 14867 80.91.229.2 (31 Oct 2005 23:47:05 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 31 Oct 2005 23:47:05 +0000 (UTC) Original-X-From: ding-owner+m9802@lists.math.uh.edu Tue Nov 01 00:47:04 2005 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EWjM9-0001W4-DW for ding-account@gmane.org; Tue, 01 Nov 2005 00:46:25 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1EWjM0-00075k-00; Mon, 31 Oct 2005 17:46:16 -0600 Original-Received: from nas01.math.uh.edu ([129.7.128.39]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1EWjE4-00075f-00 for ding@lists.math.uh.edu; Mon, 31 Oct 2005 17:38:04 -0600 Original-Received: from quimby.gnus.org ([80.91.224.244]) by nas01.math.uh.edu with esmtp (Exim 4.52) id 1EWjE1-0007E1-03 for ding@lists.math.uh.edu; Mon, 31 Oct 2005 17:38:04 -0600 Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1EWjE0-0006zf-00 for ; Tue, 01 Nov 2005 00:38:00 +0100 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1EWjDE-0000ED-6K for ding@gnus.org; Tue, 01 Nov 2005 00:37:12 +0100 Original-Received: from ool-4576193e.dyn.optonline.net ([69.118.25.62]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 01 Nov 2005 00:37:12 +0100 Original-Received: from nelson.ferreira by ool-4576193e.dyn.optonline.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 01 Nov 2005 00:37:12 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-To: ding@gnus.org Original-Lines: 63 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: ool-4576193e.dyn.optonline.net User-Agent: Gnus/5.110004 (No Gnus v0.4) SXEmacs/22.1.3 (linux) Cancel-Lock: sha1:f/MOnIuw2pQwuZZr/NRAdaAxK/U= X-Spam-Score: -2.6 (--) Precedence: bulk Original-Sender: ding-owner@lists.math.uh.edu Xref: news.gmane.org gmane.emacs.gnus.general:61270 Archived-At: --=-=-= Hi all, I came across an issue where Gnus would abort topic catchup when some of the groups where from an unavailable server: Debugger entered--Lisp error: (wrong-type-argument number-char-or-marker-p nil) gnus-sequence-of-unread-articles("nntp+news.optonline.net:comp.software.patterns") gnus-group-catchup("nntp+news.optonline.net:comp.software.patterns" nil) gnus-group-catchup-current() # gnus-topic-find-groups t nil gnus-topic-update-topics-containing-group] 8 ("/usr/lib/sxemacs/site-packages/lisp/gnus/gnus-topic.elc" . 25793) (list (gnus-group-topic-name))>("Engineering") call-interactively(gnus-topic-catchup-articles) The following patch is a naive approach at solving it. I realize I am just silencing the error, which might be bad, but it works for me. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=gnus.topic.catchup.patch Index: gnus-group.el =================================================================== RCS file: /usr/local/cvsroot/gnus/lisp/gnus-group.el,v retrieving revision 7.55 diff -u -u -b -r7.55 gnus-group.el --- gnus-group.el 26 Oct 2005 14:53:25 -0000 7.55 +++ gnus-group.el 31 Oct 2005 23:36:13 -0000 @@ -1049,7 +1056,7 @@ (gnus-group-make-tool-bar)) (gnus-simplify-mode-line) (setq major-mode 'gnus-group-mode) - (setq mode-name "Group") + (setq mode-name gnus-group-mode-line-string) (gnus-group-set-mode-line) (setq mode-line-process nil) (use-local-map gnus-group-mode-map) @@ -3176,9 +3183,11 @@ (gnus-group-real-name group) (nth 1 method) all))) (if (>= (gnus-group-level group) gnus-level-zombie) (gnus-message 2 "Dead groups can't be caught up") - (if (prog1 + (if (condition-case nil + (prog1 (gnus-group-goto-group group) (gnus-group-catchup group all)) + (t nil)) (gnus-group-update-group-line) (setq ret (1+ ret))))) (gnus-group-next-unread-group 1) --=-=-= -- Nelson Ferreira --=-=-=--