tm 7.65.
authormorioka <morioka>
Mon, 9 Mar 1998 18:53:55 +0000 (18:53 +0000)
committermorioka <morioka>
Mon, 9 Mar 1998 18:53:55 +0000 (18:53 +0000)
19 files changed:
ChangeLog
Makefile
README.en
TM-CFG
gnus/ChangeLog
gnus/Makefile
gnus/s-path
gnus/tm-sgnus.el
inst-tm
tm-bbdb.el
tm-def.el
tm-edit.el
tm-file.el
tm-html.el
tm-image.el
tm-pgp.el
tm-text.el
tm-view.el
tm-vm.el

index efb06af..bf4a4ec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,81 @@
+Mon May 27 15:14:29 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * tl: Version 7.27.1 was released.
+       * tm: Version 7.65 was released.
+       * tm/gnus: Version 7.63 was released.
+
+       * README.en (4.1): add `EXEC_PREFIX'.
+
+       September Gnus was renamed to Gnus 5.2.
+
+       * TM-CFG (EXEC_PREFIX): new variable.
+       (BINS): fixed.
+
+Mon May 27 14:56:29 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-def.el (mime/lc-charset-alist): add "ISO-8859-6".
+
+       * inst-tm (install-elc): use `condition-case' for delete-file.
+
+       * tm-def.el (mime/lc-charset-alist): Use constants `charset-*'.
+
+Mon May 27 08:16:38 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-pgp.el (mime-article/check-pgp-signature): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+       (mime-article/add-pgp-keys): Use function `mime-decode-region'
+       instead of `mime/decode-region'.
+
+       * tm-text.el (mime-preview/decode-text-region): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+       (mime-preview/filter-for-text/richtext): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+       (mime-preview/filter-for-text/enriched): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+Mon May 27 08:08:00 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-image.el (mime-preview/filter-for-inline-image): renamed from
+       function `mime-preview/filter-for-image/inline'.
+
+       * tm-image.el (mime-preview/filter-for-image): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+       (mime-preview/filter-for-image/inline): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+       (mime-preview/filter-for-image/xbm): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+Mon May 27 08:00:50 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-html.el (mime-article/decode-html): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+Mon May 27 07:58:21 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-file.el (mime-article/extract-file): Use function
+       `mime-decode-region' instead of `mime/decode-region'.
+
+Thu May 23 16:51:04 1996  Shuhei KOBAYASHI  <shuhei-k@jaist.ac.jp>
+
+       * tm-vm.el (tm-vm/decode-message-header): doc string was modified.
+       (vm-yank-message): modified for `tm-vm/yank-content'.
+       (tm-vm/do-reply), (tm-vm/following-method), (tm-vm/yank-content):
+       New functions; following method for VM.
+
+       * tm-view.el (mime/viewer-mode-map): New keybind for `describe-mode'.
+        was added.
+        (mime/viewer-mode): doc string was modified.
+
+       * tm-bbdb.el:
+       (mime/viewer-mode-map): New keybinds for `tm-bbdb/edit-notes' and
+        `tm-bbdb/show-sender' were added.
+
+\f
 Thu May 23 01:34:26 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * tl: Version 7.27 was released.
index 140d88f..70e373d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -48,7 +48,7 @@ TL_FILES = tl/README.en tl/Makefile tl/mk-tl tl/tl-els \
 
 FILES  = $(TM_FILES) $(TM_MUA_FILES) $(MEL_FILES) $(TL_FILES)
 
-TARFILE = tm7.64.tar.gz
+TARFILE = tm7.65.tar.gz
 
 elc:
        $(EMACS) $(FLAGS) -l inst-tm -f compile-tm
index 73597ee..b7b30cb 100644 (file)
--- a/README.en
+++ b/README.en
@@ -1,7 +1,7 @@
 [README for tm (English Version)]
 by MORIOKA Tomohiko <morioka@jaist.ac.jp>
 and KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
-$Id: README.en,v 7.20 1996/05/15 19:28:24 morioka Exp $
+$Id: README.en,v 7.21 1996/05/27 15:14:29 morioka Exp $
 
 1 What's tm?
 
@@ -10,7 +10,7 @@ $Id: README.en,v 7.20 1996/05/15 19:28:24 morioka Exp $
        - MIME style multilingual header
        - MIME message viewer (mime/viewer-mode)
        - MIME message composer (mime/editor-mode)
-       - MIME extenders for mh-e, GNUS, RMAIL and VM
+       - MIME extenders for mh-e, GNUS, Gnus, RMAIL and VM
 
 
 2 Documents
@@ -71,7 +71,7 @@ $Id: README.en,v 7.20 1996/05/15 19:28:24 morioka Exp $
   You can edit tm/TM-CFG file.
 
   In default, tm is installed into /usr/local/. If you want to change,
-please modify the variable `PREFIX'.
+please modify the variable `PREFIX' and `EXEC_PREFIX'.
 
 
 4.2 tm-gnus (optional)
@@ -83,9 +83,9 @@ distribution, you must edit following files before make.
 
     If you use Emacs 18.* and GNUS 4.*, please edit tm/gnus/g4-path.
 
-    If you use Gnus 5.0.*, please edit tm/gnus/g5-path.
+    If you use Gnus 5.[01].*, please edit tm/gnus/g5-path.
 
