From: Kevin Ryde <user42@zip.com.au>
Subject: Re: summary rescan and cancelled articles
Date: Mon, 24 Mar 2003 10:36:29 +1000 [thread overview]
Message-ID: <871y0xtxbm.fsf@zip.com.au> (raw)
In-Reply-To: <2nhee3pynk.fsf@zsh.cs.rochester.edu>
[-- Attachment #1: Type: text/plain, Size: 208 bytes --]
A bit more to help M-g keep point in the same location,
* gnus-sum.el (gnus-summary-find-for-reselect): Renamed from
gnus-summary-find-uncancelled, skip temporary articles inserted by
"refer" functions.
[-- Attachment #2: gnus-sum.el.more-reselect.diff --]
[-- Type: text/plain, Size: 1941 bytes --]
CVS_RSH not defined
/usr/bin/cvs -d :pserver:gnus@cvs.gnus.org:/usr/local/cvsroot diff gnus-sum.el
Index: gnus-sum.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/gnus-sum.el,v
retrieving revision 6.322
diff -u -r6.322 gnus-sum.el
--- gnus-sum.el 21 Mar 2003 07:18:25 -0000 6.322
+++ gnus-sum.el 24 Mar 2003 00:34:16 -0000
@@ -6317,17 +6317,19 @@
(> (prefix-numeric-value arg) 0)))
(redraw-display))
-(defun gnus-summary-find-uncancelled ()
- "Return the number of an uncancelled article.
+(defun gnus-summary-find-for-reselect ()
+ "Return the number of an article to stay on across a reselect.
The current article is considered, then following articles, then previous
-articles. If all articles are cancelled then return a dummy 0."
+articles. An article is sought which is not cancelled and isn't a temporary
+insertion from another group. If there's no such then return a dummy 0."
(let (found)
(dolist (rev '(nil t))
(unless found ; don't demand the reverse list if we don't need it
(let ((data (gnus-data-find-list
(gnus-summary-article-number) (gnus-data-list rev))))
(while (and data (not found))
- (if (not (eq gnus-canceled-mark (gnus-data-mark (car data))))
+ (if (and (< 0 (gnus-data-number (car data)))
+ (not (eq gnus-canceled-mark (gnus-data-mark (car data)))))
(setq found (gnus-data-number (car data))))
(setq data (cdr data))))))
(or found 0)))
@@ -6338,7 +6340,7 @@
(interactive "P")
(when (gnus-ephemeral-group-p gnus-newsgroup-name)
(error "Ephemeral groups can't be reselected"))
- (let ((current-subject (gnus-summary-find-uncancelled))
+ (let ((current-subject (gnus-summary-find-for-reselect))
(group gnus-newsgroup-name))
(setq gnus-newsgroup-begin nil)
(gnus-summary-exit)
next prev parent reply other threads:[~2003-03-24 0:36 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-17 22:33 Kevin Ryde
2002-11-27 1:52 ` ShengHuo ZHU
2003-03-24 0:36 ` Kevin Ryde [this message]
2003-03-26 20:52 ` ShengHuo ZHU
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=871y0xtxbm.fsf@zip.com.au \
--to=user42@zip.com.au \
/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).