Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
From: "Bruno Hertz" <spammer.go.home@gmail.com>
Subject: Re: Emacs CVS, question regarding ticked, dormant, \Flagged with nnimap.
Date: Sun, 27 Mar 2005 22:52:19 +0200	[thread overview]
Message-ID: <m3sm2g6ccc.fsf@caruso.quasi.local> (raw)
In-Reply-To: <m3zmwpyo3m.fsf@caruso.quasi.local>

"Bruno Hertz" <spammer.go.home@gmail.com> writes:

> Addition: the function in question seems to be gnus-update-marks,
> portion
>
> 	(when (and (gnus-check-backend-function
> 		    'request-set-mark gnus-newsgroup-name)
> 		   (not (gnus-article-unpropagatable-p (cdr type))))
> 	  (let* ((old (cdr (assq (cdr type) (gnus-info-marks info))))
> 		 (del (gnus-remove-from-range (gnus-copy-sequence old) list))
> 		 (add (gnus-remove-from-range
> 		       (gnus-copy-sequence list) old)))
> 	    (when add
> 	      (push (list add 'add (list (cdr type))) delta-marks))
> 	    (when del
> 	      (push (list del 'del (list (cdr type))) delta-marks))))
>
> which apparently is meant to work with any backend.
>
> Still, anybody having an idea about whether exchanging add and del
> might break anything?

OK, tracked this further down, the above remarks are apparently wrong.
The action list order applied to marks follows the order defined in
gnus-article-mark-lists, where 'ticked' comes before 'dormant'. So
ticked will be pushed first anyway onto the actions, regardless of
'add' or 'delete'. Which means it will be popped (and applied) last,
hence remove a \Flagged previously set by dormant.

Two solutions come to mind: redefine gnus-article-mark-lists, which
would be somewhat arbitrary and maybe invite for future mistakes, or
sort the actions in nnimap-request-set-mark to do deletes first.

I'm no elisp geek, so some advice on what best to do would be great.

Regards, Bruno.


  reply	other threads:[~2005-03-27 20:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-27 15:47 Bruno Hertz
2005-03-27 17:50 ` Bruno Hertz
2005-03-27 20:52   ` Bruno Hertz [this message]
2005-03-28 16:55     ` Bruno Hertz

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=m3sm2g6ccc.fsf@caruso.quasi.local \
    --to=spammer.go.home@gmail.com \
    /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).