-    If you use September Gnus, please edit tm/gnus/s-path.
+    If you use Gnus 5.2.*, please edit tm/gnus/s-path.
 
 
 4.3 edit external methods (optional)
@@ -134,31 +134,31 @@ mmencode.
 6.1 automatic MIME preview support
 
   tm-gnus provides automatic MIME preview feature for GNUS 3.15 or
-later, Gnus 5.0.*, Gnus 5.1, and September Gnus.
+later, Gnus 5.0.*, Gnus 5.1, and Gnus 5.2.
 
   If you don't want to use automatic MIME preview feature, please
 insert following to ~/.emacs.
 
        (setq tm-gnus/automatic-mime-preview nil)
 
-  In addition, September Gnus has automatic MIME preview supporting
-feature. Of course, tm-gnus provides this feature for other GNUS and
-Gnus, but it is unnatural.
+  In addition, Gnus 5.2 has automatic MIME preview supporting feature. 
+Of course, tm-gnus provides this feature for other GNUS and Gnus, but
+it is unnatural.
 
   When automatic MIME preview mode, GNUS and Gnus do MIME processing
 if a message has a Mime-Version field. If it does not have, GNUS and
 Gnus does not do MIME processing, in default.
 
-  Gnus 5.0.*, 5.1 and September Gnus have a variable
-`gnus-strict-mime'. If you insert
+  Gnus 5.0.*, 5.1 and Gnus 5.2 have a variable `gnus-strict-mime'. If
+you insert
 
        (setq gnus-strict-mime nil)
 
 Gnus do MIME processing even if a message does not have Mime-Version
 field.
 
