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

Jani Nikula jani at nikula.org
Mon Sep 3 05:06:24 PDT 2012


On Mon, 03 Sep 2012, Michal Nazarewicz <mina86 at mina86.com> wrote:
> 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.

Agreed.

Jani.

>
>> +	      (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--


More information about the notmuch mailing list