(mime-browse-url-regexp): Renamed from `mime-text-url-regexp'.
authorshuhei-k <shuhei-k>
Wed, 24 Jun 1998 12:32:18 +0000 (12:32 +0000)
committershuhei-k <shuhei-k>
Wed, 24 Jun 1998 12:32:18 +0000 (12:32 +0000)
(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

index c260a41..3580c5e 100644 (file)
          (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