Jani Nikula <jani at nikula.org> writes: > Add a helper to create (and optionally reverse) a list of tag changes. > --- > emacs/notmuch-tag.el | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/emacs/notmuch-tag.el b/emacs/notmuch-tag.el > index 0c0fc87..c1aeb99 100644 > --- a/emacs/notmuch-tag.el > +++ b/emacs/notmuch-tag.el > @@ -140,6 +140,23 @@ notmuch-after-tag-hook will be run." > ;; in all cases we return tag-changes as a list > tag-changes) > > +(defun notmuch-tag-change-list (tags &optional reverse) > + "Convert TAGS into a list of tag changes. > + > +Add a \"+\" prefix to any tag in TAGS list that doesn't already > +begin with a \"+\" or a \"-\". If REVERSE is non-nil, replace all > +\"+\" prefixes with \"-\" and vice versa in the result." > + (mapcar (lambda (str) > + (let ((s (if (not (string-match "^[+-]" str)) > + (concat "+" str) > + str)))
(if (string-match "^[-+]" str) str (concat "+" str)) Negation only makes things less readable IMO. > + (if reverse > + (concat (if (= (string-to-char s) ?-) "+" "-") > + (substring s 1)) > + s))) > + tags)) > + > + > ;; > > (provide 'notmuch-tag) -- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Micha? ?mina86? Nazarewicz (o o) ooo +----<email/xmpp: mpn at google.com>--------------ooO--(_)--Ooo-- -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 835 bytes Desc: not available URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20120903/b188bfd2/attachment.pgp>