From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.user/4741 Path: news.gmane.org!not-for-mail From: "Bruno Hertz" Newsgroups: gmane.emacs.gnus.user Subject: Re: Emacs CVS, question regarding ticked, dormant, \Flagged with nnimap. Date: Sun, 27 Mar 2005 19:50:53 +0200 Organization: Arcor Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1138670650 24696 80.91.229.2 (31 Jan 2006 01:24:10 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 31 Jan 2006 01:24:10 +0000 (UTC) Original-X-From: nobody Tue Jan 17 17:34:14 2006 Original-Path: quimby.gnus.org!newsfeed.gazeta.pl!newsfeed.pionier.net.pl!news-fra1.dfn.de!npeer.de.kpn-eurorings.net!newsfeed.arcor.de!news.arcor.de!not-for-mail Original-Newsgroups: gnu.emacs.gnus User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) Cancel-Lock: sha1:i5c86LBbsayMAZObusAhCkkPdak= Original-NNTP-Posting-Date: 27 Mar 2005 19:50:22 MEST Original-NNTP-Posting-Host: 2724483a.newsread4.arcor-online.net Original-X-Trace: DXC=]V]3lOS2V6QXNWN: "Bruno Hertz" 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.