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
next prev parent 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).