Sync up with semi-1_6_0.
authormorioka <morioka>
Mon, 15 Jun 1998 18:33:49 +0000 (18:33 +0000)
committermorioka <morioka>
Mon, 15 Jun 1998 18:33:49 +0000 (18:33 +0000)
MIME-View-API-ja.ol
Makefile
NEWS
TODO
mime-play.el
mime-view.el
mime-w3.el
semi-def.el

index 2983211..8a84180 100644 (file)
@@ -278,8 +278,6 @@ buffer \e$B$G$9!#\e(BMIME \e$B=qLL$O\e(B entity \e$B$rC10L$H$9$kLZ9=B$$G$9$,!"$3$N\e(B
 
 ** API
 
-*** \e$B0lHL\e(B
-
 [buffer \e$B6I=jJQ?t\e(B] mime-mother-buffer
 
        \e$BBP1~$9$k?F\e(B buffer \e$B$r<($9!#\e(B
@@ -302,24 +300,23 @@ buffer \e$B$G$9!#\e(BMIME \e$B=qLL$O\e(B entity \e$B$rC10L$H$9$kLZ9=B$$G$9$,!"$3$N\e(B
               \e$B2DG=@-$,$"$k$+$i$G$"$k!#\e(B 
 
 
-[buffer \e$B6I=jJQ?t\e(B] mime-preview-original-major-mode
-
-       \e$BBP1~$9$k\e(B mime-raw-buffer \e$B$K$*$1$k\e(B major-mode \e$B$r<($9!#\e(B
-
-
 [buffer \e$B6I=jJQ?t\e(B] mime-preview-original-window-configuration
 
        mime-preview-buffer \e$B$r:n$kA0$N\e(B window-configuration \e$B$r<}$a$k!#\e(B
 
 
-[text-property] mime-view-raw-buffer
+[text-property] mime-view-entity
 
-       \e$B$3$N0LCV$KBP1~$9$k\e(B mime-raw-buffer \e$B$r<($9!#\e(B
+       \e$B8=:_0LCV$KBP1~$9$k\e(B entity \e$B9=B$BN$r<($9!#\e(B
 
 
-[text-property] mime-view-entity
+[\e$B4X?t\e(B] mime-preview-original-major-mode (&optional recursive)
+
+       \e$B8=:_0LCV$KBP1~$9$k\e(B entity \e$B$NI=>]$,B8:_$9$k\e(B buffer \e$B$N\e(B
+       major-mode \e$B$rJV$9!#\e(B
 
-       \e$B$3$N0LCV$KBP1~$9$k\e(B entity \e$B9=B$BN$r<($9!#\e(B
+       RECURSIVE \e$B$K\e(B non-nil \e$B$,;XDj$5$l$?>l9g!";OAD$N\e(B major-mode \e$B$rJV\e(B
+       \e$B$9!#\e(B
 
 
 * entity
index a6cbb01..b9eef37 100644 (file)
--- 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 (file)
--- 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'.
+
+\f
 * 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 (file)
--- 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
index ce4d45f..45ff40d 100644 (file)
@@ -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
 ;;;
 
index bcd0595..852e15d 100644 (file)
   :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))
index f17ac45..2c0655b 100644 (file)
@@ -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)))
 
index d7e5feb..5ec908c 100644 (file)
@@ -29,7 +29,7 @@
 (eval-when-compile (require 'cl))
 
 
-(defconst mime-module-version '("REMI" "Amaharashi" 1 6 0)
+(defconst mime-module-version '("REMI" "Ecch\e,D~\e(B-Kokubu" 1 6 1)
   "Implementation name, version name and numbers of MIME-kernel package.")
 
 (autoload 'mule-caesar-region "mule-caesar"