From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/41723 Path: main.gmane.org!not-for-mail From: dme@dme.org Newsgroups: gmane.emacs.gnus.general Subject: Re: problems with nnvirtual and marks Date: Mon, 07 Jan 2002 16:24:58 +0000 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 1035177078 7675 80.91.224.250 (21 Oct 2002 05:11:18 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 05:11:18 +0000 (UTC) Return-Path: Original-Received: (qmail 20652 invoked from network); 7 Jan 2002 16:26:04 -0000 Original-Received: from malifon.math.uh.edu (mail@129.7.128.13) by mastaler.com with SMTP; 7 Jan 2002 16:26:04 -0000 Original-Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 16Ncaq-0007L4-00; Mon, 07 Jan 2002 10:25:48 -0600 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Mon, 07 Jan 2002 10:25:40 -0600 (CST) Original-Received: from sclp3.sclp.com (qmailr@sclp3.sclp.com [209.196.61.66]) by sina.hpc.uh.edu (8.9.3/8.9.3) with SMTP id KAA05064 for ; Mon, 7 Jan 2002 10:25:27 -0600 (CST) Original-Received: (qmail 20634 invoked by alias); 7 Jan 2002 16:25:30 -0000 Original-Received: (qmail 20629 invoked from network); 7 Jan 2002 16:25:30 -0000 Original-Received: from patan.sun.com (192.18.98.43) by gnus.org with SMTP; 7 Jan 2002 16:25:30 -0000 Original-Received: from bu-ewat02-01.uk.sun.com ([129.156.199.2]) by patan.sun.com (8.9.3+Sun/8.9.3) with ESMTP id JAA22721 for ; Mon, 7 Jan 2002 09:25:09 -0700 (MST) Original-Received: from pantalamion.dme.org (pantalamion [129.156.199.94]) by bu-ewat02-01.uk.sun.com (8.10.2+Sun/8.10.2/ENSMAIL,v2.1p1) with ESMTP id g07GPOk28643 for ; Mon, 7 Jan 2002 16:25:25 GMT Original-Received: from localhost ([127.0.0.1] helo=pantalamion.dme.org ident=de128083) by pantalamion.dme.org with esmtp (Exim 3.32 #1 (Debian)) id 16Nca3-0003AD-00 for ; Mon, 07 Jan 2002 16:24:59 +0000 Original-To: ding@gnus.org X-Now-Playing: Talk Talk: It's My Life - The Last Time In-Reply-To: (dme@dme.org's message of "Thu, 03 Jan 2002 13:18:40 +0000") Original-Lines: 48 User-Agent: Gnus/5.090005 (Oort Gnus v0.05) Emacs/21.1 (i386-debian-linux-gnu) Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:41723 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:41723 * dme@dme.org [2002-01-03 13:18:40] > Recently I've been playing with reading most of my (new) mail/news > through nnvirtual groups. The behaviour of ticked articles in these > groups seems erratic. After spending some more time looking, I came to the conclusion that some of the (mark related) changes that I initiate in an nnvirtual group are not getting passed through to component groups. For example, if a virtual group comprised of various nnml groups has a ticked article, pressing "d" on the article in the nnvirtual group doesn't result in the "tick" mark being removed from the corresponding nnml group's .marks file (after quitting the group, gnus, emacs, etc). Based on my poor and particularly incomplete knowledge of gnus internals, I decided that this might be because nnvirtual is missing a "request-set-mark" function. So I wrote one: (deffoo nnvirtual-request-set-mark (group actions &optional server) (nnvirtual-possibly-change-server server) (dolist (action actions) (let ((range (nth 0 action)) (what (nth 1 action)) (marks (nth 2 action))) (assert (or (eq what 'add) (eq what 'del)) t "Unknown request-set-mark action: %s" what) (dolist (article (gnus-uncompress-range range)) (let* ((amap (nnvirtual-map-article article)) (cgroup (car amap))) (dolist (mark marks) (gnus-request-set-mark cgroup (list (list (list (cdr amap)) what marks))))))))) This improves the specific problem mentioned above - the removal of "tick" marks now passes through from nnvirtual to nnml and the .marks file gets updated. However, when nnvirtual-request-set-mark is called with a large range (over a couple of thousand articles), which seems to happen when I enter a group sometimes, the iteration over the expanded range causes emacs to go away and hide for a while (not sure how long - enough to be "irritating", which probably means >10 seconds :-). Is it possible that I'm anywhere near the source of my problems ? Of course, I don't understand how this explains the random corruption of seen/unseen marks which I've seen. dme.