From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/41601 Path: main.gmane.org!not-for-mail From: Simon Josefsson Newsgroups: gmane.emacs.gnus.general Subject: Re: `gnus-unseen-mark' everywhere Date: Fri, 04 Jan 2002 23:44:35 +0100 Sender: owner-ding@hpc.uh.edu Message-ID: References: <86elld3ptd.fsf@i2d.home> <86666nc1a0.fsf@i2d.home> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1035176972 7060 80.91.224.250 (21 Oct 2002 05:09:32 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 05:09:32 +0000 (UTC) Return-Path: Original-Received: (qmail 5592 invoked from network); 4 Jan 2002 22:47:08 -0000 Original-Received: from malifon.math.uh.edu (mail@129.7.128.13) by mastaler.com with SMTP; 4 Jan 2002 22:47:08 -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 16Md6e-0006aj-00; Fri, 04 Jan 2002 16:46:32 -0600 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Fri, 04 Jan 2002 16:46:24 -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 QAA10533 for ; Fri, 4 Jan 2002 16:46:12 -0600 (CST) Original-Received: (qmail 5582 invoked by alias); 4 Jan 2002 22:46:15 -0000 Original-Received: (qmail 5577 invoked from network); 4 Jan 2002 22:46:14 -0000 Original-Received: from 178.230.13.217.in-addr.dgcsystems.net (HELO yxa.extundo.com) (217.13.230.178) by gnus.org with SMTP; 4 Jan 2002 22:46:14 -0000 Original-Received: from localhost.localdomain ([195.42.214.241]) (authenticated bits=0) by yxa.extundo.com (8.12.1/8.12.1) with ESMTP id g04Mk96X001970 for ; Fri, 4 Jan 2002 23:46:09 +0100 Original-To: ding@gnus.org In-Reply-To: (prj@po.cwru.edu's message of "Fri, 04 Jan 2002 17:01:50 -0500") Mail-Copies-To: nobody Original-Lines: 87 User-Agent: Gnus/5.090005 (Oort Gnus v0.05) Emacs/21.1.50 (i686-pc-linux-gnu) Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:41601 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:41601 prj@po.cwru.edu (Paul Jarc) writes: > Simon Josefsson wrote: >> prj@po.cwru.edu (Paul Jarc) writes: >>> ["seen"] doesn't have to do with the backend itself, but it does >>> have to do with what is stored via the backend - i.e., the >>> articles. OTOH, "cache" has to do with information always stored >>> outside the backend. There's nothing outside the backend that >>> "seen" depends on, or must be synchronized with, etc. >> >> You could say that ".newsrc.eld" is outside of the backend and the >> seen mark depends on it and is specific to .newsrc.eld. > > Depending on the user's configuration and wishes, it's possible that > the backend could have a more up-to-date copy of the "seen" marks than > .newsrc.eld does[*], so it makes sense to store "seen" in the backend > and allow the backend to update Gnus's "seen" marks. Then it would be a "recent" mark, wouldn't it? The difference between recent and seen is that backends decide which articles is recent or not. If a article is seen or not is determined by Gnus. Now, seen marks might be stored in the backend but if the backend would start to modify the value, it would have the same semantics as recent, no? Well, OK, a backend could use different algorithms for deciding which articles are seen and which are recent, but then we would have to invent another mark that reflects Gnus's opinion and not the backend's. I'm not sure that having two backend-controlled marks that indicate readedness is needed. (Even having both recent and seen is somewhat excessive.) > [*] You would probably say that the most up-to-date copy of "seen" is, > by definition, always in .newsrc.eld. Yes, I think so. > But note two facts: > - "seen" does not carry very much meaning for Gnus (less meaning than > is carried by, e.g., "expire"); it is displayed in the *Summary* > buffer, and it is automatically set for new articles. That's all. Right, seen is used as an indicator to the user to display what Gnus thinks of the article. Recent is used as an indicator to the user to display what the backend thinks of the article. If seen were to be controlled by the backend as well, I would like another mark that told me what Gnus thought. > - Gnus does not make it easy for the user to define arbitrary new mark > types. I think it is pretty easy. Just write a command, jas-add-flonk-mark, that adds a mark to the current article (using either the backend interface or modifying the group info or modifying a summary local variable, depending on what you want). Then write a summary buffer %U function to display the mark. > As a consequence of these two facts, a user might want to adjust the > meaning of "seen" in such a way that the backend could have the most > up-to-date copy. Isn't controlling the recent mark in the backend enough? > I think it would be nice if it weren't too hard to do this. But it > would be even better to allow arbitrary new user-defined mark types. Just write a function that queries the user for a name of the mark and set it. I guess Group Info wasn't made to support this usage, but the only problem would be slowing things down. If another data structure for group info was used, it would be fast. > So I guess focusing on "seen" is the wrong way to go anyway. Yup. >>> I think such a project could also handle the de-mark-ification of at >>> least "cache" and "download", right? >> >> That could be another step in that project. It is probably best to >> unify the agent and the cache without touching marks first though. >> >> Maybe we should start porting Gnus to Guile and clean up the design in >> the process. But this sounds like really more work. :-) > > Well, "cleaning up the design" sounds like it could easily include the > cache/agent unification as well. :) So much to do, so little time...