[PATCH 1/6] emacs: add helper for tag change list manipulation

Michal Nazarewicz mina86 at mina86.com
Mon Sep 3 04:33:55 PDT 2012


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>


More information about the notmuch mailing list