Gnus development mailing list
 help / color / mirror / Atom feed
From: dsg@mitre.org (David S. Goldberg)
Subject: Re: Small complaint about M-g
Date: 23 Feb 2000 11:53:58 -0500	[thread overview]
Message-ID: <m1bya8bvp09.fsf@blackbird.mitre.org> (raw)
In-Reply-To: Harry Putnam's message of "22 Feb 2000 19:56:03 -0800"

> My original post was not looking for a way to `tick' articles.  I like
> the way gnus hides read articles after closing a group.  What I
> complained mildly about was gnus being so rowdy about doing a rescan
> while inside a group.  In that instance only, I may not want read
> articles to disappear.  It was that problem that Jussi's comments
> addressed.

I have often wanted the same thing and this thread got me to thinking
how to do it.  I've come up with this bit of advice around
gnus-summary-rescan-group.  It's slow; the re-marking from ticked to
whatever was there before is noticeable, especially when there's lots
of stuff in the summary, but it does seem to work.  I don't know if it
will work in an nnvirtual group since I get the impression that the
virtual article numbers might change and I have no idea if it does the
right thing in an auto-expire environment which I don't use.  Also, it
will lose any process-marks that existed previously.  I can't find a
good way to get around that.  I can't use the stack of process-marks
(gnus-summary-save/yank-process-marks) because that stack doesn't
survive the invocation of gnus-summary-rescan-group and there's no
reliable way to get a list of all process marked articles.
gnus-summary-work-articles doesn't cut it 100% of the time and I'm not
sure it's worth going through a lot of grief to figure it out
correctly.  So, I've decided I can live with that limitation.  If
someone wants to improve on this please do so and post it.

(defadvice gnus-summary-rescan-group (around save-marks activate)
  (gnus-uu-mark-all)
  (let ((dsg-current-article gnus-current-article)
	(dsg-mark-list
	 (mapcar '(lambda (n) (cons n (gnus-summary-article-mark n)))
		 (gnus-uu-get-list-of-articles nil)))
	(dsg-work-articles (gnus-summary-work-articles nil)))
    (mapcar '(lambda (n) (gnus-summary-mark-article n ?!)) dsg-work-articles)
    ad-do-it
    (mapcar '(lambda (n) (gnus-summary-mark-article (car n) (cdr n)))
	    dsg-mark-list)
    (gnus-summary-goto-article dsg-current-article)))

-- 
Dave Goldberg
Post: The Mitre Corporation\MS B325\202 Burlington Rd.\Bedford, MA 01730
Phone: 781-271-3887
Email: dsg@mitre.org



  reply	other threads:[~2000-02-23 16:53 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-22  0:02 Harry Putnam
2000-02-22 20:54 ` Jussi Yli-Urpo
2000-02-22 21:06   ` Chris Richards
2000-02-22 21:38     ` Alan Shutko
2000-02-23  3:56     ` Harry Putnam
2000-02-23 16:53       ` David S. Goldberg [this message]
2000-02-23 17:04         ` David S. Goldberg
2000-02-23 17:36         ` Kai Großjohann
2000-02-23 21:18           ` David S. Goldberg
2000-02-23 22:04             ` Kai Großjohann
2000-02-25  0:14           ` Amos Gouaux
2000-02-22 21:54   ` Kai Großjohann
2000-02-22 23:25     ` Marking read articles (was Small complaint about M-g) Chris Brierley
2000-02-23 19:13       ` Jussi Yli-Urpo
2000-02-23 20:30         ` Kai Großjohann
2000-02-23 21:05           ` Jussi Yli-Urpo
2000-02-25  0:34             ` Amos Gouaux

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m1bya8bvp09.fsf@blackbird.mitre.org \
    --to=dsg@mitre.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).