From: morioka Date: Mon, 9 Mar 1998 12:10:43 +0000 (+0000) Subject: tm 7.32. X-Git-Tag: tm7_32~1 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f94c46d394e1304bcc35fee20db5523746cf7a7a;p=elisp%2Ftm.git tm 7.32. --- diff --git a/Changes-7.32.en b/Changes-7.32.en new file mode 100644 index 0000000..44f524b --- /dev/null +++ b/Changes-7.32.en @@ -0,0 +1,102 @@ +Mon Dec 11 18:02:36 1995 Morioka Tomohiko + + * 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 + + * 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 + + * tm-pgp.el (mime-article/check-pgp-signature): Status does not + work. + +Sat Dec 9 08:32:56 1995 Morioka Tomohiko + + * tm-edit.el (mime-editor/process-multipart-1): + Boundary is folded. + + * tm-edit.el: rearrangement + +Sat Dec 9 04:58:16 1995 Morioka Tomohiko + + * 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 + + * 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 + + * 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 + + * tm-file.el: setting for another variables to regard as binary. + +Sat Dec 9 02:04:41 1995 Morioka Tomohiko + + * tm-view.el: + Function `mime-viewer/display-content' was fixed about judgement + of root content. + +Sat Dec 9 01:56:28 1995 Morioka Tomohiko + + * 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 + + * 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 + + * tm-pgp.el: Initial revision + +Fri Dec 8 22:32:55 1995 Morioka Tomohiko + + * tm-vm.el: According to Junya Watanabe + , fixed problem about XEmacs + menu in Emacs and Mule. + (cf. [tm-ja:1249]) + +Fri Dec 8 22:29:27 1995 Morioka Tomohiko + + * tm-view.el: New variable + `mime-viewer/content-subject-showing-Content-Type-list' + +Sat Dec 8 18:29:51 1995 Shuhei KOBAYASHI + + * tm-file.el(mime-article/extract-file): + Variable `require-final-newline' should be nil. diff --git a/Makefile b/Makefile index d23fcef..f9710f5 100644 --- 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: diff --git a/README.en b/README.en index 9716008..c4e2fa1 100644 --- a/README.en +++ b/README.en @@ -1,7 +1,7 @@ [README for tm (English Version)] by MORIOKA Tomohiko and KOBAYASHI Shuhei -$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 diff --git a/doc/Makefile b/doc/Makefile index 47b2545..70221ad 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -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 index 0000000..c146c2e --- /dev/null +++ b/doc/tm-ew-d_ja.texi @@ -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 $B$O(B RFC 1522 $B$G5,Dj$5$l$?(B encoded-word $B$r(B decode $B$9$k$3$H$,$G$-(B +$B$^$9!#(B + + +@deffn{Command} mime/decode-message-header + +current buffer $B$N(B message header $BCf$N(B encoded-word $B$r(B decode $B$7$^$9!#(B +@end deffn + + +@deffn{Command} mime-eword/decode-region beg end &optional unfolding + +@var{beg} $B$H(B @var{end} $B$G0O$^$l$?NN0hCf$N(B encoded-word $B$r(B decode $B$7$^(B +$B$9!#(B + +@var{unfolding} $B$,(B non-nil $B$N>l9g!"(Bfold $B$5$l$?(B field $B$r(B unfolding $B$7$^(B +$B$9!#(B +@end deffn + + +@deffn{Function} mime-eword/decode-string str + +@var{str} $B$N(B encoded-word $B$r(B decode $B$7$^$9!#(B + +fold $B$5$l$?J8;zNs$O(B unfolding $B$5$l$^$9!#(B +@end deffn diff --git a/doc/tm-ew_ja.texi b/doc/tm-ew_ja.texi new file mode 100644 index 0000000..6e04fb7 --- /dev/null +++ b/doc/tm-ew_ja.texi @@ -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 $B$O(B RFC 1522 $B$G5,Dj$5$l$?(B encoded-word $B$r07$&$?$a$N4X?t$r;}$C$F$$$^(B +$B$9!#(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 $B$N(B message header $B$r(B encoded-word $B$H$7$F(B encode $B$7$^$9!#(B +@end deffn + + +@deffn{Function} mime/encode-field str + +@var{str} $B$r(B field $B$H$7$F(B encode $B$7$^$9!#(B +@end deffn + + +@deffn{Function} mime-eword/encode-string str &optional column mode + +@var{str} $B$r(B encoded-word $B$H$7$F(B encode $B$7$^$9!#(B + +@var{column} $B$O$3$NJ8;zNs$,2?7eL\$+$i;O$^$C$F$$$k$+$r;XDj$7$^$9!#4{Dj(B +$BCM$O(B 0 $B$G$9!#(B + +@var{mode} $B$O$3$NJ8;zNs$,$I$&$$$&ItJ,$G;H$o$l$F$$$k$+$r<($7$^$9!#;XDj(B +$B$G$-$kCM$H$7$F$O(B @code{text}, @code{comment}, @code{phrase} $B$,$"$j$^$9!#(B +$B4{DjCM$O(B @code{phrase} $B$G$9!#(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 $B$N(B Subject: field $B$K(B encoded-word $B$,B8:_$9$k>l9g!"(B +Subject: field $B$N(B field-body $B$rJV$7$^$9!#(B +@end deffn diff --git a/doc/tm-gnus_ja.texi b/doc/tm-gnus_ja.texi index 24f2ea9..e39e816 100644 --- a/doc/tm-gnus_ja.texi +++ b/doc/tm-gnus_ja.texi @@ -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 @@ -31,28 +28,31 @@ @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 index 0000000..83f2c9a --- /dev/null +++ b/doc/tm-util_ja.texi @@ -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 $B$N(B customize + +tm $B$N(B customize $B$K$D$$$F@bL@$7$^$9!#(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 $B$d(B tm-edit.el $B$G$O(B message header field $B$NI=<(!&A*Br$K(B +@strong{field-list} $B$H(B @strong{field-regexp} $B$H$$$&BP$rMQ$$$^$9!#(B + +$B$3$3$G$O$3$NBP$rA`:n$9$k$?$a$N4X?t$r>R2p$7$^$9!#(B + + +@defun tm:add-fields sym field-list &optional regexp-sym + +symbol @var{sym} $B$G;X$5$l$?(B field-list $B$K(B @var{field-list} $B$rDI2C$7$^(B +$B$9!#(B +@end defun + + +@defun tm:add-fields sym field-list &optional regexp-sym + +symbol @var{sym} $B$G;X$5$l$?(B field-list $B$+$i(B @var{field-list} $B$r:o=|$7(B +$B$^$9!#(B +@end defun + + +@node available functions, example, fields, customize +@comment node-name, next, previous, up +@section $BM-MQ$J4X?t(B + +tm $B$N@_Dj$KM-MQ$J4X?t$r>R2p$7$^$9!#(B + + +@defun add-path path &rest options + +@code{load-path} $B$K(B @var{path} $B$rDI2C$7$^$9!#(B + +$BI8=`$G$O(B @code{default-load-path} $B$ND>2<$N$I$3$+$K(B @var{path} $B$,B8:_$7(B +$B$F$$$k;~$N$_!"(B@code{load-path} $B$N@hF,$KE83+$7$?7A$GDI2C$7$^$9!#(B + +@var{options} $B$K(B @code{'all-paths} $B$,B8:_$9$k>l9g!"(B@code{load-path} $BA4(B +$BBN$+$i(B @var{path} $B$rC5:w$7$^$9!#(B + +@var{options} $B$K(B @code{'append} $B$,B8:_$9$k>l9g!"(B@code{load-path} $B$NKv(B +$BHx$KDI2C$7$^$9!#(B +@end defun + + +@defun call-after-loaded module func &optional hook-name + +@var{module} $B$,(B provide $B$5$l$F$$$l$P(B @var{func} $B$r$9$0$K8F$S!"$=$&$G$J(B +$B$1$l$P!"(B@var{module} $B$,(B load $B$5$l$?;~$K(B @var{func} $B$,8F$P$l$k$h$&$K!"(B +@var{hook-name} $B$K(B add-hook $B$7$^$9!#(B + +@var{hook-name} $B$,>JN,$5$l$?>l9g!"(B@code{MODULE-load-hook} $B$,MQ$$$i$l$^(B +$B$9!#(B +@end defun + + +@node example, , available functions, customize +@comment node-name, next, previous, up +@section example + +tm $B$N(B customize $B$NNc$r<($7$^$9!#(B + + +@subsection preview-buffer $B$GI=<($5$l$k(B field $B$NJQ99(B + +$BI8=`@_Dj$K2C$(!"(B"Mail-From", "Expires", "Xref", "Approved", "Sender", +"X-.*" $B$bI=<($7$J$$$h$&$K$7$^$9!#(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 $B$r;H$C$?(B face $B$N@_DjNc(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 $BIUB0$N(B browse-url.el $B$N@_DjNc(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 index 0000000..e314332 --- /dev/null +++ b/doc/tm-view-a_ja.texi @@ -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 $B$G(B MIME content $B$K4X$9$k>pJs$r3JG<$9$k$?$a$N9=B$BN!#C1(B +$B$K(B @strong{content-info} $B$H$b8F$V!#(B + +@table @var +@item rcnum +@strong{reversed content-number} (list) + +@item point-min +article-buffer $B$K$*$1$k@hF,(B point + +@item point-max +article-buffer $B$K$*$1$kKvHx(B point + +@item type +content-type/sub-type$B!JJ8;zNs!"$^$?$O!"(Bnil$B!K(B + +@item parameters +Content-Type field $B$N(B parameter $B!JO"A[(B list$B!K(B + +@item encoding +Content-Transfer-Encoding$B!JJ8;zNs!"$^$?$O!"(Bnil$B!K(B + +@item children +$B$3$N(B content $B$K4^$^$l$k(B contents$B!J(Bcontent-info $B$N(B list$B!K(B +@end table + +$B$"$k(B content $B$,(B multipart $B$b$7$/$O(B message/rfc822 $B$J$I$NJL$N(B content +$B$r4^$`$h$&$J(B content $B$G$"$C$?>l9g!"(B@var{children} $B$KJL$N(B content $B$N(B +content-info $B$,4^$^$l$k;v$K$h$C$F!"(Bcontent-info $B$OLZ9=B$$K$J$k!#(B + +$B$3$N9=B$BN$r;2>H$9$k$K$O!"(B@code{mime::content-info/$B%9%m%C%HL>(B} $B$H$$$&(B +content-info $B$r0z?t$K$H$k4X?t$rMQ$$$k!#(B + +@end defvr + + +@defvar mime::article/content-info + +article-buffer $B$r(B MIME message $B$H$7$F2r@O$7$?7k2L(B (content-info) +@end defvar + + +@defvar mime::article/preview-buffer + +article-buffer $B$KBP1~$9$k(B preview-buffer. +@end defvar + + +@defun mime-article/point-content-number point &optional cinfo + +content-info @var{cinfo} $B$G4IM}$5$l$kNN0h$K$*$$$F!"(B@var{point} $B$KBP1~(B +$B$9$k(B content-number $B$rJV$9!#(B + +@var{cinfo} $B$,>JN,$5$l$?>l9g$O!"(B@code{mime::article/content-info} $B$,MQ(B +$B$$$i$l$k!#(B +@end defun + + +@defun mime-article/rcnum-to-cinfo rcnum &optional cinfo + +content-info @var{cinfo} $B$G4IM}$5$l$kNN0h$K$*$$$F!"(B +reversed-content-number @var{rcnum} $B$KBP1~$9$k(B content-info $B$rJV$9!#(B + +@var{cinfo} $B$,>JN,$5$l$?>l9g$O!"(B@code{mime::article/content-info} $B$,MQ(B +$B$$$i$l$k!#(B +@end defun + + +@defun mime-article/cnum-to-cinfo rcnum &optional cinfo + +content-info @var{cinfo} $B$G4IM}$5$l$kNN0h$K$*$$$F!"(Bcontent-number +@var{rcnum} $B$KBP1~$9$k(B content-info $B$rJV$9!#(B + +@var{cinfo} $B$,>JN,$5$l$?>l9g$O!"(B@code{mime::article/content-info} $B$,MQ(B +$B$$$i$l$k!#(B +@end defun + + +@defun mime/flatten-content-info &optional cinfo + +content-info @var{cinfo} $BCf$KG<$a$i$l$?A4(B contents $B$N(B content-info $B$N(B +list $B$rJV$9!#(B + +@var{cinfo} $B$,>JN,$5$l$?>l9g$O!"(B@code{mime::article/content-info} $B$,MQ(B +$B$$$i$l$k!#(B +@end defun diff --git a/doc/tm-view-cb_ja.texi b/doc/tm-view-cb_ja.texi new file mode 100644 index 0000000..7300b03 --- /dev/null +++ b/doc/tm-view-cb_ja.texi @@ -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 + +$B$"$k(B content $B$N(B content-body $B$rI=<($9$k$+$I$&$+$O!"4X?t(B +@code{mime-viewer/body-visible-p} $B$,(B @code{t} $B$K$J$k$+$I$&$+$G7h$^$j$^(B +$B$9!#I8=`$G$O!"$"$k(B content $B$N(B content-type $B$,JQ?t(B +@code{mime-viewer/default-showing-Content-Type-list} $B$K@_Dj$5$l$F$$$k(B +$B;~$KI=<($5$l$^$9!#(B + +$B$"$k(B content $B$N(B content-body $B$,I=<($5$l$k;~!"(Bpreview buffer $B$K$O(B +content-body $B$r(B content-filter $B$K$h$C$F@07A$5$l$?$b$N$,I=<($5$l$^$9!#(B +$B8F$P$l$k(B content-filter $B$O(B article buffer $B$N(B major-mode $B$r(B key $B$H$7$F(B +$BJQ?t(B @code{mime-viewer/content-filter-alist} $B$+$iC5$5$l$^$9!#$b$7!"$3(B +$B$NJQ?t$KEPO?$5$l$F$$$J$+$C$?>l9g!"4X?t(B +@code{mime-viewer/default-content-filter} $B$,8F$P$l$^$9!#(B + + +@defvar mime-viewer/default-showing-Content-Type-list + +$BI=<($9$Y$-(B content-type $B$rMWAG$H$9$k(B list. +@end defvar + + +@deffn{Function} mime-viewer/body-visible-p rcnum cinfo &optional ctype + +reversed-content-number $B$,(B @var{rcnum} $B$G$"$k(B content $B$,I=<($5$l$k>l9g!"(B +@code{t} $B$rJV$9!#$=$N(B content $B$N(B content-type $B$,$"$i$+$8$a$o$+$C$F$$$k(B +$B>l9g!"(B@var{ctype} $B$K0z?t$H$7$FEO$9$3$H$,$G$-$k!#(B +@end deffn + + +@defvar mime-viewer/content-filter-alist + +article buffer $B$N(B major-mode $B$r(B key $B$H$7$?O"A[%j%9%H$G!"CMIt$K$O(B +content-filter $B$,F~$C$F$$$k!#(B +@end defvar + + +@deffn{Function} mime-viewer/default-content-filter rcnum cinfo ctype params subj + +$B$"$k(B content $B$N(B content-body $B$rI=<($9$Y$-;~!"JQ?t(B +@code{mime-viewer/content-filter-alist} $B$NCf$K(B content-filter $B$,8+$D$+(B +$B$i$J$+$C$?>l9g$K8F$S=P$5$l$k!#(B + +$BI8=`$G$O2?$b$7$J$$!#(B +@end deffn diff --git a/doc/tm-view-ch_ja.texi b/doc/tm-view-ch_ja.texi new file mode 100644 index 0000000..757e100 --- /dev/null +++ b/doc/tm-view-ch_ja.texi @@ -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 + +$B$"$k(B content $B$N(B reversed-content-number $B$r4X?t(B +@code{mime-viewer/header-visible-p} $B$KF~NO$7$F$=$NJV$jCM$,(B @code{t} $B$K(B +$B$J$k>l9g!"$=$N(B content $B$N(B content-header $B$,I=<($5$l$^$9!#$3$NH=Dj4X?t(B +$B$O!"0lHV>e$N(B content $B$G$J$/!"$=$N(B content $B$N?F$N(B content-type $B$,JQ?t(B +@code{mime-viewer/childrens-header-showing-Content-Type-list} $B$G;XDj$5(B +$B$l$F$$$k>l9g$K(B @code{t} $B$rJV$7$^$9!#(B + +$B$3$N>r7o$rJQ$($?$$>l9g$O!"$3$N4X?t$r:FDj5A$7$F2<$5$$!#C"$7!"I8=`$G$O!"(B +$BJQ?t(B @code{mime-viewer/childrens-header-showing-Content-Type-list} $B$r(B +$B;2>H$7$^$9$,!":FDj5A$7$?>l9g!"$3$NJQ?t$NM-8z@-$OJ]>Z$5$l$J$$$N$GCm0U$7(B +$B$F2<$5$$!#(B + +content-header $B$,I=<($5$l$k>l9g!"(Bcontent-header $B$O(B +content-header-filter $B$K$h$C$F@07A$5$l$^$9!#8F$P$l$k(B +content-header-filter $B$O(B article buffer $B$N(B major-mode $B$r(B key $B$H$7$FJQ(B +$B?t(B @code{mime-viewer/content-header-filter-alist} $B$+$iC5$5$l$^$9!#$b$7!"(B +content-header-filter $B$,8+$D$+$i$J$+$C$?>l9g!"4X?t(B +@code{mime-viewer/default-content-header-filter} $B$,8F$P$l$^$9!#(B + + +@defvar mime-viewer/childrens-header-showing-Content-Type-list + +$B$"$k(B content $B$N;R$KEv$?$k(B content $B$N(B content-header $B$rI=<($9$Y$-(B +Content-Type $B$r<}$a$?(B list. $B4{DjCM$O(B "message/rfc822" $B$G$"$k!#(B + +$B$3$NJQ?t$O4X?t(B @code{mime-viewer/header-visible-p} $B$K$h$C$F;2>H$5$l$k!#(B +@end defvar + + +@deffn{Function} mime-viewer/header-visible-p rcnum cinfo &optional ctype + +content-info @var{cinfo} $BCf$N(B reversed-content-number $B$,(B @var{rcnum} +$B$G$"$k(B content $B$N(B header $B$,I=<($5$l$k>l9g!"(Bt $B$rJV$9!#$=$N(B content $B$N(B +content-type $B$,$"$i$+$8$a$o$+$C$F$$$k>l9g!"(B@var{ctype} $B$K0z?t$H$7$FEO(B +$B$9$3$H$,$G$-$k!#(B +@end deffn + + +@defvar mime-viewer/content-header-filter-alist + +article-buffer $B$N(B major-mode $B$r(B key $B$H$7$?O"A[%j%9%H$G!"CMIt$K$O(B +content-header-filter $B$,F~$C$F$$$k!#(B +@end defvar + + +@deffn{Function} mime-viewer/default-content-header-filter + +$B$"$k(B content $B$N(B content-header $B$rI=<($9$Y$-;~!"JQ?t(B +@code{mime-viewer/content-header-filter-alist} $B$NCf$K(B +content-header-filter $B$,8+$D$+$i$J$+$C$?>l9g$K8F$S=P$5$l$k!#(B + +$BJQ?t(B @code{mime-viewer/ignored-field-regexp} $B$r;2>H$9$k!#(B +@end deffn + + +@defvar mime-viewer/ignored-field-list + +content-header $B$rI=<($9$k;~$K!"I=<($7$J$$(B field $B$r;XDj$9$k!#(B + +$B@55,I=8=$N(B list $B$K$J$C$F$*$j!"$3$NCM$r85$KJQ?t(B +@code{mime-viewer/ignored-field-regexp} $B$,:n$i$l$k!#(B + +$B$3$NJQ?t$OD>@\A`:n$;$:!"4X?t(B @code{tm:add-fields} $B$d(B +@code{tm:delete-fields} $B$r;H$C$FA`:n$9$k!#(B +@end defvar diff --git a/doc/tm-view-cs_ja.texi b/doc/tm-view-cs_ja.texi new file mode 100644 index 0000000..8aa39e9 --- /dev/null +++ b/doc/tm-view-cs_ja.texi @@ -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 $B$O(B content $B$N@hF,$K$"$C$F!"$=$N(B content $B$K4X$9$kBg$^$+(B +$B$J>pJs$rI=<($9$kItJ,$G$9!#(B + +$BI8=`$G$O(B + +@example + [1.3 test (text/plain)] +@end example + +$B$N$h$&$J46$8$KI=<($5$l$^$9!#(B + +$B:G=i$N?t;z$O(B message $BCf$N$3$N(B content $B$N0LCV$r@aHV9f$N$h$&$KI=$7$?$b$N(B +$B$G!"(Bcontent-number $B$H8F$S$^$9!#(B + +$B#2HVL\$NJ8;zNs$OI=Bj$rI=$7$^$9!#$3$N>pJs$O!"(B + +@itemize @bullet +@item Content-Type field $B$N(B name paramater $B$b$7$/$O(B x-name parameter +$B$K=q$+$l$?(B file $BL>(B +@item Content-Description field $B$b$7$/$O(B Subject field $B$K=q$+$l$?I=Bj(B +@item uuencode $B$N>l9g$N(B file $BL>(B +@end itemize + +$B$+$i:n$j$^$9!#$I$l$bB8:_$7$J$$>l9g$O6uGr$,I=<($5$l$^$9!#(B + +$B#3HVL\$N3g8L$NCf$N>pJs$O$=$N(B content $B$N(B content-type/subtype $B$rI=$7$^(B +$B$9!#Hs(B MIME part $B$N>l9g!"(B@code{nil} $B$,I=<($5$l$^$9!#(B + +$B$3$N(B content-subject $B$O(B content-header, content-body $B$rI=<($7$J$$>l9g!"(B +icon $B$N$h$&$JLr3d$r2L$?$7$^$9!#Nc$($P!"(B + +@example + [2 (image/gif)] +@end example + +$B$N>e$G(B `v' $B$r2!$;$P$3$3$KF~$C$F$$$k3($,I=<($5$l$^$9!#(B + + +@defvr{Variable} mime-viewer/content-subject-omitting-Content-Type-list + +$BI=<($7$J$$(B Content-Type $B$rMWAG$H$9$k(B list. $B4X?t(B +@code{mime-viewer/default-content-subject-function} $B$K$h$C$F;2>H$5$l$k!#(B +@end defvr + + +@deffn{Function} mime-viewer/default-content-subject-function rcnum cinfo ctype params subj + +$BI8=`$N(B content-subject $BI=<(4X?t!#JQ?t(B +@code{mime-viewer/content-subject-omitting-Content-Type-list} $B$r;2>H$7(B +$B$F$$$k!#(B +@end deffn + + +@defvar mime-viewer/content-subject-function rcnum cinfo ctype params subj + +content-subject $BI=<(4X?t$r@_Dj$9$k$?$a$NJQ?t!#4{DjCM$O4X?t(B +@code{mime-viewer/default-content-subject-function} $B$G$"$k!#(B + +$B$3$NJQ?t$K!"4X?t(B @code{mime-viewer/default-content-subject-function} +$B0J30$N4X?t$r@_Dj$7$?>l9g!"JQ?t(B +@code{mime-viewer/content-subject-omitting-Content-Type-list} $B$NM-8z@-(B +$B$OJ]>Z$5$l$J$$$N$GCm0U$9$k$3$H!#(B +@end defvar diff --git a/doc/tm-view-m_ja.texi b/doc/tm-view-m_ja.texi new file mode 100644 index 0000000..cff90dd --- /dev/null +++ b/doc/tm-view-m_ja.texi @@ -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} $B$G$O(B user $B$O3F(B content $B$KBP$7$F!"(Bplay +(@key{v}), extract (@key{e}), print (@key{C-c C-p}) $B$H$$$&A`:n$r9T$J$&(B +$B$3$H$,$G$-$^$9!#$3$&$7$?A`:n$N$3$H$r!X!J(Bcontent $B$KBP$9$k!K(Bdecode $BA`:n!Y(B +$B$H8F$V$3$H$K$7$^$9!#$^$?!"(B@strong{play}, @strong{extract}, +@strong{print} $B$H$$$&(B decode $BA`:n$Nr7o$d$=(B +$B$N>l$N4D6-$K1~$8$Fr7o$N@_Dj(B +* Format of method value:: method $B$NCMIt$N=q<0(B +* Example of decoding-condition:: $B@_DjNc(B +@end menu + + +@node decoding-condition, Format of method value, method, method +@comment node-name, next, previous, up +@subsubsection content $B$N(B decode $B>r7o$N@_Dj(B +@cindex content decoding condition + +tm-view $B$O(B decode $BA`:n$,9T$J$o$l$k$H!"JQ?t(B +@code{mime/content-decoding-condition} $B$+$i$=$N;~$N>r7o$K9gCW$7$?(B +method $B$rA\$7=P$7$F!"$=$l$r8F$S=P$7$^$9!#(B + +$BJQ?t(B @code{mime/content-decoding-condition} $B$O(B + +@lisp + ($B>r7o(B1 $B>r7o(B2 ...) +@end lisp + +$B$H$$$&7A$r$7$?(B list $B$G!"3F>r7o$O(B + +@lisp + ((field-type_1 . value_1) + (field-type_2 . value_2) + ...) +@end lisp + +$B$H$$$&7A$NO"A[(B list $B$K$J$C$F$$$^$9!#(B + +$BNc$($P!"(Btext/plain $B$N;~!"(Btm-plain $B$r5/F0$9$k;~!"(B + +@lisp + ((type . "text/plain") + (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)) +@end lisp + +$B$H$$$&>r7o$r=q$-$^$9!#$3$N(B method $B$N(B value $BIt$N=q<0$K$D$$$F$O8e$G>\$7(B +$B$/=R$Y$^$9!#(B + +$B$3$N>r7o$O(B content-type $B$,(B text/plain $B$G$"$k(B content $B$J$iA4$F$N(B +decoding-mode $B$GM-8z$G$9!#$7$+$7!"(B + +@lisp + ((type . "text/plain") + (method "tm-plain" nil 'file 'type 'encoding 'mode 'name) + (mode . "play")) +@end lisp + +$B$J$i!"(Bplay mode $B$N;~$7$+M-8z$K$J$j$^$;$s!#(B + +$B5U$K!"(B + +@lisp + ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file) + (mode . "play")) +@end lisp + +$B$J$i!"A4$F$N(B content-type $B$N(B play mode $B$GM-8z$K$J$j$^$9!#(B + +$B$3$&$7$F3F>r7o$rA0$+$i8+$F9T$-!":G=i$KM-8z$K$J$C$?>r7o$,l9g$N(B method field $B$N=q<0$O0J2<$NDL$j$G$9!#(B + +@table @samp +@item $BJ8;zNs(B + $B30It(B method $B$NL>A0(B +@item FLAG + @code{t} $B$J$i(B content-header $B$b30It(B method $B$KEO$9!#(B@code{nil} + $B$J$i(B content-body $B$N$_$rEO$9!#(B +@item $B0z?tNs(B + $B30It(B method $B$N0z?t(B +@end table + +$B$^$?!"30It(B method $B$N0z?t$O(B +@item 'type + Content-Type field $B$N(B content-type/subtype +@item 'encoding + Content-Transfer-Encoding field $B$N(B field body +@item 'mode + decoding-mode +@item 'name + file $B$KMn$9>l9g$N(B file $BL>(B +@end table + +$B$J$I$,$"$j!"(B'$BJ8;zNs(B $B$G$O(B Content-Type field $B$N(B parameter $B$NCM$,;XDj$G(B +$B$-$^$9!#(B + + +@node Example of decoding-condition, , Format of method value, method +@comment node-name, next, previous, up +@subsubsection decoding-condition $B$NNc(B +@cindex decoding-condition $B$NNc(B + +$B0J2<$K(B decoding-condition $B$N@_DjNc$r<($7$^$9!#(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 + +$BNc$($P!"!VA4It(B metamail $B;H$&$s$d!W$H$$$&>l9g!"(B + +@lisp +(setq mime/content-decoding-condition + '( + ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)) + )) +@end lisp + +$B$H$9$l$P(B OK $B$G$9!#(B + +$B9)IW$9$l$P!"$+$J$jJ#;($J>r7o$,=q$1$k$G$7$g$&!#(B + + +$B0J2<$K!"(Bdecoding-condition $B$r@_Dj$9$k$?$a$NM-MQ$J4X?t$r>R2p$7$^$9!#(B + + +@deffn{Function} set-atype symbol alist + +@var{symbol} $B$K>r7o(B @var{alist} $B$rDI2C$7$^$9!#(B + +$BNc!'(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 $B4D6-JQ?t(B +@cindex environment variables + +$B0J2<$K(B tm-view $B$NI8=`(B method $B$,;2>H$9$k4D6-JQ?t$r<($7$^$9!#(B + +@table @var +@item TM_TMP_DIR +$B0l;~E*$K:n@.$5$l$k(B file $B$d(B file $B=PNO$9$k>l9g$N(B default $B$N=PNO@h$H$7$F(B +$BMQ$$$i$l$k(B directory $B$r;XDj$9$k!#>JN,$5$l$?>l9g!"(B/tmp/ $B$,MQ$$$i$l$k!#(B + +@item VIDEO_DITHER +mpeg_play $B$G$N(B dither $B$N$+$1J}$r;XDj$9$k!#4{DjCM$O(B `gray'. + +@item TM_WWW_BROWSER +WWW browser $B$r;XDj$9$k!#4{DjCM$O(B `netscape'. +@end table diff --git a/doc/tm-view-p_ja.texi b/doc/tm-view-p_ja.texi new file mode 100644 index 0000000..5cffc69 --- /dev/null +++ b/doc/tm-view-p_ja.texi @@ -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 + +$B$3$N(B preview-buffer $B$N?F$KAjEv$9$k(B buffer. +@end defvar + + +@defvar mime::preview/content-list + +$B$3$N(B preview-buffer $B$N9=B$$r$"$i$o$9(B preview-content-info $B$N(B list. +@end defvar + + +@defvar mime::preview/article-buffer + +$B$3$N(B preview-buffer $B$KBP1~$9$k(B article-buffer. +@end defvar + + +@defvar mime::preview/original-major-mode + +$B$3$N(B preview-buffer $B$N$b$H$K$J$C$?(B buffer $B$N(B major-mode. +@end defvar + + +@defvar mime::preview/original-window-configuration + +@code{mime/viewer-mode} $B$rA0$N(B +window-configuration. +@end defvar + + +@defun mime-preview/point-pcinfo point &optional pcl + +preview-content-info @var{pcl} $B$G4IM}$5$l$k(B preview-buffer $BCf$NNN0h$K(B +$B$*$$$F!"(B@var{point} $B$KBP1~$9$k(B content $B$N(B preview-content-info $B$rJV$9!#(B + +@var{cinfo} $B$,>JN,$5$l$?>l9g$O!"(B@code{mime::preview/content-list} $B$,MQ(B +$B$$$i$l$k!#(B +@end defun diff --git a/doc/tm-view_ja.texi b/doc/tm-view_ja.texi index 4ec8128..e569034 100644 --- a/doc/tm-view_ja.texi +++ b/doc/tm-view_ja.texi @@ -1,162 +1,147 @@ -\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 * 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 diff --git a/doc/tm_ja.texi b/doc/tm_ja.texi index b40cba3..30141a3 100644 --- a/doc/tm_ja.texi +++ b/doc/tm_ja.texi @@ -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 index 0000000..c214260 --- /dev/null +++ b/gnus/ChangeLog-7.21.2.en @@ -0,0 +1,8 @@ +Mon Dec 11 18:05:06 1995 Morioka Tomohiko + + * tm/gnus: Version 7.21.2 was released. + +Fri Dec 8 22:35:14 1995 Morioka Tomohiko + + * tm-gnus.el: modified about XEmacs menu setting in Emacs and + Mule. diff --git a/gnus/Makefile b/gnus/Makefile index f82b8d0..22f720a 100644 --- a/gnus/Makefile +++ b/gnus/Makefile @@ -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: diff --git a/gnus/g5-path b/gnus/g5-path index bf6149a..185b173 100644 --- a/gnus/g5-path +++ b/gnus/g5-path @@ -7,4 +7,4 @@ ;;; ;; please edit -(add-path "gnus-5.0.12/lisp") +(add-path "gnus-5.0.13/lisp") diff --git a/gnus/mk-tgnus b/gnus/mk-tgnus index a146325..344ba60 100644 --- a/gnus/mk-tgnus +++ b/gnus/mk-tgnus @@ -15,7 +15,7 @@ (require 'emu) (defun compile-tm-gnus () - (require 'gnus) + (load "gnus.el") (require 'tm-view) (require 'tm-partial) (require 'tm-edit) diff --git a/gnus/s-path b/gnus/s-path index 35ce11d..2b2d041 100644 --- a/gnus/s-path +++ b/gnus/s-path @@ -7,4 +7,4 @@ ;;; ;; please edit -(add-path "sgnus-0.18/lisp") +(add-path "sgnus-0.21/lisp") diff --git a/gnus/tm-gnus.el b/gnus/tm-gnus.el index 6955405..aace694 100644 --- a/gnus/tm-gnus.el +++ b/gnus/tm-gnus.el @@ -9,7 +9,7 @@ ;;; Maintainer: MORIOKA Tomohiko ;;; 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). @@ -119,7 +119,9 @@ (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) + ) ))) diff --git a/methods/tm-au b/methods/tm-au index b454c28..fe65855 100755 --- a/methods/tm-au +++ b/methods/tm-au @@ -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 --- 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) @@ -69,6 +72,20 @@ (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)) diff --git a/tm-def.el b/tm-def.el index 2ecb1a4..2aba73c 100644 --- a/tm-def.el +++ b/tm-def.el @@ -6,7 +6,7 @@ ;;; ;;; Author: MORIOKA Tomohiko ;;; 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 diff --git a/tm-edit.el b/tm-edit.el index 01c0c78..b163885 100644 --- a/tm-edit.el +++ b/tm-edit.el @@ -7,7 +7,7 @@ ;; Author: UMEDA Masanobu ;; MORIOKA Tomohiko -;; Version: $Revision: 7.31 $ +;; Version: $Revision: 7.32.1.2 $ ;; Keywords: mail, news, MIME, multimedia, multilingual ;; This file is not part of GNU Emacs. @@ -108,7 +108,7 @@ ;; 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: @@ -126,7 +126,7 @@ ;;; (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)))) -;; 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 diff --git a/tm-file.el b/tm-file.el index c1e0dce..6eee1ca 100644 --- a/tm-file.el +++ b/tm-file.el @@ -6,11 +6,28 @@ ;;; ;;; Author: MORIOKA Tomohiko ;;; 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) @@ -41,9 +58,14 @@ (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) diff --git a/tm-parse.el b/tm-parse.el index 3dbfa3f..f4fc429 100644 --- a/tm-parse.el +++ b/tm-parse.el @@ -6,11 +6,26 @@ ;;; ;;; Author: MORIOKA Tomohiko ;;; 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 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 +;;; Maintainer: MORIOKA Tomohiko +;;; 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 (1995/9) +;;; - draft-kazu-pgp-mime-00.txt +;;; ``PGP MIME Integration'' +;;; by Kazuhiko Yamamoto (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) diff --git a/tm-play.el b/tm-play.el index 49016a2..f94b373 100644 --- a/tm-play.el +++ b/tm-play.el @@ -8,7 +8,7 @@ ;;; Maintainer: MORIOKA Tomohiko ;;; 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)) @@ -149,6 +149,7 @@ 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)) ) @@ -285,10 +286,10 @@ ) (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) @@ -329,7 +330,8 @@ (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) diff --git a/tm-view.el b/tm-view.el index 315fee4..767e49b 100644 --- a/tm-view.el +++ b/tm-view.el @@ -8,7 +8,7 @@ ;;; modified by Steven L. Baur ;;; Maintainer: MORIOKA Tomohiko ;;; 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) @@ -110,6 +112,9 @@ (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) diff --git a/tm-vm.el b/tm-vm.el index 8bc072d..b5b1174 100644 --- a/tm-vm.el +++ b/tm-vm.el @@ -11,7 +11,7 @@ ;;; modified by SHIONO Jun'ichi ;;; Maintainer: MORIOKA Tomohiko ;;; 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