X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-text.el;h=63b495532647c12414d86bc28fa80e30856f5e41;hb=298594ec0806e7389b7a31374f86a1a18196e6a0;hp=a60541ea3017c63845352bac58ee1b28404cc3df;hpb=e9599acac9d5097825f875ff3330ef54499f75f9;p=elisp%2Fsemi.git diff --git a/mime-text.el b/mime-text.el index a60541e..63b4955 100644 --- a/mime-text.el +++ b/mime-text.el @@ -4,10 +4,10 @@ ;; Author: MORIOKA Tomohiko ;; Version: -;; $Id: mime-text.el,v 0.1 1997-02-21 04:16:04 tmorioka Exp $ +;; $Id: mime-text.el,v 0.11 1997-03-04 12:39:25 morioka Exp $ ;; Keywords: text, MIME, multimedia, mail, news -;; This file is part of tm (Tools for MIME). +;; This file is part of SEMI (SEMI is Emacs MIME Interfaces). ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as @@ -29,10 +29,10 @@ ;;; @ code conversion ;;; -(defvar mime-view-code-converter-alist - '((mime/show-message-mode . mime-charset/decode-buffer) - (mime/temporary-message-mode . mime-charset/decode-buffer) - (t . mime-charset/maybe-decode-buffer) +(defvar mime-text-decoder-alist + '((mime/show-message-mode . mime-charset/decode-buffer) + (mime-temp-message-mode . mime-charset/decode-buffer) + (t . mime-charset/maybe-decode-buffer) )) (defun mime-charset/decode-buffer (charset &optional encoding) @@ -51,8 +51,8 @@ (m (or (save-excursion (set-buffer mime::preview/article-buffer) mime::article/code-converter) - (cdr (or (assq mode mime-view-code-converter-alist) - (assq t mime-view-code-converter-alist))) + (cdr (or (assq mode mime-text-decoder-alist) + (assq t mime-text-decoder-alist))) )) ) (and (functionp m) @@ -60,7 +60,27 @@ ))) -;;; @ content filters for tm-view +;;; @ for URL +;;; + +(require 'browse-url) + +(defvar mime-text-url-regexp + "\\(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/plain body.") + +(defun mime-text-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) + ) + )) + + +;;; @ content filters for mime-text ;;; (defun mime-preview/filter-for-text/plain (ctype params encoding) @@ -72,19 +92,19 @@ (if browse-url-browser-function (progn (goto-char (point-min)) - (while (re-search-forward tm:URL-regexp nil t) + (while (re-search-forward mime-text-url-regexp nil t) (let ((beg (match-beginning 0)) (end (match-end 0))) - (tm:add-button beg end - (function tm:browse-url) - (list (buffer-substring beg end)))) + (mime-add-button beg end + (function mime-text-browse-url) + (list (buffer-substring beg end)))) ))) (run-hooks 'mime-view-plain-text-preview-hook) ) (defun mime-preview/filter-for-text/richtext (ctype params encoding) (let* ((mode mime::preview/original-major-mode) - (m (assq mode mime-view-code-converter-alist)) + (m (assq mode mime-text-decoder-alist)) (charset (cdr (assoc "charset" params))) (beg (point-min)) ) @@ -95,7 +115,7 @@ (defun mime-preview/filter-for-text/enriched (ctype params encoding) (let* ((mode mime::preview/original-major-mode) - (m (assq mode mime-view-code-converter-alist)) + (m (assq mode mime-text-decoder-alist)) (charset (cdr (assoc "charset" params))) (beg (point-min)) )