From dafbe9fa230c8a9a760bdb81cf042aeabfdfbeeb Mon Sep 17 00:00:00 2001 From: morioka Date: Mon, 15 Jun 1998 18:33:49 +0000 Subject: [PATCH] Sync up with semi-1_6_0. --- MIME-View-API-ja.ol | 19 ++- Makefile | 2 +- NEWS | 57 +++++++++ TODO | 2 + mime-play.el | 322 +++++++++++++++++++++++++++++---------------------- mime-view.el | 199 +++++++++++++------------------ mime-w3.el | 3 +- semi-def.el | 2 +- 8 files changed, 330 insertions(+), 276 deletions(-) diff --git a/MIME-View-API-ja.ol b/MIME-View-API-ja.ol index 2983211..8a84180 100644 --- a/MIME-View-API-ja.ol +++ b/MIME-View-API-ja.ol @@ -278,8 +278,6 @@ buffer です。MIME 書面は entity を単位とする木構造ですが、この ** API -*** 一般 - [buffer 局所変数] mime-mother-buffer 対応する親 buffer を示す。 @@ -302,24 +300,23 @@ buffer です。MIME 書面は entity を単位とする木構造ですが、この 可能性があるからである。 -[buffer 局所変数] mime-preview-original-major-mode - - 対応する mime-raw-buffer における major-mode を示す。 - - [buffer 局所変数] mime-preview-original-window-configuration mime-preview-buffer を作る前の window-configuration を収める。 -[text-property] mime-view-raw-buffer +[text-property] mime-view-entity - この位置に対応する mime-raw-buffer を示す。 + 現在位置に対応する entity 構造体を示す。 -[text-property] mime-view-entity +[関数] mime-preview-original-major-mode (&optional recursive) + + 現在位置に対応する entity の表象が存在する buffer の + major-mode を返す。 - この位置に対応する entity 構造体を示す。 + RECURSIVE に non-nil が指定された場合、始祖の major-mode を返 + す。 * entity diff --git a/Makefile b/Makefile index a6cbb01..b9eef37 100644 --- a/Makefile +++ b/Makefile @@ -2,8 +2,8 @@ # Makefile for SEMI kernel. # -VERSION = 1.6.0 PACKAGE = remi +VERSION = 1.6.1 SHELL = /bin/sh MAKE = make diff --git a/NEWS b/NEWS index bde99e3..20be678 100644 --- a/NEWS +++ b/NEWS @@ -1,8 +1,64 @@ SEMI NEWS --- history of major-changes. Copyright (C) 1998 Free Software Foundation, Inc. +* Changes in SEMI 1.6 + +** Abolish tm-compatible external method support + + Abolish tm-compatible external method support. Please use mailcap +method instead of it. + + +** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type' + + C-c C-m C-s encloses as "pgp-signed" which means PGP/MIME signature. + + C-c C-m C-e encloses as "pgp-encrypted" which means PGP/MIME +encryption. + + +** New interface to display message + +- Function `mime-view-buffer' +- Function `mime-view-display-message' + + +** Change interface of internal playback method + + Interface of internal playback method was changed to + + (entity situation) + +It is as same as interface of body-presentation-method. + + +** Change interface of `mime-view-entity-button-visible-p' + +** Change interface of `mime-view-insert-entity-button' + + +** `mime-preview-original-major-mode' + + Abolish variable `mime-preview-original-major-mode'. + + Please use function `mime-preview-original-major-mode' instead of +it. + + +** mime-preview-over-to-{previous|next}-method-alist + + `mime-preview-over-to-{previous|next}-method-alist' were renamed +from `mime-view-over-to-{previous|next}-method-alist'. + + * Changes in SEMI 1.5 +** mime-w3 + + Add inline text/html preview feature using w3. If +`mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it. + + ** `pgp-elkins' -> `pgp-mime' Rename `pgp-elkins' -> `pgp-mime'. Variable @@ -33,6 +89,7 @@ body-presentation-method to display text entity. In this purpose, old text decoding features were abolished and introduces news features (cf. next section). + ** mime-raw-representation-type and mime-raw-representation-type-alist Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of diff --git a/TODO b/TODO index cb2a11c..aaaac05 100644 --- a/TODO +++ b/TODO @@ -5,6 +5,8 @@ ** dynamic configuration for 'mime-preview-condition +** multipart/related support + ** Don't use filter-model tomo (major developer of SEMI) and akr (major developer of diff --git a/mime-play.el b/mime-play.el index ce4d45f..45ff40d 100644 --- a/mime-play.el +++ b/mime-play.el @@ -79,7 +79,7 @@ If MODE is specified, play as it. Default MODE is \"play\"." (let ((entity (get-text-property (point) 'mime-view-entity))) (if entity (let ((the-buf (current-buffer)) - (raw-buffer (get-text-property (point) 'mime-view-raw-buffer))) + (raw-buffer (mime-entity-buffer entity))) (setq mime-preview-after-decoded-position (point)) (set-buffer raw-buffer) (mime-raw-play-entity entity mode) @@ -96,23 +96,26 @@ If MODE is specified, play as it. Default MODE is \"play\"." (order '((type . 1) (subtype . 2) (mode . 3) - (major-mode . 4))) + (method . 4) + (major-mode . 5) + (disposition-type . 6) + )) a-order b-order) (if (symbolp a-t) (let ((ret (assq a-t order))) (if ret (setq a-order (cdr ret)) - (setq a-order 5) + (setq a-order 7) )) - (setq a-order 6) + (setq a-order 8) ) (if (symbolp b-t) (let ((ret (assq b-t order))) (if ret (setq b-order (cdr ret)) - (setq b-order 5) + (setq b-order 7) )) - (setq b-order 6) + (setq b-order 8) ) (if (= a-order b-order) (string< (format "%s" a-t)(format "%s" b-t)) @@ -130,65 +133,64 @@ If MODE is specified, play as it. Default MODE is \"play\"." (setq situations (cdr situations))) dest)) -(defun mime-raw-play-entity (entity &optional mode) +(defun mime-raw-play-entity (entity &optional mode situation) "Play entity specified by ENTITY. It decodes the entity to call internal or external method. The method is selected from variable `mime-acting-condition'. If MODE is specified, play as it. Default MODE is \"play\"." - (let ((beg (mime-entity-point-min entity)) - (end (mime-entity-point-max entity))) - (let (method cal ret) - (setq cal (mime-entity-situation entity)) - (if mode - (setq cal (cons (cons 'mode mode) cal)) - ) - (setq ret - (or (ctree-match-calist mime-acting-situation-examples cal) - (ctree-match-calist-partially mime-acting-situation-examples - cal) - cal)) - (setq ret - (or (mime-delq-null-situation - (ctree-find-calist mime-acting-condition ret - mime-view-find-every-acting-situation) - 'method) - (mime-delq-null-situation - (ctree-find-calist mime-acting-condition cal - mime-view-find-every-acting-situation) - 'method) - )) - (cond ((cdr ret) - (setq ret (select-menu-alist - "Methods" - (mapcar (function - (lambda (situation) - (cons - (format "%s" - (cdr (assq 'method situation))) - situation))) - ret))) - (setq ret (mime-sort-situation ret)) - (ctree-set-calist-strictly 'mime-acting-situation-examples ret) - ) - (t - (setq ret (car ret)) - )) - (setq method (cdr (assq 'method ret))) - (cond ((and (symbolp method) - (fboundp method)) - (funcall method entity ret) - ) - ((stringp method) - (mime-activate-mailcap-method beg end ret) - ) - ((and (listp method)(stringp (car method))) - (mime-activate-external-method beg end ret) - ) - (t - (mime-show-echo-buffer "No method are specified for %s\n" - (mime-entity-type/subtype entity)) - )) - ))) + (let (method ret) + (or situation + (setq situation (mime-entity-situation entity))) + (if mode + (setq situation (cons (cons 'mode mode) situation)) + ) + (setq ret + (or (ctree-match-calist mime-acting-situation-examples situation) + (ctree-match-calist-partially mime-acting-situation-examples + situation) + situation)) + (setq ret + (or (mime-delq-null-situation + (ctree-find-calist mime-acting-condition ret + mime-view-find-every-acting-situation) + 'method) + (mime-delq-null-situation + (ctree-find-calist mime-acting-condition situation + mime-view-find-every-acting-situation) + 'method) + )) + (cond ((cdr ret) + (setq ret (select-menu-alist + "Methods" + (mapcar (function + (lambda (situation) + (cons + (format "%s" + (cdr (assq 'method situation))) + situation))) + ret))) + (setq ret (mime-sort-situation ret)) + (ctree-set-calist-strictly 'mime-acting-situation-examples ret) + ) + (t + (setq ret (car ret)) + )) + (setq method (cdr (assq 'method ret))) + (cond ((and (symbolp method) + (fboundp method)) + (funcall method entity ret) + ) + ((stringp method) + (mime-activate-mailcap-method entity ret) + ) + ;; ((and (listp method)(stringp (car method))) + ;; (mime-activate-external-method entity ret) + ;; ) + (t + (mime-show-echo-buffer "No method are specified for %s\n" + (mime-entity-type/subtype entity)) + )) + )) ;;; @ external decoder @@ -196,33 +198,31 @@ specified, play as it. Default MODE is \"play\"." (defvar mime-mailcap-method-filename-alist nil) -(defun mime-activate-mailcap-method (start end situation) +(defun mime-activate-mailcap-method (entity situation) (save-excursion (save-restriction - (narrow-to-region start end) - (goto-char start) - (let ((method (cdr (assoc 'method situation))) - (name (expand-file-name (mime-raw-get-filename situation) - mime-temp-directory))) - (mime-write-decoded-region (if (re-search-forward "^$" end t) - (1+ (match-end 0)) - (point-min)) - end name - (cdr (assq 'encoding situation))) - (message "External method is starting...") - (let ((process - (let ((command - (mailcap-format-command - method - (cons (cons 'filename name) situation)))) - (start-process command mime-echo-buffer-name - shell-file-name shell-command-switch command) - ))) - (set-alist 'mime-mailcap-method-filename-alist process name) - (set-process-sentinel process 'mime-mailcap-method-sentinel) - ) - ;;(mime-show-echo-buffer) - )))) + (let ((start (mime-entity-point-min entity)) + (end (mime-entity-point-max entity))) + (narrow-to-region start end) + (goto-char start) + (let ((method (cdr (assoc 'method situation))) + (name (expand-file-name (mime-raw-get-filename situation) + mime-temp-directory))) + (mime-write-decoded-region (mime-entity-body-start entity) end + name (cdr (assq 'encoding situation))) + (message "External method is starting...") + (let ((process + (let ((command + (mailcap-format-command + method + (cons (cons 'filename name) situation)))) + (start-process command mime-echo-buffer-name + shell-file-name shell-command-switch command) + ))) + (set-alist 'mime-mailcap-method-filename-alist process name) + (set-process-sentinel process 'mime-mailcap-method-sentinel) + ) + ))))) (defun mime-mailcap-method-sentinel (process event) (let ((file (cdr (assq process mime-mailcap-method-filename-alist)))) @@ -232,60 +232,52 @@ specified, play as it. Default MODE is \"play\"." (remove-alist 'mime-mailcap-method-filename-alist process) (message (format "%s %s" process event))) -(defun mime-activate-external-method (beg end cal) - (save-excursion - (save-restriction - (narrow-to-region beg end) - (goto-char beg) - (let ((method (cdr (assoc 'method cal))) - (name (mime-raw-get-filename cal)) - ) - (if method - (let ((file (make-temp-name - (expand-file-name "TM" mime-temp-directory))) - b args) - (if (nth 1 method) - (setq b beg) - (setq b - (if (re-search-forward "^$" nil t) - (1+ (match-end 0)) - (point-min) - )) - ) - (goto-char b) - (write-region b end file) - (message "External method is starting...") - (setq cal (put-alist - 'name (replace-as-filename name) cal)) - (setq cal (put-alist 'file file cal)) - (setq args (nconc - (list (car method) - mime-echo-buffer-name (car method) - ) - (mime-make-external-method-args - cal (cdr (cdr method))) - )) - (apply (function start-process) args) - (mime-show-echo-buffer) - )) - )))) - -(defun mime-make-external-method-args (cal format) - (mapcar (function - (lambda (arg) - (if (stringp arg) - arg - (let* ((item (eval arg)) - (ret (cdr (assoc item cal))) - ) - (if ret - ret - (if (eq item 'encoding) - "7bit" - "")) - )) - )) - format)) +;; (defun mime-activate-external-method (entity cal) +;; (save-excursion +;; (save-restriction +;; (let ((beg (mime-entity-point-min entity)) +;; (end (mime-entity-point-max entity))) +;; (narrow-to-region beg end) +;; (goto-char beg) +;; (let ((method (cdr (assoc 'method cal))) +;; (name (mime-raw-get-filename cal))) +;; (if method +;; (let ((file (make-temp-name +;; (expand-file-name "TM" mime-temp-directory))) +;; b args) +;; (if (nth 1 method) +;; (setq b beg) +;; (setq b (mime-entity-body-start entity))) +;; (goto-char b) +;; (write-region b end file) +;; (message "External method is starting...") +;; (setq cal (put-alist +;; 'name (replace-as-filename name) cal)) +;; (setq cal (put-alist 'file file cal)) +;; (setq args (nconc +;; (list (car method) +;; mime-echo-buffer-name (car method)) +;; (mime-make-external-method-args +;; cal (cdr (cdr method))) +;; )) +;; (apply (function start-process) args) +;; (mime-show-echo-buffer) +;; )) +;; ))))) + +;; (defun mime-make-external-method-args (cal format) +;; (mapcar (function +;; (lambda (arg) +;; (if (stringp arg) +;; arg +;; (let* ((item (eval arg)) +;; (ret (cdr (assoc item cal)))) +;; (or ret +;; (if (eq item 'encoding) +;; "7bit" +;; "")) +;; )))) +;; format)) (defvar mime-echo-window-is-shared-with-bbdb t "*If non-nil, mime-echo window is shared with BBDB window.") @@ -410,6 +402,56 @@ window.") ))) +;;; @ file detection +;;; + +(defvar mime-file-content-type-alist + '(("JPEG" image jpeg) + ("GIF" image gif) + ) + "*Alist of \"file\" output patterns vs. corresponding media-types. +Each element looks like (REGEXP TYPE SUBTYPE). +REGEXP is pattern for \"file\" command output. +TYPE is symbol to indicate primary type of media-type. +SUBTYPE is symbol to indicate subtype of media-type.") + +(defun mime-method-to-detect (entity situation) + (let ((beg (mime-entity-point-min entity)) + (end (mime-entity-point-max entity))) + (goto-char beg) + (let* ((name (save-restriction + (narrow-to-region beg end) + (mime-raw-get-filename situation) + )) + (encoding (or (cdr (assq 'encoding situation)) "7bit")) + (filename (if (and name (not (string-equal name ""))) + (expand-file-name name mime-temp-directory) + (make-temp-name + (expand-file-name "EMI" mime-temp-directory))))) + (mime-write-decoded-region (mime-entity-body-start entity) end + filename encoding) + (let (type subtype) + (with-temp-buffer + (call-process "file" nil t nil filename) + (goto-char (point-min)) + (if (search-forward (concat filename ": ") nil t) + (let ((rest mime-file-content-type-alist)) + (while (not (let ((cell (car rest))) + (if (looking-at (car cell)) + (setq type (nth 1 cell) + subtype (nth 2 cell)) + ))) + (setq rest (cdr rest)))))) + (if type + (mime-raw-play-entity + entity "play" + (put-alist 'type type + (put-alist 'subtype subtype + (mime-entity-situation entity)))) + )) + ))) + + ;;; @ mail/news message ;;; diff --git a/mime-view.el b/mime-view.el index bcd0595..852e15d 100644 --- a/mime-view.el +++ b/mime-view.el @@ -64,10 +64,7 @@ :type 'file) -;;; @ buffer local variables -;;; - -;;; @@ in raw-buffer +;;; @ in raw-buffer (representation space) ;;; (defvar mime-raw-message-info nil @@ -121,27 +118,6 @@ This value is overridden by buffer local variable `mime-raw-representation-type' if it is not nil.") -;;; @@ in preview-buffer -;;; - -(defvar mime-mother-buffer nil - "Mother buffer corresponding with the (MIME-preview) buffer. -If current MIME-preview buffer is generated by other buffer, such as -message/partial, it is called `mother-buffer'.") -(make-variable-buffer-local 'mime-mother-buffer) - -(defvar mime-raw-buffer nil - "Raw buffer corresponding with the (MIME-preview) buffer.") -(make-variable-buffer-local 'mime-raw-buffer) - -(defvar mime-preview-original-window-configuration nil - "Window-configuration before mime-view-mode is called.") -(make-variable-buffer-local 'mime-preview-original-window-configuration) - - -;;; @ entity information -;;; - (defsubst mime-raw-find-entity-from-node-id (entity-node-id &optional message-info) "Return entity from ENTITY-NODE-ID in mime-raw-buffer. @@ -186,6 +162,43 @@ If optional argument MESSAGE-INFO is not specified, message-info)))) +;;; @ in preview-buffer (presentation space) +;;; + +(defvar mime-mother-buffer nil + "Mother buffer corresponding with the (MIME-preview) buffer. +If current MIME-preview buffer is generated by other buffer, such as +message/partial, it is called `mother-buffer'.") +(make-variable-buffer-local 'mime-mother-buffer) + +(defvar mime-raw-buffer nil + "Raw buffer corresponding with the (MIME-preview) buffer.") +(make-variable-buffer-local 'mime-raw-buffer) + +(defvar mime-preview-original-window-configuration nil + "Window-configuration before mime-view-mode is called.") +(make-variable-buffer-local 'mime-preview-original-window-configuration) + +(defun mime-preview-original-major-mode (&optional recursive) + "Return major-mode of original buffer. +If optional argument RECURSIVE is non-nil and current buffer has +mime-mother-buffer, it returns original major-mode of the +mother-buffer." + (if (and recursive mime-mother-buffer) + (save-excursion + (set-buffer mime-mother-buffer) + (mime-preview-original-major-mode recursive) + ) + (save-excursion + (set-buffer + (mime-entity-buffer + (get-text-property (point-min) 'mime-view-entity))) + major-mode))) + + +;;; @ entity information +;;; + (defsubst mime-entity-parent (entity &optional message-info) "Return mother entity of ENTITY. If optional argument MESSAGE-INFO is not specified, @@ -197,10 +210,30 @@ If optional argument MESSAGE-INFO is not specified, (set-buffer (mime-entity-buffer entity)) mime-raw-message-info)))) -(defsubst mime-entity-situation (entity) +(defun mime-entity-situation (entity) "Return situation of ENTITY." (append (or (mime-entity-content-type entity) (make-mime-content-type 'text 'plain)) + (let ((d (mime-entity-content-disposition entity))) + (cons (cons 'disposition-type + (mime-content-disposition-type d)) + (mapcar (function + (lambda (param) + (let ((name (car param))) + (cons (cond ((string= name "filename") + 'filename) + ((string= name "creation-date") + 'creation-date) + ((string= name "modification-date") + 'modification-date) + ((string= name "read-date") + 'read-date) + ((string= name "size") + 'size) + (t (cons 'disposition (car param)))) + (cdr param))))) + (mime-content-disposition-parameters d)) + )) (list (cons 'encoding (mime-entity-encoding entity)) (cons 'major-mode (save-excursion @@ -668,30 +701,18 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t. t means default." (setq entries (cdr entries)) ))) -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . t)(subtype . t)(mode . "extract") -;; (method . mime-method-to-save))) +(ctree-set-calist-strictly + 'mime-acting-condition + '((type . application)(subtype . octet-stream) + (mode . "play") + (method . mime-method-to-detect) + )) + (ctree-set-calist-with-default 'mime-acting-condition '((mode . "extract") (method . mime-method-to-save))) -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . text)(subtype . plain)(mode . "play") -;; (method "tm-plain" nil 'file "" 'encoding 'mode 'name) -;; )) -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . text)(subtype . plain)(mode . "print") -;; (method "tm-plain" nil 'file "" 'encoding 'mode 'name) -;; )) -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . text)(subtype . html)(mode . "play") -;; (method "tm-html" nil 'file "" 'encoding 'mode 'name) -;; )) (ctree-set-calist-strictly 'mime-acting-condition '((type . text)(subtype . x-rot13-47)(mode . "play") @@ -703,40 +724,6 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t. t means default." (method . mime-method-to-display-caesar) )) -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . audio)(subtype . basic)(mode . "play") -;; (method "tm-au" nil 'file "" 'encoding 'mode 'name) -;; )) - -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . image)(mode . "play") -;; (method "tm-image" nil 'file "" 'encoding 'mode 'name) -;; )) -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . image)(mode . "print") -;; (method "tm-image" nil 'file "" 'encoding 'mode 'name) -;; )) - -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . video)(subtype . mpeg)(mode . "play") -;; (method "tm-mpeg" nil 'file "" 'encoding 'mode 'name) -;; )) - -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . application)(subtype . postscript)(mode . "play") -;; (method "tm-ps" nil 'file "" 'encoding 'mode 'name) -;; )) -;; (ctree-set-calist-strictly -;; 'mime-acting-condition -;; '((type . application)(subtype . postscript)(mode . "print") -;; (method "tm-ps" nil 'file "" 'encoding 'mode 'name) -;; )) - (ctree-set-calist-strictly 'mime-acting-condition '((type . message)(subtype . rfc822)(mode . "play") @@ -770,11 +757,11 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t. t means default." . mime-preview-quitting-method-for-mime-show-message-mode)) "Alist of major-mode vs. quitting-method of mime-view.") -(defvar mime-view-over-to-previous-method-alist nil) -(defvar mime-view-over-to-next-method-alist nil) +(defvar mime-preview-over-to-previous-method-alist nil + "Alist of major-mode vs. over-to-previous-method of mime-view.") -(defvar mime-view-show-summary-method nil - "Alist of major-mode vs. show-summary-method.") +(defvar mime-preview-over-to-next-method-alist nil + "Alist of major-mode vs. over-to-next-method of mime-view.") ;;; @ following method @@ -898,7 +885,6 @@ The compressed face will be piped to this command.") )) (setq ne (point-max)) (widen) - (put-text-property nb ne 'mime-view-raw-buffer raw-buffer) (put-text-property nb ne 'mime-view-entity entity) (goto-char ne) (if children @@ -982,8 +968,6 @@ The compressed face will be piped to this command.") (define-key mime-view-mode-map "q" (function mime-preview-quit)) (define-key mime-view-mode-map - "h" (function mime-preview-show-summary)) - (define-key mime-view-mode-map "\C-c\C-x" (function mime-preview-kill-buffer)) ;; (define-key mime-view-mode-map ;; "<" (function beginning-of-buffer)) @@ -1119,7 +1103,6 @@ v Decode current content as `play mode' e Decode current content as `extract mode' C-c C-p Decode current content as `print mode' a Followup to current content. -x Display X-Face q Quit button-2 Move to point under the mouse cursor and decode current content as `play mode' @@ -1162,21 +1145,6 @@ It decodes current entity to call internal or external method as ;;; @@ following ;;; -(defun mime-preview-original-major-mode (&optional recursive) - "Return major-mode of original buffer. -If a current buffer has mime-mother-buffer, return original major-mode -of the mother-buffer." - (if (and recursive mime-mother-buffer) - (save-excursion - (set-buffer mime-mother-buffer) - (mime-preview-original-major-mode recursive) - ) - (save-excursion - (set-buffer - (mime-entity-buffer - (get-text-property (point-min) 'mime-view-entity))) - major-mode))) - (defun mime-preview-follow-current-entity () "Write follow message to current entity. It calls following-method selected from variable @@ -1347,7 +1315,7 @@ If there is no upper entity, call function `mime-preview-quit'." (defun mime-preview-move-to-previous () "Move to previous entity. If there is no previous entity, it calls function registered in -variable `mime-view-over-to-previous-method-alist'." +variable `mime-preview-over-to-previous-method-alist'." (interactive) (while (null (get-text-property (point) 'mime-view-entity)) (backward-char) @@ -1360,7 +1328,7 @@ variable `mime-view-over-to-previous-method-alist'." (mime-preview-move-to-previous) ) (let ((f (assq (mime-preview-original-major-mode) - mime-view-over-to-previous-method-alist))) + mime-preview-over-to-previous-method-alist))) (if f (funcall (cdr f)) )) @@ -1369,7 +1337,7 @@ variable `mime-view-over-to-previous-method-alist'." (defun mime-preview-move-to-next () "Move to next entity. If there is no previous entity, it calls function registered in -variable `mime-view-over-to-next-method-alist'." +variable `mime-preview-over-to-next-method-alist'." (interactive) (while (null (get-text-property (point) 'mime-view-entity)) (forward-char) @@ -1382,7 +1350,7 @@ variable `mime-view-over-to-next-method-alist'." (mime-preview-move-to-next) )) (let ((f (assq (mime-preview-original-major-mode) - mime-view-over-to-next-method-alist))) + mime-preview-over-to-next-method-alist))) (if f (funcall (cdr f)) )) @@ -1391,14 +1359,14 @@ variable `mime-view-over-to-next-method-alist'." (defun mime-preview-scroll-up-entity (&optional h) "Scroll up current entity. If reached to (point-max), it calls function registered in variable -`mime-view-over-to-next-method-alist'." +`mime-preview-over-to-next-method-alist'." (interactive) (or h (setq h (1- (window-height))) ) (if (= (point) (point-max)) (let ((f (assq (mime-preview-original-major-mode) - mime-view-over-to-next-method-alist))) + mime-preview-over-to-next-method-alist))) (if f (funcall (cdr f)) )) @@ -1414,14 +1382,14 @@ If reached to (point-max), it calls function registered in variable (defun mime-preview-scroll-down-entity (&optional h) "Scroll down current entity. If reached to (point-min), it calls function registered in variable -`mime-view-over-to-previous-method-alist'." +`mime-preview-over-to-previous-method-alist'." (interactive) (or h (setq h (1- (window-height))) ) (if (= (point) (point-min)) (let ((f (assq (mime-preview-original-major-mode) - mime-view-over-to-previous-method-alist))) + mime-preview-over-to-previous-method-alist))) (if f (funcall (cdr f)) )) @@ -1458,17 +1426,6 @@ It calls function registered in variable (funcall (cdr r)) ))) -(defun mime-preview-show-summary () - "Show summary. -It calls function registered in variable -`mime-view-show-summary-method'." - (interactive) - (let ((r (assq (mime-preview-original-major-mode) - mime-view-show-summary-method))) - (if r - (funcall (cdr r)) - ))) - (defun mime-preview-kill-buffer () (interactive) (kill-buffer (current-buffer)) diff --git a/mime-w3.el b/mime-w3.el index f17ac45..2c0655b 100644 --- a/mime-w3.el +++ b/mime-w3.el @@ -40,8 +40,7 @@ `(let ((color (color-name (face-background 'default)))) (prog1 (progn ,@body) - (font-set-face-background 'default color - (get-buffer gnus-article-buffer)) + (font-set-face-background 'default color (current-buffer)) )) (cons 'progn body))) diff --git a/semi-def.el b/semi-def.el index d7e5feb..5ec908c 100644 --- a/semi-def.el +++ b/semi-def.el @@ -29,7 +29,7 @@ (eval-when-compile (require 'cl)) -(defconst mime-module-version '("REMI" "Amaharashi" 1 6 0) +(defconst mime-module-version '("REMI" "Ecch,D~-Kokubu" 1 6 1) "Implementation name, version name and numbers of MIME-kernel package.") (autoload 'mule-caesar-region "mule-caesar" -- 1.7.10.4