tm 7.32.
authormorioka <morioka>
Mon, 9 Mar 1998 12:10:43 +0000 (12:10 +0000)
committermorioka <morioka>
Mon, 9 Mar 1998 12:10:43 +0000 (12:10 +0000)
32 files changed:
Changes-7.32.en [new file with mode: 0644]
Makefile
README.en
doc/Makefile
doc/tm-ew-d_ja.texi [new file with mode: 0644]
doc/tm-ew_ja.texi [new file with mode: 0644]
doc/tm-gnus_ja.texi
doc/tm-util_ja.texi [new file with mode: 0644]
doc/tm-view-a_ja.texi [new file with mode: 0644]
doc/tm-view-cb_ja.texi [new file with mode: 0644]
doc/tm-view-ch_ja.texi [new file with mode: 0644]
doc/tm-view-cs_ja.texi [new file with mode: 0644]
doc/tm-view-m_ja.texi [new file with mode: 0644]
doc/tm-view-p_ja.texi [new file with mode: 0644]
doc/tm-view_ja.texi
doc/tm_ja.texi
gnus/ChangeLog-7.21.2.en [new file with mode: 0644]
gnus/Makefile
gnus/g5-path
gnus/mk-tgnus
gnus/s-path
gnus/tm-gnus.el
methods/tm-au
mk-tm
tm-def.el
tm-edit.el
tm-file.el
tm-parse.el
tm-pgp.el [new file with mode: 0644]
tm-play.el
tm-view.el
tm-vm.el

diff --git a/Changes-7.32.en b/Changes-7.32.en
new file mode 100644 (file)
index 0000000..44f524b
--- /dev/null
@@ -0,0 +1,102 @@
+Mon Dec 11 18:02:36 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tl: Version 7.03.2 was released.
+       * tm: Version 7.32 was released.
+       * tm/gnus: Version 7.21.2 was released.
+
+Sun Dec 10 20:33:48 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-view.el, tm-play.el: Function `mime::point-preview-content'
+       was renamed to `mime-preview/point-pcinfo'.
+
+       * tm-edit.el: does not exit from MIME editor mode if function
+       `mime-editor/pgp-processing' is fail.
+
+       * tm-edit.el:
+       (1) New variable `mime-editor/signing-type' and
+           `mime-editor/encrypting-type': their types are pgp-elkins,
+           pgp-kazu or nil. pgp-elkins is not supported yet.
+       (2) New function `mime-editor/enclose-signed-region' and
+           `mime-editor/enclose-encrypted-region' for new enclosure
+           `signed' and `encrypted'.
+       (3) New function `mime-editor/process-pgp-kazu': to process
+           `signed' and `encrypted' enclosure as application/pgp.
+       (4) New function `mime-editor/set-split'
+
+Sat Dec  9 08:37:21 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-pgp.el (mime-article/check-pgp-signature): Status does not
+       work.
+
+Sat Dec  9 08:32:56 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-edit.el (mime-editor/process-multipart-1):
+       Boundary is folded.
+
+       * tm-edit.el: rearrangement
+
+Sat Dec  9 04:58:16 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-play.el (mime-article/show-output-buffer):
+       `(get-buffer-create mime/output-buffer-name)' was inserted.
+
+Sat Dec  9 04:51:49 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-pgp.el: application/pgp-signature support.
+
+       * tm-play.el:
+       Function `mime-article/decode-message/partial' was modified not to
+       use `find-file'.
+
+Sat Dec  9 04:11:11 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-def.el:
+       Constant `mime/decoding-buffer-name' was deleted (because it seems
+       not be used).
+
+       * tm-edit.el: application/pgp support
+
+Sat Dec  9 03:42:47 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-file.el: setting for another variables to regard as binary.
+
+Sat Dec  9 02:04:41 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-view.el:
+       Function `mime-viewer/display-content' was fixed about judgement
+       of root content.
+
+Sat Dec  9 01:56:28 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-parse.el:
+       Function `mime/parse-multipart' was fixed about point-max slot of
+       content-info.
+
+Sat Dec  9 01:41:18 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-def.el: New constant `mime/temp-buffer-name'.
+
+       * tm-play.el:
+       Function `mime-article/decode-message/partial' was modified to use
+       `mime/temp-buffer-name'.
+
+Fri Dec  8 23:27:19 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-pgp.el: Initial revision
+
+Fri Dec  8 22:32:55 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-vm.el: According to Junya Watanabe
+       <junya@tippr.info.eng.niigata-u.ac.jp>, fixed problem about XEmacs
+       menu in Emacs and Mule.
+       (cf. [tm-ja:1249])
+
+Fri Dec  8 22:29:27 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-view.el: New variable
+       `mime-viewer/content-subject-showing-Content-Type-list'
+
+Sat Dec  8 18:29:51 1995  Shuhei KOBAYASHI <shuhei@cmpt01.phys.tohoku.ac.jp>
+
+       * tm-file.el(mime-article/extract-file):
+       Variable `require-final-newline' should be nil.
index d23fcef..f9710f5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 #
-# $Id: Makefile,v 7.8 1995/12/07 12:07:47 morioka Exp $
+# $Id: Makefile,v 7.8 1995/12/07 12:07:47 morioka Exp morioka $
 #
 
 include config.tm
@@ -11,8 +11,8 @@ TM_FILES = tm/README.en tm/Changes* \
                tm/config.tm tm/Makefile tm/mk-tm \
                tm/tm-mule.el tm/tm-nemacs.el tm/tm-orig.el tm/tm-def.el \
                tm/tm-eword.el tm/tm-ew-d.el tm/tm-ew-e.el \
-               tm/tm-view.el tm/tm-parse.el tm/tm-play.el tm/tm-rich.el \
-               tm/tm-partial.el \
+               tm/tm-view.el tm/tm-parse.el tm/tm-rich.el \
+               tm/tm-play.el tm/tm-partial.el tm/tm-pgp.el \
                tm/tm-ftp.el tm/tm-latex.el tm/tm-html.el tm/tm-file.el \
                tm/tm-tar.el \
                tm/tm-edit.el tm/signature.el \