-  In September Gnus, if `gnus-strict-mime' is not nil, variable
-`gnus-decode-encoded-word-method' is called. tm-gnus uses it to decode 
+  In Gnus 5.2, if `gnus-strict-mime' is not nil, variable
+`gnus-decode-encoded-word-method' is called. tm-gnus uses it to decode
 RFC 1522 encoded-word. So it is not necessary to reset
 `gnus-strict-mime'.
 
diff --git a/TM-CFG b/TM-CFG
index 3593e94..658eb56 100644 (file)
--- a/TM-CFG
+++ b/TM-CFG
@@ -1,6 +1,6 @@
 ;;; -*-Emacs-Lisp-*-
 ;;;
-;;; $Id: TM-CFG,v 7.0 1996/05/20 16:24:30 morioka Exp morioka $
+;;; $Id: TM-CFG,v 7.1 1996/05/27 15:09:09 morioka Exp morioka $
 ;;;
 
 (defvar default-load-path load-path)
        )) ; install to shared directory (maybe "/usr/local")
 ;;(setq PREFIX "~/")   ; install to your home directory
 
+;; Please specify install path prefix for binaries.
+(setq EXEC_PREFIX
+      (if (or running-emacs-18 running-xemacs)
+         (expand-file-name "../../.." exec-directory)
+       (expand-file-name "../../../.." exec-directory)
+       ))
+;;(setq EXEC_PREFIX "~/")      ; install to your home directory
+
 ;; Please specify tm package prefix [optional]
 (setq TM_PACKAGE_PREFIX "")
 
 ;;;
 
 ;; Please specify binary path.
-(defvar BIN_DIR (expand-file-name "bin" PREFIX))
+(defvar BIN_DIR (expand-file-name "bin" EXEC_PREFIX))
 
 ;; Please specify binary path. (for external method scripts)
 (setq METHOD_DIR (expand-file-name "share/tm" PREFIX))
 
 
 (setq BIN_SRC_DIR "src")
-(setq BINS '("src/ol2" "src/decode-b"))
+(setq BINS '("ol2" "decode-b"))
 (setq METHOD_SRC_DIR "methods")
 (setq METHODS
       '("tm-au" "tm-file" "tm-html" "tm-image" "tm-mpeg" "tm-plain"
index 4950816..b35341a 100644 (file)
@@ -1,3 +1,16 @@
+Mon May 27 03:48:56 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm/gnus: Version 7.63 was released.
+
+       * tm-sgnus.el (nnmail-find-file): New function.
+
+Sun May 26 04:36:12 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-sgnus.el (nnheader-insert-file-contents-literally):
+       New function for Mule.
+       (nnheader-insert-raw-file-contents): New alias.
+
+\f
 Mon May 20 15:29:30 1996  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 
        * tm/gnus: Version 7.61 was released.
index 1f385e1..ac15237 100644 (file)
@@ -30,7 +30,7 @@ FILES = tm/gnus/Makefile tm/gnus/*-path tm/gnus/mk-tgnus \
                tm/gnus/*.el tm/gnus/ChangeLog tm/doc/tm-gnus*.texi 
 
 
-TARFILE = tm-gnus7.61.tar
+TARFILE = tm-gnus7.63.tar
 
 
 gnus:
index d9c3c53..8a3cbf3 100644 (file)
@@ -9,7 +9,8 @@
 ;; please edit
 
 ;; It is for latest September Gnus.
-(let ((path (get-latest-path "sgnus")))
+(let ((path (or (get-latest-path "gnus-5.2")
+               (get-latest-path "sgnus"))))
   (if path
       (add-path (expand-file-name "lisp/" path))
     ))
index 095be12..790830f 100644 (file)
@@ -1,5 +1,5 @@
 ;;;
-;;; tm-sgnus.el --- tm-gnus module for September Gnus
+;;; tm-sgnus.el --- MIME extender for Gnus 5.2
 ;;;
 ;;; Copyright (C) 1995 Free Software Foundation, Inc.
 ;;; Copyright (C) 1995,1996 MORIOKA Tomohiko
@@ -7,7 +7,7 @@
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/09/24
-;;; Version: $Revision: 7.61 $
+;;; Version: $Revision: 7.63 $
 ;;; Keywords: news, MIME, multimedia, multilingual, encoded-word
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -41,7 +41,7 @@
 ;;;
 
 (defconst tm-gnus/RCS-ID
-  "$Id: tm-sgnus.el,v 7.61 1996/05/20 15:29:30 morioka Exp $")
+  "$Id: tm-sgnus.el,v 7.63 1996/05/27 03:48:56 morioka Exp $")
 
 (defconst tm-gnus/version
   (concat (get-version-string tm-gnus/RCS-ID) " for September"))
@@ -237,16 +237,28 @@ This variable is set to `gnus-show-mime'.")
   (call-after-loaded
    'nnheader
    (lambda ()
-     (defun nnheader-find-file-noselect (filename &optional nowarn rawfile)
+     (defun nnmail-find-file (file)
+       "Insert FILE in server buffer safely. [tm-sgnus.el]"
+       (set-buffer nntp-server-buffer)
+       (erase-buffer)
+       (let ((format-alist nil)
+            (after-insert-file-functions nil)
+            (file-coding-system-for-read *noconv*))
+        (condition-case ()
+            (progn (insert-file-contents file) t)
+          (file-error nil))))
+     (defun nnheader-insert-file-contents-literally
+       (filename &optional visit beg end replace)
        (let ((file-coding-system-for-read *noconv*))
-        (find-file-noselect filename nowarn rawfile)
+        (insert-file-contents-literally filename visit beg end replace)
         ))
-     (defun nnheader-insert-raw-file-contents
-       (filename &optional visit beg end replace)
+     ;; compatibility for September Gnus 0.80 .. 0.94
+     (fset 'nnheader-insert-raw-file-contents
+          'nnheader-insert-file-contents-literally)
+     (defun nnheader-find-file-noselect (filename &optional nowarn rawfile)
        (let ((file-coding-system-for-read *noconv*))
-        (insert-file-contents filename visit beg end replace)
+        (find-file-noselect filename nowarn rawfile)
         ))
-     ;;(fset 'nnheader-raw-write-region 'si:write-region)
      ))
   (defun tm-gnus/prepare-save-mail-function ()
     (setq file-coding-system *noconv*)
diff --git a/inst-tm b/inst-tm
index b12c228..be32757 100644 (file)
--- a/inst-tm
+++ b/inst-tm
@@ -1,6 +1,6 @@
 ;;; -*-Emacs-Lisp-*-
 ;;;
-;;; $Id: inst-tm,v 7.0 1996/05/08 15:05:03 morioka Exp morioka $
+;;; $Id: inst-tm,v 7.2 1996/05/27 14:56:29 morioka Exp $
 ;;;
 
 (load-file "TM-CFG")
     (if (file-exists-p src-file)
        (let ((full-path (expand-file-name file dest)))
          (copy-file src-file full-path t t)
-         (delete-file src-file)
+         (catch 'tag
+           (while t
+             (condition-case err
+                 (progn
+                   (delete-file src-file)
+                   (throw 'tag nil)
+                   )
+               (error (princ (nth 1 err)))
+               )))
          (princ (format "%s -> %s\n" file dest))
          ))
     ))
index fa0d84f..cf0ac19 100644 (file)
@@ -8,7 +8,7 @@
 ;;;         Artur Pioro <artur@flugor.if.uj.edu.pl>
 ;;; modified by Pekka Marjola <pema@iki.fi>
 ;;; Maintainer: KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
-;;; Version: $Id: tm-bbdb.el,v 7.8 1996/05/09 16:01:13 morioka Exp $
+;;; Version: $Id: tm-bbdb.el,v 7.9 1996/05/23 16:42:14 shuhei-k Exp $
 ;;; Keywords: mail, news, MIME, multimedia, multilingual, BBDB
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -193,6 +193,9 @@ displaying the record corresponding to the sender of the current message."
       (set-buffer b)
       record)))
 
+(define-key mime/viewer-mode-map ";" 'tm-bbdb/edit-notes)
+(define-key mime/viewer-mode-map ":" 'tm-bbdb/show-sender)
+
 
 ;;; @ for signature.el
 ;;;
index 576899f..32a815d 100644 (file)
--- a/tm-def.el
+++ b/tm-def.el
@@ -6,7 +6,7 @@
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Version:
-;;;    $Id: tm-def.el,v 7.42 1996/05/09 18:24:39 morioka Exp $
+;;;    $Id: tm-def.el,v 7.44 1996/05/27 14:51:15 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia, definition
 ;;;
 ;;; This file is part of tm (Tools for MIME).
                a)
            ))
         nil
