;;; by Morioka Tomohiko, 1994/07/13
;;;
-(provide 'tm-view)
-
-
;;; @ require modules
;;;
(require 'tl-str)
(require 'tl-list)
+(require 'tl-atype)
(require 'tl-misc)
(require 'tl-header)
+(require 'mel)
(require 'tiny-mime)
(require 'tm-misc)
;;;
(defconst mime-viewer/RCS-ID
- "$Id: tm-view.el,v 6.58 1995/06/22 04:11:58 morioka Exp $")
+ "$Id: tm-view.el,v 6.71 1995/08/03 21:21:16 morioka Exp $")
(defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID))
(defconst mime/viewer-version mime-viewer/version)
(concat (regexp-* mime-viewer/file-name-char-regexp)
"\\(\\." mime-viewer/file-name-char-regexp "+\\)*"))
+(defvar mime-viewer/announcement-for-message/partial
+ "[[ This is message/partial style split message. ]]
+[[ Please press `v' key in this buffer. ]]")
+
;;; @@ predicate functions
;;;
(defun mime-viewer/default-content-subject-function
(cnum cinfo ctype params subj)
- (if (not (member
- ctype
- mime-viewer/content-subject-omitting-Content-Type-list))
+ (if (and (listp cnum)
+ (not (member
+ ctype
+ mime-viewer/content-subject-omitting-Content-Type-list))
+ )
(insert
(let ((access-type (assoc "access-type" params))
(num (or (assoc-value "x-part-number" params)
(gnus-summary-select-article nil t)
))
-(defun mime::viewer/quitting-method-for-rmail ()
- (mime-viewer/kill-buffer)
- (rmail-summary)
- (delete-other-windows)
- )
-
(defvar mime-viewer/quitting-method-alist
'((gnus-article-mode . mime::viewer/quitting-method-for-gnus4)
- (rmail-mode . mime::viewer/quitting-method-for-rmail)
(mime/show-message-mode
. (lambda ()
(set-window-configuration
(setq mime::preview/original-major-mode mode)
(setq major-mode 'mime/viewer-mode)
(setq mode-name "MIME-View")
+ (make-variable-buffer-local 'outline-regexp)
+ ;;(setq outline-regexp "\\[.*\\]\\|\C-L")
+ ;;(outline-minor-mode t)
(setq dest
(mapcar
(function
(end (mime::content-info/point-max cell))
(ctype (mime::content-info/type cell))
(params (mime::content-info/parameters cell))
+ (encoding (mime::content-info/encoding cell))
he cnum e nb ne subj str)
(setq cnum (mime::get-point-content-number beg cinfo))
(switch-to-buffer the-buf)
(re-search-forward "^$" nil t)
(+ (match-end 0) 1)
))
+ (if (> he (point-max))
+ (setq he (point-max))
+ )
(switch-to-buffer obuf)
(setq nb (point))
(narrow-to-region nb nb)
(setq ne (point-max))
)
(switch-to-buffer the-buf)
- ))
+ )
+ (if (equal ctype "message/partial")
+ (let (be)
+ (switch-to-buffer obuf)
+ (save-restriction
+ (setq be (point-max))
+ (narrow-to-region be be)
+ (insert
+ mime-viewer/announcement-for-message/partial)
+ (setq ne (point-max))
+ )
+ (switch-to-buffer the-buf)
+ ))
+ )
(switch-to-buffer obuf)
(mime-viewer/default-content-separator
- cnum cinfo ctype params subj)
+ cnum cinfo ctype params subj)
(prog1
(progn
(setq subj (mime-viewer/get-subject params))
;;; @ decoder
;;;
-(defun mime/Quoted-Printable-decode-region (beg end)
- (interactive "*r")
- (save-excursion
- (save-restriction
- (narrow-to-region beg end)
- (goto-char (point-min))
- (while (re-search-forward "=\n" nil t)
- (replace-match "")
- )
- (goto-char (point-min))
- (let (b e str)
- (while (re-search-forward mime/Quoted-Printable-octet-regexp nil t)
- (setq b (match-beginning 0))
- (setq e (match-end 0))
- (setq str (buffer-substring b e))
- (delete-region b e)
- (insert (mime/Quoted-Printable-decode-string str))
- ))
- )))
-
-(defun mime/Base64-decode-region (beg end)
- (interactive "*r")
- (save-excursion
- (save-restriction
- (narrow-to-region beg end)
- (goto-char (point-min))
- (while (search-forward "\n" nil t)
- (replace-match "")
- )
- (let ((str (buffer-substring (point-min)(point-max))))
- (delete-region (point-min)(point-max))
- (insert (mime/base64-decode-string str))
- ))))
-
(defun mime/make-method-args (cal format)
(mapcar (function
(lambda (arg)
(defun mime-viewer/default-code-convert-region
(beg end charset &optional encoding)
- (if (member charset '("quoted-printable" "base64"))
+ (if (member encoding '("quoted-printable" "base64"))
(mime/code-convert-region-to-emacs beg (point-max) charset)
))
)
(goto-char (point-min))
(cond ((string= encoding "quoted-printable")
- (mime/Quoted-Printable-decode-region beg end)
+ (quoted-printable-decode-region beg end)
)
((string= encoding "base64")
- (mime/Base64-decode-region beg end)
+ (base64-decode-region beg end)
))
(let* ((mode mime::preview/original-major-mode)
(m (assq mode mime-viewer/code-converter-alist))
(mime-viewer/default-code-convert-region beg (point-max)
charset encoding)
)))
+ (goto-char (point-max))
+ (if (not (eq (char-after (1- (point))) ?\n))
+ (insert "\n")
+ )
+ ;;(hide-sublevels 1)
(run-hooks 'mime-viewer/plain-text-preview-hook)
)
(forward-line h)
(if (> (point) np)
(goto-char np)
- )))
+ )
+ ;;(show-subtree)
+ ))
(defun mime-viewer/scroll-down-content (&optional h)
(interactive)
(kill-buffer (current-buffer))
)
+
+;;; @ end
+;;;
+
+(provide 'tm-view)
+
(run-hooks 'tm-view-load-hook)