X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-lib.el;h=7c6cf61ac53ff498706cd3edf10514aa88cc07de;hb=b607965886e0a46a47bbe9575c0b8da0728e2cbf;hp=790136e035594c30aedc77f3e8d4a430b2f9d47d;hpb=ab30a846a49f576e1bfcd73f2ec41def474a6d96;p=notmuch diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 790136e0..7c6cf61a 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -360,6 +360,18 @@ OBJECT." below string)) +(defun notmuch-map-text-property (start end prop func &optional object) + "Transform text property PROP using FUNC. + +Applies FUNC to each distinct value of the text property PROP +between START and END of OBJECT, setting PROP to the value +returned by FUNC." + (while (< start end) + (let ((value (get-text-property start prop object)) + (next (next-single-property-change start prop object end))) + (put-text-property start next prop (funcall func value) object) + (setq start next)))) + (defun notmuch-logged-error (msg &optional extra) "Log MSG and EXTRA to *Notmuch errors* and signal MSG. @@ -438,7 +450,7 @@ You may need to restart Emacs or upgrade your notmuch package.")) (if err ;; We have an error message straight from the CLI. (notmuch-logged-error - (replace-regexp-in-string "\\s $" "" err) extra) + (replace-regexp-in-string "[ \n\r\t\f]*\\'" "" err) extra) ;; We only have combined output from the CLI; don't inundate ;; the user with it. Mimic `process-lines'. (notmuch-logged-error (format "%s exited with status %s"