-        '(((lc-ascii)         . "US-ASCII")
-          ((lc-ascii lc-ltn1) . "ISO-8859-1")
-          ((lc-ascii lc-ltn2) . "ISO-8859-2")
-          ((lc-ascii lc-ltn3) . "ISO-8859-3")
-          ((lc-ascii lc-ltn4) . "ISO-8859-4")
-;;;        ((lc-ascii lc-crl)  . "ISO-8859-5")
-          ((lc-ascii lc-crl)  . "KOI8-R")
-          ((lc-ascii lc-grk)  . "ISO-8859-7")
-          ((lc-ascii lc-hbw)  . "ISO-8859-8")
-          ((lc-ascii lc-ltn5) . "ISO-8859-9")
-          ((lc-ascii lc-jp)   . "ISO-2022-JP")
-          ((lc-ascii lc-kr)   . "EUC-KR")
-          ((lc-ascii
-            lc-big5-1
-            lc-big5-2)        . "BIG5")
-          ((lc-ascii
-            lc-jp lc-cn
-            lc-kr lc-jp2
-            lc-ltn1 lc-grk)   . "ISO-2022-JP-2")
-          ((lc-ascii
-            lc-jp lc-cn
-            lc-kr lc-jp2
-            lc-cns1 lc-cns2
-            lc-ltn1 lc-grk)   . "ISO-2022-INT-1")
+        '(((charset-ascii)   . "US-ASCII")
+          ((charset-ascii
+            charset-latin-1) . "ISO-8859-1")
+          ((charset-ascii
+            charset-latin-2) . "ISO-8859-2")
+          ((charset-ascii
+            charset-latin-3) . "ISO-8859-3")
+          ((charset-ascii
+            charset-latin-4) . "ISO-8859-4")
+;;;        ((charset-ascii
+;;;         charset-cyrillic) . "ISO-8859-5")
+          ((charset-ascii
+            charset-cyrillic) . "KOI8-R")
+          ((charset-ascii
+            charset-arabic)   . "ISO-8859-6")
+          ((charset-ascii
+            charset-greek)    . "ISO-8859-7")
+          ((charset-ascii
+            charset-hebrew)   . "ISO-8859-8")
+          ((charset-ascii
+            charset-latin-5)  . "ISO-8859-9")
+          ((charset-ascii
+            charset-jisx0208) . "ISO-2022-JP")
+          ((charset-ascii
+            charset-ksc5601)  . "EUC-KR")
+          ((charset-ascii
+            charset-big5-1
+            charset-big5-2)   . "BIG5")
+          ((charset-ascii
+            charset-gb2312
+            charset-jisx0208
+            charset-ksc5601
+            charset-jisx0212
+            charset-latin-1
+            charset-greek)    . "ISO-2022-JP-2")
+          ((charset-ascii
+            charset-gb2312
+            charset-jisx0208
+            charset-ksc5601
+            charset-jisx0212
+            charset-cns11643-1
+            charset-cns11643-2
+            charset-latin-1
+            charset-greek)    . "ISO-2022-INT-1")
           )))
 
 (defvar mime/unknown-charset "ISO-2022-INT-1")
     ))
 
 (defun mime/find-charset-region (beg end)
-  (mime/find-charset (cons lc-ascii (find-charset-region beg end)))
+  (mime/find-charset (cons charset-ascii (find-charset-region beg end)))
   )
 
 (defvar mime/charset-type-list
index 90c21fa..9f5df12 100644 (file)
@@ -8,7 +8,7 @@
 ;;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1994/08/21 renamed from mime.el
-;;; Version: $Revision: 7.63 $
+;;; Version: $Revision: 7.64 $
 ;;; Keywords: mail, news, MIME, multimedia, multilingual
 ;;;
 ;;; This file is part of tm (Tools for MIME).
 ;;;
 
 (defconst mime-editor/RCS-ID
-  "$Id: tm-edit.el,v 7.63 1996/05/22 02:25:54 morioka Exp $")
+  "$Id: tm-edit.el,v 7.64 1996/05/24 08:50:14 morioka Exp $")
 
 (defconst mime-editor/version (get-version-string mime-editor/RCS-ID))
 
 (defvar mime-prefix "\C-c\C-x"
   "*Keymap prefix for MIME commands.")
 
-;; (defvar mime-signature-file "~/.signature.rtf"
-;;   "*Signature file to be included as a part of a multipart message.")
-
 (defvar mime-ignore-preceding-spaces nil
   "*Ignore preceding white spaces if non-nil.")
 
@@ -526,6 +523,7 @@ Tspecials means any character that matches with it in header must be quoted.")
 (defconst mime-editor/mime-map (make-sparse-keymap)
   "Keymap for MIME commands.")
 
+
 ;;; @ keymap and menu
 ;;;
 
index 0517942..105f62b 100644 (file)
@@ -2,12 +2,13 @@
 ;;; tm-file.el --- tm-view internal method for file extraction
 ;;;
 ;;; Copyright (C) 1995 Free Software Foundation, Inc.
-;;; Copyright (C) 1995 MORIOKA Tomohiko
+;;; Copyright (C) 1995,1996 MORIOKA Tomohiko
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; modified by KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
+;;; Maintainer: KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
 ;;; Version:
