[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs CVS, question regarding ticked, dormant, \Flagged with nnimap.
From: |
Bruno Hertz |
Subject: |
Re: Emacs CVS, question regarding ticked, dormant, \Flagged with nnimap. |
Date: |
Sun, 27 Mar 2005 19:50:53 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
"Bruno Hertz" <spammer.go.home@gmail.com> writes:
> Hi folks
>
> does anyone know why, when applying flags to an imap backend,
> flag addition and removal are applied in that order?
>
> Example: with nnimap-importantize-dormant enabled, if I enter
> a buffer that has ticked articles and change those ticks into
> dormant, on the imap side first (gnus-dormant \Flagged) is
> stored on those articles, but then (\Flagged) is removed due
> to removal of the tick, making importantize basically effectiveless.
>
> You probably guess the reason I ask, i.e. I want to maintain
> \Flagged cross-client, while hiding those articles upon entering
> a summary buffer at the same time.
>
> Sidenote: if you're about to recommend using (display . [unread])
> to hide ticked articles per default, let me just note that this
> doesn't work either.
>
> Hints mucho appreciated.
>
> Regards, Bruno.
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?
Regards, Bruno.