From a556556dca719fd3efa456c120cdd9001b7ab049 Mon Sep 17 00:00:00 2001 From: shuhei-k Date: Wed, 24 Jun 1998 12:32:18 +0000 Subject: [PATCH] (mime-browse-url-regexp): Renamed from `mime-text-url-regexp'. (mime-browse-url): Renamed from `mime-text-browse-url'. (mime-browse-add-url-buttons): Renamed from `mime-text-add-url-buttons'. (mime-browse-add-url-buttons-maybe): Renamed from `mime-text-add-url-buttons-maybe'. --- semi-def.el | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/semi-def.el b/semi-def.el index c260a41..3580c5e 100644 --- a/semi-def.el +++ b/semi-def.el @@ -99,8 +99,45 @@ (apply func data) (if (fboundp mime-button-mother-dispatcher) (funcall mime-button-mother-dispatcher event) - ) - )))) + ))))) + + +;;; @ for URL +;;; + +(require 'browse-url) + +(defcustom mime-browse-url-regexp + (concat "\\(http\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\):" + "\\(//[-a-zA-Z0-9_.]+:[0-9]*\\)?" + "[-a-zA-Z0-9_=?#$@~`%&*+|\\/.,]*[-a-zA-Z0-9_=#$@~`%&*+|\\/]") + "*Regexp to match URL in text body." + :group 'mime + :type 'regexp) + +(defun mime-browse-url (&optional url) + (if (fboundp browse-url-browser-function) + (if url + (funcall browse-url-browser-function url) + (call-interactively browse-url-browser-function)) + (if (fboundp mime-button-mother-dispatcher) + (call-interactively mime-button-mother-dispatcher) + ))) + +(defsubst mime-browse-add-url-buttons () + "Add URL-buttons for text body." + (goto-char (point-min)) + (while (re-search-forward mime-browse-url-regexp nil t) + (let ((beg (match-beginning 0)) + (end (match-end 0))) + (mime-add-button beg end (function mime-browse-url) + (list (buffer-substring beg end)))))) + +(defun mime-browse-add-url-buttons-maybe () + "Add URL-buttons if 'browse-url-browser-function is non-nil." + (if browse-url-browser-function + (mime-browse-add-url-buttons) + )) ;;; @ menu -- 1.7.10.4