;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; 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
;;; @ 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)
(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)
)))
-;;; @ 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)
(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))
)
(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))
)