Gnus development mailing list
 help / color / mirror / Atom feed
From: dme@dme.org
Subject: Re: problems with nnvirtual and marks
Date: Mon, 07 Jan 2002 16:24:58 +0000	[thread overview]
Message-ID: <x8ecy9jagmcl.fsf@pantalamion.dme.org> (raw)
In-Reply-To: <x8ecy9jf1sjz.fsf@pantalamion.dme.org> (dme@dme.org's message of "Thu, 03 Jan 2002 13:18:40 +0000")

* 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.



  reply	other threads:[~2002-01-07 16:24 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-03 13:18 dme
2002-01-07 16:24 ` dme [this message]
2002-01-19 19:45   ` Lars Magne Ingebrigtsen
2002-01-21 22:31     ` Paul Jarc

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=x8ecy9jagmcl.fsf@pantalamion.dme.org \
    --to=dme@dme.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).