@@ -36,7 +36,7 @@ TL_FILES = tl/README.en tl/Makefile tl/mk-tl tl/*.el tl/doc/*.texi \
 
 FILES  = $(TM_FILES) $(TM_MUA_FILES) $(MEL_FILES) $(TL_FILES)
 
-TARFILE = tm7.31.tar.gz
+TARFILE = tm7.32.tar.gz
 
 
 18:
index 9716008..c4e2fa1 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@cmpt01.phys.tohoku.ac.jp>
-$Id: README.en,v 7.5 1995/12/07 11:24:57 morioka Exp $
+$Id: README.en,v 7.5 1995/12/07 11:24:57 morioka Exp morioka $
 
 1 What's tm?
 
@@ -49,6 +49,7 @@ $Id: README.en,v 7.5 1995/12/07 11:24:57 morioka Exp $
                - tm-tar     : for tar content
                - tm-latex   : for LaTeX
                - tm-html    : for text/html
+               - tm-pgp     : for PGP
        - tm-edit : MIME composer (mime.el and tm-comp.el were merged)
                - tm-ew-e.el : MIME encoded-word encoder
        - tm-def  : definition module for tm
@@ -210,7 +211,55 @@ RFC 1522 encoded-word. So it is not necessary to reset
 (require 'tm-vm) *after* (bbdb-insinuate-vm).
 
 
-6.2 setting sample for hilit19
+6.2 PGP
+
+  If you have PGP and Mailcrypt package, you can use PGP on
+MIME. Currently, 2 drafts (draft-elkins-pem-pgp-01.txt and
+draft-kazu-pgp-mime-00.txt) are proposed, so tm provide both way.
+
+  For decoding, please insert following into ~/.emacs:
+
+======================================================================
+(call-after-loaded
+ 'tm-view
+ (function
+  (lambda ()
+    (require 'tm-pgp)
+    )))
+======================================================================
+
+tm-pgp.el is a internal method modules to support PGP. It currently
+supports application/pgp of draft-kazu-pgp-mime-00.txt and
+application/pgp-signature of
+draft-elkins-pem-pgp-01.txt. application/pgp-encrypted and
+application/pgp-keys will be supported.
+
+  For encoding, tm-edit provides 2 mechanism. One is for signing or
+encrypting for message as application/pgp. There are two command
+`mime-editor/set-sign' and `mime-editor/set-encrypt'. They set a
+message is signed, encrypted or not.
+
+  Another one is for content. There are 2 kinds of enclosure for PGP:
+``signed'' and ``encrypted''. Their enclosure are bound to key and
+menu. If you use this mechanism, please specify 2 variables:
+`mime-editor/signing-type' and `mime-editor/encrypting-type'. They
+requires following values:
+
+       pgp-elkins      processed as draft-elkins-pem-pgp-01.txt
+       pgp-kazu        processed as draft-kazu-pgp-mime-00.txt
+       nil             not processed
+
+Sorry, pgp-elkins is not supported yet. It will be supported. If you
+use ``signed'' and ``encrypted'' as draft-kazu-pgp-mime-00.txt, please 
+insert following into ~/.emacs:
+
+======================================================================
+(setq mime-editor/signing-type    'pgp-kazu)
+(setq mime-editor/encrypting-type 'pgp-kazu)
+======================================================================
+
+
+6.3 setting sample for hilit19
 
 ======================================================================
 (cond (window-system
@@ -237,7 +286,7 @@ RFC 1522 encoded-word. So it is not necessary to reset
        ))
 ======================================================================
 
-6.3 setting sample for browse
+6.4 setting sample for browse
 
   If you have browse-url.el (included in Gnus 5.*, September Gnus and
 Emacs 19.30 or later), you can use URL button in
index 47b2545..70221ad 100644 (file)
@@ -1,6 +1,11 @@
 #
 # $Id: Makefile,v 1.1 1995/07/17 16:41:30 morioka Exp morioka $
 #
+
+EMACS=mule
+MAKEINFO=$(EMACS) -batch -q -no-site-file $< -l texinfmt -f texinfo-every-node-update -f texinfo-format-buffer -f save-buffer
+# MAKEINFO=makeinfo $<
+
 OLFILES = # tiny-mime-eng.ol
 TEXFILES= signature-jp.tex # tiny-mime-eng.tex
 DVIFILES= tm-eng.dvi signature-jp.dvi # tiny-mime-eng.dvi
@@ -9,7 +14,7 @@ GOMI   = *.aux *.toc *.log \
        *.cp *.cps *.fn *.fns *.vr *.vrs *.ky *.pg *.tp \
        $(DVIFILES) *.ps *~
 
-.SUFFIXES:     .ol .tex .dvi .ps
+.SUFFIXES:     .ol .tex .dvi .ps .texi .info
 
 .ol.tex:
        ol2 < $< | plain2 -tex -tstyle=a4j > $@
@@ -18,16 +23,30 @@ GOMI        = *.aux *.toc *.log \
        jlatex $<
        jlatex $<
 
+.texi.info:
+       $(MAKEINFO)
+
 .dvi.ps:
        dvi2ps $< > $@
 
 all:   $(DVI)
 
+
+info:  tm_ja.info tm-gnus_ja.info tm_en.info tm-gnus_en.info
+
+tm_ja.info:
+tm-gnus_ja.info:
+
+tm_en.info:
+       makeinfo $<
+
+tm-gnus_en.info:
+       makeinfo $<
+
 tex:   $(TEXFILES)
 
 $(TEXFILES):   $(OLFILES)
 
-
 dvi:   $(DVIFILES)
 
 $(DVIFILES):   $(TEXFILES)
diff --git a/doc/tm-ew-d_ja.texi b/doc/tm-ew-d_ja.texi
new file mode 100644 (file)
index 0000000..c146c2e
--- /dev/null
@@ -0,0 +1,35 @@
+@c $Id: tm-ew-d_ja.texi,v 1.1 1995/12/11 08:32:16 morioka Exp $
+
+@node encoded-word decoding, , function to preview, Functions of tm-view
+@comment  node-name,  next,  previous,  up
+@subsection encoded-word decoding
+@cindex encoded-word
+@cindex non-ASCII field
+@cindex message header
+
+tm-view \e$B$O\e(B RFC 1522 \e$B$G5,Dj$5$l$?\e(B encoded-word \e$B$r\e(B decode \e$B$9$k$3$H$,$G$-\e(B
+\e$B$^$9!#\e(B
+
+
+@deffn{Command} mime/decode-message-header
+
+current buffer \e$B$N\e(B message header \e$BCf$N\e(B encoded-word \e$B$r\e(B decode \e$B$7$^$9!#\e(B
+@end deffn
+
+
+@deffn{Command} mime-eword/decode-region beg end &optional unfolding
+
+@var{beg} \e$B$H\e(B @var{end} \e$B$G0O$^$l$?NN0hCf$N\e(B encoded-word \e$B$r\e(B decode \e$B$7$^\e(B
+\e$B$9!#\e(B
+
+@var{unfolding} \e$B$,\e(B non-nil \e$B$N>l9g!"\e(Bfold \e$B$5$l$?\e(B field \e$B$r\e(B unfolding \e$B$7$^\e(B
+\e$B$9!#\e(B
+@end deffn
+
+
+@deffn{Function} mime-eword/decode-string str
+
+@var{str} \e$B$N\e(B encoded-word \e$B$r\e(B decode \e$B$7$^$9!#\e(B
+
+fold \e$B$5$l$?J8;zNs$O\e(B unfolding \e$B$5$l$^$9!#\e(B
+@end deffn
diff --git a/doc/tm-ew_ja.texi b/doc/tm-ew_ja.texi
new file mode 100644 (file)
index 0000000..6e04fb7
--- /dev/null
@@ -0,0 +1,57 @@
+@c $Id: tm-ew_ja.texi,v 1.1 1995/12/11 08:34:52 morioka Exp $
+
+@node encoded-word, customize, tm-MUA, Top
+@comment  node-name,  next,  previous,  up
+@chapter encoded-word
+@cindex encoded-word
+@cindex non-ASCII field
+@cindex message header
+
+tm \e$B$O\e(B RFC 1522 \e$B$G5,Dj$5$l$?\e(B encoded-word \e$B$r07$&$?$a$N4X?t$r;}$C$F$$$^\e(B
+\e$B$9!#\e(B
+
+@menu
+* encoded-word decoding:: decode
+* encoded-word encoding:: encode
+* encoded-word utility::
+@end menu
+
+
+@node encoded-word encoding, encoded-word utility, encoded-word, encoded-word
+@comment  node-name,  next,  previous,  up
+@section encoded-word encoding
+
+@deffn{Command} mime/decode-message-header
+
+current buffer \e$B$N\e(B message header \e$B$r\e(B encoded-word \e$B$H$7$F\e(B encode \e$B$7$^$9!#\e(B
+@end deffn
+
+
+@deffn{Function} mime/encode-field str
+
+@var{str} \e$B$r\e(B field \e$B$H$7$F\e(B encode \e$B$7$^$9!#\e(B
+@end deffn
+
+
+@deffn{Function} mime-eword/encode-string str &optional column mode
+
+@var{str} \e$B$r\e(B encoded-word \e$B$H$7$F\e(B encode \e$B$7$^$9!#\e(B
+
+@var{column} \e$B$O$3$NJ8;zNs$,2?7eL\$+$i;O$^$C$F$$$k$+$r;XDj$7$^$9!#4{Dj\e(B
+\e$BCM$O\e(B 0 \e$B$G$9!#\e(B
+
+@var{mode} \e$B$O$3$NJ8;zNs$,$I$&$$$&ItJ,$G;H$o$l$F$$$k$+$r<($7$^$9!#;XDj\e(B
+\e$B$G$-$kCM$H$7$F$O\e(B @code{text}, @code{comment}, @code{phrase} \e$B$,$"$j$^$9!#\e(B
+\e$B4{DjCM$O\e(B @code{phrase} \e$B$G$9!#\e(B
+@end deffn
+
+
+@node encoded-word utility,  , encoded-word encoding, encoded-word
+@comment  node-name,  next,  previous,  up
+@section encoded-word utility
+
+@deffn{Function} mime/exist-encoded-word-in-subject
+
+current buffer \e$B$N\e(B Subject: field \e$B$K\e(B encoded-word \e$B$,B8:_$9$k>l9g!"\e(B
+Subject: field \e$B$N\e(B field-body \e$B$rJV$7$^$9!#\e(B
+@end deffn
index 24f2ea9..e39e816 100644 (file)
@@ -6,23 +6,20 @@
 @titlepage
 @title{tm-gnus}
 @author{¼é²¬ ÃÎɧ}
-@code{$Id: tm-gnus_ja.texi,v 3.1 1995/09/05 10:17:18 morioka Exp $}
+@code{$Id: tm-gnus_ja.texi,v 4.0 1995/12/11 08:30:16 morioka Exp morioka $}
 @end titlepage
 
 
 @node Top, Introduction, (tm_ja.info)tm-MUA, (tm_ja.info)tm-MUA
 @comment  node-name,  next,  previous,  up
 @ifinfo
-@top tm-gnus 6.20 Reference manual
+@top tm-gnus 7.21 Reference manual
 @end ifinfo
 
 @menu
 * Introduction:: ¤Ï¤¸¤á¤Ë
 * Features::     tm-gnus ¤Îµ¡Ç½         
-* Customize::    tm-gnus ¤Î¥«¥¹¥¿¥Þ¥¤¥º
-* Concept Index::
-* Command Index::
-* Variable Index::
+* Index::
 @end menu
 
 
 @chapter ¤Ï¤¸¤á¤Ë
 @cindex components
 
-tm-gnus ¤Ï GNUS ¤Ç tm ¤ò»È¤¦¤¿¤á¤Î¤â¤Î¤Ç GNUS 3.*, GNUS 4.*, (ding)
-GNUS, GNUS 5.* ¤ÇÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+tm-gnus ¤Ï GNUS ¤ª¤è¤Ó Gnus ¤Ç tm ¤ò»È¤¦¤¿¤á¤Î module ¤Ç¡¢tm-MUA ¤Î£±
+¤Ä¤Ç¤¹¡£
 
-tm-gnus ¤Ï GNUS ¤Î MIME µ¡Ç½¤ò¶¯²½¤·¤Þ¤¹¡£tm-gnus ¤Ï summary buffer ¤È 
-article buffer ¤ÎÃæ¤Ë¤¢¤ë RFC 1522 encoded-word ¤ò decode ¤·¤Þ¤¹¡£¤Þ¤¿¡¢
-summary mode ¤Ë tm-view ¤ò»È¤Ã¤¿ MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î command 
-¤òÄɲä·¤Þ¤¹¡£
+tm-gnus ¤Ï GNUS ¤ª¤è¤Ó Gnus ¤Î MIME µ¡Ç½¤ò¶¯²½¤·¤Þ¤¹¡£tm-gnus ¤Ï 
+summary buffer ¤È article buffer ¤ÎÃæ¤Ë¤¢¤ë RFC 1522 encoded-word ¤ò 
+decode ¤·¤Þ¤¹¡£¤Þ¤¿¡¢summary mode ¤Ë tm-view ¤ò»È¤Ã¤¿ MIME message ¤ò
+±ÜÍ÷¤¹¤ë¤¿¤á¤Î command ¤òÄɲä·¤Þ¤¹¡£
 
-(ding) GNUS ¤È GNUS 5.* ¤Ç¤Ï¡¢¤³¤Îµ¡Ç½¤ò»Ù±ç¤¹¤ë¤¿¤á¤Î patch ¤òÅö¤Æ¤ë
-¤³¤È¤Ç¡¢article buffer ¤ÎÂå¤ï¤ê¤Ë MIME preview buffer ¤òɽ¼¨¤¹¤ë¤³¤È¤¬
-¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï heavy MIME user ¤Ë¤È¤Ã¤ÆÊØÍø¤Ç¤·¤ç¤¦¡£
+Gnus 3.15 °Ê¹ß¤Ç¤Ï automatic MIME preview µ¡Ç½¤¬ support ¤µ¤ì¡¢article
+buffer ¤ÎÂå¤ï¤ê¤Ë MIME preview buffer ¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï 
+heavy MIME user ¤Ë¤È¤Ã¤ÆÊØÍø¤Ç¤·¤ç¤¦¡£
+
+Note: September Gnus ¤Ï tm-gnus ¤ò»Ù±ç¤¹¤ëµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤â¤Ã¤È
+¤â²÷Ŭ¤Ë tm-gnus ¤ò»È¤¦»ö¤¬¤Ç¤­¤Þ¤¹¡£
 
 
 °Ê²¼¤Ë tm-gnus ¤Ë´Þ¤Þ¤ì¤ë module ¤ò¼¨¤·¤Þ¤¹¡£
 
 @itemize @minus
-@item @strong{tm-gnus}:  GNUS ÍѤÎÀßÄê module
-@item @strong{tm-gnus3}: GNUS 3.* ÍѤÎÀßÄê module
-@item @strong{tm-gnus4}: GNUS 4.* ÍѤÎÀßÄê module
-@item @strong{tm-ognus}: tm-gnus3 ¤È tm-gnus4 ¤Î¶¦ÄÌ module
-@item @strong{tm-dgnus}: (ding) GNUS ÍѤÎÀßÄê module
-@item @strong{tm-gnus5}: GNUS 5.* ÍѤÎÀßÄê module
+@item @strong{tm-gnus.el}:  GNUS ÍѤΠmodule
+@item @strong{tm-gnus3.el}: GNUS 3.* ÍѤΠmodule
+@item @strong{tm-gnus4.el}: GNUS 4.*, Gnus 5.0.*, 5.1 ÍѤΠmodule
+@item @strong{tm-gd3.el}:   GNUS ÍѤΠlibrary module
+@item @strong{tm-gd5.el}:   Gnus ÍѤΠlibrary module
+@item @strong{tm-sgnus.el}: September Gnus ÍѤΠmodule
 @end itemize
 
 
@@ -78,14 +78,10 @@ tm-gnus 
 @cindex RFC 1522
 @cindex summary buffer
 
-tm-gnus ¤òÍѤ¤¤ë¤È¡¢tiny-mime (@inforef{Top, , tm-eword_ja}) ¤Îµ¡Ç½¤ò
-»È¤Ã¤Æ Summary buffer Ãæ¤Î MIME encoded-word ¤ò decode ¤¹¤ë¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£¤·¤«¤·¡¢encoded-word ¤Î¤¦¤Á¡¢¤½¤Î emacs ¤Ç support ¤µ¤ì¤Ê¤¤ 
-charset ¤Ï decode ¤µ¤ì¤Þ¤»¤ó¡£
-
-@menu
-* (tm-eword_ja.info)Charsets:: support ¤µ¤ì¤ë charset
-@end menu
+tm-gnus ¤òÍѤ¤¤ë¤È¡¢tm-view (@inforef{encoded-word decoding, ,
+tm-ja.info}) ¤Îµ¡Ç½¤ò»È¤Ã¤Æ Summary buffer Ãæ¤Î MIME encoded-word ¤ò
+decode ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤·¤«¤·¡¢encoded-word ¤Î¤¦¤Á¡¢¤½¤Î emacs ¤Ç 
+support ¤µ¤ì¤Ê¤¤ charset ¤Ï decode ¤µ¤ì¤Þ¤»¤ó¡£
 
 
 @node Summary mode, Automatic MIME Preview, Summary buffer, Features
@@ -107,7 +103,7 @@ mime/viewer-mode 
 ¤¬¤Ç¤­¤Þ¤¹¡£
 
 @menu
-* (tm-view_ja.info)Commands:: mime/viewer-mode ¤Î command
+* (tm_ja.info)MIME navigation:: mime/viewer-mode ¤Ç¤ÎÁàºî
 @end menu
 
 
@@ -116,14 +112,10 @@ mime/viewer-mode 
 @section Automatic MIME Preview
 @cindex automatic MIME preview
 
-(ding) GNUS ¤ª¤è¤Ó GNUS 5.* ¤Ç¤Ï ``with tm patch'' ¤òÅö¤Æ¤ë¤³¤È¤Ç 
-``automatic MIME preview'' ¤È¤¤¤¦µ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î 
-patch ¤Ï ftp.jaist.ac.jp:/pub/GNU/elisp/dgnus/ ¤Ë¤¢¤ê¡¢1995ǯ9·î2Æü¸½
-ºß¤ÎºÇ¿·ÈǤϠdgnus-0.99.23-tm.diff ¤Ç¤¹¡£
-
-¤³¤Îµ¡Ç½¤ò»È¤¦¤È Summary mode ¤Çµ­»ö¤òÆɤà»þ¡¢Ä̾ïɽ¼¨¤µ¤ì¤ë Article
-buffer ¤ÎÂå¤ï¤ê¤Ë tm-view (@inforef{Top, , tm-view_ja.info}) ¤Ç½èÍý¤µ
-¤ì¤¿ preview buffer ¤òɽ¼¨¤·¤Þ¤¹¡£
+GNUS 3.15 °Ê¹ß¡¢¤ª¤è¤Ó Gnus ¤Ç¤Ï ``automatic MIME preview'' µ¡Ç½¤òÍøÍÑ
+¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Îµ¡Ç½¤ò»È¤¦¤È Summary mode ¤Çµ­»ö¤òÆɤà»þ¡¢Ä̾ï
+ɽ¼¨¤µ¤ì¤ë Article buffer ¤ÎÂå¤ï¤ê¤Ë tm-view ¤Ç½èÍý¤µ¤ì¤¿ preview
+buffer ¤òɽ¼¨¤·¤Þ¤¹¡£
 
 ¤³¤Î¤¿¤á¡¢Quoted-Printable ¤ä Base64 ¤Ç encode ¤µ¤ì¤¿µ­»ö¤ò decode ¤·
 ¤Æɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¢¤ë¤¤¤Ï¡¢tm-rich ¤ò»È¤¦¤³¤È¤Ç¡¢rich text ¤Ç
@@ -141,116 +133,48 @@ anonymous ftp 
 ¤¬µ¤¤Ë¤Ê¤ë¾ì¹ç¡¢automatic MIME preview ¤òÍ޻ߤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
 
 
-@defvar tm-gnus/decode-all
+@defvar tm-gnus/automatic-mime-preview
 
-¤³¤ÎÊÑ¿ô¤¬ t ¤Î¾ì¹ç¡¢automatic MIME preview mode ¤Ë¤Ê¤ê¤Þ¤¹¡£
+automatic MIME preview mode ¤«¤É¤¦¤«¤ò¤¢¤é¤ï¤·¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Ï 
+@code{gnus-show-mime} ¤Î½é´üÃͤȤ·¤Æ»È¤ï¤ì¤ë¡¢°ìÊý¡¢¸½ºß preview
+buffer ¤¬»È¤ï¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¤¢¤é¤ï¤¹ flag ¤È¤·¤Æ¤â»È¤ï¤ì¤Þ¤¹¡£
 @end defvar
 
 
-@deffn{Command} tm-gnus/toggle-mime arg
-
-normal mode ¤È automatic MIME preview mode ¤òÀÚÂؤ¨¤Þ¤¹¡£Â¨¤Á¡¢¤³¤Î´Ø
-¿ô¤¬¸Æ¤Ð¤ì¤ë¤¿¤Ó¤ËÊÑ¿ô @code{tm-gnus/decode-all} ¤ÎÃͤòÀÚÂؤ¨¤Þ¤¹¡£
-
-@var{arg} ¤¬Í¿¤¨¤é¤ì¤¿¾ì¹ç¡¢ÊÑ¿ô @code{tm-gnus/decode-all} ¤ÎÃͤò 
-@var{arg} ¤Ë¤·¤Þ¤¹¡£
-@end deffn
-
-
-``with tm patch'' ¤Ç¤ÏÊÑ¿ô @code{gnus-article-buffer} ¤Î°ÕÌ£¤¬Êѹ¹¤µ¤ì¡¢
+September Gnus ¤Ç¤ÏÊÑ¿ô @code{gnus-article-buffer} ¤Î°ÕÌ£¤¬Êѹ¹¤µ¤ì¡¢
 ½¾Íè¡¢¤³¤ÎÊÑ¿ô¤¬»ý¤Ã¤Æ¤¤¤¿°ÕÌ£¤Ï¡¢¼¡¤Î£²¤Ä¤ÎÊÑ¿ô¤ËʬΥ¤µ¤ì¤Þ¤·¤¿¡£
 
 
 @defvar gnus-article-buffer
 
 ¤³¤ÎÊÑ¿ô¤Ïɽ¼¨¤¹¤Ù¤­ buffer ¤òɽ¤·¤Þ¤¹¡£Â¨¤Á¡¢automatic MIME preview
-mode ¤Ç¤Ï tm-view ¤Ë¤è¤Ã¤Æ²Ã¹©¤µ¤ì¤¿ preview buffer ¤ò¼¨¤·¤Þ¤¹¡£normal
-mode ¤Ç¤Ï¡¢article buffer ¤ò¼¨¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¤Ï¡¢°Ê²¼¤Ë¼¨¤¹ÊÑ¿ô 
-gnus-clean-article-buffer ¤ÈƱ¤¸ÃͤȤʤê¤Þ¤¹¡£
+mode ¤Ç¤Ï tm-view ¤Ë¤è¤Ã¤Æ²Ã¹©¤µ¤ì¤¿ preview-buffer "*Article*" ¤ò¼¨¤·
+¤Þ¤¹¡£
 @end defvar
 
 
-@defvar gnus-clean-article-buffer
-
-¤³¤ÎÊÑ¿ô¤Ï¾ï¤Ë²Ã¹©¤µ¤ì¤Æ¤¤¤Ê¤¤ article buffer ¤òɽ¤·¤Þ¤¹¡£Â¨¤Á¡¢
-automatic MIME preview mode ¤Î»þ¤â²Ã¹©Á°¤Îµ­»ö¤¬Æþ¤Ã¤¿ buffer ¤ò»Ø¤·¤Þ
-¤¹¡£
-@end defvar
+@defvar gnus-original-article-buffer
 
+¤³¤ÎÊÑ¿ô¤Ï¾ï¤Ë²Ã¹©¤µ¤ì¤Æ¤¤¤Ê¤¤ article-buffer " *Original Article*" ¤ò
+ɽ¤·¤Þ¤¹¡£Â¨¤Á¡¢automatic MIME preview mode ¤Î»þ¤â tm-view ¤Ë¤è¤Ã¤Æ²Ã
+¹©¤µ¤ì¤ëÁ°¤Îµ­»ö¤¬Æþ¤Ã¤¿ buffer ¤ò»Ø¤·¤Þ¤¹¡£
 
-@node Customize, Concept Index, Features, Top
-@comment  node-name,  next,  previous,  up
-@chapter tm-gnus ¤Î¥«¥¹¥¿¥Þ¥¤¥º
-@cindex customize
-
-@defvar tm-gnus/original-article-display-hook
-
-tm-gnus ¤Ï @code{gnus-article-display-hook} ¤òÆâÉô¤ÇÍøÍѤ·¤Æ¤ª¤ê¡¢user 
-¤Ë³«Êü¤·¤Æ¤¤¤Þ¤»¤ó¡£¤³¤Î¤¿¤á¡¢@code{gnus-article-display-hook} ¤ÎÂå¤ï
-¤ê¤Ë¡¢¤³¤ÎÊÑ¿ô¤ò»È¤¤¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤ÎÊÑ¿ô¤Ï tm-gnus ¤¬ load ¤µ¤ì¤¿»þ¤Î
-¤ßÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢°Ê²¼¤Î¤è¤¦¤Ë @code{call-after-loaded} ¤ò»È¤Ã¤ÆÀß
-Äꤷ¤Æ²¼¤µ¤¤¡£
-
-@lisp
-(call-after-loaded
- 'tm-view
- (function
-  (lambda ()
-    (add-hook 'tm-gnus/original-article-display-hook
-              ...)
-    )))
-@end lisp
+GNUS ¤ä Gnus 5.1.* °ÊÁ°¤Ë¤Ï¤³¤ÎÊÑ¿ô¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢tm-gnus4 ¤Ç¤Ï¤³¤ÎÊÑ
+¿ô¤ò emulate ¤·¤Æ¤¤¤Þ¤¹¡£Ã¢¤·¡¢¤³¤Î¾ì¹ç¡¢preview-buffer ¤¬¤Ê¤¤¤È¤­¤Ë¤Ï
+¤³¤ÎÃͤϠnil ¤Ë¤Ê¤ê¤Þ¤¹¡£
 @end defvar
 
-¤½¤Î¾¡¢tm-view ¤ÎÀßÄê¤ò¹Ô¤Ê¤¦¤³¤È¤Ç¡¢preview buffer ¤Îɽ¼¨¤Î»ÅÊý¤òÊÑ
-¹¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Î㤨¤Ð¡¢hilit19 ¤ò»È¤Ã¤Æ¡¢¿§¤òÉÕ¤±¤ë¾ì¹ç¡¢°Ê²¼¤Î
-¤è¤¦¤ÊÀßÄê¤ò¤·¤Æ²¼¤µ¤¤¡£
-
-@lisp
-(cond (window-system
-       (let* ((header-patterns '(("^Subject:.*$" nil msg-subject)
-                                ("^From:.*$" nil msg-from)
-                                ("^--text follows this line--$"
-                                 nil msg-separator)
-                                ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)
-                                ))
-             (body-patterns '(("^\\(In article\\|[ \t]*\\w*[]<>@}|]\\).*$"
-                               nil msg-quote)))
-             (message-patterns (append header-patterns body-patterns))
-             )
-        (hilit-set-mode-patterns 'msg-header header-patterns)
-        (hilit-set-mode-patterns 'msg-body body-patterns)
-        (hilit-set-mode-patterns 'mime/viewer-mode
-                                 message-patterns
-                                 'hilit-rehighlight-message)
-        )
-       (add-hook 'mime-viewer/content-header-filter-hook
-                (function hilit-rehighlight-buffer-quietly))
-       (add-hook 'mime-viewer/plain-text-preview-hook
-                (function hilit-rehighlight-buffer-quietly))
-       ))
-@end lisp
 
 @menu
-* (tm-view_ja.info):: tm-view
+* (tm_ja.info)tm-view::
 @end menu
 
 
-@node Concept Index, Command Index, Customize, Top
-@unnumbered ³µÇ°º÷°ú
+@node Index,  , Features, Top
+@unnumbered º÷°ú
 
 @printindex cp
-
-
-@node Command Index, Variable Index, Concept Index, Top
-@unnumbered ´Ø¿ô¡¦¥³¥Þ¥ó¥Éº÷°ú
-
 @printindex fn
-
-
-@node Variable Index,  , Command Index, Top
-@unnumbered ÊÑ¿ôº÷°ú
-
 @printindex vr
 
 @bye
diff --git a/doc/tm-util_ja.texi b/doc/tm-util_ja.texi
new file mode 100644 (file)
index 0000000..83f2c9a
--- /dev/null
@@ -0,0 +1,138 @@
+@c $Id: tm-util_ja.texi,v 1.1 1995/12/11 08:35:25 morioka Exp $
+
+@node customize, Bug report, encoded-word, Top
+@comment  node-name,  next,  previous,  up
+@chapter tm \e$B$N\e(B customize
+
+tm \e$B$N\e(B customize \e$B$K$D$$$F@bL@$7$^$9!#\e(B
+
+@menu
+* fields::
+* available functions::
+* example::
+@end menu
+
+@node fields, available functions, customize, customize
+@comment  node-name,  next,  previous,  up
+@section fields
+@cindex field-list
+@cindex field-regexp
+
+tm-view.el \e$B$d\e(B tm-edit.el \e$B$G$O\e(B message header field \e$B$NI=<(!&A*Br$K\e(B 
+@strong{field-list} \e$B$H\e(B @strong{field-regexp} \e$B$H$$$&BP$rMQ$$$^$9!#\e(B
+
+\e$B$3$3$G$O$3$NBP$rA`:n$9$k$?$a$N4X?t$r>R2p$7$^$9!#\e(B
+
+
+@defun tm:add-fields sym field-list &optional regexp-sym
+
+symbol @var{sym} \e$B$G;X$5$l$?\e(B field-list \e$B$K\e(B @var{field-list} \e$B$rDI2C$7$^\e(B
+\e$B$9!#\e(B
+@end defun
+
+
+@defun tm:add-fields sym field-list &optional regexp-sym
+
+symbol @var{sym} \e$B$G;X$5$l$?\e(B field-list \e$B$+$i\e(B @var{field-list} \e$B$r:o=|$7\e(B
+\e$B$^$9!#\e(B
+@end defun
+
+
+@node available functions, example, fields, customize
+@comment  node-name,  next,  previous,  up
+@section \e$BM-MQ$J4X?t\e(B
+
+tm \e$B$N@_Dj$KM-MQ$J4X?t$r>R2p$7$^$9!#\e(B
+
+
+@defun add-path path &rest options
+
+@code{load-path} \e$B$K\e(B @var{path} \e$B$rDI2C$7$^$9!#\e(B
+
+\e$BI8=`$G$O\e(B @code{default-load-path} \e$B$ND>2<$N$I$3$+$K\e(B @var{path} \e$B$,B8:_$7\e(B
+\e$B$F$$$k;~$N$_!"\e(B@code{load-path} \e$B$N@hF,$KE83+$7$?7A$GDI2C$7$^$9!#\e(B
+
+@var{options} \e$B$K\e(B @code{'all-paths} \e$B$,B8:_$9$k>l9g!"\e(B@code{load-path} \e$BA4\e(B
+\e$BBN$+$i\e(B @var{path} \e$B$rC5:w$7$^$9!#\e(B
+
+@var{options} \e$B$K\e(B @code{'append} \e$B$,B8:_$9$k>l9g!"\e(B@code{load-path} \e$B$NKv\e(B
+\e$BHx$KDI2C$7$^$9!#\e(B
+@end defun
+
+
+@defun call-after-loaded module func &optional hook-name
+
+@var{module} \e$B$,\e(B provide \e$B$5$l$F$$$l$P\e(B @var{func} \e$B$r$9$0$K8F$S!"$=$&$G$J\e(B
+\e$B$1$l$P!"\e(B@var{module} \e$B$,\e(B load \e$B$5$l$?;~$K\e(B @var{func} \e$B$,8F$P$l$k$h$&$K!"\e(B
+@var{hook-name} \e$B$K\e(B add-hook \e$B$7$^$9!#\e(B
+
+@var{hook-name} \e$B$,>JN,$5$l$?>l9g!"\e(B@code{MODULE-load-hook} \e$B$,MQ$$$i$l$^\e(B
+\e$B$9!#\e(B
+@end defun
+
+
+@node example,  , available functions, customize
+@comment  node-name,  next,  previous,  up
+@section example
+
+tm \e$B$N\e(B customize \e$B$NNc$r<($7$^$9!#\e(B
+
+
+@subsection preview-buffer \e$B$GI=<($5$l$k\e(B field \e$B$NJQ99\e(B
+
+\e$BI8=`@_Dj$K2C$(!"\e(B"Mail-From", "Expires", "Xref", "Approved", "Sender",
+"X-.*" \e$B$bI=<($7$J$$$h$&$K$7$^$9!#\e(B
+
+@lisp
+(call-after-loaded
+ 'tm-view
+ (lambda ()
+   (tm:add-fields
+    'mime-viewer/ignored-field-list
+    '("Mail-From" "Expires" "Xref" "Approved" "Sender" "X-.*")
+     )))
+@end lisp
+
+
+@subsection hilit19
+
+hilit19 \e$B$r;H$C$?\e(B face \e$B$N@_DjNc\e(B
+
+@lisp
+(cond (window-system
+       (let* ((header-patterns '(("^Subject:.*$" nil msg-subject)
+                                ("^From:.*$" nil msg-from)
+                                ("^--text follows this line--$"
+                                 nil msg-separator)
+                                ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)
+                                ))
+             (body-patterns '(("^\\(In article\\|[ \t]*\\w*[]<>}|]\\).*$"
+                               nil msg-quote)))
+             (message-patterns (append header-patterns body-patterns))
+             )
+        (hilit-set-mode-patterns 'msg-header header-patterns)
+        (hilit-set-mode-patterns 'msg-body body-patterns)
+        (hilit-set-mode-patterns 'mime/viewer-mode
+                                 message-patterns
+                                 'hilit-rehighlight-message)
+        )
+       (add-hook 'mime-viewer/content-header-filter-hook
+                (function hilit-rehighlight-buffer-quietly))
+       (add-hook 'mime-viewer/plain-text-preview-hook
+                (function hilit-rehighlight-buffer-quietly))
+       ))
+@end lisp
+
+
+@subsection browse-url
+
+Gnus \e$BIUB0$N\e(B browse-url.el \e$B$N@_DjNc\e(B
+
+@lisp
+(setq browse-url-browser-function
+      (if (eq window-system 'x)
+         'browse-url-netscape
+       'browse-url-w3))
+(autoload browse-url-browser-function "browse-url"
+  "Ask a WWW browser to show a URL." t)
+@end lisp
diff --git a/doc/tm-view-a_ja.texi b/doc/tm-view-a_ja.texi
new file mode 100644 (file)
index 0000000..e314332
--- /dev/null
@@ -0,0 +1,94 @@
+@c $Id: tm-view-a_ja.texi,v 1.1 1995/12/11 08:37:52 morioka Exp $
+
+@node article-buffer, preview-buffer, Functions of tm-view, Mechanism of tm-view
+@comment  node-name,  next,  previous,  up
+@subsection article-buffer
+
+@defvr{Structure} mime::content-info rcnum point-min point-max type parameters encoding children
+
+article-buffer \e$B$G\e(B MIME content \e$B$K4X$9$k>pJs$r3JG<$9$k$?$a$N9=B$BN!#C1\e(B
+\e$B$K\e(B @strong{content-info} \e$B$H$b8F$V!#\e(B
+
+@table @var
+@item rcnum
+@strong{reversed content-number} (list)
+
+@item point-min
+article-buffer \e$B$K$*$1$k@hF,\e(B point
+
+@item point-max
+article-buffer \e$B$K$*$1$kKvHx\e(B point
+
+@item type
+content-type/sub-type\e$B!JJ8;zNs!"$^$?$O!"\e(Bnil\e$B!K\e(B
+
+@item parameters
+Content-Type field \e$B$N\e(B parameter \e$B!JO"A[\e(B list\e$B!K\e(B
+
+@item encoding
+Content-Transfer-Encoding\e$B!JJ8;zNs!"$^$?$O!"\e(Bnil\e$B!K\e(B
+
+@item children
+\e$B$3$N\e(B content \e$B$K4^$^$l$k\e(B contents\e$B!J\e(Bcontent-info \e$B$N\e(B list\e$B!K\e(B
+@end table
+
+\e$B$"$k\e(B content \e$B$,\e(B multipart \e$B$b$7$/$O\e(B message/rfc822 \e$B$J$I$NJL$N\e(B content 
+\e$B$r4^$`$h$&$J\e(B content \e$B$G$"$C$?>l9g!"\e(B@var{children} \e$B$KJL$N\e(B content \e$B$N\e(B 
+content-info \e$B$,4^$^$l$k;v$K$h$C$F!"\e(Bcontent-info \e$B$OLZ9=B$$K$J$k!#\e(B
+
+\e$B$3$N9=B$BN$r;2>H$9$k$K$O!"\e(B@code{mime::content-info/\e$B%9%m%C%HL>\e(B} \e$B$H$$$&\e(B
+content-info \e$B$r0z?t$K$H$k4X?t$rMQ$$$k!#\e(B
+
+@end defvr
+
+
+@defvar mime::article/content-info
+
+article-buffer \e$B$r\e(B MIME message \e$B$H$7$F2r@O$7$?7k2L\e(B (content-info)
+@end defvar
+
+
+@defvar mime::article/preview-buffer
+
+article-buffer \e$B$KBP1~$9$k\e(B preview-buffer.
+@end defvar
+
+
+@defun mime-article/point-content-number point &optional cinfo
+
+content-info @var{cinfo} \e$B$G4IM}$5$l$kNN0h$K$*$$$F!"\e(B@var{point} \e$B$KBP1~\e(B
+\e$B$9$k\e(B content-number \e$B$rJV$9!#\e(B
+
+@var{cinfo} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime::article/content-info} \e$B$,MQ\e(B
+\e$B$$$i$l$k!#\e(B
+@end defun
+
+
+@defun mime-article/rcnum-to-cinfo rcnum &optional cinfo
+
+content-info @var{cinfo} \e$B$G4IM}$5$l$kNN0h$K$*$$$F!"\e(B
+reversed-content-number @var{rcnum} \e$B$KBP1~$9$k\e(B content-info \e$B$rJV$9!#\e(B
+
+@var{cinfo} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime::article/content-info} \e$B$,MQ\e(B
+\e$B$$$i$l$k!#\e(B
+@end defun
+
+
+@defun mime-article/cnum-to-cinfo rcnum &optional cinfo
+
+content-info @var{cinfo} \e$B$G4IM}$5$l$kNN0h$K$*$$$F!"\e(Bcontent-number
+@var{rcnum} \e$B$KBP1~$9$k\e(B content-info \e$B$rJV$9!#\e(B
+
+@var{cinfo} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime::article/content-info} \e$B$,MQ\e(B
+\e$B$$$i$l$k!#\e(B
+@end defun
+
+
+@defun mime/flatten-content-info &optional cinfo
+
+content-info @var{cinfo} \e$BCf$KG<$a$i$l$?A4\e(B contents \e$B$N\e(B content-info \e$B$N\e(B 
+list \e$B$rJV$9!#\e(B
+
+@var{cinfo} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime::article/content-info} \e$B$,MQ\e(B
+\e$B$$$i$l$k!#\e(B
+@end defun
diff --git a/doc/tm-view-cb_ja.texi b/doc/tm-view-cb_ja.texi
new file mode 100644 (file)
index 0000000..7300b03
--- /dev/null
@@ -0,0 +1,50 @@
+@c $Id: tm-view-cb_ja.texi,v 1.1 1995/12/11 08:37:18 morioka Exp $
+
+@node content-body, content-separator, content-header, MIME display
+@comment  node-name,  next,  previous,  up
+@subsubsection content-body
+@cindex content-body
+
+\e$B$"$k\e(B content \e$B$N\e(B content-body \e$B$rI=<($9$k$+$I$&$+$O!"4X?t\e(B 
+@code{mime-viewer/body-visible-p} \e$B$,\e(B @code{t} \e$B$K$J$k$+$I$&$+$G7h$^$j$^\e(B
+\e$B$9!#I8=`$G$O!"$"$k\e(B content \e$B$N\e(B content-type \e$B$,JQ?t\e(B 
+@code{mime-viewer/default-showing-Content-Type-list} \e$B$K@_Dj$5$l$F$$$k\e(B
+\e$B;~$KI=<($5$l$^$9!#\e(B
+
+\e$B$"$k\e(B content \e$B$N\e(B content-body \e$B$,I=<($5$l$k;~!"\e(Bpreview buffer \e$B$K$O\e(B 
+content-body \e$B$r\e(B content-filter \e$B$K$h$C$F@07A$5$l$?$b$N$,I=<($5$l$^$9!#\e(B
+\e$B8F$P$l$k\e(B content-filter \e$B$O\e(B article buffer \e$B$N\e(B major-mode \e$B$r\e(B key \e$B$H$7$F\e(B
+\e$BJQ?t\e(B @code{mime-viewer/content-filter-alist} \e$B$+$iC5$5$l$^$9!#$b$7!"$3\e(B
+\e$B$NJQ?t$KEPO?$5$l$F$$$J$+$C$?>l9g!"4X?t\e(B 
+@code{mime-viewer/default-content-filter} \e$B$,8F$P$l$^$9!#\e(B
+
+
+@defvar mime-viewer/default-showing-Content-Type-list
+
+\e$BI=<($9$Y$-\e(B content-type \e$B$rMWAG$H$9$k\e(B list.
+@end defvar
+
+
+@deffn{Function} mime-viewer/body-visible-p rcnum cinfo &optional ctype
+
+reversed-content-number \e$B$,\e(B @var{rcnum} \e$B$G$"$k\e(B content \e$B$,I=<($5$l$k>l9g!"\e(B
+@code{t} \e$B$rJV$9!#$=$N\e(B content \e$B$N\e(B content-type \e$B$,$"$i$+$8$a$o$+$C$F$$$k\e(B
+\e$B>l9g!"\e(B@var{ctype} \e$B$K0z?t$H$7$FEO$9$3$H$,$G$-$k!#\e(B
+@end deffn
+
+
+@defvar mime-viewer/content-filter-alist
+
+article buffer \e$B$N\e(B major-mode \e$B$r\e(B key \e$B$H$7$?O"A[%j%9%H$G!"CMIt$K$O\e(B 
+content-filter \e$B$,F~$C$F$$$k!#\e(B
+@end defvar
+
+
+@deffn{Function} mime-viewer/default-content-filter rcnum cinfo ctype params subj
+
+\e$B$"$k\e(B content \e$B$N\e(B content-body \e$B$rI=<($9$Y$-;~!"JQ?t\e(B 
+@code{mime-viewer/content-filter-alist} \e$B$NCf$K\e(B content-filter \e$B$,8+$D$+\e(B
+\e$B$i$J$+$C$?>l9g$K8F$S=P$5$l$k!#\e(B
+
+\e$BI8=`$G$O2?$b$7$J$$!#\e(B
+@end deffn
diff --git a/doc/tm-view-ch_ja.texi b/doc/tm-view-ch_ja.texi
new file mode 100644 (file)
index 0000000..757e100
--- /dev/null
@@ -0,0 +1,72 @@
+@c $Id: tm-view-ch_ja.texi,v 1.1 1995/12/11 08:36:37 morioka Exp $
+
+@node content-header, content-body, content-subject, MIME display
+@comment  node-name,  next,  previous,  up
+@subsubsection content-header
+@cindex content-header
+
+\e$B$"$k\e(B content \e$B$N\e(B reversed-content-number \e$B$r4X?t\e(B 
+@code{mime-viewer/header-visible-p} \e$B$KF~NO$7$F$=$NJV$jCM$,\e(B @code{t} \e$B$K\e(B
+\e$B$J$k>l9g!"$=$N\e(B content \e$B$N\e(B content-header \e$B$,I=<($5$l$^$9!#$3$NH=Dj4X?t\e(B
+\e$B$O!"0lHV>e$N\e(B content \e$B$G$J$/!"$=$N\e(B content \e$B$N?F$N\e(B content-type \e$B$,JQ?t\e(B 
+@code{mime-viewer/childrens-header-showing-Content-Type-list} \e$B$G;XDj$5\e(B
+\e$B$l$F$$$k>l9g$K\e(B @code{t} \e$B$rJV$7$^$9!#\e(B
+
+\e$B$3$N>r7o$rJQ$($?$$>l9g$O!"$3$N4X?t$r:FDj5A$7$F2<$5$$!#C"$7!"I8=`$G$O!"\e(B
+\e$BJQ?t\e(B @code{mime-viewer/childrens-header-showing-Content-Type-list} \e$B$r\e(B
+\e$B;2>H$7$^$9$,!":FDj5A$7$?>l9g!"$3$NJQ?t$NM-8z@-$OJ]>Z$5$l$J$$$N$GCm0U$7\e(B
+\e$B$F2<$5$$!#\e(B
+
+content-header \e$B$,I=<($5$l$k>l9g!"\e(Bcontent-header \e$B$O\e(B 
+content-header-filter \e$B$K$h$C$F@07A$5$l$^$9!#8F$P$l$k\e(B 
+content-header-filter \e$B$O\e(B article buffer \e$B$N\e(B major-mode \e$B$r\e(B key \e$B$H$7$FJQ\e(B
+\e$B?t\e(B @code{mime-viewer/content-header-filter-alist} \e$B$+$iC5$5$l$^$9!#$b$7!"\e(B
+content-header-filter \e$B$,8+$D$+$i$J$+$C$?>l9g!"4X?t\e(B 
+@code{mime-viewer/default-content-header-filter} \e$B$,8F$P$l$^$9!#\e(B
+
+
+@defvar mime-viewer/childrens-header-showing-Content-Type-list
+
+\e$B$"$k\e(B content \e$B$N;R$KEv$?$k\e(B content \e$B$N\e(B content-header \e$B$rI=<($9$Y$-\e(B 
+Content-Type \e$B$r<}$a$?\e(B list. \e$B4{DjCM$O\e(B "message/rfc822" \e$B$G$"$k!#\e(B
+
+\e$B$3$NJQ?t$O4X?t\e(B @code{mime-viewer/header-visible-p} \e$B$K$h$C$F;2>H$5$l$k!#\e(B
+@end defvar
+
+
+@deffn{Function} mime-viewer/header-visible-p rcnum cinfo &optional ctype
+
+content-info @var{cinfo} \e$BCf$N\e(B reversed-content-number \e$B$,\e(B @var{rcnum} 
+\e$B$G$"$k\e(B content \e$B$N\e(B header \e$B$,I=<($5$l$k>l9g!"\e(Bt \e$B$rJV$9!#$=$N\e(B content \e$B$N\e(B 
+content-type \e$B$,$"$i$+$8$a$o$+$C$F$$$k>l9g!"\e(B@var{ctype} \e$B$K0z?t$H$7$FEO\e(B
+\e$B$9$3$H$,$G$-$k!#\e(B
+@end deffn
+
+
+@defvar mime-viewer/content-header-filter-alist
+
+article-buffer \e$B$N\e(B major-mode \e$B$r\e(B key \e$B$H$7$?O"A[%j%9%H$G!"CMIt$K$O\e(B 
+content-header-filter \e$B$,F~$C$F$$$k!#\e(B
+@end defvar
+
+
+@deffn{Function} mime-viewer/default-content-header-filter
+
+\e$B$"$k\e(B content \e$B$N\e(B content-header \e$B$rI=<($9$Y$-;~!"JQ?t\e(B 
+@code{mime-viewer/content-header-filter-alist} \e$B$NCf$K\e(B 
+content-header-filter \e$B$,8+$D$+$i$J$+$C$?>l9g$K8F$S=P$5$l$k!#\e(B
+
+\e$BJQ?t\e(B @code{mime-viewer/ignored-field-regexp} \e$B$r;2>H$9$k!#\e(B
+@end deffn
+
+
+@defvar mime-viewer/ignored-field-list
+
+content-header \e$B$rI=<($9$k;~$K!"I=<($7$J$$\e(B field \e$B$r;XDj$9$k!#\e(B
+
+\e$B@55,I=8=$N\e(B list \e$B$K$J$C$F$*$j!"$3$NCM$r85$KJQ?t\e(B 
+@code{mime-viewer/ignored-field-regexp} \e$B$,:n$i$l$k!#\e(B
+
+\e$B$3$NJQ?t$OD>@\A`:n$;$:!"4X?t\e(B @code{tm:add-fields} \e$B$d\e(B 
+@code{tm:delete-fields} \e$B$r;H$C$FA`:n$9$k!#\e(B
+@end defvar
diff --git a/doc/tm-view-cs_ja.texi b/doc/tm-view-cs_ja.texi
new file mode 100644 (file)
index 0000000..8aa39e9
--- /dev/null
@@ -0,0 +1,70 @@
+@c $Id: tm-view-cs_ja.texi,v 1.1 1995/12/11 08:35:59 morioka Exp $
+
+@node content-subject, content-header, MIME display, MIME display
+@comment  node-name,  next,  previous,  up
+@subsubsection content-subject
+@cindex content-subject
+
+content-subject \e$B$O\e(B content \e$B$N@hF,$K$"$C$F!"$=$N\e(B content \e$B$K4X$9$kBg$^$+\e(B
+\e$B$J>pJs$rI=<($9$kItJ,$G$9!#\e(B
+
+\e$BI8=`$G$O\e(B
+
+@example
+        [1.3 test (text/plain)]
+@end example
+
+\e$B$N$h$&$J46$8$KI=<($5$l$^$9!#\e(B
+
+\e$B:G=i$N?t;z$O\e(B message \e$BCf$N$3$N\e(B content \e$B$N0LCV$r@aHV9f$N$h$&$KI=$7$?$b$N\e(B
+\e$B$G!"\e(Bcontent-number \e$B$H8F$S$^$9!#\e(B
+
+\e$B#2HVL\$NJ8;zNs$OI=Bj$rI=$7$^$9!#$3$N>pJs$O!"\e(B
+
+@itemize @bullet
+@item Content-Type field \e$B$N\e(B name paramater \e$B$b$7$/$O\e(B x-name parameter 
+\e$B$K=q$+$l$?\e(B file \e$BL>\e(B
+@item Content-Description field \e$B$b$7$/$O\e(B Subject field \e$B$K=q$+$l$?I=Bj\e(B
+@item uuencode \e$B$N>l9g$N\e(B file \e$BL>\e(B
+@end itemize
+
+\e$B$+$i:n$j$^$9!#$I$l$bB8:_$7$J$$>l9g$O6uGr$,I=<($5$l$^$9!#\e(B
+
+\e$B#3HVL\$N3g8L$NCf$N>pJs$O$=$N\e(B content \e$B$N\e(B content-type/subtype \e$B$rI=$7$^\e(B
+\e$B$9!#Hs\e(B MIME part \e$B$N>l9g!"\e(B@code{nil} \e$B$,I=<($5$l$^$9!#\e(B
+
+\e$B$3$N\e(B content-subject \e$B$O\e(B content-header, content-body \e$B$rI=<($7$J$$>l9g!"\e(B
+icon \e$B$N$h$&$JLr3d$r2L$?$7$^$9!#Nc$($P!"\e(B
+
+@example
+        [2  (image/gif)]
+@end example
+
+\e$B$N>e$G\e(B `v' \e$B$r2!$;$P$3$3$KF~$C$F$$$k3($,I=<($5$l$^$9!#\e(B
+
+
+@defvr{Variable} mime-viewer/content-subject-omitting-Content-Type-list
+
+\e$BI=<($7$J$$\e(B Content-Type \e$B$rMWAG$H$9$k\e(B list. \e$B4X?t\e(B 
+@code{mime-viewer/default-content-subject-function} \e$B$K$h$C$F;2>H$5$l$k!#\e(B
+@end defvr
+
+
+@deffn{Function} mime-viewer/default-content-subject-function rcnum cinfo ctype params subj
+
+\e$BI8=`$N\e(B content-subject \e$BI=<(4X?t!#JQ?t\e(B 
+@code{mime-viewer/content-subject-omitting-Content-Type-list} \e$B$r;2>H$7\e(B
+\e$B$F$$$k!#\e(B
+@end deffn
+
+
+@defvar mime-viewer/content-subject-function rcnum cinfo ctype params subj
+
+content-subject \e$BI=<(4X?t$r@_Dj$9$k$?$a$NJQ?t!#4{DjCM$O4X?t\e(B 
+@code{mime-viewer/default-content-subject-function} \e$B$G$"$k!#\e(B
+
+\e$B$3$NJQ?t$K!"4X?t\e(B @code{mime-viewer/default-content-subject-function} 
+\e$B0J30$N4X?t$r@_Dj$7$?>l9g!"JQ?t\e(B 
+@code{mime-viewer/content-subject-omitting-Content-Type-list} \e$B$NM-8z@-\e(B
+\e$B$OJ]>Z$5$l$J$$$N$GCm0U$9$k$3$H!#\e(B
+@end defvar
diff --git a/doc/tm-view-m_ja.texi b/doc/tm-view-m_ja.texi
new file mode 100644 (file)
index 0000000..cff90dd
--- /dev/null
@@ -0,0 +1,249 @@
+@c $Id: tm-view-m_ja.texi,v 1.1 1995/12/11 08:40:51 morioka Exp $
+
+@node method,  , preview-buffer, Mechanism of tm-view
+@comment  node-name,  next,  previous,  up
+@subsection method
+@cindex method
+
+@code{mime/viewer-mode} \e$B$G$O\e(B user \e$B$O3F\e(B content \e$B$KBP$7$F!"\e(Bplay
+(@key{v}), extract (@key{e}), print (@key{C-c C-p}) \e$B$H$$$&A`:n$r9T$J$&\e(B
+\e$B$3$H$,$G$-$^$9!#$3$&$7$?A`:n$N$3$H$r!X!J\e(Bcontent \e$B$KBP$9$k!K\e(Bdecode \e$BA`:n!Y\e(B
+\e$B$H8F$V$3$H$K$7$^$9!#$^$?!"\e(B@strong{play}, @strong{extract},
+@strong{print} \e$B$H$$$&\e(B decode \e$BA`:n$N<oN`$N$3$H$r\e(B @strong{decoding-mode} 
+\e$B$H8F$V$3$H$K$7$^$9!#\e(B
+
+decode \e$BA`:n$,9T$J$o$l$?;~!"$=$N\e(B content \e$B$N\e(B content-type \e$B$J$I$N>r7o$d$=\e(B
+\e$B$N>l$N4D6-$K1~$8$F<B:]$K$=$NA`:n$r<B9T$9$k<jB3$-$,8F$P$l$^$9!#$3$N<jB3\e(B
+\e$B$-$N$3$H$r\e(B @strong{method} \e$B$H8F$S$^$9!#\e(B
+
+method \e$B$K$O!"\e(BEmacs Lisp \e$B$G=q$+$l$?\e(B @strong{\e$BFbIt\e(B method} \e$B$H!"30It\e(B 
+program \e$B$G<B8=$5$l$?\e(B @strong{\e$B30It\e(B method} \e$B$,$"$j$^$9!#FbIt\e(B method \e$B$O\e(B 
+Emacs \e$B$N5!G=$r;H$C$F$-$a:Y$+$$=hM}$r9T$J$&$3$H$,$G$-$^$9!#30It\e(B method 
+\e$B$OHsF14|%W%m%;%98F$S=P$7$r;H$C$F<B8=$5$l$F$$$k$N$G!"<B9TCfBT$?$5$l$:$K\e(B
+\e$B$9$_$^$9!#$3$N$?$a!"@E;_2h$dF02h$J$I$N5pBg$J\e(B data \e$B$r:F@8$9$k$N$KNI$$$G\e(B
+\e$B$7$g$&!#\e(B
+
+@menu
+* decoding-condition::            content \e$B$N\e(B decode \e$B>r7o$N@_Dj\e(B
+* Format of method value::        method \e$B$NCMIt$N=q<0\e(B
+* Example of decoding-condition:: \e$B@_DjNc\e(B
+@end menu
+
+
+@node decoding-condition, Format of method value, method, method
+@comment  node-name,  next,  previous,  up
+@subsubsection content \e$B$N\e(B decode \e$B>r7o$N@_Dj\e(B
+@cindex content decoding condition
+
+tm-view \e$B$O\e(B decode \e$BA`:n$,9T$J$o$l$k$H!"JQ?t\e(B 
+@code{mime/content-decoding-condition} \e$B$+$i$=$N;~$N>r7o$K9gCW$7$?\e(B 
+method \e$B$rA\$7=P$7$F!"$=$l$r8F$S=P$7$^$9!#\e(B
+
+\e$BJQ?t\e(B @code{mime/content-decoding-condition} \e$B$O\e(B
+
+@lisp
+        (\e$B>r7o\e(B1 \e$B>r7o\e(B2 ...)
+@end lisp
+
+\e$B$H$$$&7A$r$7$?\e(B list \e$B$G!"3F>r7o$O\e(B
+
+@lisp
+        ((field-type_1 . value_1)
+         (field-type_2 . value_2)
+         ...)
+@end lisp
+
+\e$B$H$$$&7A$NO"A[\e(B list \e$B$K$J$C$F$$$^$9!#\e(B
+
+\e$BNc$($P!"\e(Btext/plain \e$B$N;~!"\e(Btm-plain \e$B$r5/F0$9$k;~!"\e(B
+
+@lisp
+        ((type . "text/plain")
+         (method "tm-plain" nil 'file 'type 'encoding 'mode 'name))
+@end lisp
+
+\e$B$H$$$&>r7o$r=q$-$^$9!#$3$N\e(B method \e$B$N\e(B value \e$BIt$N=q<0$K$D$$$F$O8e$G>\$7\e(B
+\e$B$/=R$Y$^$9!#\e(B
+
+\e$B$3$N>r7o$O\e(B content-type \e$B$,\e(B text/plain \e$B$G$"$k\e(B content \e$B$J$iA4$F$N\e(B 
+decoding-mode \e$B$GM-8z$G$9!#$7$+$7!"\e(B
+
+@lisp
+        ((type . "text/plain")
+         (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)
+         (mode . "play"))
+@end lisp
+
+\e$B$J$i!"\e(Bplay mode \e$B$N;~$7$+M-8z$K$J$j$^$;$s!#\e(B
+
+\e$B5U$K!"\e(B
+
+@lisp
+        ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)
+         (mode . "play"))
+@end lisp
+
+\e$B$J$i!"A4$F$N\e(B content-type \e$B$N\e(B play mode \e$B$GM-8z$K$J$j$^$9!#\e(B
+
+\e$B$3$&$7$F3F>r7o$rA0$+$i8+$F9T$-!":G=i$KM-8z$K$J$C$?>r7o$,<B9T$5$l$^$9!#\e(B
+
+
+@node Format of method value, Example of decoding-condition, decoding-condition, method
+@comment  node-name,  next,  previous,  up
+@subsubsection method \e$B$NCMIt$N=q<0\e(B
+@cindex method \e$B$NCMIt$N=q<0\e(B
+
+decode-condition \e$B$N\e(B method field \e$B$O\e(B
+
+@lisp
+        (method . SYMBOL)
+@end lisp
+
+\e$B$+\e(B
+
+@lisp
+        (method  \e$BJ8;zNs\e(B  FLAG  \e$B0z?t\e(B1  \e$B0z?t\e(B2  ...)
+@end lisp
+
+\e$B$H$$$&7A$r$7$F$$$^$9!#\e(B
+
+\e$BA0<T$OFbIt\e(B method \e$B$r;XDj$9$k$?$a$N7A<0$G!"\e(Bdecode \e$BA`:n$,9T$J$o$l$?;~!"\e(B
+SYMBOL \e$B$H$$$&4X?t$,4X?t8F$S=P$7$K$h$C$FFbIt\e(B method \e$B$H$7$F8F$S=P$5$l$^\e(B
+\e$B$9!#\e(B
+
+\e$B8e<T$O30It\e(B method \e$B$r;XDj$9$k$?$a$N7A<0$G!"\e(Bdecode \e$BA`:n$,9T$J$o$l$?;~!"\e(B
+\e$BJ8;zNs$G;XDj$5$l$?30It\e(B program \e$B$,HsF14|%W%m%;%98F$S=P$7$K$h$C$F30It\e(B 
+method \e$B$H$7$F8F$S=P$5$l$^$9!#\e(B
+
+
+\e$B30It\e(B method \e$B$r;XDj$9$k>l9g$N\e(B method field \e$B$N=q<0$O0J2<$NDL$j$G$9!#\e(B
+
+@table @samp
+@item \e$BJ8;zNs\e(B
+        \e$B30It\e(B method \e$B$NL>A0\e(B
+@item FLAG
+        @code{t} \e$B$J$i\e(B content-header \e$B$b30It\e(B method \e$B$KEO$9!#\e(B@code{nil} 
+        \e$B$J$i\e(B content-body \e$B$N$_$rEO$9!#\e(B
+@item \e$B0z?tNs\e(B
+        \e$B30It\e(B method \e$B$N0z?t\e(B
+@end table
+
+\e$B$^$?!"30It\e(B method \e$B$N0z?t$O<!$N$h$&$J7A<0$G=q$-$^$9!#\e(B
+
+@table @samp
+@item \e$BJ8;zNs\e(B
+        \e$B$=$NJ8;zNs$rEO$9\e(B
+@item 'SYMBOL
+        SYMBOL \e$B$r\e(B key \e$B$H$7$?\e(B decoding-condition \e$B$NCM$rEO$9\e(B
+@item '\e$BJ8;zNs\e(B
+        \e$BJ8;zNs$r\e(B key \e$B$H$7$?\e(B decoding-condition \e$B$NCM$rEO$9\e(B
+@end table
+
+'SYMBOL \e$B$G;XDj$G$-$k$b$N$K$O!"\e(B
+
+@table @samp
+@item 'file
+        content \e$B$rEO$9$?$a$N\e(B file \e$BL>\e(B
+@item 'type
+        Content-Type field \e$B$N\e(B content-type/subtype
+@item 'encoding
+        Content-Transfer-Encoding field \e$B$N\e(B field body
+@item 'mode
+        decoding-mode
+@item 'name
+        file \e$B$KMn$9>l9g$N\e(B file \e$BL>\e(B
+@end table
+
+\e$B$J$I$,$"$j!"\e(B'\e$BJ8;zNs\e(B \e$B$G$O\e(B Content-Type field \e$B$N\e(B parameter \e$B$NCM$,;XDj$G\e(B
+\e$B$-$^$9!#\e(B
+
+
+@node Example of decoding-condition,  , Format of method value, method
+@comment  node-name,  next,  previous,  up
+@subsubsection decoding-condition \e$B$NNc\e(B
+@cindex decoding-condition \e$B$NNc\e(B
+
+\e$B0J2<$K\e(B decoding-condition \e$B$N@_DjNc$r<($7$^$9!#\e(B
+
+@lisp
+(defvar mime/content-decoding-condition
+  '(((type . "text/plain")
+     (method "tm-plain" nil 'file 'type 'encoding 'mode 'name))
+    ((type . "text/x-latex")
+     (method "tm-latex" nil 'file 'type 'encoding 'mode 'name))
+    ((type . "audio/basic")
+     (method "tm-au"    nil 'file 'type 'encoding 'mode 'name))
+    ((type . "image/gif")
+     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
+    ((type . "image/jpeg")
+     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
+    ((type . "image/tiff")
+     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
+    ((type . "image/x-tiff")
+     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
+    ((type . "image/x-xbm")
+     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
+    ((type . "image/x-pic")
+     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
+    ((type . "video/mpeg")`
+     (method "tm-mpeg"  nil 'file 'type 'encoding 'mode 'name))
+    ((type . "application/octet-stream")
+     (method "tm-file"  nil 'file 'type 'encoding 'mode 'name))
+    ((type . "message/partial")
+     (method . mime/decode-message/partial-region))
+    ((method "metamail" t
+             "-m" "tm" "-x" "-d" "-z" "-e" 'file)(mode . "play"))
+    ))
+@end lisp
+
+\e$BNc$($P!"!VA4It\e(B metamail \e$B;H$&$s$d!W$H$$$&>l9g!"\e(B
+
+@lisp
+(setq mime/content-decoding-condition
+      '(
+        ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file))
+       ))
+@end lisp
+
+\e$B$H$9$l$P\e(B OK \e$B$G$9!#\e(B
+
+\e$B9)IW$9$l$P!"$+$J$jJ#;($J>r7o$,=q$1$k$G$7$g$&!#\e(B
+
+
+\e$B0J2<$K!"\e(Bdecoding-condition \e$B$r@_Dj$9$k$?$a$NM-MQ$J4X?t$r>R2p$7$^$9!#\e(B
+
+
+@deffn{Function} set-atype symbol alist
+
+@var{symbol} \e$B$K>r7o\e(B @var{alist} \e$B$rDI2C$7$^$9!#\e(B
+
+\e$BNc!'\e(B
+
+@lisp
+(set-atype 'mime/content-decoding-condition
+          '((type . "message/external-body")
+            ("access-type" . "anon-ftp")
+            (method . mime/decode-message/external-ftp)
+            ))
+@end lisp
+@end deffn
+
+
+@node environment variables,  , mime/viewer-mode, tm-view
+@comment  node-name,  next,  previous,  up
+@section \e$B4D6-JQ?t\e(B
+@cindex environment variables
+
+\e$B0J2<$K\e(B tm-view \e$B$NI8=`\e(B method \e$B$,;2>H$9$k4D6-JQ?t$r<($7$^$9!#\e(B
+
+@table @var
+@item TM_TMP_DIR
+\e$B0l;~E*$K:n@.$5$l$k\e(B file \e$B$d\e(B file \e$B=PNO$9$k>l9g$N\e(B default \e$B$N=PNO@h$H$7$F\e(B
+\e$BMQ$$$i$l$k\e(B directory \e$B$r;XDj$9$k!#>JN,$5$l$?>l9g!"\e(B/tmp/ \e$B$,MQ$$$i$l$k!#\e(B
+
+@item VIDEO_DITHER
+mpeg_play \e$B$G$N\e(B dither \e$B$N$+$1J}$r;XDj$9$k!#4{DjCM$O\e(B `gray'.
+
+@item TM_WWW_BROWSER
+WWW browser \e$B$r;XDj$9$k!#4{DjCM$O\e(B `netscape'.
+@end table
diff --git a/doc/tm-view-p_ja.texi b/doc/tm-view-p_ja.texi
new file mode 100644 (file)
index 0000000..5cffc69
--- /dev/null
@@ -0,0 +1,45 @@
+@c $Id: tm-view-p_ja.texi,v 1.1 1995/12/11 08:41:27 morioka Exp $
+
+@node preview-buffer,  method, article-buffer, Mechanism of tm-view
+@comment  node-name,  next,  previous,  up
+@subsection preview-buffer
+
+@defvar mime::preview/mother-buffer
+
+\e$B$3$N\e(B preview-buffer \e$B$N?F$KAjEv$9$k\e(B buffer.
+@end defvar
+
+
+@defvar mime::preview/content-list
+
+\e$B$3$N\e(B preview-buffer \e$B$N9=B$$r$"$i$o$9\e(B preview-content-info \e$B$N\e(B list.
+@end defvar
+
+
+@defvar mime::preview/article-buffer
+
+\e$B$3$N\e(B preview-buffer \e$B$KBP1~$9$k\e(B article-buffer.
+@end defvar
+
+
+@defvar mime::preview/original-major-mode
+
+\e$B$3$N\e(B preview-buffer \e$B$N$b$H$K$J$C$?\e(B buffer \e$B$N\e(B major-mode.
+@end defvar
+
+
+@defvar mime::preview/original-window-configuration
+
+@code{mime/viewer-mode} \e$B$r<B9T$7$F!"$3$N\e(B preview-buffer \e$B:n$kD>A0$N\e(B 
+window-configuration.
+@end defvar
+
+
+@defun mime-preview/point-pcinfo point &optional pcl
+
+preview-content-info @var{pcl} \e$B$G4IM}$5$l$k\e(B preview-buffer \e$BCf$NNN0h$K\e(B
+\e$B$*$$$F!"\e(B@var{point} \e$B$KBP1~$9$k\e(B content \e$B$N\e(B preview-content-info \e$B$rJV$9!#\e(B
+
+@var{cinfo} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime::preview/content-list} \e$B$,MQ\e(B
+\e$B$$$i$l$k!#\e(B
+@end defun
index 4ec8128..e569034 100644 (file)
-\input texinfo.tex
-@c{-*-tm manual-*-}
-@setfilename tm-view_ja.info
-@settitle{tm-view manual}
+@c $Id: tm-view_ja.texi,v 7.5 1995/12/11 08:29:28 morioka Exp $
 
-@titlepage
-@title{tm-view}
-@author{¼é²¬ ÃÎɧ}
-@code{$Id: tm-view_ja.texi,v 7.4 1995/10/18 18:02:04 morioka Exp $}
-@end titlepage
-
-
-@node Top, Abstract, (tm_ja.info), (tm_ja.info)
+@node tm-view, encoded-word, tm-MUA, Top
 @comment  node-name,  next,  previous,  up
-@ifinfo
-@top tm-view 7.16 Reference manual
+@chapter tm-view
+@cindex tm-view
 
-GNU Emacs ¤ÇÆ°ºî¤¹¤ëÈÆÍÑŪ¤Ê MIME viewer kernel ¤Î `tm-view' ¤Ë¤Ä¤¤¤Æ
-ÀâÌÀ¤·¤Þ¤¹¡£
-@end ifinfo
+tm-view ¤Ï GNU Emacs ¤ÇÆ°ºî¤¹¤ëÈÆÍÑŪ¤Ê MIME viewer ¤Ç¤¹¡£
 
-@menu
-* Abstract::              tm-view ³µÀâ
-* How to run::            mime/viewer-mode ¤Îµ¯Æ°¤Î»ÅÊý
-* Commands::              mime/viewer-mode ¤Î command
-* Preview Buffer::        preview buffer ¤Î²èÌ̹½À®
-* Decoding::              content ¤ËÂФ¹¤ëºÆÀ¸¡¢file Ãê½Ð¡¢°õºþÁàºî¤Î
-                          »ÅÁȤß
-* environment variables:: tm-view ¤Îɸ½à method ¤ÇÍѤ¤¤é¤ì¤ë´Ä¶­ÊÑ¿ô
-* encoded-word::          encoded-word ¤Î decode
-
-Preview buffer
-* Preview Buffer:: preview buffer ¤Î²èÌ̹½À®
-* content-subject::
-* content-header::
-* content-body::
-* content-separator::
+tm-view ¤Ï @code{mime/viewer-mode} ¤È¤¤¤¦ MIME message ¤ò¸«¤ë¤¿¤á¤Î 
+major-mode ¤ò MUA ¤ËÂФ·¤ÆÄ󶡤·¤Þ¤¹¡£MUA ¤ÎÀ߷׼ԤϤ³¤Î mode ¤òÍøÍѤ¹
+¤ë¤³¤È¤Ç¤½¤Î MUA ¤Ë MIME µ¡Ç½¤òÉղ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£
 
-Decoding
-* Decoding:: content ¤ËÂФ¹¤ëºÆÀ¸¡¢file Ãê½Ð¡¢°õºþÁàºî¤Î»ÅÁȤß
-* decoding-condition:: content ¤Î decode ¾ò·ï¤ÎÀßÄê
-* Format of method value:: method ¤ÎÃÍÉô¤Î½ñ¼°
-* Example of decoding-condition:: ÀßÄêÎã
+tm-view ¤Ï MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î user interface ¤Î³Ë¤Ç¤¢¤ê¡¢¤½
+¤Î¾å¤Ç³Æ content-type/sub-type ¤ò°·¤¦¤¿¤á¤Î @strong{method} ¤È¸Æ¤Ð¤ì¤ë
+¥×¥í¥°¥é¥à¤òÆ°ºî¤µ¤»¤Þ¤¹¡£¤Þ¤¿¡¢MIME message ¤Îɽ¼¨¤Î»ÅÊý¤ò·è¤á¤ë 
+@strong{filter} ¤È¸Æ¤Ð¤ì¤ë¥×¥í¥°¥é¥à¤òµ¯Æ°»þ¤Ë¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
+@strong{method} ¤È @strong{filter} ¤ò tm-view ¤ËÁȤ߹þ¤à»ö¤Ë¤è¤Ã¤Æ¡¢
+@code{mime/viewer-mode} ¤Ç¤µ¤Þ¤¶¤Þ¤Ê MIME type ¤ò°·¤¦»ö¤¬¤Ç¤­¤Þ¤¹¡£
 
-Indexes
-* Concept Index::
-* Command Index::
-* Variable Index::
+@menu
+* Mechanism of tm-view:: tm-view ¤Î»ÅÁȤß
+* mime/viewer-mode::     mime/viewer-mode
 @end menu
 
 
-@node Abstract, How to run, Top, Top
+@node Mechanism of tm-view, Functions of tm-view, tm-view, tm-view
 @comment  node-name,  next,  previous,  up
-@chapter tm-view ¤È¤Ï
-@cindex tm-view
+@section tm-view ¤Î»ÅÁȤß
 
-tm-view ¤Ï GNU Emacs ¤ÇÆ°ºî¤¹¤ëÈÆÍÑŪ¤Ê MIME viewer ¤Ç¤¹¡£
+tm-view ¤Ï¡¢MIME ½èÍý¤ò¹Ô¤Ê¤¦Á°¤ÎÀ¸¤Î message ¤¬Æþ¤Ã¤Æ¤¤¤ë 
+@strong{article-buffer} ¤È¤½¤ÎÆâÍƤò user ¤Ë´Ê·é¤Ëɽ¼¨¤·¡¢user ¤¬Áàºî
+¤¹¤ë¤¿¤á¤Î @strong{preview-buffer} ¤È¤¤¤¦£²¤Ä¤Î buffer ¤ò´ÉÍý¤·¤Þ¤¹¡£
+article-buffer ¤Î major-mode ¤Ï¤â¤È¤â¤È¤Î MUA ¤Î article É½¼¨ÍѤΠ
+major-mode ¤Ç¤¢¤ê¡¢preview-buffer ¤Î major-mode ¤Ï mime/viewer-mode ¤È
+¤Ê¤ê¤Þ¤¹¡£
 
-tm-view ¤Ï @code{mime/viewer-mode} ¤È¤¤¤¦ MIME message ¤ò¸«¤ë¤¿¤á¤Î 
-major-mode ¤ò MUA ¤ËÂФ·¤ÆÄ󶡤·¤Þ¤¹¡£MUA ¤ÎÀ߷׼ԤϤ³¤Î mode ¤òÍøÍѤ¹
-¤ë¤³¤È¤Ç¤½¤Î MUA ¤Ë MIME µ¡Ç½¤òÉղ乤뤳¤È¤¬¤Ç¤­¤Þ¤¹¡£
+@code{mime/viewer-mode} ¤ò¼Â¹Ô¤¹¤ë¤È¡¢tm-view ¤Ï¤Þ¤º article-buffer ¤Î
+ÆâÍƤò²òÀϤ·¡¢¤½¤Î message ¤Î¹½Â¤¤ò article-buffer ¤Î buffer local ÊÑ
+¿ô @code{mime::article/content-info} ¤Ëµ­Ï¿¤·¤Þ¤¹¡£
 
-tm-view ¤Ï¡¢MIME ½èÍý¤ò¹Ô¤Ê¤¦Á°¤ÎÀ¸¤Î message ¤¬Æþ¤Ã¤Æ¤¤¤ë³Æ MUA ¤Î 
-@strong{article buffer} ¤È¤½¤ÎÆâÍƤò user ¤Ë´Ê·é¤Ëɽ¼¨¤¹¤ë¤¿¤á¤Î 
-@strong{preview buffer} ¤È¤¤¤¦£²¤Ä¤Î buffer ¤ò´ÉÍý¤·¤Þ¤¹¡£
+¼¡¤Ë¡¢¤³¤Î·ë²Ì¤ò¸µ¤Ë article-buffer ¤ËÂбþ¤¹¤ë preview-buffer ¤òºî¤ê¤Þ
+¤¹¡£¤³¤ÎºÝ¡¢content-type ¤Ë±þ¤¸¤Æ¡¢content Ã±°Ì¤Ç header ¤ä body ¤ò²Ã
+¹©¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î header ¤ò²Ã¹©¤¹¤ë¥×¥í¥°¥é¥à¤ò 
+@strong{header-filter}, body ¤ò²Ã¹©¤¹¤ë¥×¥í¥°¥é¥à¤ò 
+@strong{content-filter} ¤È¸Æ¤Ó¡¢¤³¤ì¤é¤òÁí¾Î¤·¤Æ @strong{filter} ¤È¸Æ
+¤Ó¤Þ¤¹¡£
+
+preview-buffer ¤òºîÀ®¤¹¤ë»þ¤Ë¡¢message ¤Îɽ¼¨¾å¤Î¹½Â¤¤òµ­Ï¿¤·¤¿ 
+preview-buffer ¤Î buffer local ÊÑ¿ô @code{mime::preview/content-list} 
+¤¬ºî¤é¤ì¤Þ¤¹¡£tm-view ¤Ï article-buffer ¾å¤Î 
+@code{mime::article/content-info} ¤È preview-buffer ¾å¤Î 
+@code{mime::preview/content-list} ¤òÍѤ¤¤Æ message ¤ò´ÉÍý¤·¤Þ¤¹¡£
 
-@code{mime/viewer-mode} ¤ò¼Â¹Ô¤¹¤ë¤È¡¢tm-view ¤Ï¤Þ¤º article buffer ¤Î
-ÆâÍƤò²òÀϤ·¡¢¤½¤Î message ¤Î¹½Â¤¤ò article buffer ¤Î buffer local ÊÑ
-¿ô @code{mime::article/content-info} ¤Ëµ­Ï¿¤·¤Þ¤¹¡£
 
-¼¡¤Ë¡¢¤³¤Î·ë²Ì¤ò¸µ¤Ë article buffer ¤ËÂбþ¤¹¤ë preview buffer ¤òºî¤ê¤Þ
-¤¹¡£¤³¤ÎºÝ¡¢Content-Type ¤Ë±þ¤¸¤Æ¡¢content Ã±°Ì¤Ç header ¤ä body ¤ò²Ã
-¹©¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+Ãí°Õ¡§ ¤³¤ÎÀâÌÀ½ñ¤Ç¤Ï¡¢Content-Type field ¤Î content-type/subtype ¤Î¤³
+¤È¤ò¾Î¤·¤Æ @strong{content-type} ¤È¸Æ¤Ó¤Þ¤¹¡£
 
-@code{mime/viewer-mode} ¤ò¼Â¹Ô¤·¤¿·ë²Ì¤Ç¤­¤ë preview buffer ¾å¤Ç user 
-¤Ï¡¢³°Éô vewer ¤Îµ¯Æ°¡¦file Ãê½Ð¡¦°õºþ¤È¤¤¤Ã¤¿ decode Áàºî¤ò¹Ô¤Ê¤¦¤³¤È
-¤¬¤Ç¤­¤Þ¤¹¡£
 
+@menu
+* Functions of tm-view:: tm-view ¤Î´Ø¿ô
+* article-buffer::       article-buffer
+* preview-buffer::       preview-buffer
+* method::               decoding Áàºî¤Î¼Â¸½
+@end menu
 
-@section ¡ÎÃí°Õ¡Ï
 
-¤³¤ÎÀâÌÀ½ñ¤Ç¤Ï¡¢Content-Type field ¤Î content-type/subtype ¤Î¤³¤È¤ò¾Î
-¤·¤Æ @strong{content-type} ¤È¸Æ¤Ó¤Þ¤¹¡£
+@node Functions of tm-view, function to preview, Mechanism of tm-view, Mechanism of tm-view
+@comment  node-name,  next,  previous,  up
+@subsection MIME message ¤Î decode ¤Ë´Ø¤¹¤ë´Ø¿ô
+
+tm-view ¤ÎÄ󶡤¹¤ë´Ø¿ô¤ò³Æ MUA ¤ËÁȤ߹þ¤à»ö¤Ë¤è¤Ã¤Æ¡¢³Æ MUA ¤Ë MIME ºÆ
+À¸µ¡Ç½¤òÉղ乤ë»ö¤¬¤Ç¤­¤Þ¤¹¡£
 
+tm-view ¤¬³Æ MUA ¤ËÄ󶡤¹¤ë´Ø¿ô¤Ï¡¢MIME preview ¤ò¹Ô¤¦¤¿¤á¤Î´Ø¿ô 
+@code{mime/viewer-mode} ¤È RFC 1522 encoded-word ¤ò decode ¤¹¤ë¤¿¤á¤Î
+´Ø¿ô·²¤Ç¤¹¡£
 
-@node How to run, Commands, Abstract, Top
+Memo: µì tiny-mime.el ¤Ë¤¢¤Ã¤¿ RFC 1522 encoded-word ¤ò decode ¤¹¤ë¤¿
+¤á¤Î´Ø¿ô·²¤Ï tm-view ¤Ë°ú¤­·Ñ¤¬¤ì¤Þ¤·¤¿¡£
+
+
+@menu
+* function to preview:: MIME message ¤ò preview ¤¹¤ë¤¿¤á¤Î´Ø¿ô
+* encoded-word decoding:: encoded-word ¤ò decode ¤¹¤ë¤¿¤á¤Î´Ø¿ô
+@end menu
+
+
+@node function to preview, encoded-word decoding, Functions of tm-view, Functions of tm-view
 @comment  node-name,  next,  previous,  up
-@chapter mime/viewer-mode ¤Îµ¯Æ°¤Î»ÅÊý
+@subsubsection MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î´Ø¿ô
 @cindex mime/viewer-mode
 
 @deffn{Command} mime/viewer-mode &optional mother ctl encoding
 
 current-buffer ¤ò MIME message ¤È¤·¤Æ²òÀϤ·¤Æ¡¢¤½¤ÎÆâÍƤò±ÜÍ÷¤¹¤ë¤¿¤á
-¤Î preview buffer ¤òºîÀ®¤·¡¢@code{mime/viewer-mode} ¤ËÆþ¤ê¤Þ¤¹¡£
+¤Î preview-buffer ¤òºîÀ®¤·¡¢@code{mime/viewer-mode} ¤ËÆþ¤ê¤Þ¤¹¡£
 
-@var{mother} ¤Ï¡¢²òÀϤÎÂоݤȤ¹¤ë article buffer ¤¬ message/partial ·Á
+@var{mother} ¤Ï¡¢²òÀϤÎÂоݤȤ¹¤ë article-buffer ¤¬ message/partial ·Á
 ¼°¤Îʬ³ä¤µ¤ì¤¿ message ¤ò·ë¹ç¤·¤ÆºîÀ®¤·¤¿¾ì¹ç¤Ê¤É¤Ë¤ª¤±¤ë¸µ¤Î buffer 
 ¤ò»ØÄꤹ¤ë¤¿¤á¤Ë»È¤¤¤Þ¤¹¡£
 
 @var{ctl} ¤Ï Content-Type field ¤Î field-body ¤ò 
 @code{mime/Content-Type} ¤Î½ÐÎÏÀµ¼°¤Ë¤·¤¿¤â¤Î¤òÆþ¤ì¤Þ¤¹¡£¤³¤Î°ú¿ô¤¬¤¢
-¤ë¾ì¹ç¡¢article buffer ¤Î Content-Type field ¤è¤ê¤â¤³¤Î°ú¿ô¤òÍ¥À褷¤Þ
+¤ë¾ì¹ç¡¢article-buffer ¤Î Content-Type field ¤è¤ê¤â¤³¤Î°ú¿ô¤òÍ¥À褷¤Þ
 ¤¹¡£
 
 @var{encoding} ¤Ï Content-Transfer-Encoding field ¤Î field-body ¤òÆþ¤ì
-¤Þ¤¹¡£¤³¤Î°ú¿ô¤¬¤¢¤ë¾ì¹ç¡¢article buffer ¤Î Content-Transfer-Encoding
+¤Þ¤¹¡£¤³¤Î°ú¿ô¤¬¤¢¤ë¾ì¹ç¡¢article-buffer ¤Î Content-Transfer-Encoding
 field ¤è¤ê¤â¤³¤Î°ú¿ô¤òÍ¥À褷¤Þ¤¹¡£
 @end deffn
 
 
-@node Commands, Preview Buffer, How to run, Top
-@comment  node-name,  next,  previous,  up
-@chapter mime/viewer-mode ¤Î command
-@cindex command
+@include{tm-ew-d_ja.texi}
 
-mime/viewer-mode ¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£
 
-@table @kbd 
-@item u
-        ¾å¤Î content ¤ËÌá¤ë¡Êmessage ¤Î°ìÈÖ¾å¤Î content ¤Ç¤³¤ì¤ò¹Ô¤Ê¤¦
-        ¤È Summary mode ¤ËÌá¤ë (*1)¡Ë
-@item p
-        Á°¤Î content ¤Ë°ÜÆ°¤¹¤ë
-@item n
-        ¼¡¤Î content ¤Ë°ÜÆ°¤¹¤ë
-@item @key{SPC}
-        scroll up ¤¹¤ë
-@item @key{M-SPC}
-        scroll down ¤¹¤ë
-@item @key{DEL}
-        scroll down ¤¹¤ë
-@item @key{RET}
-        ¼¡¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë
-@item @key{M-RET}
-        Á°¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë
-@item v
-        content ¤òºÆÀ¸¤¹¤ë           (*2)
-@item e
-        content ¤«¤é file ¤ò¼è¤ê½Ð¤¹ (*2)
-@item C-c C-p
-        content ¤ò°õºþ¤¹¤ë           (*2)
-@end table
+@include{tm-view-a_ja.texi}
 
-@noindent @b{¡ÎÃí°Õ¡Ï}
-@enumerate
-@item
-tm-MUA ¤Ç tm-view ¤ÎÀßÄê¤ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Summary mode ¤Ë¤ÏÌá¤ê¤Þ¤»¤ó¡£ 
+@include{tm-view-p_ja.texi}
 
-@item
-¼ÂºÝ¤ÎÆ°ºî¤ÏÂбþ¤¹¤ë method ¤Ë°Í¤ê¤Þ¤¹¡£
-@end enumerate
+@include{tm-view-m_ja.texi}
 
 
-@node Preview Buffer, Decoding, Commands, Top
+
+@node mime/viewer-mode, environment variables, Functions of tm-view, tm-view
 @comment  node-name,  next,  previous,  up
-@chapter preview buffer ¤Î²èÌ̹½À®
-@cindex preview buffer
+@section mime/viewer-mode
+@cindex mime/viewer-mode
 
-preview buffer ¤Ç¤Ï³Æ content ¤ËÂФ·¤Æ
+@code{mime/viewer-mode} ¤Ï MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î major-mode ¤Ç
+¤¹¡£MIME viewer mode ¤Ç¤ÏÂÐÏÃŪ¤Ë MIME message ¤òÁàºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ
+¤¹¡£
+
+@menu
+* MIME display::    mime/viewer-mode ¤Î²èÌ̹½À®
+* MIME navigation:: mime/viewer-mode ¤Ç¤ÎÁàºî
+@end menu
+
+
+@node MIME display, content-body, mime/viewer-mode, mime/viewer-mode
+@comment  node-name,  next,  previous,  up
+@subsection mime/viewer-mode ¤Î²èÌ̹½À®
+
+mime/viewer-mode ¤Ç¤Ï³Æ content ¤ËÂФ·¤Æ
 
 @example
        [content-subject]
@@ -169,7 +154,7 @@ preview buffer 
 ¤È¤¤¤¦¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£¤³¤ì¤é¤Ï content-type Ëè¤Ë design ¤òÊѹ¹¤·¤¿¤ê¡¢
 É½¼¨¤òÍÞÀ©¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
 
-°Ê²¼¤Ë¡¢preview buffer ¤Îɽ¼¨Îã¤ò¼¨¤·¤Þ¤¹¡£
+°Ê²¼¤Ë¡¢É½¼¨Îã¤ò¼¨¤·¤Þ¤¹¡£
 
 
 @example
@@ -208,188 +193,14 @@ MORIOKA, Tomohiko <morioka@@jaist.ac.jp>
 * content-separator::
 @end menu
 
+@include{tm-view-cs_ja.texi}
+@include{tm-view-ch_ja.texi}
+@include{tm-view-cb_ja.texi}
 
-@node content-subject, content-header, Preview Buffer, Preview Buffer
-@comment  node-name,  next,  previous,  up
-@section content-subject
-@cindex content-subject
-
-content-subject ¤Ï content ¤ÎÀèƬ¤Ë¤¢¤Ã¤Æ¡¢¤½¤Î content ¤Ë´Ø¤¹¤ëÂç¤Þ¤«
-¤Ê¾ðÊó¤òɽ¼¨¤¹¤ëÉôʬ¤Ç¤¹¡£
-
-ɸ½à¤Ç¤Ï
-
-@example
-        [1.3 test (text/plain)]
-@end example
-
-¤Î¤è¤¦¤Ê´¶¤¸¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
-
-ºÇ½é¤Î¿ô»ú¤Ï message Ãæ¤Î¤³¤Î content ¤Î°ÌÃÖ¤òÀáÈÖ¹æ¤Î¤è¤¦¤Ëɽ¤·¤¿¤â¤Î
-¤Ç¡¢content-number ¤È¸Æ¤Ó¤Þ¤¹¡£
-
-£²ÈÖÌܤÎʸ»úÎó¤ÏɽÂê¤òɽ¤·¤Þ¤¹¡£¤³¤Î¾ðÊó¤Ï¡¢
-
-@itemize @bullet
-@item Content-Type field ¤Î name paramater ¤â¤·¤¯¤Ï x-name parameter 
-¤Ë½ñ¤«¤ì¤¿ file Ì¾
-@item Content-Description field ¤â¤·¤¯¤Ï Subject field ¤Ë½ñ¤«¤ì¤¿É½Âê
-@item uuencode ¤Î¾ì¹ç¤Î file Ì¾
-@end itemize
-
-¤«¤éºî¤ê¤Þ¤¹¡£¤É¤ì¤â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¶õÇò¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-
-£³ÈÖÌܤγç¸Ì¤ÎÃæ¤Î¾ðÊó¤Ï¤½¤Î content ¤Î content-type/subtype ¤òɽ¤·¤Þ
-¤¹¡£Èó MIME part ¤Î¾ì¹ç¡¢@code{nil} ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-
-¤³¤Î content-subject ¤Ï content-header, content-body ¤òɽ¼¨¤·¤Ê¤¤¾ì¹ç¡¢
-icon ¤Î¤è¤¦¤ÊÌò³ä¤ò²Ì¤¿¤·¤Þ¤¹¡£Î㤨¤Ð¡¢
-
-@example
-        [2  (image/gif)]
-@end example
-
-¤Î¾å¤Ç `v' ¤ò²¡¤»¤Ð¤³¤³¤ËÆþ¤Ã¤Æ¤¤¤ë³¨¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-
-
-@defvr{Variable} mime-viewer/content-subject-omitting-Content-Type-list
-
-ɽ¼¨¤·¤Ê¤¤ Content-Type ¤òÍ×ÁǤȤ¹¤ë list. ´Ø¿ô 
-@code{mime-viewer/default-content-subject-function} ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë¡£
-@end defvr
 
-
-@deffn{Function} mime-viewer/default-content-subject-function cnum cinfo ctype params subj
-
-ɸ½à¤Î content-subject É½¼¨´Ø¿ô¡£ÊÑ¿ô 
-@code{mime-viewer/content-subject-omitting-Content-Type-list} ¤ò»²¾È¤·
-¤Æ¤¤¤ë¡£
-@end deffn
-
-
-@defvar mime-viewer/content-subject-function cnum cinfo ctype params subj
-
-content-subject É½¼¨´Ø¿ô¤òÀßÄꤹ¤ë¤¿¤á¤ÎÊÑ¿ô¡£´ûÄêÃͤϴؿô 
-@code{mime-viewer/default-content-subject-function} ¤Ç¤¢¤ë¡£
-
-¤³¤ÎÊÑ¿ô¤Ë¡¢´Ø¿ô @code{mime-viewer/default-content-subject-function} 
-°Ê³°¤Î´Ø¿ô¤òÀßÄꤷ¤¿¾ì¹ç¡¢ÊÑ¿ô 
-@code{mime-viewer/content-subject-omitting-Content-Type-list} ¤ÎÍ­¸úÀ­
-¤ÏÊݾڤµ¤ì¤Ê¤¤¤Î¤ÇÃí°Õ¤¹¤ë¤³¤È¡£
-@end defvar
-
-
-@node content-header, content-body, content-subject, Preview Buffer
+@node content-separator,  , content-body, MIME display
 @comment  node-name,  next,  previous,  up
-@section content-header
-@cindex content-header
-
-¤¢¤ë content ¤Î content-number ¤ò´Ø¿ô 
-@code{mime-viewer/header-visible-p} ¤ËÆþÎϤ·¤Æ¤½¤ÎÊÖ¤êÃͤ¬ @code{t} ¤Ë
-¤Ê¤ë¾ì¹ç¡¢¤½¤Î content ¤Î content-header ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ÎȽÄê´Ø¿ô
-¤Ï¡¢°ìÈÖ¾å¤Î content ¤Ç¤Ê¤¯¡¢¤½¤Î content ¤Î¿Æ¤Î content-type ¤¬ÊÑ¿ô 
-@code{mime-viewer/childrens-header-showing-Content-Type-list} ¤Ç»ØÄꤵ
-¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë @code{t} ¤òÊÖ¤·¤Þ¤¹¡£
-
-¤³¤Î¾ò·ï¤òÊѤ¨¤¿¤¤¾ì¹ç¤Ï¡¢¤³¤Î´Ø¿ô¤òºÆÄêµÁ¤·¤Æ²¼¤µ¤¤¡£Ã¢¤·¡¢É¸½à¤Ç¤Ï¡¢
-ÊÑ¿ô @code{mime-viewer/childrens-header-showing-Content-Type-list} ¤ò
-»²¾È¤·¤Þ¤¹¤¬¡¢ºÆÄêµÁ¤·¤¿¾ì¹ç¡¢¤³¤ÎÊÑ¿ô¤ÎÍ­¸úÀ­¤ÏÊݾڤµ¤ì¤Ê¤¤¤Î¤ÇÃí°Õ¤·
-¤Æ²¼¤µ¤¤¡£
-
-content-header ¤¬É½¼¨¤µ¤ì¤ë¾ì¹ç¡¢content-header ¤Ï 
-content-header-filter ¤Ë¤è¤Ã¤ÆÀ°·Á¤µ¤ì¤Þ¤¹¡£¸Æ¤Ð¤ì¤ë 
-content-header-filter ¤Ï article buffer ¤Î major-mode ¤ò key ¤È¤·¤ÆÊÑ
-¿ô @code{mime-viewer/content-header-filter-alist} ¤«¤éõ¤µ¤ì¤Þ¤¹¡£¤â¤·¡¢
-content-header-filter ¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¡¢´Ø¿ô 
-@code{mime-viewer/default-content-header-filter} ¤¬¸Æ¤Ð¤ì¤Þ¤¹¡£
-
-
-@defvar mime-viewer/childrens-header-showing-Content-Type-list
-
-¤¢¤ë content ¤Î»Ò¤ËÅö¤¿¤ë content ¤Î content-header ¤òɽ¼¨¤¹¤Ù¤­ 
-Content-Type ¤ò¼ý¤á¤¿ list. ´ûÄêÃͤϠ"message/rfc822" ¤Ç¤¢¤ë¡£
-
-¤³¤ÎÊÑ¿ô¤Ï´Ø¿ô @code{mime-viewer/header-visible-p} ¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¤ë¡£
-@end defvar
-
-
-@deffn{Function} mime-viewer/header-visible-p cnum cinfo &optional ctype
-
-content-info @var{cinfo} Ãæ¤Î content-number ¤¬ @var{cnum} ¤Ç¤¢¤ë 
-content ¤Î header ¤¬É½¼¨¤µ¤ì¤ë¾ì¹ç¡¢t ¤òÊÖ¤¹¡£¤½¤Î content ¤Î 
-content-type ¤¬¤¢¤é¤«¤¸¤á¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢@var{ctype} ¤Ë°ú¿ô¤È¤·¤ÆÅÏ
-¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
-@end deffn
-
-
-@defvar mime-viewer/content-header-filter-alist
-
-article buffer ¤Î major-mode ¤ò key ¤È¤·¤¿Ï¢Áۥꥹ¥È¤Ç¡¢ÃÍÉô¤Ë¤Ï 
-content-header-filter ¤¬Æþ¤Ã¤Æ¤¤¤ë¡£
-@end defvar
-
-
-@deffn{Function} mime-viewer/default-content-header-filter
-
-¤¢¤ë content ¤Î content-header ¤òɽ¼¨¤¹¤Ù¤­»þ¡¢ÊÑ¿ô 
-@code{mime-viewer/content-header-filter-alist} ¤ÎÃæ¤Ë 
-content-header-filter ¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-@end deffn
-
-
-@node content-body, content-separator, content-header, Preview Buffer
-@comment  node-name,  next,  previous,  up
-@section content-body
-@cindex content-body
-
-¤¢¤ë content ¤Î content-body ¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«¤Ï¡¢´Ø¿ô 
-@code{mime-viewer/body-visible-p} ¤¬ @code{t} ¤Ë¤Ê¤ë¤«¤É¤¦¤«¤Ç·è¤Þ¤ê¤Þ
-¤¹¡£É¸½à¤Ç¤Ï¡¢¤¢¤ë content ¤Î content-type ¤¬ÊÑ¿ô 
-@code{mime-viewer/default-showing-Content-Type-list} ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë
-»þ¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
-
-¤¢¤ë content ¤Î content-body ¤¬É½¼¨¤µ¤ì¤ë»þ¡¢preview buffer ¤Ë¤Ï 
-content-body ¤ò content-filter ¤Ë¤è¤Ã¤ÆÀ°·Á¤µ¤ì¤¿¤â¤Î¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
-¸Æ¤Ð¤ì¤ë content-filter ¤Ï article buffer ¤Î major-mode ¤ò key ¤È¤·¤Æ
-ÊÑ¿ô @code{mime-viewer/content-filter-alist} ¤«¤éõ¤µ¤ì¤Þ¤¹¡£¤â¤·¡¢¤³
-¤ÎÊÑ¿ô¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢´Ø¿ô 
-@code{mime-viewer/default-content-filter} ¤¬¸Æ¤Ð¤ì¤Þ¤¹¡£
-
-
-@defvar mime-viewer/default-showing-Content-Type-list
-
-ɽ¼¨¤¹¤Ù¤­ content-type ¤òÍ×ÁǤȤ¹¤ë list.
-@end defvar
-
-
-@deffn{Function} mime-viewer/body-visible-p cnum cinfo &optional ctype
-
-content-number ¤¬ @var{cnum} ¤Ç¤¢¤ë content ¤¬É½¼¨¤µ¤ì¤ë¾ì¹ç¡¢@code{t} 
-¤òÊÖ¤¹¡£¤½¤Î content ¤Î content-type ¤¬¤¢¤é¤«¤¸¤á¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
-@var{ctype} ¤Ë°ú¿ô¤È¤·¤ÆÅϤ¹¤³¤È¤¬¤Ç¤­¤ë¡£
-@end deffn
-
-
-@defvar mime-viewer/content-filter-alist
-
-article buffer ¤Î major-mode ¤ò key ¤È¤·¤¿Ï¢Áۥꥹ¥È¤Ç¡¢ÃÍÉô¤Ë¤Ï 
-content-filter ¤¬Æþ¤Ã¤Æ¤¤¤ë¡£
-@end defvar
-
-
-@deffn{Function} mime-viewer/default-content-filter cnum cinfo ctype params subj
-
-¤¢¤ë content ¤Î content-body ¤òɽ¼¨¤¹¤Ù¤­»þ¡¢ÊÑ¿ô 
-@code{mime-viewer/content-filter-alist} ¤ÎÃæ¤Ë content-filter ¤¬¸«¤Ä¤«
-¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-
-ɸ½à¤Ç¤Ï²¿¤â¤·¤Ê¤¤¡£
-@end deffn
-
-
-@node content-separator,  , content-body, Preview Buffer
-@comment  node-name,  next,  previous,  up
-@section content-separator
+@subsubsection content-separator
 @cindex content-separator
 
 content-separator ¤Ï content ¤Î°ìÈֺǸå¤Ë content ´Ö¤Î¶­ÌܤòÌÀ¤é¤«¤Ë¤¹
@@ -402,7 +213,7 @@ content-separator 
 content-separator ¤ÎÀßÄê¤òÊѹ¹¤·¤¿¤¤¾ì¹ç¤Ï¡¢¤³¤Î´Ø¿ô¤òºÆÄêµÁ¤·¤Æ²¼¤µ¤¤¡£
 
 
-@deffn{Function} mime-viewer/default-content-separator cnum cinfo ctype params subj
+@deffn{Function} mime-viewer/default-content-separator rcnum cinfo ctype params subj
 
 content-number ¤¬ @var{cnum} ¤Ç¤¢¤ë content ¤Î content-separator ¤òɽ
 ¼¨¤¹¤ë¡£É¸½à¤Ç¤Ï¡¢content-header ¤â content-body ¤âɽ¼¨¤µ¤ì¤Ê¤¤¾ì¹ç¤Î
@@ -410,304 +221,57 @@ content-number 
 @end deffn
 
 
-@node Decoding, environment variables, Preview Buffer, Top
-@comment  node-name,  next,  previous,  up
-@chapter Decoding
-@cindex Decoding
-
-@code{mime/viewer-mode} ¤Ç¤Ï user ¤Ï³Æ content ¤ËÂФ·¤Æ¡¢play
-(@key{v}), extract (@key{e}), print (@key{C-c C-p}) ¤È¤¤¤¦Áàºî¤ò¹Ô¤Ê¤¦
-¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤¦¤·¤¿Áàºî¤Î¤³¤È¤ò¡Ø¡Êcontent ¤ËÂФ¹¤ë¡Ëdecode Áàºî¡Ù
-¤È¸Æ¤Ö¤³¤È¤Ë¤·¤Þ¤¹¡£¤Þ¤¿¡¢@strong{play}, @strong{extract},
-@strong{print} ¤È¤¤¤¦ decode Áàºî¤Î¼ïÎà¤Î¤³¤È¤ò @strong{decoding-mode} 
-¤È¸Æ¤Ö¤³¤È¤Ë¤·¤Þ¤¹¡£
-
-decode Áàºî¤¬¹Ô¤Ê¤ï¤ì¤¿»þ¡¢¤½¤Î content ¤Î content-type ¤Ê¤É¤Î¾ò·ï¤ä¤½
-¤Î¾ì¤Î´Ä¶­¤Ë±þ¤¸¤Æ¼ÂºÝ¤Ë¤½¤ÎÁàºî¤ò¼Â¹Ô¤¹¤ë¼ê³¤­¤¬¸Æ¤Ð¤ì¤Þ¤¹¡£¤³¤Î¼ê³
-¤­¤Î¤³¤È¤ò @strong{method} ¤È¸Æ¤Ó¤Þ¤¹¡£
-
-method ¤Ë¤Ï¡¢Emacs Lisp ¤Ç½ñ¤«¤ì¤¿ @strong{ÆâÉô method} ¤È¡¢³°Éô 
-program ¤Ç¼Â¸½¤µ¤ì¤¿ @strong{³°Éô method} ¤¬¤¢¤ê¤Þ¤¹¡£ÆâÉô method ¤Ï 
-Emacs ¤Îµ¡Ç½¤ò»È¤Ã¤Æ¤­¤áºÙ¤«¤¤½èÍý¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³°Éô method 
-¤ÏÈóƱ´ü¥×¥í¥»¥¹¸Æ¤Ó½Ð¤·¤ò»È¤Ã¤Æ¼Â¸½¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¼Â¹ÔÃæÂÔ¤¿¤µ¤ì¤º¤Ë
-¤¹¤ß¤Þ¤¹¡£¤³¤Î¤¿¤á¡¢ÀŻ߲è¤äÆ°²è¤Ê¤É¤ÎµðÂç¤Ê data ¤òºÆÀ¸¤¹¤ë¤Î¤ËÎɤ¤¤Ç
-¤·¤ç¤¦¡£
-
-@menu
-* decoding-condition::            content ¤Î decode ¾ò·ï¤ÎÀßÄê
-* Format of method value::        method ¤ÎÃÍÉô¤Î½ñ¼°
-* Example of decoding-condition:: ÀßÄêÎã
-@end menu
-
-
-@node decoding-condition, Format of method value, Decoding, Decoding
+@node MIME navigation, method, content-body, mime/viewer-mode
 @comment  node-name,  next,  previous,  up
-@section content ¤Î decode ¾ò·ï¤ÎÀßÄê
-@cindex content decoding condition
-
-tm-view ¤Ï decode Áàºî¤¬¹Ô¤Ê¤ï¤ì¤ë¤È¡¢ÊÑ¿ô 
-@code{mime/content-decoding-condition} ¤«¤é¤½¤Î»þ¤Î¾ò·ï¤Ë¹çÃפ·¤¿ 
-method ¤òÁܤ·½Ð¤·¤Æ¡¢¤½¤ì¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£
-
-ÊÑ¿ô @code{mime/content-decoding-condition} ¤Ï
-
-@lisp
-        (¾ò·ï1 ¾ò·ï2 ...)
-@end lisp
-
-¤È¤¤¤¦·Á¤ò¤·¤¿ list ¤Ç¡¢³Æ¾ò·ï¤Ï
-
-@lisp
-        ((field-type_1 . value_1)
-         (field-type_2 . value_2)
-         ...)
-@end lisp
-
-¤È¤¤¤¦·Á¤ÎÏ¢ÁÛ list ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
-
-Î㤨¤Ð¡¢text/plain ¤Î»þ¡¢tm-plain ¤òµ¯Æ°¤¹¤ë»þ¡¢
-
-@lisp
-        ((type . "text/plain")
-         (method "tm-plain" nil 'file 'type 'encoding 'mode 'name))
-@end lisp
-
-¤È¤¤¤¦¾ò·ï¤ò½ñ¤­¤Þ¤¹¡£¤³¤Î method ¤Î value Éô¤Î½ñ¼°¤Ë¤Ä¤¤¤Æ¤Ï¸å¤Ç¾Ü¤·
-¤¯½Ò¤Ù¤Þ¤¹¡£
-
-¤³¤Î¾ò·ï¤Ï content-type ¤¬ text/plain ¤Ç¤¢¤ë content ¤Ê¤éÁ´¤Æ¤Î 
-decoding-mode ¤ÇÍ­¸ú¤Ç¤¹¡£¤·¤«¤·¡¢
-
-@lisp
-        ((type . "text/plain")
-         (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)
-         (mode . "play"))
-@end lisp
-
-¤Ê¤é¡¢play mode ¤Î»þ¤·¤«Í­¸ú¤Ë¤Ê¤ê¤Þ¤»¤ó¡£
-
-µÕ¤Ë¡¢
-
-@lisp
-        ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)
-         (mode . "play"))
-@end lisp
-
-¤Ê¤é¡¢Á´¤Æ¤Î content-type ¤Î play mode ¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-¤³¤¦¤·¤Æ³Æ¾ò·ï¤òÁ°¤«¤é¸«¤Æ¹Ô¤­¡¢ºÇ½é¤ËÍ­¸ú¤Ë¤Ê¤Ã¤¿¾ò·ï¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-
-
-@node Format of method value, Example of decoding-condition, decoding-condition, Decoding
-@comment  node-name,  next,  previous,  up
-@section method ¤ÎÃÍÉô¤Î½ñ¼°
-@cindex method ¤ÎÃÍÉô¤Î½ñ¼°
-
-decode-condition ¤Î method field ¤Ï
-
-@lisp
-        (method . SYMBOL)
-@end lisp
-
-¤«
-
-@lisp
-        (method  Ê¸»úÎó  FLAG  °ú¿ô1  °ú¿ô2  ...)
-@end lisp
-
-¤È¤¤¤¦·Á¤ò¤·¤Æ¤¤¤Þ¤¹¡£
-
-Á°¼Ô¤ÏÆâÉô method ¤ò»ØÄꤹ¤ë¤¿¤á¤Î·Á¼°¤Ç¡¢decode Áàºî¤¬¹Ô¤Ê¤ï¤ì¤¿»þ¡¢
-SYMBOL ¤È¤¤¤¦´Ø¿ô¤¬´Ø¿ô¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤ÆÆâÉô method ¤È¤·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤Þ
-¤¹¡£
-
-¸å¼Ô¤Ï³°Éô method ¤ò»ØÄꤹ¤ë¤¿¤á¤Î·Á¼°¤Ç¡¢decode Áàºî¤¬¹Ô¤Ê¤ï¤ì¤¿»þ¡¢
-ʸ»úÎó¤Ç»ØÄꤵ¤ì¤¿³°Éô program ¤¬ÈóƱ´ü¥×¥í¥»¥¹¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ³°Éô 
-method ¤È¤·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£
-
-
-³°Éô method ¤ò»ØÄꤹ¤ë¾ì¹ç¤Î method field ¤Î½ñ¼°¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£
+@subsection mime/viewer-mode ¤Ç¤ÎÁàºî
 
-@table @samp
-@item Ê¸»úÎó
-        ³°Éô method ¤Î̾Á°
-@item FLAG
-        @code{t} ¤Ê¤é content-header ¤â³°Éô method ¤ËÅϤ¹¡£@code{nil} 
-        ¤Ê¤é content-body ¤Î¤ß¤òÅϤ¹¡£
-@item °ú¿ôÎó
-        ³°Éô method ¤Î°ú¿ô
-@end table
+mime/viewer-mode ¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£
 
-¤Þ¤¿¡¢³°Éô method ¤Î°ú¿ô¤Ï¼¡¤Î¤è¤¦¤Ê·Á¼°¤Ç½ñ¤­¤Þ¤¹¡£
+@table @kbd 
+@item u
+¾å¤Î content ¤ËÌá¤ë¡Êmessage ¤Î°ìÈÖ¾å¤Î content ¤Ç¤³¤ì¤ò¹Ô¤Ê¤¦¤È 
+Summary mode ¤ËÌá¤ë (*1)¡Ë
 
-@table @samp
-@item Ê¸»úÎó
-        ¤½¤Îʸ»úÎó¤òÅϤ¹
-@item 'SYMBOL
-        SYMBOL ¤ò key ¤È¤·¤¿ decoding-condition ¤ÎÃͤòÅϤ¹
-@item 'ʸ»úÎó
-        Ê¸»úÎó¤ò key ¤È¤·¤¿ decoding-condition ¤ÎÃͤòÅϤ¹
-@end table
+@item p
+Á°¤Î content ¤Ë°ÜÆ°¤¹¤ë
 
-'SYMBOL ¤Ç»ØÄê¤Ç¤­¤ë¤â¤Î¤Ë¤Ï¡¢
-
-@table @samp
-@item 'file
-        content ¤òÅϤ¹¤¿¤á¤Î file Ì¾
-@item 'type
-        Content-Type field ¤Î content-type/subtype
-@item 'encoding
-        Content-Transfer-Encoding field ¤Î field body
-@item 'mode
-        decoding-mode
-@item 'name
-        file ¤ËÍ¾ì¹ç¤Î file Ì¾
-@end table
+@item n
+¼¡¤Î content ¤Ë°ÜÆ°¤¹¤ë
 
-¤Ê¤É¤¬¤¢¤ê¡¢'ʸ»úÎó ¤Ç¤Ï Content-Type field ¤Î parameter ¤ÎÃͤ¬»ØÄê¤Ç
-¤­¤Þ¤¹¡£
+@item @key{SPC}
+scroll up ¤¹¤ë
 
+@item @key{M-SPC}
+scroll down ¤¹¤ë
 
-@node Example of decoding-condition,  , Format of method value, Decoding
-@comment  node-name,  next,  previous,  up
-@section decoding-condition ¤ÎÎã
-@cindex decoding-condition ¤ÎÎã
-
-°Ê²¼¤Ë decoding-condition ¤ÎÀßÄêÎã¤ò¼¨¤·¤Þ¤¹¡£
-
-@lisp
-(defvar mime/content-decoding-condition
-  '(((type . "text/plain")
-     (method "tm-plain" nil 'file 'type 'encoding 'mode 'name))
-    ((type . "text/x-latex")
-     (method "tm-latex" nil 'file 'type 'encoding 'mode 'name))
-    ((type . "audio/basic")
-     (method "tm-au"    nil 'file 'type 'encoding 'mode 'name))
-    ((type . "image/gif")
-     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
-    ((type . "image/jpeg")
-     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
-    ((type . "image/tiff")
-     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
-    ((type . "image/x-tiff")
-     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
-    ((type . "image/x-xbm")
-     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
-    ((type . "image/x-pic")
-     (method "tm-image" nil 'file 'type 'encoding 'mode 'name))
-    ((type . "video/mpeg")`
-     (method "tm-mpeg"  nil 'file 'type 'encoding 'mode 'name))
-    ((type . "application/octet-stream")
-     (method "tm-file"  nil 'file 'type 'encoding 'mode 'name))
-    ((type . "message/partial")
-     (method . mime/decode-message/partial-region))
-    ((method "metamail" t
-             "-m" "tm" "-x" "-d" "-z" "-e" 'file)(mode . "play"))
-    ))
-@end lisp
-
-Î㤨¤Ð¡¢¡ÖÁ´Éô metamail »È¤¦¤ó¤ä¡×¤È¤¤¤¦¾ì¹ç¡¢
-
-@lisp
-(setq mime/content-decoding-condition
-      '(
-        ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file))
-       ))
-@end lisp
-
-¤È¤¹¤ì¤Ð OK ¤Ç¤¹¡£
-
-¹©Éפ¹¤ì¤Ð¡¢¤«¤Ê¤êÊ£»¨¤Ê¾ò·ï¤¬½ñ¤±¤ë¤Ç¤·¤ç¤¦¡£
-
-
-°Ê²¼¤Ë¡¢decoding-condition ¤òÀßÄꤹ¤ë¤¿¤á¤ÎÍ­ÍѤʴؿô¤ò¾Ò²ð¤·¤Þ¤¹¡£
-
-
-@deffn{Function} set-atype symbol alist
-
-@var{symbol} ¤Ë¾ò·ï @var{alist} ¤òÄɲä·¤Þ¤¹¡£
-
-Î㡧
-
-@lisp
-(set-atype 'mime/content-decoding-condition
-          '((type . "message/external-body")
-            ("access-type" . "anon-ftp")
-            (method . mime/decode-message/external-ftp)
-            ))
-@end lisp
-@end deffn
+@item @key{DEL}
+scroll down ¤¹¤ë
 
+@item @key{RET}
+¼¡¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë
 
-@node environment variables, encoded-word, Decoding, Top
-@comment  node-name,  next,  previous,  up
-@chapter ´Ä¶­ÊÑ¿ô
-@cindex environment variables
+@item @key{M-RET}
+Á°¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë
 
-°Ê²¼¤Ë tm-view ¤Îɸ½à method ¤¬»²¾È¤¹¤ë´Ä¶­ÊÑ¿ô¤ò¼¨¤·¤Þ¤¹¡£
+@item v
+content ¤òºÆÀ¸¤¹¤ë           (*2)
 
-@table @var
-@item TM_TMP_DIR
-°ì»þŪ¤ËºîÀ®¤µ¤ì¤ë file ¤ä file ½ÐÎϤ¹¤ë¾ì¹ç¤Î default ¤Î½ÐÎÏÀè¤È¤·¤Æ
-ÍѤ¤¤é¤ì¤ë directory ¤ò»ØÄꤹ¤ë¡£¾Êά¤µ¤ì¤¿¾ì¹ç¡¢/tmp/ ¤¬ÍѤ¤¤é¤ì¤ë¡£
+@item e
+content ¤«¤é file ¤ò¼è¤ê½Ð¤¹ (*2)
 
-@item VIDEO_DITHER
-mpeg_play ¤Ç¤Î dither ¤Î¤«¤±Êý¤ò»ØÄꤹ¤ë¡£´ûÄêÃͤϠ`gray'.
+@item C-c C-p
+content ¤ò°õºþ¤¹¤ë           (*2)
 
-@item TM_WWW_BROWSER
-WWW browser ¤ò»ØÄꤹ¤ë¡£´ûÄêÃͤϠ`netscape'.
 @end table
 
 
-@node encoded-word, Concept Index, environment variables, Top
-@comment  node-name,  next,  previous,  up
-@chapter encoded-word
-@cindex encoded-word
-@cindex non-ASCII field
-@cindex message header
-
-tm-view ¤Ï RFC 1522 ¤Çµ¬Äꤵ¤ì¤¿ encoded-word ¤ò decode ¤¹¤ë¤³¤È¤¬¤Ç¤­
-¤Þ¤¹¡£
-
-@deffn{Command} mime/decode-message-header
-
-current buffer ¤Î message header Ãæ¤Î encoded-word ¤ò decode ¤·¤Þ¤¹¡£
-@end deffn
-
-
-@deffn{Command} mime-eword/decode-region beg end &optional unfolding
-
-@var{beg} ¤È @var{end} ¤Ç°Ï¤Þ¤ì¤¿ÎΰèÃæ¤Î encoded-word ¤ò decode ¤·¤Þ
-¤¹¡£
-
-@var{unfolding} ¤¬ non-nil ¤Î¾ì¹ç¡¢fold ¤µ¤ì¤¿ field ¤ò unfolding ¤·¤Þ
-¤¹¡£
-@end deffn
-
-
-@deffn{Function} mime-eword/decode-string str
-
-@var{str} ¤Î encoded-word ¤ò decode ¤·¤Þ¤¹¡£
-
-fold ¤µ¤ì¤¿Ê¸»úÎó¤Ï unfolding ¤µ¤ì¤Þ¤¹¡£
-@end deffn
-
-
-@node Concept Index, Command Index, encoded-word, Top
-@unnumbered ³µÇ°º÷°ú
-
-@printindex cp
-
-
-@node Command Index, Variable Index, Concept Index, Top
-@unnumbered ´Ø¿ô¡¦¥³¥Þ¥ó¥Éº÷°ú
-
-@printindex fn
-
-
-@node Variable Index,  , Command Index, Top
-@unnumbered ÊÑ¿ôº÷°ú
+@b{¡ÎÃí°Õ¡Ï}
+@enumerate
+@item
+tm-MUA ¤Ç tm-view ¤ÎÀßÄê¤ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Summary mode ¤Ë¤ÏÌá¤ê¤Þ¤»¤ó¡£ 
 
-@printindex vr
+@item
+¼ÂºÝ¤ÎÆ°ºî¤ÏÂбþ¤¹¤ë method ¤Ë°Í¤ê¤Þ¤¹¡£
+@end enumerate
 
 @bye
index b40cba3..30141a3 100644 (file)
@@ -6,14 +6,14 @@
 @titlepage
 @title{tm Manual¡ÊÆüËܸìÈÇ¡Ë}
 @author{¼é²¬ ÃÎɧ Ãø}
-@code{$Id: tm_ja.texi,v 7.0 1995/10/18 17:19:23 morioka Exp $}
+@code{$Id: tm_ja.texi,v 7.1 1995/12/11 08:27:52 morioka Exp morioka $}
 @end titlepage
 
 
 @node Top, Introduction, (dir), (dir)
 @comment  node-name,  next,  previous,  up
 @ifinfo
-@top tm 7.16 Reference manual
+@top tm 7.32 Reference manual
 
 GNU Emacs ¤Ç MIME ¤ò³Ú¤·¤à¤¿¤á¤Î package ¤Ç¤¢¤ë `tm' ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ
 ¤¹¡£
@@ -22,11 +22,18 @@ GNU Emacs 
 @menu
 * Introduction::                ¤Ï¤¸¤á¤Ë
 * Emacs-Versions::              Emacs ¤Î¼ïÎàÊ̤ε¡Ç½¤ª¤è¤ÓÀ©¸Â
-* Install::                     
-* Setting::                     
+* Setting::                     ÀßÄê
+
 * tm-MUA::                      mh-e, GNUS, RMAIL, VM ¤Ê¤É³Æ¼ï MUA ¤Î³ÈÄ¥
-* tm-view:(tm-view_ja.info).    MIME message ¤Î±ÜÍ÷
+* tm-mh-e: (tm-mh-e_ja.info).   mh-e
+* tm-gnus: (tm-gnus_ja.info).   GNUS ¤ª¤è¤Ó Gnus
+* tm-rmail: (tm-rmail_ja.info). RMAIL
+* tm-vm: (tm-vm_ja.info).       VM
+
+* tm-view::                     MIME message ¤Î±ÜÍ÷
 * encoded-word::                
+* customize::                   tm ¤Î customize
+
 * Bug report::                  bug Êó¹ð¤Î»ÅÊý¤È mailing list ¤Ë¤Ä¤¤¤Æ
 * Concept Index::               
 * Command Index::               
@@ -43,7 +50,7 @@ tm 
 
 @itemize @bullet
 @item tm-view ¤Ë¤è¤ë MIME message ¤Î±ÜÍ÷¡¦ºÆÀ¸
-@item RFC 1522 ¤Çµ¬Äꤵ¤ì¤¿ MIME encoded-word ¤Î encode/decode
+@item tm-edit ¤Ë¤è¤ë MIME message ¤ÎºîÀ®
 @item mh-e, GNUS, RMAIL, VM ¤Ç¤Î MIME µ¡Ç½¤Î¶¯²½
 @end itemize
 
@@ -57,7 +64,7 @@ tm 
 
 @itemize @minus
 @item @strong{tm-view:}   MIME viewer
-@item @strong{tm-eword:}  MIME encoded-word encoder/decoder
+@item @strong{tm-edit:}   MIME composer
 @item @strong{tm-def:}    tm ¤Î¤¿¤á¤ÎÄêµÁ module
         @item @strong{tm-mh-e:}  mh-e ÍѤΠtm-MUA
         @item @strong{tm-gnus:}  GNUS ÍѤΠtm-MUA
@@ -68,7 +75,7 @@ tm 
 @end itemize
 
 @menu
-* tm-view:(tm-view_ja.info).
+* tm-view::
 * tm-mh-e:(tm-mh-e_ja.info).
 * tm-gnus:(tm-gnus_ja.info).
 * tm-rmail:(tm-rmail_ja.info).
@@ -77,7 +84,7 @@ tm 
 @end menu
 
 
-@node Emacs-Versions, Install, Introduction, Top
+@node Emacs-Versions, Setting, Introduction, Top
 @comment  node-name,  next,  previous,  up
 @chapter Emacs ¤Î¼ïÎàÊ̤ε¡Ç½¤ª¤è¤ÓÀ©¸Â
 @cindex emacs variants
@@ -126,132 +133,56 @@ tm-rich 
 
 US-ASCII ¤ª¤è¤Ó ISO-8859-1 ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
 
-º£¤Î¤È¤³¤í¡¢tm-rich ¤Ë¤è¤ë multi face É½¼¨¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤¬¡¢
-¾­ÍèŪ¤Ë¤Ï¡¢multi face É½¼¨¤È inline image ¤Îɽ¼¨¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê
-¤Ç¤¹¡£
+¾­ÍèŪ¤Ë¤Ï¡¢inline image ¤Îɽ¼¨¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤ëͽÄê¤Ç¤¹¡£
 
 
-@node Install, Setting, Emacs-Versions, Top
-@comment  node-name,  next,  previous,  up
-@chapter Install
-@cindex install
-
-Install ¤Ï¼¡¤Î¼ê½ç¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£
-
-
-@section tl ¤Î install
-@cindex tl
-
-tm ¤Ï Emacs Lisp library ``tl'' ¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£¤è¤Ã¤Æ¡¢¤Þ¤ººÇ½é¤Ë¡¢
-¤³¤ì¤ò install ¤·¤Æ²¼¤µ¤¤¡£
-
-tl ¤Î install ¤Î»ÅÊý¤Ï tl/README.eng ¤Ë½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤³¤ì¤òÆɤó
-¤ÇŬÀڤˠinstall ¤·¤Æ²¼¤µ¤¤¡£
-
-
-@section Makefile
-@cindex Makefile
-
-Makefile ¤ò¼«Ê¬¤Î´Ä¶­¤Ë¹ç¤ï¤»¤Æ½ñ¤­´¹¤¨¤Æ²¼¤µ¤¤¡£
-
-@subsection Emacs ¤Î¼Â¹Ô file Ì¾¤Î»ØÄê
-@cindex Emacs executable
-
-Emacs ¤Î¼Â¹Ô file Ì¾¤ò»ØÄꤷ¤Æ²¼¤µ¤¤¡£
-
-@itemize @bullet
-@item NEMACS   = for NEMACS (or NEpoch)
-@item MULE1    = for Mule 1.* (based on Emacs 18.*)
-@item ORIG19   = for Emacs 19.* (FSF original or XEmacs)
-@item MULE2    = for MULE 2.* (based on Emacs 19.*)
-@end itemize
-
-
-@subsection load-path ¤Î»ØÄê
-@cindex load-path
-
-Emacs Lisp program ¤ò install ¤¹¤ë directory ¤ò»ØÄꤷ¤Æ²¼¤µ¤¤¡£
-
-@itemize @bullet
-@item TLDIR18 = for Emacs 18.* (NEMACS, NEpoch or MULE 1)
-@item TLDIR19 = for Emacs 19.* (FSF original, XEmacs or MULE 2)
-@end itemize
-
-
-@section ³°Éô method
-@cindex external method
-
-methods/ °Ê²¼¤Ë¤¢¤ë method script ¤ò sec:method Àá¤ò»²¾È¤·¤Æ¡¢¼«Ê¬¤Î´Ä
-¶­¤Ë¹ç¤¦¤è¤¦¤Ë½ñ¤­´¹¤¨¤Æ²¼¤µ¤¤¡£
-
-
-@section make
-
-`make all' ¤·¤Æ²¼¤µ¤¤¡£
-
-
-@section install
-
-`make install' ¤·¤Æ²¼¤µ¤¤¡£
-
-
-@section Emacs Lisp program ¤Î install
-@cindex installation for emacs lisp modules
-
-NEmacs ¤â¤·¤¯¤Ï NEpoch ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢`make install-nemacs' ¤ò¼Â¹Ô
-¤·¤Æ²¼¤µ¤¤¡£
-
-Mule 1.* ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢`install-mule1' ¤ò¼Â¹Ô¤·¤Æ²¼¤µ¤¤¡£
-
-Original Emacs 19.* ¤â¤·¤¯¤Ï XEmacs ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢`make
-install-orig19' ¤ò¼Â¹Ô¤·¤Æ²¼¤µ¤¤¡£
-
-Mule 2.* ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢`make install-mule2' ¤ò¼Â¹Ô¤·¤Æ²¼¤µ¤¤¡£
-
-¤¢¤ë¤¤¤Ï¡¢¤³¤ì¤é¤¬¤¦¤Þ¤¯¤¤¤«¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¤â¡¢*.el ¤ò load-path ¤Ç»ØÄê
-¤µ¤ì¤¿ directory ¤Ë copy ¤¹¤ì¤Ð OK ¤Ç¤¹¡£
-
-
-@node Setting, tm-MUA, Install, Top
+@node Setting, tm-MUA, Emacs-Versions, Top
 @comment  node-name,  next,  previous,  up
 @chapter ÀßÄê
 @cindex ÀßÄê
 
 ¤³¤Î package ¤Ë¤Ï mime-setup.el ¤È tm-setup.el ¤È¤¤¤¦´Ê°×ÀßÄê file ¤¬
-Éí°¤·¤Æ¤¤¤Þ¤¹¡£mime-setup.el ¤Ç¤Ï mime.el ¤ò»È¤Ã¤¿ encoding ¤â´Þ¤á¤¿ 
-MIME Á´È̤ÎÀßÄê¤ò¹Ô¤Ê¤¤¡¢tm-setup ¤Ç¤Ï tm-MUA ¤Ë´Ø¤¹¤ëÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¤
-¤Þ¤¹¡£
+Éí°¤·¤Æ¤¤¤Þ¤¹¡£mime-setup.el ¤Ç¤Ï tm-edit.el ¤ò»È¤Ã¤¿ MIME message ¤Î
+ºîÀ®¤â´Þ¤á¤¿ MIME Á´È̤ÎÀßÄê¤ò¹Ô¤Ê¤¤¡¢tm-setup.el ¤Ç¤Ï tm-MUA ¤Ë´Ø¤¹¤ë
+MIME message ¤Î±ÜÍ÷¤ÎÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£
 
 @menu
-* mime-setup::     mime.el ¤ò»È¤¦¾ì¹ç
-* tm-setup::       mime.el °Ê³°¤Î MIME composer ¤ò»È¤¦¾ì¹ç
-* tm-vm::          VM ¤Î¾ì¹ç¤ÎÀßÄê
+* mime-setup.el::  ÉáÄ̤ÎÀßÄê
+* tm-setup.el::    tm-edit ¤ò»È¤¤¤¿¤¯¤Ê¤¤¾ì¹ç
+* setting for VM:: VM ¤ÎÀßÄê
 * manual setting:: ÀßÄê file ¤ò»È¤ï¤Ê¤¤¾ì¹ç
 @end menu
 
 
-@node mime-setup, tm-setup, Setting, Setting
+@node mime-setup.el, tm-setup.el, Setting, Setting
 @comment  node-name,  next,  previous,  up
 @section mime-setup.el
 @cindex mime-setup.el
 
+tm ¤Î°ìÈÌŪ¤ÊÀßÄê¤ò¹Ô¤¤¤¿¤¤¾ì¹ç¤Ï¡¢mime-setup.el ¤È¤¤¤¦É¸½àÀßÄê file 
+¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£Î㤨¤Ð¡¢~/.emacs Åù¤Ç¡¢
+
 @lisp
 (load "mime-setup")
 @end lisp
 
-¤È¤¹¤ë¤È mime.el ¤È tm ¤ò»È¤Ã¤¿ MIME ¤Ë´Ø¤¹¤ë³Æ¼ïÀßÄê¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£
-mime-setup.el ¤Ï tm-setup.el ¤ò¸Æ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢mime-setup.el ¤ò»È¤¦¾ì
-¹ç¡¢tm-setup.el ¤ò load ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
+¤È¤¹¤ë¤À¤±¤Ç OK ¤Ç¤¹¡£
+
+mime-setup.el ¤Ï tm-setup.el ¤ò¸Æ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢tm-setup.el ¤ò load ¤¹
+¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¡Ê²áµî¤Î Gnus FAQ ¤Îµ­½Ò¤Ï´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹¡ª¡Ë
+
+Memo: ¤¢¤ë¤¤¤Ï¡¢September Gnus ¤ËÉÕ°¤·¤Æ¤¤¤ë gnus-setup.el ¤ò»È¤Ã¤Æ¤â
+Îɤ¤¤«¤âÃΤì¤Þ¤»¤ó¡£¤³¤ì¤Ï tm ¤â´Þ¤á¤¿³Æ¼ï¤ÎÀßÄê¤ò¹Ô¤Ã¤Æ¤¯¤ì¤Þ¤¹¡£
+default ¤Ç tm ¤ò»È¤¦»ö¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç
+
+@lisp
+(load "gnus-setup")
+@end lisp
 
-mime-setup.el ¤ò»È¤¦¾ì¹ç¤Ï mime.el ¤¬É¬ÍפǤ¹¡£mime.el ¤Ï
-emacs-mime-tools.shar ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ê¤ª¡¢emacs-mime-tools.shar ¤Ï
-°Ê²¼¤Î¾ì½ê¤Ê¤É¤«¤éÆþ¼ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+¤È¤¹¤ë¤È mime-setup.el ¤ò load ¤¹¤ëɬÍפϤʤ¤¤Ç¤·¤ç¤¦¡£
 
-@example
-       ftp://ftp.kyutech.ac.jp/pub/MultiMedia/mime
-       ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime
-@end example
 
+@subsection mime-setup.el ¤ÎÊÑ¿ô
 
 @subsection SuperCite
 @cindex SuperCite
@@ -341,38 +272,60 @@ signature 
 ¤Ë¤è¤Ã¤Æ GNUS ¤Îɸ½à¤ËÌ᤹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
 
 
-@node tm-setup, tm-vm, mime-setup, Setting
+@node tm-setup.el, setting for VM, mime-setup.el, Setting
 @comment  node-name,  next,  previous,  up
-@section tm-setup
-@cindex tm-setup
+@section tm-setup.el
+@cindex tm-setup.el
 
-tm-setup ¤Ï tm-MUA ¤ÎÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¦ module ¤Ç¤¹¡£mime-setup ¤ò load 
-¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤ì¤òÍۤˠload ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤¬¡¢mime-setup ¤ò»È
-¤¤¤¿¤¯¤Ê¤¤¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤³¤ì¤ò load ¤·¤Æ²¼¤µ¤¤¡£
+tm-setup ¤Ï tm-MUA ¤ÎÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¦ module ¤Ç¤¹¡£¤³¤ÎÀßÄê file ¤Ç¤Ï 
+tm-edit ¤ò»È¤Ã¤¿ MIME message ¤ÎºîÀ®¤Ë´Ø¤¹¤ëÀßÄê¤Ï¹Ô¤ï¤ì¤º¡¢MIME
+message ¤Î±ÜÍ÷¤Ë´Ø¤¹¤ëÀßÄê¤Î¤ß¤¬¹Ô¤ï¤ì¤Þ¤¹¡£MIME message ¤òÆɤߤ¿¤¤¤¬
+¼«Ê¬¤Ç¤ÏºîÀ®¤·¤Ê¤¤¤È¤«¡¢tm-edit °Ê³°¤Î MIME composer ¤ò»È¤¤¤¿¤¤¾ì¹ç¤Ë
+¤Ï mime-setup.el ¤ÎÂå¤ï¤ê¤Ë¤³¤ÎÀßÄê file ¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
+
+Î㤨¤Ð¡¢~/.emacs Åù¤Ë
 
 @lisp
 (load "tm-setup")
 @end lisp
 
+¤òÆþ¤ì¤ì¤Ð OK ¤Ç¤¹¡£
+
+Memo: mime-setup.el ¤ò load ¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤ì¤òÍۤˠload ¤¹¤ëɬÍפϤ¢
+¤ê¤Þ¤»¤ó¡£
+
 
-@node tm-vm, manual setting, tm-setup, Setting
+@node setting for VM, manual setting, tm-setup.el, Setting
 @comment  node-name,  next,  previous,  up
 @section vm
 
-vm ¤ò»È¤¦¾ì¹ç¤Ï .vm ¤Ë
+vm ¤ò»È¤¦¾ì¹ç¤Ï ~/.vm ¤Ë
 
 @lisp
-(load "tm-vm")
+(require 'tm-vm)
 @end lisp
 
 ¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£
 
+Ãí°Õ¡§ BBDB ¤ò»È¤¦¾ì¹ç¤Ï (bbdb-insinuate-vm) ¤Î¸å¤Ë (require 'tm-vm) 
+¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£
 
-@node manual setting,  , tm-vm, Setting
+
+@node manual setting,  , setting for VM, Setting
 @comment  node-name,  next,  previous,  up
 @section ÀßÄê file ¤ò»È¤ï¤Ê¤¤¾ì¹ç
 
-tm-setup.el ¤ò»²¹Í¤Ë¤·¤Æ²¼¤µ¤¤¡£
+mime-setup.el ¤ä tm-setup.el ¤ò»²¹Í¤Ë¤·¤Æ²¼¤µ¤¤¡£
+
+Memo: ¸½ºß¤Î tm ¤Ç¤Ï tm-edit ¤Î»ÈÍѤò²¾Äꤷ¤¿´ö¤Ä¤«¤ÎÊØÍø¤Êµ¡Ç½¤¬Â¸ºß
+¤·¡¢¤³¤ì¤é¤Îµ¡Ç½¤Ï mime-setup.el ¤ò»È¤ï¤Ê¤¤¤ÈÍøÍѤǤ­¤Þ¤»¤ó¡£¤â¤·¡¢
+tm-edit ¤ò»È¤¦Æȼ«¤ÎÀßÄê¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢
+
+@lisp
+(provide 'mime-setup)
+@end lisp
+
+¤È¤¤¤¦Àë¸À¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
 
 
 @node tm-MUA, encoded-word, Setting, Top
@@ -403,13 +356,14 @@ tm-MUA 
 
 @table @kbd 
 @item @key{M-t}
-        RFC 1522 MIME encoded-word ¤Î decode ¤Ë´Ø¤¹¤ë toggle
+MIME message ¤Îɽ¼¨¤Ë´Ø¤¹¤ë toggle
 @item @key{v}
-       @code{mime/viewer-mode} ¤ËÆþ¤ê¡¢message ¤ò±ÜÍ÷¤¹¤ë
+@code{mime/viewer-mode} ¤ËÆþ¤ê¡¢message ¤ò±ÜÍ÷¤¹¤ë
 @end table
 
 Ã¢¤·¡¢tm-vm ¤Ç¤Ï @key{v} ¤Ç¤Ï¤Ê¤¯ @key{Z} ¤Ç @code{mime/viewer-mode} 
-¤ËÆþ¤ê¤Þ¤¹¡£¤Þ¤¿¡¢tm-mh-e ¤È tm-gnus for (ding) GNUS ¤Ç¤Ïɸ½à¤Ç¤Ï¾ï¤Ë 
+¤ËÆþ¤ê¤Þ¤¹¡£¤Þ¤¿¡¢tm-mh-e, tm-vm, ¤ª¤è¤Ó¡¢GNUS 3.15 °Ê¹ß¤Ç¤Î tm-gnus 
+¤Ç¤Ï automatic MIME preview µ¡Ç½¤¬ support ¤µ¤ì¡¢É¸½à¤Ç¤Ï¾ï¤Ë 
 @code{mime/viewer-mode} ¤Î preview buffer ¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
 
 @menu
@@ -418,68 +372,24 @@ tm-MUA 
 * tm-rmail: (tm-rmail_ja.info).
 * tm-vm: (tm-vm_ja.info).
 * tm-cmail: (tm-cmail_ja.info).
-* mime/viewer-mode: (tm-view_ja.info)Commands.
+* mime/viewer-mode:: Commands.
 @end menu
 
 
-@node encoded-word, Bug report, tm-MUA, Top
-@comment  node-name,  next,  previous,  up
-@chapter encoded-word
-@cindex encoded-word
-@cindex non-ASCII field
-@cindex message header
-
-tm ¤Ï RFC 1522 ¤Çµ¬Äꤵ¤ì¤¿ encoded-word ¤ò°·¤¦¤¿¤á¤Î´Ø¿ô¤ò»ý¤Ã¤Æ¤¤¤Þ
-¤¹¡£
-
-@menu
-* decode: (tm-view_ja.info)encoded-word. decode
-* encoded-word encoding::                encode
-* encoded-word utility::
-@end menu
-
-
-@node encoded-word encoding, encoded-word utility, encoded-word, encoded-word
-@comment  node-name,  next,  previous,  up
-@section encoded-word encoding
-
-@deffn{Command} mime/decode-message-header
+@section MIME forwarding
 
-current buffer ¤Î message header ¤ò encoded-word ¤È¤·¤Æ encode ¤·¤Þ¤¹¡£
-@end deffn
+mime-setup.el ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢message/rfc822 ·Á¼°¤Ë¤è¤ë forward ¤¬ 
+support ¤µ¤ì¤Þ¤¹¡£
 
 
-@deffn{Function} mime/encode-field str
-
-@var{str} ¤ò field ¤È¤·¤Æ encode ¤·¤Þ¤¹¡£
-@end deffn
-
-
-@deffn{Function} mime-eword/encode-string str &optional column mode
-
-@var{str} ¤ò encoded-word ¤È¤·¤Æ encode ¤·¤Þ¤¹¡£
-
-@var{column} ¤Ï¤³¤Îʸ»úÎ󤬲¿·åÌܤ«¤é»Ï¤Þ¤Ã¤Æ¤¤¤ë¤«¤ò»ØÄꤷ¤Þ¤¹¡£´ûÄê
-ÃͤϠ0 ¤Ç¤¹¡£
-
-@var{mode} ¤Ï¤³¤Îʸ»úÎ󤬤ɤ¦¤¤¤¦Éôʬ¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤«¤ò¼¨¤·¤Þ¤¹¡£»ØÄê
-¤Ç¤­¤ëÃͤȤ·¤Æ¤Ï @code{text}, @code{comment}, @code{phrase} ¤¬¤¢¤ê¤Þ¤¹¡£
-´ûÄêÃͤϠ@code{phrase} ¤Ç¤¹¡£
-@end deffn
-
-
-@node encoded-word utility,  , encoded-word encoding, encoded-word
-@comment  node-name,  next,  previous,  up
-@section encoded-word utility
+@include tm-view_ja.texi
 
-@deffn{Function} mime/exist-encoded-word-in-subject
+@include tm-ew_ja.texi
 
-current buffer ¤Î Subject: field ¤Ë encoded-word ¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢
-Subject: field ¤Î field-body ¤òÊÖ¤·¤Þ¤¹¡£
-@end deffn
+@include tm-util_ja.texi
 
 
-@node Bug report, Concept Index, encoded-word, Top
+@node Bug report, Concept Index, customize, Top
 @comment  node-name,  next,  previous,  up
 @chapter bug Êó¹ð¤Î»ÅÊý¤È mailing list ¤Ë¤Ä¤¤¤Æ
 @cindex bug Êó¹ð
diff --git a/gnus/ChangeLog-7.21.2.en b/gnus/ChangeLog-7.21.2.en
new file mode 100644 (file)
index 0000000..c214260
--- /dev/null
@@ -0,0 +1,8 @@
+Mon Dec 11 18:05:06 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm/gnus: Version 7.21.2 was released.
+
+Fri Dec  8 22:35:14 1995  Morioka Tomohiko  <morioka@jaist.ac.jp>
+
+       * tm-gnus.el: modified about XEmacs menu setting in Emacs and
+       Mule.
index f82b8d0..22f720a 100644 (file)
@@ -27,7 +27,7 @@ TMDIR19_29 = $(DATADIR19_29)/$(EMACS_PREFIX)/site-lisp
 
 FILES  = tm/gnus/*.el tm/doc/tm-gnus*.texi
 
-TARFILE = tm-gnus7.21.1.tar
+TARFILE = tm-gnus7.21.2.tar
 
 
 gnus:
index bf6149a..185b173 100644 (file)
@@ -7,4 +7,4 @@
 ;;;
 
 ;; please edit
-(add-path "gnus-5.0.12/lisp")
+(add-path "gnus-5.0.13/lisp")
index a146325..344ba60 100644 (file)
@@ -15,7 +15,7 @@
 (require 'emu)
 
 (defun compile-tm-gnus ()
-  (require 'gnus)
+  (load "gnus.el")
   (require 'tm-view)
   (require 'tm-partial)
   (require 'tm-edit)
index 35ce11d..2b2d041 100644 (file)
@@ -7,4 +7,4 @@
 ;;;
 
 ;; please edit
-(add-path "sgnus-0.18/lisp")
+(add-path "sgnus-0.21/lisp")
index 6955405..aace694 100644 (file)
@@ -9,7 +9,7 @@
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1993/11/20 (obsolete mol's gnus-mime.el)
 ;;; Version:
-;;;    $Id: tm-gnus.el,v 7.12 1995/12/07 10:21:22 morioka Exp $
+;;;    $Id: tm-gnus.el,v 7.13 1995/12/08 22:35:14 morioka Exp $
 ;;; Keywords: news, MIME, multimedia, encoded-word, multilingual
 ;;;
 ;;; This file is part of tm (Tools for MIME).
     (autoload 'tm-mail/insert-message "tm-mail")
     (set-alist 'mime-editor/message-inserter-alist
               'mail-mode (function tm-mail/insert-message))
-    (add-hook 'news-setup-hook 'mime-editor/attach-to-news-reply-menu)
+    (if (string-match "XEmacs\\|Lucid" emacs-version)
+       (add-hook 'news-setup-hook 'mime-editor/attach-to-news-reply-menu)
+      )
     )))
 
 
index b454c28..fe65855 100755 (executable)
@@ -4,19 +4,26 @@ if [ "$TM_TMP_DIR" = "" ]; then
        export TM_TMP_DIR
 fi
 
+if [ "$5" = "" ]; then
+  filename="$TM_TMP_DIR/mime$$.au"
+else
+  filename="$TM_TMP_DIR/$5"
+fi
+
+echo "$2; $3 -> $filename"
+
+tmdecode $3 $1 $filename
+
+
 case "$4" in
 "play")
-       filename=/dev/audio
+        if [ "$AUDIOSERVER" = "" ]; then
+          cat $filename >/dev/audio
+        else
+          autool -v 40 $filename
+        fi
        ;;
 "extract")
-       if [ "$5" = "" ]; then
-               filename="$TM_TMP_DIR/mime$$.au"
-       else
-               filename="$TM_TMP_DIR/$5"
-       fi
+       echo "extract to $filename"
        ;;
 esac
-
-echo "$2; $3 -> $filename"
-
-tmdecode $3 $1 $filename
diff --git a/mk-tm b/mk-tm
index 4af51ad..f843c6b 100644 (file)
--- a/mk-tm
+++ b/mk-tm
@@ -17,6 +17,9 @@
 ;; Please specify VM path.
 (add-path "vm-5.95beta/")
 
+;; Please specify Mailcrypt path.
+(add-path "mailcrypt-3.4beta/")
+
 (setq tm-modules
       (cons
        (cond ((boundp 'NEMACS)
        (append tm-uncompile-el-files '("tm-vm.el")))
   )
 
+(if (catch 'tag
+      (let ((paths load-path) path)
+       (while paths
+         (setq path (expand-file-name "mailcrypt.el" (car paths)))
+         (if (file-exists-p path)
+             (throw 'tag path)
+           )
+         (setq paths (cdr paths))
+         )))
+    (setq tm-modules (append tm-modules '("tm-pgp")))
+  (setq tm-uncompile-el-files
+       (append tm-uncompile-el-files '("tm-pgp.el")))
+  )
+
 (if (and (file-exists-p "tm-evs.el")
         (or (boundp 'MULE)
             (boundp 'NEMACS))
index 2ecb1a4..2aba73c 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.3 1995/11/15 14:21:50 morioka Exp $
+;;;    $Id: tm-def.el,v 7.5 1995/12/09 04:11:11 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia, definition
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -35,7 +35,7 @@
 ;;;
 
 (defconst mime/output-buffer-name "*MIME-out*")
-(defconst mime/decoding-buffer-name "*MIME-decoding*")
+(defconst mime/temp-buffer-name " *MIME-temp*")
 
 
 ;;; @ for various Emacs variants
index 01c0c78..b163885 100644 (file)
@@ -7,7 +7,7 @@
 
 ;; Author: UMEDA Masanobu <umerin@mse.kyutech.ac.jp>
 ;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version: $Revision: 7.31 $
+;; Version: $Revision: 7.32.1.2 $
 ;; Keywords: mail, news, MIME, multimedia, multilingual
 
 ;; This file is not part of GNU Emacs.
 ;; LCD Archive Entry:
 ;; mime|Masanobu UMEDA|umerin@mse.kyutech.ac.jp|
 ;; Simple MIME Composer|
-;; $Date: 1995/12/07 10:18:56 $|$Revision: 7.31 $|~/misc/mime.el.Z|
+;; $Date: 1995/12/10 15:06:34 $|$Revision: 7.32.1.2 $|~/misc/mime.el.Z|
 
 ;;; Code:
 
 ;;;
 
 (defconst mime-editor/RCS-ID
-  "$Id: tm-edit.el,v 7.31 1995/12/07 10:18:56 morioka Exp $")
+  "$Id: tm-edit.el,v 7.32.1.2 1995/12/10 15:06:34 morioka Exp $")
 
 (defconst mime-editor/version (get-version-string mime-editor/RCS-ID))
 
@@ -390,6 +390,23 @@ Each elements are regexp of field-name. [tm-edit.el]")
 
 (defvar mime-editor/news-reply-mode-server-running nil)
 
+
+;;; @@ about PGP
+;;;
+
+(defvar mime-editor/signing-type nil
+  "*PGP signing type (pgp-elkins, pgp-kazu or nil).
+Sorry `pgp-elkins' is not supported yet. [tm-edit.el]")
+
+(defvar mime-editor/encrypting-type nil
+  "*PGP encrypting type (pgp-elkins, pgp-kazu or nil).
+Sorry `pgp-elkins' is not supported yet. [tm-edit.el]")
+
+(if (or mime-editor/signing-type mime-editor/encrypting-type)
+    (require 'mailcrypt)
+  )
+
+
 ;;; @@ about tag
 ;;;
 
@@ -472,6 +489,8 @@ Tspecials means any character that matches with it in header must be quoted.")
     (define-key keymap "p"    'mime-editor/enclose-parallel-region)
     (define-key keymap "m"    'mime-editor/enclose-mixed-region)
     (define-key keymap "d"    'mime-editor/enclose-digest-region)
+    (define-key keymap "s"    'mime-editor/enclose-signed-region)
+    (define-key keymap "e"    'mime-editor/enclose-encrypted-region)
     (define-key keymap "\C-p" 'mime-editor/preview-message)
     (define-key keymap "\C-z" 'mime-editor/exit)
     (define-key keymap "?"    'mime-editor/help)
@@ -480,22 +499,32 @@ Tspecials means any character that matches with it in header must be quoted.")
 (defconst mime-editor/menu-title "MIME-Edit")
 
 (defconst mime-editor/menu-list
-  '((mime-help "Describe MIME editor mode" mime-editor/help)
-    (file      "Insert File"           mime-editor/insert-file)
-    (external  "Insert External"       mime-editor/insert-external)
-    (voice     "Insert Voice"          mime-editor/insert-voice)
-    (message   "Insert Message"        mime-editor/insert-message)
-    (mail      "Insert Mail"           mime-editor/insert-mail)
-    (signature "Insert Signature"      mime-editor/insert-signature)
-    (text      "Insert Text"           mime-editor/insert-text)
-    (tag       "Insert Tag"            mime-editor/insert-tag)
-    (alternative "Enclose as alternative"
-                mime-editor/enclose-alternative-region)
-    (parallel  "Enclose as parallel"   mime-editor/enclose-parallel-region)
-    (mixed     "Enclose as serial"     mime-editor/enclose-mixed-region)
-    (digest    "Enclose as digest"     mime-editor/enclose-digest-region)
-    (preview   "Preview Message"       mime-editor/preview-message)
-    )
+  (nconc
+   '((mime-help        "Describe MIME editor mode" mime-editor/help)
+     (file     "Insert File"           mime-editor/insert-file)
+     (external "Insert External"       mime-editor/insert-external)
+     (voice    "Insert Voice"          mime-editor/insert-voice)
+     (message  "Insert Message"        mime-editor/insert-message)
+     (mail     "Insert Mail"           mime-editor/insert-mail)
+     (signature        "Insert Signature"      mime-editor/insert-signature)
+     (text     "Insert Text"           mime-editor/insert-text)
+     (tag      "Insert Tag"            mime-editor/insert-tag)
+     (alternative "Enclose as alternative"
+                 mime-editor/enclose-alternative-region)
+     (parallel "Enclose as parallel"   mime-editor/enclose-parallel-region)
+     (mixed    "Enclose as serial"     mime-editor/enclose-mixed-region)
+     (digest   "Enclose as digest"     mime-editor/enclose-digest-region)
+     (signed   "Enclose as signed"     mime-editor/enclose-signed-region)
+     (encrypted        "Enclose as encrypted"  mime-editor/enclose-encrypted-region)
+     (split     "About split"           mime-editor/set-split)
+     )
+   (if (and (featurep 'mailcrypt)
+           (not (or mime-editor/signing-type mime-editor/encrypting-type)))
+       '((sign    "About sign"       mime-editor/set-sign)
+        (encrypt "About encryption" mime-editor/set-encrypt)
+        ))
+   '((preview  "Preview Message"       mime-editor/preview-message))
+   )
   "MIME-edit menubar entry.")
 
 (defun mime-editor/define-menu-for-emacs19 ()
@@ -746,7 +775,7 @@ just return to previous mode."
 (defun mime-editor/maybe-translate ()
   (interactive)
   (mime-editor/exit nil t)
-  (call-interactively 'mime-editor/split-and-send)
+  (call-interactively 'mime-editor/maybe-split-and-send)
   )
 
 (defun mime-editor/help ()
@@ -1382,13 +1411,126 @@ while if FLAG is `\\^M' (control-M) the text is hidden."
       (set-buffer-modified-p modp))))
 
 \f
-;; Translate the tagged MIME messages into a MIME compliant message.
+;;; @ Translate the tagged MIME messages into a MIME compliant message.
+;;;
 
 (defun mime-editor/translate-buffer ()
   "Encode the tagged MIME message in current buffer in MIME compliant message."
   (interactive)
-  (mime/encode-message-header)
-  (mime-editor/translate-body)
+  (save-excursion
+    (if (catch 'mime-editor/error
+         (mime/encode-message-header)
+         (mime-editor/translate-body)
+         (mime-editor/pgp-processing)
+         )
+       (error "Translation error!")
+      )))
+
+(defun mime-editor/find-inmost ()
+  (goto-char (point-min))
+  (if (re-search-forward mime-editor/multipart-beginning-regexp nil t)
+      (let ((bb (match-beginning 0))
+           (be (match-end 0))
+           (type (buffer-substring (match-beginning 1)(match-end 1)))
+           end-exp eb ee)
+       (setq end-exp (format "^--}-<<%s>>\n" type))
+       (widen)
+       (if (re-search-forward end-exp nil t)
+           (progn
+             (setq eb (match-beginning 0))
+             (setq ee (match-end 0))
+             )
+         (setq eb (point-max))
+         (setq ee (point-max))
+         )
+       (narrow-to-region be eb)
+       (goto-char be)
+       (if (re-search-forward mime-editor/multipart-beginning-regexp nil t)
+           (let (ret)
+             (narrow-to-region (match-beginning 0)(point-max))
+             (mime-editor/find-inmost)
+             )
+         (widen)
+         ;;(delete-region eb ee)
+         (list type bb be eb)
+         ))))
+
+(defun mime-editor/process-multipart-1 (boundary)
+  (let ((ret (mime-editor/find-inmost)))
+    (if ret
+       (let ((type (car ret))
+             (bb (nth 1 ret))(be (nth 2 ret))
+             (eb (nth 3 ret))
+             )
+         (narrow-to-region bb eb)
+         (delete-region bb be)
+         (setq bb (point-min))
+         (setq eb (point-max))
+         (widen)
+         (goto-char eb)
+         (if (looking-at mime-editor/multipart-end-regexp)
+             (let ((beg (match-beginning 0))
+                   (end (match-end 0))
+                   )
+               (delete-region beg end)
+               (if (and (not (looking-at mime-editor/single-part-tag-regexp))
+                        (not (eobp)))
+                   (insert (concat (mime-make-text-tag) "\n"))
+                 )))
+         (cond ((string= type "signed")
+                (cond ((eq mime-editor/signing-type 'pgp-elkins)
+                       (message "Sorry, it is not supported yet")
+                       )
+                      ((eq mime-editor/signing-type 'pgp-kazu)
+                       (mime-editor/process-pgp-kazu 'mc-sign
+                                                     bb eb boundary)
+                       )
+                      ))
+               ((string= type "encrypted")
+                (cond ((eq mime-editor/signing-type 'pgp-elkins)
+                       (message "Sorry, it is not supported yet")
+                       )
+                      ((eq mime-editor/signing-type 'pgp-kazu)
+                       (mime-editor/process-pgp-kazu 'mc-encrypt
+                                                     bb eb boundary)
+                       )))
+               (t
+                (setq boundary
+                      (nth 2 (mime-editor/translate-region bb eb
+                                                           boundary t)))
+                (goto-char bb)
+                (insert
+                 (format "--[[multipart/%s;
+ boundary=\"%s\"][7bit]]\n"
+                         type boundary))
+                ))
+         boundary))))
+
+(defun mime-editor/process-pgp-kazu (type beg end boundary)
+  (save-restriction
+    (narrow-to-region beg end)
+    (let* ((ret
+           (mime-editor/translate-region beg end boundary))
+          (ctype    (car ret))
+          (encoding (nth 1 ret))
+          (parts    (nth 3 ret))
+          )
+      (goto-char beg)
+      (insert (format "Content-Type: %s\n" ctype))
+      (if encoding
+         (insert (format "Content-Transfer-Encoding: %s\n" encoding))
+       )
+      (insert "\n")
+      (if (null
+          (let ((mail-header-separator ""))
+            (call-interactively type)
+            ))
+         (throw 'mime-editor/error 'pgp-error)
+       )
+      (goto-char beg)
+      (insert
+       "--[[application/pgp; format=mime][7bit]]\n")
+      ))
   )
 
 (defun mime-editor/translate-body ()
@@ -1496,7 +1638,7 @@ while if FLAG is `\\^M' (control-M) the text is hidden."
                 )
               ;; Define Content-Type as "multipart/mixed".
               (setq contype
-                    (concat "multipart/mixed; boundary=\"" boundary "\""))
+                    (concat "multipart/mixed;\n boundary=\"" boundary "\""))
               ;; Content-Transfer-Encoding must be "7bit".
               ;; The following encoding can be `nil', but is
               ;; specified as is since there is no way that a user
@@ -1867,68 +2009,6 @@ a recording host instead of local host."
          )
        ))))
 
-;;; mime.el ends here
-
-(defun mime-editor/find-inmost ()
-  (goto-char (point-min))
-  (if (re-search-forward mime-editor/multipart-beginning-regexp nil t)
-      (let ((bb (match-beginning 0))
-           (be (match-end 0))
-           (type (buffer-substring (match-beginning 1)(match-end 1)))
-           end-exp eb ee)
-       (setq end-exp (format "^--}-<<%s>>\n" type))
-       (widen)
-       (if (re-search-forward end-exp nil t)
-           (progn
-             (setq eb (match-beginning 0))
-             (setq ee (match-end 0))
-             )
-         (setq eb (point-max))
-         (setq ee (point-max))
-         )
-       (narrow-to-region be eb)
-       (goto-char be)
-       (if (re-search-forward mime-editor/multipart-beginning-regexp nil t)
-           (let (ret)
-             (narrow-to-region (match-beginning 0)(point-max))
-             (mime-editor/find-inmost)
-             )
-         (widen)
-         ;;(delete-region eb ee)
-         (list type bb be eb)
-         ))))
-
-(defun mime-editor/process-multipart-1 (boundary)
-  (let ((ret (mime-editor/find-inmost)))
-    (if ret
-       (let ((type (car ret))
-             (bb (nth 1 ret))(be (nth 2 ret))
-             (eb (nth 3 ret))
-             )
-         (narrow-to-region bb eb)
-         (delete-region bb be)
-         (setq bb (point-min))
-         (setq eb (point-max))
-         (widen)
-         (goto-char eb)
-         (if (looking-at mime-editor/multipart-end-regexp)
-             (let ((beg (match-beginning 0))
-                   (end (match-end 0))
-                   )
-               (delete-region beg end)
-               (if (and (not (looking-at mime-editor/single-part-tag-regexp))
-                        (not (eobp)))
-                   (insert (concat (mime-make-text-tag) "\n"))
-                 )))
-         (setq boundary
-               (nth 2 (mime-editor/translate-region bb eb
-                                                    boundary t)))
-         (goto-char bb)
-         (insert
-          (format "--[[multipart/%s; boundary=\"%s\"][7bit]]\n"
-                  type boundary))
-         boundary))))
-
 
 ;;; @ multipart enclosure
 ;;;
@@ -1980,6 +2060,101 @@ a recording host instead of local host."
   (mime-editor/enclose-region "alternative" beg end)
   )
 
+(defun mime-editor/enclose-signed-region (beg end)
+  (interactive "*r")
+  (if mime-editor/signing-type
+      (mime-editor/enclose-region "signed" beg end)
+    (message "Please specify signing type.")
+    ))
+
+(defun mime-editor/enclose-encrypted-region (beg end)
+  (interactive "*r")
+  (if mime-editor/signing-type
+      (mime-editor/enclose-region "encrypted" beg end)
+    (message "Please specify encrypting type.")
+    ))
+
+
+;;; @ flag setting
+;;;
+
+(defun mime-editor/set-split (arg)
+  (interactive
+   (list
+    (y-or-n-p "Do you want to enable split?")
+    ))
+  (setq mime-editor/split-message arg)
+  (if arg
+      (message "This message is enabled to split.")
+    (message "This message is not enabled to split.")
+    ))
+
+
+;;; @ pgp
+;;;
+
+(defun mime-editor/set-sign (arg)
+  (interactive
+   (list
+    (y-or-n-p "Do you want to sign?")
+    ))
+  (if arg
+      (progn
+       (setq mime-editor/pgp-processing 'sign)
+       (message "This message will be signed.")
+       )
+    (if (eq mime-editor/pgp-processing 'sign)
+       (setq mime-editor/pgp-processing nil)
+      )
+    (message "This message will not be signed.")
+    ))
+
+(defun mime-editor/set-encrypt (arg)
+  (interactive
+   (list
+    (y-or-n-p "Do you want to encrypt?")
+    ))
+  (if arg
+      (progn
+       (setq mime-editor/pgp-processing 'encrypt)
+       (message "This message will be encrypt.")
+       )
+    (if (eq mime-editor/pgp-processing 'encrypt)
+       (setq mime-editor/pgp-processing nil)
+      )
+    (message "This message will not be encrypt.")
+    ))
+
+(defvar mime-editor/pgp-processing nil)
+(make-variable-buffer-local 'mime-editor/pgp-processing)
+
+(defun mime-editor/call-mc (command)
+  (let* ((header (rfc822/get-header-string-except
+                 "^Content-Type:" mail-header-separator)))
+    (goto-char (point-min))
+    (if (search-forward mail-header-separator)
+       (replace-match "")
+      )
+    (goto-char (point-min))
+    (insert header)
+    (insert "Content-Type: application/pgp; format=mime\n")
+    (insert mail-header-separator)
+    (insert "\n")
+    (if (null (call-interactively command))
+       (throw 'mime-editor/error 'pgp-error)
+      )
+    ))
+
+(defun mime-editor/pgp-processing ()
+  (let ((command
+        (cdr (assq mime-editor/pgp-processing
+                   '((sign    . mc-sign)
+                     (encrypt . mc-encrypt)
+                     )))))
+    (and command
+        (mime-editor/call-mc command)
+        )))
+
 
 ;;; @ split
 ;;;
@@ -1995,8 +2170,142 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n"
                  id number total separator))
   )
 
-(defun mime-editor/split-and-send (&optional cmd)
+(defun mime-editor/split-and-send
+  (&optional cmd lines mime-editor/message-max-length)
   (interactive)
+  (or lines
+      (setq lines
+           (count-lines (point-min) (point-max)))
+      )
+  (or mime-editor/message-max-length
+      (setq mime-editor/message-max-length
+           (or (cdr (assq major-mode mime-editor/message-max-length-alist))
+               mime-editor/message-default-max-length))
+      )
+  (let* ((mime-editor/draft-file-name 
+         (or (buffer-file-name)
+             (make-temp-name
+              (expand-file-name "tm-draft" mime/tmp-dir))))
+        (separator mail-header-separator)
+        (config
+         (eval (cdr (assq major-mode mime-editor/window-config-alist))))
+        (id (concat "\""
+                    (replace-space-with-underline (current-time-string))
+                    "@" (system-name) "\"")))
+    (run-hooks 'mime-editor/before-split-hook)
+    (let* ((header (rfc822/get-header-string-except
+                   mime-editor/split-ignored-field-regexp separator))
+          (subject (mail-fetch-field "subject"))
+          (total (+ (/ lines mime-editor/message-max-length)
+                    (if (> (mod lines mime-editor/message-max-length) 0)
+                        1)))
+          (the-buf (current-buffer))
+          (buf (get-buffer "*tmp-send*"))
+          (command
+           (or cmd
+               (cdr
+                (assq major-mode
+                      mime-editor/split-message-sender-alist))
+               (cdr
+                (assq major-mode
+                      mime-editor/message-default-sender-alist))
+               ))
+          data)
+      (goto-char (point-min))
+      (if (re-search-forward (concat "^" (regexp-quote separator) "$")
+                            nil t)
+         (replace-match "")
+       )
+      (if buf
+         (progn
+           (switch-to-buffer buf)
+           (erase-buffer)
+           (switch-to-buffer the-buf)
+           )
+       (setq buf (get-buffer-create "*tmp-send*"))
+       )
+      (switch-to-buffer buf)
+      (make-local-variable 'mail-header-separator)
+      (setq mail-header-separator separator)
+      (switch-to-buffer the-buf)
+      (goto-char (point-min))
+      (re-search-forward "^$" nil t)
+      (let ((mime-editor/partial-number 1))
+       (setq data (buffer-substring
+                   (point-min)
+                   (progn
+                     (goto-line mime-editor/message-max-length)
+                     (point))
+                   ))
+       (delete-region (point-min)(point))
+       (switch-to-buffer buf)
+       (mime-editor/insert-partial-header
+        header subject id mime-editor/partial-number total separator)
+       (insert data)
+       (save-excursion
+         (save-restriction
+           (goto-char (point-min))
+           (search-forward (concat "\n" mail-header-separator "\n"))
+           (narrow-to-region
+            (match-end 0)
+            (if (re-search-forward "^$" nil t)
+                (match-beginning 0)
+              (point-max)
+              ))
+           (goto-char (point-min))
+           (while (re-search-forward
+                   mime-editor/split-blind-field-regexp nil t)
+             (delete-region (match-beginning 0)
+                            (let ((e (rfc822/field-end)))
+                              (if (< e (point-max))
+                                  (1+ e)
+                                e)))
+             )
+           ))
+       (save-excursion
+         (message (format "Sending %d/%d..."
+                          mime-editor/partial-number total))
+         (call-interactively command)
+         (message (format "Sending %d/%d... done"
+                          mime-editor/partial-number total))
+         )
+       (erase-buffer)
+       (switch-to-buffer the-buf)
+       (setq mime-editor/partial-number 2)
+       (while (< mime-editor/partial-number total)
+         (setq data (buffer-substring
+                     (point-min)
+                     (progn
+                       (goto-line mime-editor/message-max-length)
+                       (point))
+                     ))
+         (delete-region (point-min)(point))
+         (switch-to-buffer buf)
+         (mime-editor/insert-partial-header
+          header subject id mime-editor/partial-number total separator)
+         (insert data)
+         (save-excursion
+           (message (format "Sending %d/%d..."
+                            mime-editor/partial-number total))
+           (call-interactively command)
+           (message (format "Sending %d/%d... done"
+                            mime-editor/partial-number total))
+           )
+         (erase-buffer)
+         (switch-to-buffer the-buf)
+         (setq mime-editor/partial-number
+               (1+ mime-editor/partial-number))
+         )
+       (goto-char (point-min))
+       (mime-editor/insert-partial-header
+        header subject id mime-editor/partial-number total separator)
+       (message (format "Sending %d/%d..."
+                        mime-editor/partial-number total))
+       ))))
+
+(defun mime-editor/maybe-split-and-send (&optional cmd)
+  (interactive)
+  (run-hooks 'mime-editor/before-send-hook)
   (let ((mime-editor/message-max-length
         (or (cdr (assq major-mode mime-editor/message-max-length-alist))
             mime-editor/message-default-max-length))
@@ -2004,126 +2313,8 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n"
        )
     (if (and (> lines mime-editor/message-max-length)
             mime-editor/split-message)
-       (let* ((mime-editor/draft-file-name 
-               (or (buffer-file-name)
-                   (make-temp-name
-                    (expand-file-name "tm-draft" mime/tmp-dir))))
-              (separator mail-header-separator)
-              (config
-               (eval (cdr (assq major-mode mime-editor/window-config-alist))))
-              (id (concat "\""
-                          (replace-space-with-underline (current-time-string))
-                          "@" (system-name) "\"")))
-         (run-hooks 'mime-editor/before-split-hook)
-         (let* ((header (rfc822/get-header-string-except
-                         mime-editor/split-ignored-field-regexp separator))
-                (subject (mail-fetch-field "subject"))
-                (total (+ (/ lines mime-editor/message-max-length)
-                          (if (> (mod lines mime-editor/message-max-length) 0)
-                              1)))
-                (the-buf (current-buffer))
-                (buf (get-buffer "*tmp-send*"))
-                (command
-                 (or cmd
-                     (cdr
-                      (assq major-mode
-                            mime-editor/split-message-sender-alist))
-                     (cdr
-                      (assq major-mode
-                            mime-editor/message-default-sender-alist))
-                     ))
-                data)
-           (goto-char (point-min))
-           (if (re-search-forward (concat "^" (regexp-quote separator) "$")
-                                  nil t)
-               (replace-match "")
-             )
-           (if buf
-               (progn
-                 (switch-to-buffer buf)
-                 (erase-buffer)
-                 (switch-to-buffer the-buf)
-                 )
-             (setq buf (get-buffer-create "*tmp-send*"))
-             )
-           (switch-to-buffer buf)
-           (make-local-variable 'mail-header-separator)
-           (setq mail-header-separator separator)
-           (switch-to-buffer the-buf)
-           (goto-char (point-min))
-           (re-search-forward "^$" nil t)
-           (let ((mime-editor/partial-number 1))
-             (setq data (buffer-substring
-                         (point-min)
-                         (progn
-                           (goto-line mime-editor/message-max-length)
-                           (point))
-                         ))
-             (delete-region (point-min)(point))
-             (switch-to-buffer buf)
-             (mime-editor/insert-partial-header
-              header subject id mime-editor/partial-number total separator)
-             (insert data)
-             (save-excursion
-               (save-restriction
-                 (goto-char (point-min))
-                 (search-forward (concat "\n" mail-header-separator "\n"))
-                 (narrow-to-region
-                  (match-end 0)
-                  (if (re-search-forward "^$" nil t)
-                      (match-beginning 0)
-                    (point-max)
-                    ))
-                 (goto-char (point-min))
-                 (while (re-search-forward
-                         mime-editor/split-blind-field-regexp nil t)
-                   (delete-region (match-beginning 0)
-                                  (let ((e (rfc822/field-end)))
-                                    (if (< e (point-max))
-                                        (1+ e)
-                                      e)))
-                   )
-                 ))
-             (save-excursion
-               (message (format "Sending %d/%d..."
-                                mime-editor/partial-number total))
-               (call-interactively command)
-               (message (format "Sending %d/%d... done"
-                                mime-editor/partial-number total))
-               )
-             (erase-buffer)
-             (switch-to-buffer the-buf)
-             (setq mime-editor/partial-number 2)
-             (while (< mime-editor/partial-number total)
-               (setq data (buffer-substring
-                           (point-min)
-                           (progn
-                             (goto-line mime-editor/message-max-length)
-                             (point))
-                           ))
-               (delete-region (point-min)(point))
-               (switch-to-buffer buf)
-               (mime-editor/insert-partial-header
-                header subject id mime-editor/partial-number total separator)
-               (insert data)
-               (save-excursion
-                 (message (format "Sending %d/%d..."
-                                  mime-editor/partial-number total))
-                 (call-interactively command)
-                 (message (format "Sending %d/%d... done"
-                                  mime-editor/partial-number total))
-                 )
-               (erase-buffer)
-               (switch-to-buffer the-buf)
-               (setq mime-editor/partial-number
-                     (1+ mime-editor/partial-number))
-               )
-             (goto-char (point-min))
-             (mime-editor/insert-partial-header
-              header subject id mime-editor/partial-number total separator)
-             (message (format "Sending %d/%d..."
-                              mime-editor/partial-number total))
-             ))))))
+       (mime-editor/split-and-send cmd lines mime-editor/message-max-length)
+      )))
 
 
 ;;; @ preview message
@@ -2194,7 +2385,7 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n"
 
 (defun mime-editor/draft-preview ()
   (interactive)
-  (let ((sep (assoc-value major-mode mime-editor/draft-header-separator-alist)))
+  (let ((sep (cdr (assq major-mode mime-editor/draft-header-separator-alist))))
     (or (stringp sep) (setq sep (eval sep)))
     (make-variable-buffer-local 'mime::article/draft-header-separator)
     (goto-char (point-min))
@@ -2256,3 +2447,5 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n"
 (provide 'tm-edit)
 
 (run-hooks 'tm-edit-load-hook)
+
+;;; tm-edit.el ends here
index c1e0dce..6eee1ca 100644 (file)
@@ -6,11 +6,28 @@
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Version:
-;;;    $Id: tm-file.el,v 3.0 1995/12/07 11:22:08 morioka Exp $
+;;;    $Id: tm-file.el,v 6.0 1995/12/09 03:49:51 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
 ;;;
+;;; This file is part of tm (Tools for MIME).
+;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 2, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with This program.  If not, write to the Free Software
+;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;
+;;; Code:
 
 (require 'tm-view)
 
     (save-excursion
       (set-buffer tmp-buf)
       (mime/decode-region encoding (point-min)(point-max))
-      (let ((file-coding-system *noconv*)
-           jka-compr-compression-info-list
-           jam-zcat-filename-list)
+      (let ((mc-flag nil)                   ; for Mule
+           (file-coding-system
+            (if (featurep 'mule) *noconv*))
+           kanji-flag                      ; for NEmacs
+           (emx-binary-mode t)             ; for OS/2
+           jka-compr-compression-info-list ; for jka-compr
+           jam-zcat-filename-list          ; for jam-zcat
+           require-final-newline)
        (write-file filename)
        )
       (kill-buffer tmp-buf)
index 3dbfa3f..f4fc429 100644 (file)
@@ -6,11 +6,26 @@
 ;;;
 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Version:
-;;;    $Id: tm-parse.el,v 6.0 1995/11/15 11:56:10 morioka Exp $
+;;;    $Id: tm-parse.el,v 7.0 1995/12/09 01:56:28 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
 ;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 2, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with This program.  If not, write to the Free Software
+;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;
+;;; Code:
 
 (require 'tl-822)
 (require 'tl-misc)
@@ -123,7 +138,8 @@ If is is not found, return DEFAULT-ENCODING. [tm-parse.el]"
        )
       (setq children (cons ret children))
       )
-    (mime::content-info/create rcnum beg end ctype params encoding
+    (mime::content-info/create rcnum beg (point-max)
+                              ctype params encoding
                               (reverse children))
     ))
 
diff --git a/tm-pgp.el b/tm-pgp.el
new file mode 100644 (file)
index 0000000..48282ec
--- /dev/null
+++ b/tm-pgp.el
@@ -0,0 +1,184 @@
+;;;
+;;; tm-pgp.el --- tm-view internal methods for PGP.
+;;;
+;;; Copyright (C) 1995 Free Software Foundation, Inc.
+;;; Copyright (C) 1995 MORIOKA Tomohiko
+;;;
+;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;;; Created: 1995/12/7
+;;; Version:
+;;;    $Id: tm-pgp.el,v 4.0 1995/12/09 08:37:21 morioka Exp $
+;;; Keywords: mail, news, MIME, multimedia, PGP, security
+;;;
+;;; This file is part of tm (Tools for MIME).
+;;;
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 2, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with This program.  If not, write to the Free Software
+;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;
+;;; Commentary:
+;;;    This module is based on 2 drafts about PGP MIME integration:
+;;;    - draft-elkins-pem-pgp-01.txt
+;;;            ``MIME Security with Pretty Good Privacy (PGP)''
+;;;            by Michael Elkins <elkins@aero.org> (1995/9)
+;;;    - draft-kazu-pgp-mime-00.txt
+;;;            ``PGP MIME Integration''
+;;;            by Kazuhiko Yamamoto <kazu@is.aist-nara.ac.jp> (1995/10)
+;;;    These drafts may be contrary to each other. You should decide
+;;;  which you support.
+;;;
+;;; Code:
+
+(require 'mailcrypt)
+(require 'tm-play)
+
+
+;;; @ internal method for application/pgp
+;;;
+;;; It is based on draft-kazu-pgp-mime-00.txt
+
+(defun mime-article/view-application/pgp (beg end cal)
+  (let* ((cnum (mime-article/point-content-number beg))
+        (cur-buf (current-buffer))
+        (new-name (format "%s-%s" (buffer-name) cnum))
+        (mother mime::article/preview-buffer)
+        (code-converter
+         (or (cdr (assq major-mode mime-viewer/code-converter-alist))
+             'mime-viewer/default-code-convert-region))
+        str)
+    (setq str (buffer-substring beg end))
+    (switch-to-buffer new-name)
+    (erase-buffer)
+    (insert str)
+    (cond ((progn
+            (goto-char (point-min))
+            (re-search-forward "^-+BEGIN PGP SIGNED MESSAGE-+$" nil t)
+            )
+          (mc-verify)
+          (goto-char (point-min))
+          (delete-region
+           (point-min)
+           (and
+            (re-search-forward "^-+BEGIN PGP SIGNED MESSAGE-+\n\n")
+            (match-end 0))
+           )
+          (delete-region
+           (and (re-search-forward "^-+BEGIN PGP SIGNATURE-+")
+                (match-beginning 0))
+           (point-max)
+           )
+          (goto-char (point-min))
+          (while (re-search-forward "^- -" nil t)
+            (replace-match "-")
+            )
+          )
+         ((progn
+            (goto-char (point-min))
+            (re-search-forward "^-+BEGIN PGP MESSAGE-+$" nil t)
+            )
+          (mc-decrypt)
+          (goto-char (point-min))
+          (delete-region (point-min)
+                         (and
+                          (search-forward "\n\n")
+                          (match-end 0)))
+          ))
+    (setq major-mode 'mime/show-message-mode)
+    (setq mime::article/code-converter code-converter)
+    (mime/viewer-mode mother)
+    ))
+
+(set-atype 'mime/content-decoding-condition
+          '((type . "application/pgp")
+            (method . mime-article/view-application/pgp)
+            ))
+
+
+;;; @ Internal method for application/pgp-signature
+;;;
+;;; It is based on draft-elkins-pem-pgp-01.txt
+
+(defun mime-article/check-pgp-signature (beg end cal)
+  (let* ((cnum (mime-article/point-content-number beg))
+        (rcnum (reverse cnum))
+        (rmcnum (cdr rcnum))
+        (knum (car rcnum))
+        (onum (if (>= knum 0)
+                  (1- knum)
+                (1+ knum)))
+        (oinfo (mime-article/rcnum-to-cinfo (cons onum rmcnum)
+                                            mime::article/content-info))
+        status str kbuf
+        (basename (expand-file-name "tm" mime/tmp-dir))
+        (orig-file (make-temp-name basename))
+        (sig-file (concat orig-file ".sig"))
+        )
+    (save-excursion
+      (setq str (buffer-substring
+                (mime::content-info/point-min oinfo)
+                (mime::content-info/point-max oinfo)
+                ))
+      (set-buffer (get-buffer-create mime/temp-buffer-name))
+      (insert str)
+      (goto-char (point-min))
+      (while (re-search-forward "\n" nil t)
+       (replace-match "\r\n")
+       )
+      (write-file orig-file)
+      (kill-buffer (current-buffer))
+      )
+    (save-excursion
+      (setq str (buffer-substring
+                (save-excursion
+                  (goto-char beg)
+                  (and (search-forward "\n\n")
+                       (match-end 0)))
+                end))
+      (set-buffer (setq kbuf (get-buffer-create mime/temp-buffer-name)))
+      (insert str)
+      (base64-decode-region (point-min)(point-max))
+      (let ((file-coding-system *noconv*)
+           jka-compr-compression-info-list
+           jam-zcat-filename-list)
+       (write-file sig-file)
+       )
+      ;;(define-program-coding-system (current-buffer) "pgp" *noconv*)
+      (mime-article/show-output-buffer)
+      (setq status
+           (call-process-region (point-min)(point-max)
+                                "pgp"
+                                nil mime/output-buffer-name nil
+                                orig-file))
+      (kill-buffer kbuf)
+      (let ((other-window-scroll-buffer mime/output-buffer-name))
+       (scroll-other-window 8)
+       )
+      ;; (if (= status 0)
+      ;;     (message "Good signature!")
+      ;;   (message "Bad signature!")
+      ;;   )
+      (delete-file orig-file)
+      (delete-file sig-file)
+      )))
+
+(set-atype 'mime/content-decoding-condition
+          '((type . "application/pgp-signature")
+            (method . mime-article/check-pgp-signature)
+            ))
+
+        
+;;; @ end
+;;;
+
+(provide 'tm-pgp)
index 49016a2..f94b373 100644 (file)
@@ -8,7 +8,7 @@
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1995/9/26 (separated from tm-view.el)
 ;;; Version:
-;;;    $Id: tm-play.el,v 7.5 1995/12/07 08:01:31 morioka Exp $
+;;;    $Id: tm-play.el,v 7.9 1995/12/10 20:33:48 morioka Exp $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -39,7 +39,7 @@
 
 (defun mime-preview/decode-content ()
   (interactive)
-  (let ((pc (mime::point-preview-content (point))))
+  (let ((pc (mime-preview/point-pcinfo (point))))
     (if pc
        (let ((the-buf (current-buffer)))
          (setq mime-preview/after-decoded-position (point))
          format))
 
 (defun mime-article/show-output-buffer (&rest forms)
+  (get-buffer-create mime/output-buffer-name)
   (let ((the-win (selected-window))
        (win (get-buffer-window mime/output-buffer-name))
        )
                )
            (write-region (point) (point-max) file)
            )
-         (if (get-buffer "*MIME-temp*")
-             (kill-buffer "*MIME-temp*")
+         (if (get-buffer mime/temp-buffer-name)
+             (kill-buffer mime/temp-buffer-name)
            )
-         (switch-to-buffer "*MIME-temp*")
+         (switch-to-buffer mime/temp-buffer-name)
          (let ((i 1)
                (max (string-to-int total))
                (file-coding-system-for-read (if (boundp 'MULE)
        (let ((file-coding-system-for-read
               (if (boundp 'MULE) *noconv*))
              kanji-fileio-code)
-         (find-file file)
+         (set-buffer (get-buffer-create "FULL"))
+         (insert-file-contents file)
          )
        (setq major-mode 'mime/show-message-mode)
        (mime/viewer-mode mother)
index 315fee4..767e49b 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.31.1.1 $
+;;; Version: $Revision: 7.32.1.2 $
 ;;; Keywords: mail, news, MIME, multimedia
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -26,6 +26,8 @@
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with This program.  If not, write to the Free Software
 ;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;;
+;;; Code:
 
 (require 'tl-str)
 (require 'tl-list)
@@ -42,7 +44,7 @@
 ;;;
 
 (defconst mime-viewer/RCS-ID
-  "$Id: tm-view.el,v 7.31.1.1 1995/12/07 10:17:14 morioka Exp $")
+  "$Id: tm-view.el,v 7.32.1.2 1995/12/10 20:29:06 morioka Exp $")
 
 (defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID))
 (defconst mime/viewer-version mime-viewer/version)
 (defvar mime-viewer/content-subject-omitting-Content-Type-list
   '("application/x-selection"))
 
+(defvar mime-viewer/content-subject-showing-Content-Type-list
+  '("application/pgp"))
+
 (defvar mime-viewer/uuencode-encoding-name-list '("x-uue" "x-uuencode"))
 
 (defvar mime-viewer/ignored-field-list
@@ -212,8 +217,7 @@ Each elements are regexp of field-name. [tm-view.el]")
   (if (and (consp rcnum)
           (not (member
                 ctype
-                mime-viewer/content-subject-omitting-Content-Type-list))
-          )
+                mime-viewer/content-subject-omitting-Content-Type-list)))
       (mime-viewer/insert-content-subject
        rcnum cinfo ctype params subj)
     ))
@@ -416,6 +420,14 @@ The compressed face will be piped to this command.")
     (if (mime-viewer/header-visible-p rcnum cinfo ctype)
        (mime-viewer/display-header beg he obuf)
       )
+    (if (and (null rcnum)
+            (member
+             ctype mime-viewer/content-subject-showing-Content-Type-list))
+       (save-excursion
+         (set-buffer obuf)
+         (goto-char (point-max))
+         (mime-viewer/insert-content-subject rcnum cinfo ctype params subj)
+         ))
     (cond ((mime-viewer/body-visible-p rcnum cinfo ctype)
           (mime-viewer/display-body he end obuf
                                     rcnum cinfo ctype params subj encoding)
@@ -588,7 +600,7 @@ The compressed face will be piped to this command.")
       )
     dest))
 
-(defun mime::point-preview-content (p &optional pcl)
+(defun mime-preview/point-pcinfo (p &optional pcl)
   (or pcl
       (setq pcl mime::preview/content-list)
       )
@@ -816,7 +828,7 @@ listed in key order:
 
 (defun mime-preview/point-content-number (point)
   (save-window-excursion
-    (let ((pc (mime::point-preview-content (point)))
+    (let ((pc (mime-preview/point-pcinfo (point)))
          cinfo)
       (switch-to-buffer (mime::preview-content-info/buffer pc))
       (setq cinfo (mime::preview-content-info/content-info pc))
@@ -865,7 +877,7 @@ listed in key order:
 
 (defun mime-viewer/up-content ()
   (interactive)
-  (let ((pc (mime::point-preview-content (point))) cinfo
+  (let ((pc (mime-preview/point-pcinfo (point))) cinfo
        (the-buf (current-buffer))
        rcnum r)
     (switch-to-buffer (mime::preview-content-info/buffer pc))
@@ -1014,7 +1026,7 @@ listed in key order:
       )
   (or buf
       (setq buf (mime::preview-content-info/buffer
-                (mime::point-preview-content (point))))
+                (mime-preview/point-pcinfo (point))))
       )
   (let ((r (progn
             (switch-to-buffer buf)
index 8bc072d..b5b1174 100644 (file)
--- a/tm-vm.el
+++ b/tm-vm.el
@@ -11,7 +11,7 @@
 ;;; modified by SHIONO Jun'ichi <jun@case.nm.fujitsu.co.jp>
 ;;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
 ;;; Created: 1994/10/29
-;;; Version: $Revision: 7.30 $
+;;; Version: $Revision: 7.31 $
 ;;; Keywords: news, MIME, multimedia, multilingual, encoded-word
 ;;;
 ;;; This file is part of tm (Tools for MIME).
@@ -36,7 +36,7 @@
 (require 'vm)
 
 (defconst tm-vm/RCS-ID
-  "$Id: tm-vm.el,v 7.30 1995/12/07 10:23:55 morioka Exp $")
+  "$Id: tm-vm.el,v 7.31 1995/12/08 22:32:55 morioka Exp $")
 (defconst tm-vm/version (get-version-string tm-vm/RCS-ID))
 
 (define-key vm-mode-map "Z" 'tm-vm/view-message)
@@ -655,7 +655,9 @@ only marked messages will be put into the digest."
     (autoload 'tm-mail/insert-message "tm-mail")
     (set-alist 'mime-editor/message-inserter-alist
               'mail-mode (function tm-mail/insert-message))
-    (add-hook 'vm-mail-mode-hook 'mime-editor/attach-to-vm-mode-menu)
+    (if (string-match "XEmacs\\|Lucid" emacs-version)
+       (add-hook 'vm-mail-mode-hook 'mime-editor/attach-to-vm-mode-menu)
+      )
     )))
 
 (call-after-loaded