-;;;    $Id: tm-file.el,v 7.5 1996/04/16 18:21:23 morioka Exp $
+;;;    $Id: tm-file.el,v 7.6 1996/05/27 07:58:21 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -61,7 +62,7 @@
     (append-to-buffer tmp-buf (match-end 0) end)
     (save-excursion
       (set-buffer tmp-buf)
-      (mime/decode-region encoding (point-min)(point-max))
+      (mime-decode-region (point-min)(point-max) encoding)
       (let ((mc-flag nil)                   ; for Mule
            (file-coding-system
             (if (featurep 'mule) *noconv*))
index 4a3c590..b690a4c 100644 (file)
@@ -2,13 +2,13 @@
 ;;; tm-html.el: a tm-view internal decoder for HTML
 ;;;
 ;;; Copyright (C) 1995 Free Software Foundation, Inc.
-;;; Copyright (C) 1995 MORIOKA Tomohiko
+;;; Copyright (C) 1995,1996 MORIOKA Tomohiko
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/9/14
 ;;;    based on tm-latex.el by OKABE Yasuo <okabe@kudpc.kyoto-u.ac.jp>
 ;;; Version:
-;;;    $Id: tm-html.el,v 7.5 1996/04/16 18:22:51 morioka Exp $
+;;;    $Id: tm-html.el,v 7.6 1996/05/27 08:00:50 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia, HTML, WWW
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -55,7 +55,7 @@
            (re-search-forward "^$")
            (append-to-buffer new-buf (+ (match-end 0) 1) end)
            )))
-    (mime/decode-region encoding (point-min)(point-max))
+    (mime-decode-region (point-min)(point-max) encoding)
     (run-hooks 'mime-article/decode-html-hook)
     ))
 
index 23c3fcd..2566c35 100644 (file)
@@ -10,7 +10,7 @@
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/12/15
 ;;; Version:
-;;;    $Id: tm-image.el,v 7.3 1996/04/26 04:20:52 morioka Exp $
+;;;    $Id: tm-image.el,v 7.5 1996/05/27 08:08:00 morioka Exp $
 ;;;
 ;;; Keywords: mail, news, MIME, multimedia, image, picture
 ;;;
        (set-alist 'mime-viewer/content-filter-alist
                  "image/jpeg"
                  (if (featurep 'jpeg) ; Use built-in suport if available
-                     (function mime-preview/filter-for-image/inline)
+                     (function mime-preview/filter-for-inline-image)
                    (function mime-preview/filter-for-image)
                    ))
        
        (set-alist 'mime-viewer/content-filter-alist
                  "image/gif"
                  (if (featurep 'gif) ; Use built-in suport if available
-                     (function mime-preview/filter-for-image/inline)
+                     (function mime-preview/filter-for-inline-image)
                    (function mime-preview/filter-for-image)
                    ))
        
        (set-alist 'mime-viewer/content-filter-alist
                  "image/x-xpixmap"
                  (if (featurep 'xpm) ; Use built-in suport if available
-                     (function mime-preview/filter-for-image/inline)
+                     (function mime-preview/filter-for-inline-image)
                    (function mime-preview/filter-for-image)
                    ))
        
               (xbm-file (concat orig-file ".xbm"))
               gl annot)
          ;;(remove-text-properties beg end '(face nil))
-         (mime/decode-region encoding beg end)
+         (mime-decode-region beg end encoding)
          (write-region (point-min)(point-max) orig-file)
          (delete-region (point-min)(point-max))
          (message "Now translating, please wait...")
 ;;;
 ;;    (for XEmacs 19.14 or later)
 
-(defun mime-preview/filter-for-image/inline (ctype params encoding)
+(defun mime-preview/filter-for-inline-image (ctype params encoding)
   (let* ((mode mime::preview/original-major-mode)
        (m (assq mode mime-viewer/code-converter-alist))
        (charset (assoc "charset" params))
        (image-file (make-temp-name (expand-file-name "tm" mime/tmp-dir)))
        )
     (remove-text-properties beg end '(face nil))
-    (mime/decode-region encoding beg end)
+    (mime-decode-region beg end encoding)
     (write-region (point-min)(point-max) image-file)
     (delete-region (point-min)(point-max))
     (image-read-file ctype image-file)
         (xbm-file (make-temp-name (expand-file-name "tm" mime/tmp-dir)))
         )
     (remove-text-properties beg end '(face nil))
-    (mime/decode-region encoding beg end)
+    (mime-decode-region beg end encoding)
     (write-region (point-min)(point-max) xbm-file)
     (delete-region (point-min)(point-max))
     (bitmap-read-xbm xbm-file)
index a9832eb..6ebbd72 100644 (file)
--- a/tm-pgp.el
+++ b/tm-pgp.el
@@ -8,7 +8,7 @@
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/12/7
 ;;; Version:
-;;;    $Id: tm-pgp.el,v 7.14 1996/05/09 18:43:14 morioka Exp $
+;;;    $Id: tm-pgp.el,v 7.15 1996/05/27 08:16:38 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia, PGP, security
 ;;;
 ;;; This file is part of tm (Tools for MIME).
                 end))
       (set-buffer (setq kbuf (get-buffer-create mime/temp-buffer-name)))
       (insert str)
-      (mime/decode-region encoding (point-min)(point-max))
+      (mime-decode-region (point-min)(point-max) encoding)
       (let ((mc-flag nil)                   ; for Mule
            (file-coding-system
             (if (featurep 'mule) *noconv*))
     (if (re-search-forward "^\n" nil t)
        (delete-region (point-min) (match-end 0))
       )
-    (mime/decode-region encoding (point-min)(point-max))
+    (mime-decode-region (point-min)(point-max) encoding)
     (mc-snarf-keys)
     (kill-buffer (current-buffer))
     ))
index 12bfc53..5b64ee9 100644 (file)
@@ -8,7 +8,7 @@
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Version:
-;;;    $Id: tm-text.el,v 7.11 1996/05/09 18:47:32 morioka Exp $
+;;;    $Id: tm-text.el,v 7.12 1996/05/27 08:14:11 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia, text
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -45,7 +45,7 @@
     ))
 
 (defun mime-preview/decode-text-region (beg end charset encoding)
-  (mime/decode-region encoding beg end)
+  (mime-decode-region beg end encoding)
   (let* ((mode mime::preview/original-major-mode)
         (m (or (save-excursion
                  (set-buffer mime::preview/article-buffer)
@@ -94,7 +94,7 @@
         (beg (point-min)) (end (point-max))
         )
     (remove-text-properties beg end '(face nil))
-    (mime/decode-region encoding beg end)
+    (mime-decode-region beg end encoding)
     (if (and m (fboundp (setq m (cdr m))))
        (funcall m beg (point-max) charset encoding)
       (mime-viewer/default-code-convert-region beg (point-max)
         (beg (point-min)) (end (point-max))
         )
     (remove-text-properties beg end '(face nil))
-    (mime/decode-region encoding beg end)
+    (mime-decode-region beg end encoding)
     (if (and m (fboundp (setq m (cdr m))))
        (funcall m beg (point-max) charset encoding)
       (mime-viewer/default-code-convert-region beg (point-max)
index b0f9996..30b5bd1 100644 (file)
@@ -8,7 +8,7 @@
 ;;; modified by Steven L. Baur <steve@miranova.com>
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1994/7/13 (1994/8/31 obsolete tm-body.el)
-;;; Version: $Revision: 7.64 $
+;;; Version: $Revision: 7.65 $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -45,7 +45,7 @@
 ;;;
 
 (defconst mime-viewer/RCS-ID
-  "$Id: tm-view.el,v 7.64 1996/05/22 02:26:49 morioka Exp $")
+  "$Id: tm-view.el,v 7.65 1996/05/23 16:45:10 shuhei-k Exp $")
 
 (defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID))
 (defconst mime/viewer-version mime-viewer/version)
@@ -721,6 +721,8 @@ The compressed face will be piped to this command.")
         "<"        (function beginning-of-buffer))
       (define-key mime/viewer-mode-map
         ">"        (function end-of-buffer))
+      (define-key mime/viewer-mode-map
+        "?"        (function describe-mode))
       (if mouse-button-2
          (define-key mime/viewer-mode-map
            mouse-button-2 (function tm:button-dispatcher))
@@ -777,7 +779,8 @@ M-RET               Move to previous line
 v              Decode current content as `play mode'
 e              Decode current content as `extract mode'
 C-c C-p                Decode current content as `print mode'
-f              Display X-Face
+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'
index dd876f7..98fa148 100644 (file)
--- a/tm-vm.el
+++ b/tm-vm.el
@@ -16,7 +16,7 @@
 ;;;             Rob Kooper <kooper@cc.gatech.edu>
 ;;; Maintainer: KOBAYASHI Shuhei <shuhei-k@jaist.ac.jp>
 ;;; Created: 1994/10/29
-;;; Version: $Revision: 7.52 $
+;;; Version: $Revision: 7.53 $
 ;;; Keywords: mail, MIME, multimedia, multilingual, encoded-word
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -45,7 +45,7 @@
 (require 'vm)
 
 (defconst tm-vm/RCS-ID
-  "$Id: tm-vm.el,v 7.52 1996/04/19 18:49:19 shuhei-k Exp $")
+  "$Id: tm-vm.el,v 7.53 1996/05/23 16:51:04 shuhei-k Exp $")
 (defconst tm-vm/version (get-version-string tm-vm/RCS-ID))
 
 (define-key vm-mode-map "Z" 'tm-vm/view-message)
@@ -107,7 +107,7 @@ If you use tiny-mime patch for VM (by RIKITAKE Kenji
 ))
 
 (defun tm-vm/decode-message-header (&optional count)
-  "Decode MIME header of current message through tiny-mime.
+  "Decode MIME header of current message.
 Numeric prefix argument COUNT means to decode the current message plus
 the next COUNT-1 messages.  A negative COUNT means decode the current
 message and the previous COUNT-1 messages.
@@ -569,7 +569,7 @@ tm-vm uses `vm-select-message-hook', use this hook instead.")
 
 (require 'vm-reply)
 
-(defun vm-yank-message (message)
+(defun vm-yank-message (&optional message)
   "Yank message number N into the current buffer at point.
 When called interactively N is always read from the minibuffer.  When
 called non-interactively the first argument is expected to be a
@@ -606,68 +606,185 @@ vm-included-text-prefix is prepended to every yanked line."
             prompt
             (last-command last-command)
             (this-command this-command))
-      (save-excursion
-       (vm-select-folder-buffer)
-       (setq default (and vm-message-pointer
-                          (vm-number-of (car vm-message-pointer)))
-             prompt (if default
-                        (format "Yank message number: (default %s) "
-                                default)
-                      "Yank message number: "))
-       (while (zerop result)
-         (setq result (read-string prompt))
-         (and (string= result "") default (setq result default))
-         (setq result (string-to-int result)))
-       (if (null (setq mp (nthcdr (1- result) vm-message-list)))
-           (error "No such message.")))
-      (car mp))))
-  (if (not (bufferp vm-mail-buffer))
-      (error "This is not a VM Mail mode buffer."))
-  (if (null (buffer-name vm-mail-buffer))
-      (error "The folder buffer containing message %d has been killed."
-            (vm-number-of message)))
-  (vm-display nil nil '(vm-yank-message) '(vm-yank-message composing-message))
-  (setq message (vm-real-message-of message))
-  (let ((b (current-buffer)) (start (point)) end)
-    (save-restriction
-      (widen)
-      (save-excursion
-       (set-buffer (vm-buffer-of message))
-       (let* ((mbuf (current-buffer))
-              (pbuf (and mime::article/preview-buffer
-                         (get-buffer mime::article/preview-buffer)))
-              (pwin (and pbuf (vm-get-visible-buffer-window pbuf))))
-         (if pwin
-             (if running-xemacs
-                 (let ((tmp (generate-new-buffer "tm-vm/tmp")))
-                   (set-buffer pbuf)
-                   (append-to-buffer tmp (point-min) (point-max))
-                   (set-buffer tmp)
-                   (map-extents
-                    '(lambda (ext maparg) 
-                       (set-extent-property ext 'begin-glyph nil)))
-                   (append-to-buffer b (point-min) (point-max))
-                   (setq end (vm-marker (+ start (length (buffer-string))) b))
-                   (kill-buffer tmp))
-               (set-buffer pbuf)
-               (append-to-buffer b (point-min) (point-max))
-               (setq end (vm-marker (+ start (length (buffer-string))) b)))
-           (save-restriction
-             (widen)
-             (append-to-buffer
-              b (vm-headers-of message) (vm-text-end-of message))
-             (setq end
-                   (vm-marker (+ start (- (vm-text-end-of message)
-                                          (vm-headers-of message))) b))))))
-      (push-mark end)
-      (cond (mail-citation-hook (run-hooks 'mail-citation-hook))
-           (mail-yank-hooks (run-hooks 'mail-yank-hooks))
-           (t (vm-mail-yank-default message))))))
+      (if (bufferp vm-mail-buffer)
+          (save-excursion
+            (vm-select-folder-buffer)
+            (setq default (and vm-message-pointer
+                               (vm-number-of (car vm-message-pointer)))
+                  prompt (if default
+                             (format "Yank message number: (default %s) "
+                                     default)
+                           "Yank message number: "))
+            (while (zerop result)
+              (setq result (read-string prompt))
+              (and (string= result "") default (setq result default))
+              (setq result (string-to-int result)))
+            (if (null (setq mp (nthcdr (1- result) vm-message-list)))
+                (error "No such message."))
+            (car mp))
+        nil))))
+  (if (null message)
+      (if mail-reply-buffer
+          (tm-vm/yank-content)
+        (error "This is not a VM Mail mode buffer."))
+    (if (null (buffer-name vm-mail-buffer))
+        (error "The folder buffer containing message %d has been killed."
+               (vm-number-of message)))
+    (vm-display nil nil '(vm-yank-message)
+                '(vm-yank-message composing-message))
+    (setq message (vm-real-message-of message))
+    (let ((b (current-buffer)) (start (point)) end)
+      (save-restriction
+        (widen)
+        (save-excursion
+          (set-buffer (vm-buffer-of message))
+          (let* ((mbuf (current-buffer))
+                 (pbuf (and mime::article/preview-buffer
+                            (get-buffer mime::article/preview-buffer)))
+                 (pwin (and pbuf (vm-get-visible-buffer-window pbuf))))
+            (if pwin
+                (if running-xemacs
+                    (let ((tmp (generate-new-buffer "tm-vm/tmp")))
+                      (set-buffer pbuf)
+                      (append-to-buffer tmp (point-min) (point-max))
+                      (set-buffer tmp)
+                      (map-extents
+                       '(lambda (ext maparg) 
+                          (set-extent-property ext 'begin-glyph nil)))
+                      (append-to-buffer b (point-min) (point-max))
+                      (setq end (vm-marker
+                                 (+ start (length (buffer-string))) b))
+                      (kill-buffer tmp))
+                  (set-buffer pbuf)
+                  (append-to-buffer b (point-min) (point-max))
+                  (setq end (vm-marker
+                             (+ start (length (buffer-string))) b)))
+              (save-restriction
+                (widen)
+                (append-to-buffer
+                 b (vm-headers-of message) (vm-text-end-of message))
+                (setq end
+                      (vm-marker (+ start (- (vm-text-end-of message)
+                                             (vm-headers-of message))) b))))))
+        (push-mark end)
+        (cond (mail-citation-hook (run-hooks 'mail-citation-hook))
+              (mail-yank-hooks (run-hooks 'mail-yank-hooks))
+              (t (vm-mail-yank-default message)))
+        ))
+    ))
 
 \f
 ;;; @ for tm-view
 ;;;
 
+;;; based on vm-do-reply [vm-reply.el]
+(defun tm-vm/do-reply (buf to-all include-text)
+  (save-excursion
+    (set-buffer buf)
+    (let ((dir default-directory)
+          to cc subject mp in-reply-to references newsgroups)
+      (cond ((setq to
+                   (let ((reply-to (rfc822/get-field-body "Reply-To")))
+                     (if (vm-ignored-reply-to reply-to)
+                         nil
+                       reply-to))))
+            ((setq to (rfc822/get-field-body "From")))
+            ;; (t (error "No From: or Reply-To: header in message"))
+            )
+      (if to-all
+          (setq cc (delq nil (cons cc (rfc822/get-field-bodies '("To" "Cc"))))
+                cc (mapconcat 'identity cc ","))
+        )
+      (setq subject (rfc822/get-field-body "Subject"))
+      (and subject vm-reply-subject-prefix
+           (let ((case-fold-search t))
+             (not
+              (equal
+               (string-match (regexp-quote vm-reply-subject-prefix)
+                             subject)
+               0)))
+           (setq subject (concat vm-reply-subject-prefix subject)))
+      (setq in-reply-to (rfc822/get-field-body "Message-Id")
+            references (nconc
+                        (rfc822/get-field-bodies '("References" "In-Reply-To"))
+                        (list in-reply-to))
+            newsgroups (list (or (and to-all
+                                      (rfc822/get-field-body "Followup-To"))
+                                 (rfc822/get-field-body "Newsgroups"))))
+      (setq to (vm-parse-addresses to)
+            cc (vm-parse-addresses cc))
+      (if vm-reply-ignored-addresses
+          (setq to (vm-strip-ignored-addresses to)
+                cc (vm-strip-ignored-addresses cc)))
+      (setq to (vm-delete-duplicates to nil t))
+      (setq cc (vm-delete-duplicates
+                (append (vm-delete-duplicates cc nil t)
+                        to (copy-sequence to))
+                t t))
+      (and to (setq to (mapconcat 'identity to ",\n ")))
+      (and cc (setq cc (mapconcat 'identity cc ",\n ")))
+      (and (null to) (setq to cc cc nil))
+      (setq references (delq nil references)
+            references (mapconcat 'identity references " ")
+            references (vm-parse references "[^<]*\\(<[^>]+>\\)")
+            references (vm-delete-duplicates references)
+            references (if references (mapconcat 'identity references "\n\t")))
+      (setq newsgroups (delq nil newsgroups)
+            newsgroups (mapconcat 'identity newsgroups ",")
+            newsgroups (vm-parse newsgroups "[ \t\f\r\n,]*\\([^ \t\f\r\n,]+\\)")
+            newsgroups (vm-delete-duplicates newsgroups)
+            newsgroups (if newsgroups (mapconcat 'identity newsgroups ",")))
+      (vm-mail-internal
+       (if to
+           (format "reply to %s%s"
+                   (rfc822/full-name-string
+                    (car (rfc822/parse-address
+                          (rfc822/lexical-analyze to))))
+                   (if cc ", ..." "")))
+       to subject in-reply-to cc references newsgroups)
+      (setq mail-reply-buffer buf
+            ;; vm-system-state 'replying
+            default-directory dir))
+    (if include-text
+        (save-excursion
+          (goto-char (point-min))
+          (let ((case-fold-search nil))
+            (re-search-forward
+             (concat "^" (regexp-quote mail-header-separator) "$") nil 0))
+          (forward-char 1)
+          (tm-vm/yank-content)))
+    (run-hooks 'vm-reply-hook)
+    (run-hooks 'vm-mail-mode-hook)
+    ))
+
+(defun tm-vm/following-method (buf)
+  (tm-vm/do-reply buf 'to-all 'include-text)
+  )
+
+(defun tm-vm/yank-content ()
+  (interactive)
+  (let ((this-command 'vm-yank-message))
+    (vm-display nil nil '(vm-yank-message)
+                '(vm-yank-message composing-message))
+    (save-restriction
+      (narrow-to-region (point)(point))
+      (insert-buffer mail-reply-buffer)
+      (goto-char (point-max))
+      (push-mark)
+      (goto-char (point-min)))
+    (cond (mail-citation-hook (run-hooks 'mail-citation-hook))
+          (mail-yank-hooks (run-hooks 'mail-yank-hooks))
+          (t (mail-indent-citation)))
+    ))
+
+(set-alist 'mime-viewer/following-method-alist
+          'vm-mode
+          (function tm-vm/following-method))
+(set-alist 'mime-viewer/following-method-alist
+          'vm-virtual-mode
+          (function tm-vm/following-method))
+
+
 (defun tm-vm/quit-view-message ()
   "Quit MIME-viewer and go back to VM.
 This function is called by `mime-viewer/quit' command via