X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-lib.el;h=7c6cf61ac53ff498706cd3edf10514aa88cc07de;hb=04725cfbe5a8905651b3f6a4dcf1f3dce9a085e1;hp=59b1ce3ffecfaf1e310ac3667446e93cc260d39f;hpb=6bbb91f8b64c20a491cc3501b625753f97e52882;p=notmuch diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 59b1ce3f..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.