X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-text.el;h=6a22fbd06440d423739718648b40cc7d71445770;hb=eb8e83c6fa03e304c645e72c74201c1719f5ae0c;hp=748ab19596f4cdcddac2c3a9f6f7e7dce295ba93;hpb=4e31f5213308fa82ca6280dc5a7a2b888fd918c7;p=elisp%2Fsemi.git diff --git a/mime-text.el b/mime-text.el index 748ab19..6a22fbd 100644 --- a/mime-text.el +++ b/mime-text.el @@ -112,37 +112,44 @@ local variable `mime-text-decoder' and variable ) )) +(defsubst mime-text-add-url-buttons () + "Add URL-buttons for text body." + (goto-char (point-min)) + (while (re-search-forward mime-text-url-regexp nil t) + (let ((beg (match-beginning 0)) + (end (match-end 0))) + (mime-add-button beg end #'mime-text-browse-url + (list (buffer-substring beg end))) + ))) + +(defun mime-text-add-url-buttons-maybe () + "Add URL-buttons if 'browse-url-browser-function is not 'nil." + (if browse-url-browser-function + (mime-text-add-url-buttons) + )) + ;;; @ content filters for mime-text ;;; -(defun mime-view-filter-for-text/plain (situation) +(defun mime-preview-filter-for-text/plain (situation) (mime-text-decode-body situation) (goto-char (point-max)) (if (not (eq (char-after (1- (point))) ?\n)) (insert "\n") ) - (if browse-url-browser-function - (progn - (goto-char (point-min)) - (while (re-search-forward mime-text-url-regexp nil t) - (let ((beg (match-beginning 0)) - (end (match-end 0))) - (mime-add-button beg end - (function mime-text-browse-url) - (list (buffer-substring beg end)))) - ))) - (run-hooks 'mime-view-plain-text-preview-hook) + (mime-text-add-url-buttons) + (run-hooks 'mime-preview-text/plain-hook) ) -(defun mime-view-filter-for-text/richtext (situation) +(defun mime-preview-filter-for-text/richtext (situation) (let ((beg (point-min))) (remove-text-properties beg (point-max) '(face nil)) (mime-text-decode-body situation) (richtext-decode beg (point-max)) )) -(defun mime-view-filter-for-text/enriched (situation) +(defun mime-preview-filter-for-text/enriched (situation) (let ((beg (point-min))) (remove-text-properties beg (point-max) '(face nil)) (mime-text-decode-body situation)