X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;ds=sidebyside;f=emacs%2Fnotmuch-lib.el;h=d5ca0f404ff5de3d529c946c0e05e0927186a7f4;hb=eb4e0ea2ab4d2515ab9575ee99ad024d03765199;hp=74b3d6d2ab9c996090934cc4f162e5a9035ec3a1;hpb=7c58326d62fd742a303e4c22356158c0fad87a83;p=notmuch diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 74b3d6d2..d5ca0f40 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -87,6 +87,10 @@ the user hasn't set this variable with the old or new value." "Return the user.primary_email value from the notmuch configuration." (notmuch-config-get "user.primary_email")) +(defun notmuch-user-other-email () + "Return the user.primary_email value (as a list) from the notmuch configuration." + (split-string (notmuch-config-get "user.other_email") "\n")) + (defun notmuch-kill-this-buffer () "Kill the current buffer." (interactive) @@ -116,6 +120,15 @@ within the current window." (or (memq prop buffer-invisibility-spec) (assq prop buffer-invisibility-spec))))) +(defun notmuch-remove-if-not (predicate list) + "Return a copy of LIST with all items not satisfying PREDICATE removed." + (let (out) + (while list + (when (funcall predicate (car list)) + (push (car list) out)) + (setq list (cdr list))) + (nreverse out))) + ; This lets us avoid compiling these replacement functions when emacs ; is sufficiently new enough to supply them alone. We do the macro ; treatment rather than just wrapping our defun calls in a when form