From: morioka Date: Mon, 9 Mar 1998 12:14:33 +0000 (+0000) Subject: tm 7.33. X-Git-Tag: tm7_33~1 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d498105899efc540e611c9442dc8aca315f9ead4;p=elisp%2Ftm.git tm 7.33. --- diff --git a/Changes-7.33.en b/Changes-7.33.en new file mode 100644 index 0000000..adeed24 --- /dev/null +++ b/Changes-7.33.en @@ -0,0 +1,21 @@ +Wed Dec 13 05:46:06 1995 Morioka Tomohiko + + * tl: Version 7.03.3 was released. + * tm: Version 7.33 was released. + * tm/mh-e: Version 7.44 was released. + * tm/gnus: Version 7.22 was released. + + * tm-view.el: + (1) New field variable `mime-viewer/visible-field-list' + (2) New function `mime-preview/cut-header' + + * tm-view.el: (mime-viewer/default-content-header-filter): + New implementation + +Tue Dec 11 15:31:29 1995 Shuhei KOBAYASHI + + * tm-file.el: comment was fixed. + + * methods/tm-html, methods/tm-image: + fixed to insert spaces previous and next of "=" + (cf. [tm-ja:1262]) diff --git a/Changes-7.33.ja b/Changes-7.33.ja new file mode 100644 index 0000000..4b8a516 --- /dev/null +++ b/Changes-7.33.ja @@ -0,0 +1,21 @@ +Wed Dec 13 05:46:06 1995 Morioka Tomohiko + + * tl: Version 7.03.3 was released. + * tm: Version 7.33 was released. + * tm/mh-e: Version 7.44 was released. + * tm/gnus: Version 7.22 was released. + + * tm-view.el: + (1) New field variable `mime-viewer/visible-field-list' + (2) New function `mime-preview/cut-header' + + * tm-view.el: (mime-viewer/default-content-header-filter): + New implementation + +Tue Dec 11 15:31:29 1995 Shuhei KOBAYASHI + + * tm-file.el: tm-file.el $B$N(B header $B$K%@%V$C$F$$$k9T$,$"$j$^$7$?!#(B + + * methods/tm-html, methods/tm-image: + "=" $B$NA08e$K(B space $B$NI,MW$J=j$,$"$j$^$7$?!#(B + (cf. [tm-ja:1262]) diff --git a/Makefile b/Makefile index f9710f5..66ad54a 100644 --- a/Makefile +++ b/Makefile @@ -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.32.tar.gz +TARFILE = tm7.33.tar.gz 18: diff --git a/README.en b/README.en index c4e2fa1..9c2ec10 100644 --- a/README.en +++ b/README.en @@ -318,9 +318,12 @@ functions: DEL scroll down or move to previous content RET move to next line M-RET move to previous line + < move to beginning of message + > move to end of message v play current content e extract as file current content C-c C-p print current content + f display X-Face in current message button-2 move to point under the mouse cursor and play current content or browse URL diff --git a/doc/Makefile b/doc/Makefile index 70221ad..4ffb176 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -6,6 +6,10 @@ 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 $< +INFO_JA = tm_ja.info tm-gnus_ja.info tm-mh-e_ja.info +INFO_EN = tm_en.info tm-gnus_en.info + + OLFILES = # tiny-mime-eng.ol TEXFILES= signature-jp.tex # tiny-mime-eng.tex DVIFILES= tm-eng.dvi signature-jp.dvi # tiny-mime-eng.dvi @@ -14,6 +18,7 @@ GOMI = *.aux *.toc *.log \ *.cp *.cps *.fn *.fns *.vr *.vrs *.ky *.pg *.tp \ $(DVIFILES) *.ps *~ + .SUFFIXES: .ol .tex .dvi .ps .texi .info .ol.tex: @@ -29,20 +34,18 @@ GOMI = *.aux *.toc *.log \ .dvi.ps: dvi2ps $< > $@ -all: $(DVI) +all: $(DVI) -info: tm_ja.info tm-gnus_ja.info tm_en.info tm-gnus_en.info -tm_ja.info: -tm-gnus_ja.info: +info: $(INFO_JA) $(INFO_EN) tm_en.info: - makeinfo $< tm-gnus_en.info: makeinfo $< + tex: $(TEXFILES) $(TEXFILES): $(OLFILES) diff --git a/doc/tm-ew-d_en.texi b/doc/tm-ew-d_en.texi new file mode 100644 index 0000000..2faad70 --- /dev/null +++ b/doc/tm-ew-d_en.texi @@ -0,0 +1,32 @@ +@c $Id: tm-ew-d_en.texi,v 1.1 1995/12/13 09:27:22 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 can decode encoded-word defined in RFC 1522. + + +@deffn{Command} mime/decode-message-header + +It decodes encoded-words in message header of current buffer. +@end deffn + + +@deffn{Command} mime-eword/decode-region beg end &optional unfolding + +It decodes encoded-words in region @var{beg} to @var{end}. + +If @var{unfolding} is non-nil, folded fields are unfolded. +@end deffn + + +@deffn{Function} mime-eword/decode-string str + +It decodes encoded-words in @var{str}. + +Folded string is unfolded. +@end deffn diff --git a/doc/tm-ew_en.texi b/doc/tm-ew_en.texi new file mode 100644 index 0000000..d3b5646 --- /dev/null +++ b/doc/tm-ew_en.texi @@ -0,0 +1,55 @@ +@c $Id: tm-ew_en.texi,v 1.1 1995/12/13 09:27:39 morioka Exp $ + +@node encoded-word, customize, tm-view, Top +@comment node-name, next, previous, up +@chapter encoded-word +@cindex encoded-word +@cindex non-ASCII field +@cindex message header + +tm has some functions about encoded-word defined in RFC 1522. + +@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/encode-message-header + +It encodes non-ASCII characters in message header of current buffer. +@end deffn + + +@deffn{Function} mime/encode-field str + +It encodes @var{str} as a field. +@end deffn + + +@deffn{Function} mime-eword/encode-string str &optional column mode + +It encodes @var{str}. + +@var{column} specifies start column. Default value is 0. + +@var{mode} specifies where @var{str} is in. Available values are +@code{text}, @code{comment}, @code{phrase}. Default value is +@code{phrase}. +@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 + +If there are encoded-words in Subject: field in current buffer, +it returns field-body of the Subject: field. +@end deffn diff --git a/doc/tm-ew_ja.texi b/doc/tm-ew_ja.texi index 6e04fb7..35078bf 100644 --- a/doc/tm-ew_ja.texi +++ b/doc/tm-ew_ja.texi @@ -1,6 +1,6 @@ -@c $Id: tm-ew_ja.texi,v 1.1 1995/12/11 08:34:52 morioka Exp $ +@c $Id: tm-ew_ja.texi,v 3.0 1995/12/13 09:19:12 morioka Exp $ -@node encoded-word, customize, tm-MUA, Top +@node encoded-word, customize, tm-view, Top @comment node-name, next, previous, up @chapter encoded-word @cindex encoded-word @@ -21,9 +21,10 @@ tm $B$O(B RFC 1522 $B$G5,Dj$5$l$?(B encoded-word $B$r07$&$?$a$N4X?t$r;}$C$F @comment node-name, next, previous, up @section encoded-word encoding -@deffn{Command} mime/decode-message-header +@deffn{Command} mime/encode-message-header -current buffer $B$N(B message header $B$r(B encoded-word $B$H$7$F(B encode $B$7$^$9!#(B +current buffer $B$N(B message header $BCf$NHs(B ASCII $BJ8;zNs$r(B encoded-word $B$H(B +$B$7$F(B encode $B$7$^$9!#(B @end deffn diff --git a/doc/tm-mh-e_ja.texi b/doc/tm-mh-e_ja.texi new file mode 100644 index 0000000..e3c45e3 --- /dev/null +++ b/doc/tm-mh-e_ja.texi @@ -0,0 +1,116 @@ +\input texinfo.tex +@c{-*-tm-mh-e manual-*-} +@setfilename tm-mh-e_ja.info +@settitle{tm-mh-e manual} + +@titlepage +@title{tm-mh-e} +@author{¼é²¬ ÃÎɧ} +@code{$Id: tm-mh-e_ja.texi,v 2.0 1995/12/13 06:24:12 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-mh-e 7.44 Reference manual +@end ifinfo + +@menu +* Introduction:: ¤Ï¤¸¤á¤Ë +* mh-folder-mode:: folder-mode ¤Ë³ÈÄ¥¤µ¤ì¤ëµ¡Ç½ +* Automatic MIME Preview:: Automatic MIME Preview +* Index:: º÷°ú +@end menu + + +@node Introduction, mh-folder-mode, Top, Top +@comment node-name, next, previous, up +@chapter ¤Ï¤¸¤á¤Ë +@cindex components + +tm-mh-e ¤Ï mh-e ¤Ç tm ¤ò»È¤¦¤¿¤á¤Î module ¤Ç¡¢tm-MUA ¤Î£±¤Ä¤Ç¤¹¡£ + +tm-mh-e ¤Ï mh-e ¤Î MIME µ¡Ç½¤ò¶¯²½¤·¤Þ¤¹¡£tm-mh-e ¤Ï tm-view ¤ò»È¤Ã¤Æ +show buffer Ãæ¤Î message ¤ò automatic MIME preview ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ + + +°Ê²¼¤Ë tm-mh-e ¤Ë´Þ¤Þ¤ì¤ë module ¤ò¼¨¤·¤Þ¤¹¡£ + +@itemize @minus +@item @strong{tm-mh-e.el}: tm-mh-e ËÜÂÎ +@item @strong{tm-mh-e3.el}: mh-e 3.* ÍѤΠmodule +@end itemize + + +@node mh-folder-mode, Automatic MIME Preview, Introduction, Top +@comment node-name, next, previous, up +@chapter folder-mode ¤Ë³ÈÄ¥¤µ¤ì¤ëµ¡Ç½ +@cindex mh-folder-mode + +@table @kbd +@item @key{M-t} +automatic MIME preview ¤ò¹Ô¤Ê¤¦¤«¤É¤¦¤«¤Î toggle + +@item @key{v} +@code{mime/viewer-mode} ¤ËÆþ¤ê¡¢MIME message ¤òÁàºî¤¹¤ë + +@item @key{.} +message ¤òɽ¼¨¤¹¤ë + +@item @key{,} +Á´¤Æ¤Î field ¤òɽ¼¨¤·¤¿¾õÂ֤ǡ¢message ¤òɽ¼¨¤¹¤ë + +@item @key{M-,} +automatic MIME preview ¤ò¹Ô¤¦Á°¤ÎÀ¸¤Î message ¤òɽ¼¨¤¹¤ë +@end table + +mime/viewer-mode ¤Ï MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î mode ¤Ç¡¢message ¤Î +Ãæ¤ò°ÜÆ°¤·¤¿¤ê¡¢ÂÐÏÃŪ¤Ë message ¤ÎÃæ¤Î³Æ content ¤òºÆÀ¸¤·¤¿¤ê¤¹¤ë¤³¤È +¤¬¤Ç¤­¤Þ¤¹¡£ + + +@node Automatic MIME Preview, Index, mh-folder-mode, Top +@comment node-name, next, previous, up +@chapter Automatic MIME Preview +@cindex automatic MIME preview + +tm-mh-e ¤Ç¤Ï ``automatic MIME preview'' µ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +¤³¤Îµ¡Ç½¤ò»È¤¦¤È folder mode ¤Çµ­»ö¤òÆɤà»þ¡¢Ä̾ïɽ¼¨¤µ¤ì¤ë show +buffer ¤ÎÂå¤ï¤ê¤Ë tm-view ¤Ç½èÍý¤µ¤ì¤¿ preview buffer ¤òɽ¼¨¤·¤Þ¤¹¡£ + +¤³¤Î¤¿¤á¡¢Quoted-Printable ¤ä Base64 ¤Ç encode ¤µ¤ì¤¿µ­»ö¤ò decode ¤· +¤Æɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¢¤ë¤¤¤Ï¡¢tm-rich ¤ò»È¤¦¤³¤È¤Ç¡¢rich text ¤Ç +½ñ¤«¤ì¤¿µ­»ö¤òÀ°·Á¤·¤Æɽ¼¨¤Ç¤­¤Þ¤¹¡£ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é¡¢multipart ¤Îµ­»ö +¤âÀµ¤·¤¯½èÍý¤Ç¤­¤Þ¤¹¡£ + +metamail ¤ò»È¤Ã¤¿¾ì¹ç¤È°Û¤Ê¤ê¡¢²»¤ÎÆþ¤Ã¤¿µ­»ö¤òÆɤó¤À¤È¤¿¤ó¡¢¤¤¤­¤Ê¤ê¡¢ +²»¤¬ÌĤê½Ð¤·¤¿¤ê¡¢video ¤ÎÆþ¤Ã¤¿µ­»ö¤òÆɤि¤Ó¤Ë video ¤¬ºÆÀ¸¤µ¤ì¤¿¤ê¡¢ +anonymous ftp ¤ä mail-server ¤òÍøÍѤ·¤¿ external-message ¤ÎÆþ¤Ã¤¿µ­»ö +¤òÆɤि¤Ó¤Ë anonymous ftp ¤ò¼Â¹Ô¤·¤¿¤ê¡¢mail ¤òÁ÷¤Ã¤¿¤ê¤¹¤ë¤³¤È¤¬Ëɤ² +¤Þ¤¹¡£¤³¤¦¤·¤¿ content ¤Ï preview buffer ¤ÎÃæ¤ËÆþ¤Ã¤ÆºÆÀ¸ command ¤ò¼Â +¹Ô¤·¤¿»þ¤Î¤ßºÆÀ¸¤µ¤ì¤Þ¤¹¡£ + +¤·¤«¤·¤Ê¤¬¤é¡¢ÃÙ¤¤ machine ¤ò»È¤Ã¤Æ¤¤¤Æ¡¢mime/viewer-mode ¤Î overhead +¤¬µ¤¤Ë¤Ê¤ë¾ì¹ç¡¢automatic MIME preview ¤òÍ޻ߤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ + + +@defvar tm-mh-e/automatic-mime-preview + +automatic MIME preview mode ¤«¤É¤¦¤«¤ò¤¢¤é¤ï¤·¤Þ¤¹¡£ +@end defvar + + +@menu +* (tm_ja.info)tm-view:: +@end menu + + +@node Index, , Automatic MIME Preview, Top +@unnumbered º÷°ú + +@printindex cp +@printindex fn +@printindex vr + +@bye diff --git a/doc/tm-util_en.texi b/doc/tm-util_en.texi new file mode 100644 index 0000000..c033309 --- /dev/null +++ b/doc/tm-util_en.texi @@ -0,0 +1,141 @@ +@c $Id: tm-util_en.texi,v 1.1 1995/12/13 09:27:55 morioka Exp $ + +@node customize, Bug report, encoded-word, Top +@comment node-name, next, previous, up +@chapter customize + +@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 and tm-edit.el uses pair of @strong{field-list} and +@strong{field-regexp} to display or choose fields of message header. + +tm has functions to set such pair. + + +@defun tm:add-fields sym field-list &optional regexp-sym + +It adds @var{field-list} to field-list indicated by symbol @var{sym}. +@end defun + + +@defun tm:delete-fields sym field-list &optional regexp-sym + +It removes @var{field-list} from field-list indicated by symbol +@var{sym}. +@end defun + + +@node available functions, example, fields, customize +@comment node-name, next, previous, up +@section available functions + + +@defun add-path path &rest options + +It adds @var{path} to @code{load-path}. + +In default, it adds expanded path to top of @code{load-path} if there +is @var{path} under @code{default-load-path}. + +If @code{'all-paths} is specified in @var{options}, it searches +@var{path} from all of @code{load-path} instead of +only @code{default-load-path}. + +If @code{'append} is specifies in @var{options}, it adds to end of +@code{load-path}. +@end defun + + +@defun call-after-loaded module func &optional hook-name + +It calls function @var{func} if @var{module} is already provided. + +Otherwise, it add-hooks to @var{hook-name}. + +Default value of @var{hook-name} is @code{MODULE-load-hook}. +@end defun + + +@node example, , available functions, customize +@comment node-name, next, previous, up +@section example + +@subsection message header display (1) + +If you want not to display "Mail-From", "Expires", "Xref", "Approved", +"Sender" and "X-.*", please specify: + +@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 message header display (2) + +If you want to display only "From", ".*To", "Subject", ".*Date" and +"Newsgroups" , please specify: + +@lisp +(setq mime-viewer/ignored-field-list '(".+")) +(setq mime-viewer/visible-field-list + '("From" ".*To" "Subject" ".*Date" "Newsgroups")) +@end lisp + + +@subsection hilit19 + +example to add faces using 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 + + +@subsection browse-url + +setting example for browse-url.el included in Gnus. + +@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-util_ja.texi b/doc/tm-util_ja.texi index 83f2c9a..b8a38f4 100644 --- a/doc/tm-util_ja.texi +++ b/doc/tm-util_ja.texi @@ -1,4 +1,4 @@ -@c $Id: tm-util_ja.texi,v 1.1 1995/12/11 08:35:25 morioka Exp $ +@c $Id: tm-util_ja.texi,v 1.2 1995/12/13 06:45:14 morioka Exp $ @node customize, Bug report, encoded-word, Top @comment node-name, next, previous, up @@ -31,7 +31,7 @@ symbol @var{sym} $B$G;X$5$l$?(B field-list $B$K(B @var{field-list} $B$rDI2C @end defun -@defun tm:add-fields sym field-list &optional regexp-sym +@defun tm:delete-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 diff --git a/doc/tm-view-a_en.texi b/doc/tm-view-a_en.texi new file mode 100644 index 0000000..80335fb --- /dev/null +++ b/doc/tm-view-a_en.texi @@ -0,0 +1,86 @@ +@c $Id: tm-view-a_en.texi,v 1.1 1995/12/13 09:28:10 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 + +structure to represent MIME content in article-buffer. It is called by +@strong{content-info}. + +@table @var +@item rcnum +@strong{reversed content-number} (list) + +@item point-min +region beginning point in article-buffer + +@item point-max +region end point in article-buffer + +@item type +content-type/sub-type (string or nil) + +@item parameters +parameter of Content-Type field (association list) + +@item encoding +Content-Transfer-Encoding (string or nil) + +@item children +list of content-info included in this content +@end table + +Please use reference function `@code{mime::content-info/SLOT-NAME}' to +reference slot of content-info. Their argument is only content-info. + +@end defvr + + +@defvar mime::article/content-info + +result of MIME parsing of article-buffer (content-info) +@end defvar + + +@defvar mime::article/preview-buffer + +preview-buffer corresponded by this buffer +@end defvar + + +@defun mime-article/point-content-number point &optional cinfo + +In a region managed by content-info @var{cinfo}, it returns +content-number corresponded by @var{point}. + +Default value of @var{cinfo} is @code{mime::article/content-info}. +@end defun + + +@defun mime-article/rcnum-to-cinfo rcnum &optional cinfo + +In a region managed by content-info @var{cinfo}, it returns +content-info corresponded by reversed-content-number @var{rcnum}. + +Default value of @var{cinfo} is @code{mime::article/content-info}. +@end defun + + +@defun mime-article/cnum-to-cinfo rcnum &optional cinfo + +In a region managed by content-info @var{cinfo}, it returns +content-info corresponded by content-number @var{cnum}. + +Default value of @var{cinfo} is @code{mime::article/content-info}. +@end defun + + +@defun mime/flatten-content-info &optional cinfo + +It returns flatten list of content-info from content-info @var{cinfo} +tree. + +Default value of @var{cinfo} is @code{mime::article/content-info}. +@end defun diff --git a/doc/tm-view-cb_en.texi b/doc/tm-view-cb_en.texi new file mode 100644 index 0000000..5fda349 --- /dev/null +++ b/doc/tm-view-cb_en.texi @@ -0,0 +1,57 @@ +@c $Id: tm-view-cb_en.texi,v 1.1 1995/12/13 09:28:29 morioka Exp $ + +@node content-body, content-separator, content-header, MIME display +@comment node-name, next, previous, up +@subsubsection content-body +@cindex content-body + +Content-body represents content of the message. tm-view does not +display raw content body. For example, if a content has binary, it is +hidden. If a content has richtext, it is formated. Namely content body +is hidden or formated. + +Function @code{mime-viewer/body-visible-p} is a judge function whether +content-body of a content is displayed. If it returns @code{nil}, +content-body is hidden. In default, it returns non-@code{nil} when +content-type of a content is a member of variable +@code{mime-viewer/default-showing-Content-Type-list}. + +When content-body of a content is displayed, content-body is formated +by content-filter. Content-filter is searched from variable +@code{mime-viewer/content-filter-alist}. At this time, major-mode of +the article buffer is used as the key. + +If it is not found, function @code{mime-viewer/default-content-filter} +is called. + + +@defvar mime-viewer/default-showing-Content-Type-list + +List of content-type. If content-type of a content is a member of this +variable, its body is displayed. +@end defvar + + +@deffn{Function} mime-viewer/body-visible-p rcnum cinfo &optional ctype + +Return non-@code{nil}, if content-type of a content is displayed. +@var{rcnum} is reversed-content-number of a content. @var{cinfo} is +content-info of the message. If you know content-type of a content, +you can specify it as argument @var{ctype}. +@end deffn + + +@defvar mime-viewer/content-filter-alist + +Association-list whose key is major-mode of a article buffer, value is +content-filter. +@end defvar + + +@deffn{Function} mime-viewer/default-content-filter rcnum cinfo ctype params subj + +It is called when content-body of a content should be displayed and +content-filter is not found in @code{mime-viewer/content-filter-alist}. + +In default, it does nothing. +@end deffn diff --git a/doc/tm-view-ch_en.texi b/doc/tm-view-ch_en.texi new file mode 100644 index 0000000..87e6a0a --- /dev/null +++ b/doc/tm-view-ch_en.texi @@ -0,0 +1,68 @@ +@c $Id: tm-view-ch_en.texi,v 1.1 1995/12/13 09:28:43 morioka Exp $ + +@node content-header, content-body, content-subject, MIME display +@comment node-name, next, previous, up +@subsubsection content-header +@cindex content-header + +A content header shows the header portion of a content in the preview +buffer. + +When the function @code{mime-viewer/header-visible-p} returns @code{t} +for content-number of a content, content-header is displayed. This +judge function returns @code{t} when a content is root or content-type +of its parent is a member of the variable +@code{mime-viewer/childrens-header-showing-Content-Type-list}. + +If you want to change this condition, please redefine it. + +When content-header is displayed, content-header are formated by +content-header-filter. Content-header-filter is searched from variable +@code{mime-viewer/content-header-filter-alist}. Its key is major-mode +of the article buffer. If not found, function +@code{mime-viewer/default-content-header-filter} is called. + + +@defvar mime-viewer/childrens-header-showing-Content-Type-list + +List of content-type. If content-type of parent of a content is a +member of this variable, its content-header is displayed. Default +value is "message/rfc822". + +This variable is referred by the function +@code{mime-viewer/header-visible-p}. +@end defvar + + +@deffn{Function} mime-viewer/header-visible-p rcnum cinfo &optional ctype + +Returns @code{t} if a content is displayed. + +@var{cnum} is content-number. @var{cinfo} is content-info. If you know +content-type, you can specify by @var{ctype}. +@end deffn + + +@defvar mime-viewer/content-header-filter-alist + +Association-list whose key is major-mode of a article buffer, value is +content-header-filter. +@end defvar + + +@deffn{Function} mime-viewer/default-content-header-filter + +It is called when content-header-filter is not found in variable +@code{mime-viewer/content-header-filter-alist}. +@end deffn + + +@defvar mime-viewer/ignored-field-list + +List of regular expression to represent invisible fields. + +Variable @code{mime-viewer/ignored-field-regexp} is created from it. + +Please use function @code{tm:add-fields} or @code{tm:delete-fields} to +set it. +@end defvar diff --git a/doc/tm-view-cs_en.texi b/doc/tm-view-cs_en.texi new file mode 100644 index 0000000..7918e2f --- /dev/null +++ b/doc/tm-view-cs_en.texi @@ -0,0 +1,66 @@ +@c $Id: tm-view-cs_en.texi,v 1.1 1995/12/13 09:29:00 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 is a part to display abstract for the content. It is +placed in top of content. + +In default, it is displayed following design: + +@example + [1.3 test (text/plain)] +@end example + +First number field represents position of a content in the message. It +is called `content-number'. It can be considered as the chapter number +in the message. + +Second string part represents title. It is created by following: + +@itemize @bullet +@item name paramater or x-name parameter in Content-Type field +@item Content-Description field or Subject field +@item filename of uuencode +@end itemize + +If they are not exists, space is displayed. + +Third parenthesis part represents content-type/subtype of the content. +If it is non-MIME part, @code{nil} is displayed. + +Content-subject is used like icon when content-header and content-body +are hidden. For example, + +@example + [2 (image/gif)] +@end example + +if you press `v' key, GIF image is displayed. + + +@defvr{Variable} mime-viewer/content-subject-omitting-Content-Type-list + +List of content-type. If content-type of a content is a member of this +list, its content-subject is not displayed. + +This variable is referenced by function +@code{mime-viewer/default-content-subject-function}. +@end defvr + + +@deffn{Function} mime-viewer/default-content-subject-function rcnum cinfo ctype params subj + +Default value of the variable +@code{mime-viewer/content-subject-function}. It refers variable +@code{mime-viewer/content-subject-omitting-Content-Type-list}. +@end deffn + + +@defvar mime-viewer/content-subject-function rcnum cinfo ctype params subj + +Variable to specify content-subject display function. Default value is +the function @code{mime-viewer/default-content-subject-function}. +@end defvar diff --git a/doc/tm-view-m_en.texi b/doc/tm-view-m_en.texi new file mode 100644 index 0000000..3311659 --- /dev/null +++ b/doc/tm-view-m_en.texi @@ -0,0 +1,261 @@ +@c $Id: tm-view-m_en.texi,v 1.1 1995/12/13 09:29:24 morioka Exp $ + +@node method, , preview-buffer, Mechanism of tm-view +@comment node-name, next, previous, up +@subsection method +@cindex method + +In @code{mime/viewer-mode}, you can do play (@key{v}), extract +(@key{e}), or print (@key{C-c C-p}) for each content. These operations +are called ``decoding operation(s) (for a content)''. And kind of +decoding operations are called @strong{decoding-mode}. + +When decoding operation is driven, tm-view calls a procedure matched +for the condition, such as content-type. This procedure is called +@strong{method}. + +There are two kinds of method. One is Emacs Lisp function, called +@strong{internal method}. Another one is external program, called +@strong{external method}. + +Internal method operates in Emacs, so it can do carefully. + +External method is called as asynchronous process, so Emacs does not +wait while method is running. So it is good for big data, such as +audio, image or video. + +@menu +* decoding-condition:: Setting of content decoding condition. +* Format of method value:: Format of method value part. +* Example of decoding-condition:: Examples of decoding-condition. +@end menu + + +@node decoding-condition, Format of method value, method, method +@comment node-name, next, previous, up +@section Setting of content decoding condition +@cindex content decoding condition + +When decoding operation is driven, tm-view calls a method matched for +the condition searched from the variable +@code{mime/content-decoding-condition}. + +Variable @code{mime/content-decoding-condition} is defined as a list +with the following syntax: + +@lisp + (condition1 condition2 ...) +@end lisp + +Each condition are association-list with the following syntax: + +@lisp + ((field-type_1 . value_1) + (field-type_2 . value_2) + ...) +@end lisp + +For example, if you want to call the external method named tm-plain to +decode every text/plain type content, you can define the condition +like + +@lisp + ((type . "text/plain") + (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)) +@end lisp + +As you notice, now you can define the arguments to pass to a external +method. Refer to @xref{Format of method value} section for more +explanation. + +This condition definition will match all contents whose types are +text/plain. Here is an another example: + +@lisp + ((type . "text/plain") + (method "tm-plain" nil 'file 'type 'encoding 'mode 'name) + (mode . "play")) +@end lisp + +This will match the content whose type is text/plain and the mode is +play. + +@lisp + ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file) + (mode . "play")) +@end lisp + +This will match all contents which have a mode of play. + +The conditions defined in a mime/content-decoding-condition variable +are examined from top to bottom. The first matching condition becomes +valid and the method specified in that condition definition will be +executed. + + +@node Format of method value, Example of decoding-condition, decoding-condition, method +@comment node-name, next, previous, up +@section Format of method value part +@cindex Format of method value part + +You can specify the method field of the decoding-condition definition +in two different ways, + +@lisp + (method . SYMBOL) +@end lisp + +or + +@lisp + (method STRING FLAG ARGUMENT1 ARGUMENT2 ...) +@end lisp + +can be accepted. + +When a symbol is specified in the method field, a function whose name +is SYMBOL will be called as an internal method. + +When a list is specified in the method field, it will be called as an +external method. + +The list below shows the meaning of the parameters when the external +method is specified in the method field. + +@table @samp +@item STRING + name of an external method +@item FLAG + If @code{t}, both the content header and the content body are + passed to an external method. if nil, only the content body is + passed to an external method. +@item ARGUMENTs + list of arguments passed to an external method +@end table + +An argument passed to an external method can be in one of the +following formats: + +@table @samp +@item STRING + string itself +@item 'SYMBOL + value gotten using SYMBOL as a key (see below) +@item 'STRING + value gotten using STRING as a key (see below) +@end table + +'SYMBOL can be one of the following: + +@table @samp +@item 'file + name of a file holding the original content +@item 'type + content-type/sub-type of Content-Type field +@item 'encoding + field body of Content-Transfer-Encoding field +@item 'mode + decoding-mode +@item 'name + name of a file created by decode operation +@end table + +'STRING is used to search a parameter of the Content-Type field whose +name matches with it, and pass the value of that parameter to the +external method. + + +@node Example of decoding-condition, , Format of method value, method +@comment node-name, next, previous, up +@section Examples of decoding-condition +@cindex Examples of decoding-condition + +The default definition of a mime/content-decoding-condition variable +is shown below. + +@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 + +For example, if you want to use metamail to decode any contents, + +@lisp +(setq mime/content-decoding-condition + '( + ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)) + )) +@end lisp + +will work. + +A mime/content-decoding-condition variable provides you of very flexible +way to define the conditions of decoding. It can be simple if you only +need the a few decoding methods, while it can be very complicated if you +want to use the separate decoding method for each type/mode combination. + +Following function may be useful to set decoding-condition. It is a +function of tl-atype.el. + + +@deffn{Function} set-atype symbol alist + +Add condition @var{alist} to symbol @var{symbol}. + +Example: + +@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 +@chapter environment variables +@cindex environment variables + +Standard methods of tm-view reference some environment variables. You +can specify them to customize. + +@table @var +@item TM_TMP_DIR +Directory for temporary files or extracted files. Default value is +`/tmp/'. + +@item VIDEO_DITHER +Dither for mpeg_play. Default value is `gray'. + +@item TM_WWW_BROWSER +WWW browser name. Default value is `netscape'. +@end table diff --git a/doc/tm-view-p_en.texi b/doc/tm-view-p_en.texi new file mode 100644 index 0000000..adf9e63 --- /dev/null +++ b/doc/tm-view-p_en.texi @@ -0,0 +1,45 @@ +@c $Id: tm-view-p_en.texi,v 1.1 1995/12/13 09:29:38 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 + +Mother buffer of this preview-buffer. +@end defvar + + +@defvar mime::preview/content-list + +List of preview-content-info to represent structure of this +preview-buffer. +@end defvar + + +@defvar mime::preview/article-buffer + +article-buffer corresponded by this preview-buffer. +@end defvar + + +@defvar mime::preview/original-major-mode + +major-mode of original buffer. +@end defvar + + +@defvar mime::preview/original-window-configuration + +window-configuration just before made this preview-buffer. +@end defvar + + +@defun mime-preview/point-pcinfo point &optional pcl + +In a region of preview-buffer managed by preview-content-info +@var{pcl}, it returns preview-content-info corresponded by +@var{point}. + +Default value of @var{cinfo} is @code{mime::preview/content-list}. +@end defun diff --git a/doc/tm-view_en.texi b/doc/tm-view_en.texi index 5b8ce3b..203aa42 100644 --- a/doc/tm-view_en.texi +++ b/doc/tm-view_en.texi @@ -1,65 +1,33 @@ -\input texinfo.tex -@c{-*-tm manual-*-} -@setfilename tm-view_en.info -@settitle{tm-view manual} +@c{$Id: tm-view_en.texi,v 7.3 1995/12/13 09:30:34 morioka Exp $} -@titlepage -@title tm-view Manual (English Version) -@author by MORIOKA Tomohiko -@code{$Id: tm-view_en.texi,v 7.2 1995/10/18 18:11:46 morioka Exp $} -@end titlepage - - -@node Top, Abstract, (tm_en.info), (tm_en.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 The tm-view is a general MIME viewer running on GNU Emacs. tm-view provides the major-mode called @code{mime/viewer-mode} to read MIME message for MUA. MUA implementer can use it to add MIME function. -@end ifinfo -@menu -* Abstract:: What is tm-view? -* How to run:: How to run mime/viewer-mode. -* Commands:: Commands of mime/viewer-mode. -* Preview Buffer:: Screen design of preview buffer. -* Decoding:: Mechanism of decoding operations for - contents. -* environment variables:: environment variables for standard methods - of tm-view. -* encoded-word:: encoded-word decoding - -Preview buffer -* Preview Buffer:: Screen design of preview buffer. -* content-subject:: -* content-header:: -* content-body:: -* content-separator:: - -Decoding -* Decoding:: Mechanism of decoding operations for contents. -* decoding-condition:: Setting of content decoding condition. -* Format of method value:: Format of method value part. -* Example of decoding-condition:: Examples of decoding-condition. +tm-view is a user interface kernel to view and navigate MIME message. +tm-view drives some programs to navigate each content-type/sub-types, +they are called @strong{method}. tm-view calls some programs to +display each content-type/sub-types in preview buffer, they are called +@strong{filter}. @strong{method} and @strong{filter} are tm-view +application program. They expand tm-view to treat various kinds of +MIME types. -Indexes -* Concept Index:: -* Command Index:: -* Variable Index:: +@menu +* Mechanism of tm-view:: +* 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 What is tm-view? -@cindex tm-view - -tm-view is a general MIME viewer for GNU Emacs. - -It provides a major-mode to navigate MIME message to each MUAs. +@chapter Mechanism of tm-view +@cindex mechanism of tm-view tm-view managements two buffers, one is for raw message called @strong{article buffer}, another one is to preview for user called @@ -80,10 +48,38 @@ Notice: In this document, I call @strong{content-type} as content-type/subtype of Content-Type field. -@node How to run, Commands, Abstract, Top +@menu +* Functions of tm-view:: +* article-buffer:: +* preview-buffer:: +* method:: +@end menu + + +@node Functions of tm-view, function to preview, Mechanism of tm-view, Mechanism of tm-view +@comment node-name, next, previous, up +@subsection Functions of tm-view + +tm-view provides some available functions to decode and navigate MIME +message to each MUAs. + +There are 2 kinds of functions, one is for MIME preview, another one +is to decode RFC 1522 encoded-word. + +Memo: Old tiny-mime.el was abolished. Functions to decode RFC 1522 +encoded-word are took over to tm-view. + + +@menu +* function to preview:: +* encoded-word decoding:: +@end menu + + +@node function to preview, encoded-word decoding, Functions of tm-view, Functions of tm-view @comment node-name, next, previous, up -@chapter How to run mime/viewer-mode -@cindex How to run mime/viewer-mode +@subsubsection function to preview MIME message +@cindex mime/viewer-mode @deffn{Command} mime/viewer-mode &optional mother ctl encoding @@ -104,51 +100,31 @@ instead of Content-Type field of the article buffer. @end deffn -@node Commands, Preview Buffer, How to run, Top -@comment node-name, next, previous, up -@chapter Commands of mime/viewer-mode -@cindex Commands of mime/viewer-mode +@include{tm-ew-d_en.texi} -@code{mime/viewer-mode} has following functions: -@table @kbd -@item u - goes to the upper content (returns to the Summary mode if the - cursor is sitting on the top content (*1)) -@item p - goes to the previous content -@item n - goes to the next content -@item @key{SPC} - scrolls up -@item @key{M-SPC} - scrolls down -@item @key{DEL} - scrolls down -@item @key{RET} - goes to the next line -@item @key{M-RET} - goes to the previous line -@item v - playbacks a content (*2) -@item e - extracts a file from a content (*2) -@item C-c C-p - prints a content (*2) -@end table +@include{tm-view-a_en.texi} -@b{[Notice]} -@enumerate -@item -Not return to the Summary mode unless tm-view has been setup using -tm-mh-e, tm-gnus, tm-rmail etc. +@include{tm-view-p_en.texi} -@item -Actual playback/extract/print will be performed by a method. -@end enumerate +@include{tm-view-m_en.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 +@section mime/viewer-mode +@cindex mime/viewer-mode + +@code{mime/viewer-mode} is a major-mode to preview MIME message. In +MIME viewer mode, you can navigate MIME message interactively. + +@menu +* MIME display:: +* MIME navigation:: +@end menu + +@node MIME display, content-body, mime/viewer-mode, mime/viewer-mode @comment node-name, next, previous, up @chapter Screen design of preview buffer @cindex Screen design of preview buffer @@ -204,187 +180,9 @@ MORIOKA, Tomohiko * content-separator:: @end menu - -@node content-subject, content-header, Preview Buffer, Preview Buffer -@comment node-name, next, previous, up -@section content-subject -@cindex content-subject - -content-subject is a part to display abstract for the content. It is -placed in top of content. - -In default, it is displayed following design: - -@example - [1.3 test (text/plain)] -@end example - -First number field represents position of a content in the message. It -is called `content-number'. It can be considered as the chapter number -in the message. - -Second string part represents title. It is created by following: - -@itemize @bullet -@item name paramater or x-name parameter in Content-Type field -@item Content-Description field or Subject field -@item filename of uuencode -@end itemize - -If they are not exists, space is displayed. - -Third parenthesis part represents content-type/subtype of the -content. If it is non-MIME part, @code{nil} is displayed. - -Content-subject is used like icon when content-header and content-body -are hidden. For example, - -@example - [2 (image/gif)] -@end example - -if you press `v' key, GIF image is displayed. - - -@defvr{Variable} mime-viewer/content-subject-omitting-Content-Type-list - -List of content-type. If content-type of a content is a member of this -list, its content-subject is not displayed. - -This variable is referenced by function -@code{mime-viewer/default-content-subject-function}. -@end defvr - - -@deffn{Function} mime-viewer/default-content-subject-function cnum cinfo ctype params subj - -Default value of the variable -@code{mime-viewer/content-subject-function}. -It refers variable -@code{mime-viewer/content-subject-omitting-Content-Type-list}. -@end deffn - - -@defvar mime-viewer/content-subject-function cnum cinfo ctype params subj - -Variable to specify content-subject display function. Default value is -the function @code{mime-viewer/default-content-subject-function}. -@end defvar - - -@node content-header, content-body, content-subject, Preview Buffer -@comment node-name, next, previous, up -@section content-header -@cindex content-header - -A content header shows the header portion of a content in the preview -buffer. - -When the function @code{mime-viewer/header-visible-p} returns @code{t} -for content-number of a content, content-header is displayed. This -judge function returns @code{t} when a content is root or content-type -of its parent is a member of the variable -@code{mime-viewer/childrens-header-showing-Content-Type-list}. - -If you want to change this condition, please redefine it. - -When content-header is displayed, content-header are formated by -content-header-filter. Content-header-filter is searched from variable -@code{mime-viewer/content-header-filter-alist}. Its key is major-mode -of the article buffer. If not found, function -@code{mime-viewer/default-content-header-filter} is called. - - -@defvar mime-viewer/childrens-header-showing-Content-Type-list - -List of content-type. If content-type of parent of a content is a -member of this variable, its content-header is displayed. -Default value is "message/rfc822". - -This variable is referred by the function -@code{mime-viewer/header-visible-p}. -@end defvar - - -@deffn{Function} mime-viewer/header-visible-p cnum cinfo &optional ctype - -Returns @code{t} if a content is displayed. - -@var{cnum} is content-number. @var{cinfo} is content-info. If you know -content-type, you can specify by @var{ctype}. -@end deffn - - -@defvar mime-viewer/content-header-filter-alist - -Association-list whose key is major-mode of a article buffer, value is -content-header-filter. -@end defvar - - -@deffn{Function} mime-viewer/default-content-header-filter - -It is called when content-header-filter is not found in variable -@code{mime-viewer/content-header-filter-alist}. -@end deffn - - -@node content-body, content-separator, content-header, Preview Buffer -@comment node-name, next, previous, up -@section content-body -@cindex content-body - -Content-body represents content of the message. tm-view does not -display raw content body. For example, if a content has binary, it is -hidden. If a content has richtext, it is formated. Namely content body -is hidden or formated. - -Function @code{mime-viewer/body-visible-p} is a judge function whether -content-body of a content is displayed. If it returns @code{nil}, -content-body is hidden. In default, it returns non-@code{nil} when -content-type of a content is a member of variable -@code{mime-viewer/default-showing-Content-Type-list}. - -When content-body of a content is displayed, content-body is formated -by content-filter. Content-filter is searched from variable -@code{mime-viewer/content-filter-alist}. At this time, major-mode of -the article buffer is used as the key. - -If it is not found, function @code{mime-viewer/default-content-filter} -is called. - - -@defvar mime-viewer/default-showing-Content-Type-list - -List of content-type. If content-type of a content is a member of this -variable, its body is displayed. -@end defvar - - -@deffn{Function} mime-viewer/body-visible-p cnum cinfo &optional ctype - -Return non-@code{nil}, if content-type of a content is displayed. -@var{cnum} is content-number of a content. @var{cinfo} is content-info -of the message. If you know content-type of a content, you can specify -it as argument @var{ctype}. -@end deffn - - -@defvar mime-viewer/content-filter-alist - -Association-list whose key is major-mode of a article buffer, value is -content-filter. -@end defvar - - -@deffn{Function} mime-viewer/default-content-filter cnum cinfo ctype params subj - -It is called when content-body of a content should be displayed and -content-filter is not found in -@code{mime-viewer/content-filter-alist}. - -In default, it does nothing. -@end deffn +@include{tm-view-cs_en.texi} +@include{tm-view-ch_en.texi} +@include{tm-view-cb_en.texi} @node content-separator, , content-body, Preview Buffer @@ -413,315 +211,72 @@ content-body are not displayed. @end deffn -@node Decoding, environment variables, Preview Buffer, Top -@comment node-name, next, previous, up -@chapter Decoding -@cindex Decoding - -In @code{mime/viewer-mode}, you can do play (@key{v}), extract -(@key{e}), or print (@key{C-c C-p}) for each content. These operations -are called ``decoding operation(s) (for a content)''. And kind of -decoding operations are called @strong{decoding-mode}. - -When decoding operation is driven, tm-view calls a procedure matched -for the condition, such as content-type. This procedure is called -@strong{method}. - -There are two kinds of method. One is Emacs Lisp function, called -@strong{internal method}. Another one is external program, called -@strong{external method}. - -Internal method operates in Emacs, so it can do carefully. - -External method is called as asynchronous process, so Emacs does not -wait while method is running. So it is good for big data, such as -audio, image or video. - -@menu -* decoding-condition:: Setting of content decoding condition. -* Format of method value:: Format of method value part. -* Example of decoding-condition:: Examples of decoding-condition. -@end menu - - -@node decoding-condition, Format of method value, Decoding, Decoding -@comment node-name, next, previous, up -@section Setting of content decoding condition -@cindex Setting of content decoding condition - -When decoding operation is driven, tm-view calls a method matched for -the condition searched from the variable -@code{mime/content-decoding-condition}. - -Variable @code{mime/content-decoding-condition} is defined as a list -with the following syntax: - -@lisp - (condition1 condition2 ...) -@end lisp - -Each condition are association-list with the following syntax: - -@lisp - ((field-type_1 . value_1) - (field-type_2 . value_2) - ...) -@end lisp - -For example, if you want to call the external method named tm-plain to -decode every text/plain type content, you can define the condition -like - -@lisp - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)) -@end lisp - -As you notice, now you can define the arguments to pass to a external -method. Refer to @xref{Format of method value} section for more -explanation. - -This condition definition will match all contents whose types are -text/plain. Here is an another example: - -@lisp - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name) - (mode . "play")) -@end lisp - -This will match the content whose type is text/plain and the mode is -play. - -@lisp - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file) - (mode . "play")) -@end lisp - -This will match all contents which have a mode of play. - -The conditions defined in a mime/content-decoding-condition variable -are examined from top to bottom. The first matching condition becomes -valid and the method specified in that condition definition will be -executed. - - -@node Format of method value, Example of decoding-condition, decoding-condition, Decoding +@node MIME navigation, method, content-body, mime/viewer-mode @comment node-name, next, previous, up -@section Format of method value part -@cindex Format of method value part - -You can specify the method field of the decoding-condition definition -in two different ways, - -@lisp - (method . SYMBOL) -@end lisp - -or - -@lisp - (method STRING FLAG ARGUMENT1 ARGUMENT2 ...) -@end lisp - -can be accepted. - -When a symbol is specified in the method field, a function whose name -is SYMBOL will be called as an internal method. +@chapter Commands of mime/viewer-mode +@cindex Commands of mime/viewer-mode -When a list is specified in the method field, it will be called as an -external method. +@code{mime/viewer-mode} has following functions: -The list below shows the meaning of the parameters when the external -method is specified in the method field. +@table @kbd +@item @key{u} +goes to the upper content (returns to the Summary mode if the cursor +is sitting on the top content (*1)) -@table @samp -@item STRING - name of an external method -@item FLAG - If @code{t}, both the content header and the content body are - passed to an external method. if nil, only the content body is - passed to an external method. -@item ARGUMENTs - list of arguments passed to an external method -@end table +@item @key{p} +goes to the previous content -An argument passed to an external method can be in one of the -following formats: +@item @key{n} +goes to the next content -@table @samp -@item STRING - string itself -@item 'SYMBOL - value gotten using SYMBOL as a key (see below) -@item 'STRING - value gotten using STRING as a key (see below) -@end table +@item @key{SPC} +scrolls up -'SYMBOL can be one of the following: - -@table @samp -@item 'file - name of a file holding the original content -@item 'type - content-type/sub-type of Content-Type field -@item 'encoding - field body of Content-Transfer-Encoding field -@item 'mode - decoding-mode -@item 'name - name of a file created by decode operation -@end table +@item @key{M-SPC} +scrolls down -'STRING is used to search a parameter of the Content-Type field whose -name matches with it, and pass the value of that parameter to the -external method. +@item @key{DEL} +scrolls down +@item @key{RET} +goes to the next line -@node Example of decoding-condition, , Format of method value, Decoding -@comment node-name, next, previous, up -@section Examples of decoding-condition -@cindex Examples of decoding-condition - -The default definition of a mime/content-decoding-condition variable -is shown below. - -@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 - -For example, if you want to use metamail to decode any contents, - -@lisp -(setq mime/content-decoding-condition - '( - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)) - )) -@end lisp - -will work. - -A mime/content-decoding-condition variable provides you of very flexible -way to define the conditions of decoding. It can be simple if you only -need the a few decoding methods, while it can be very complicated if you -want to use the separate decoding method for each type/mode combination. - - -Following function may be useful to set decoding-condition. It is a -function of tl-atype.el. - - -@deffn{Function} set-atype symbol alist - -Add condition @var{alist} to symbol @var{symbol}. +@item @key{M-RET} +goes to the previous line -Example: +@item @key{<} +goes to the beginning of message -@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{>} +goes to the end of message +@item @key{v} +playbacks a content (*2) -@node environment variables, encoded-word, Decoding, Top -@comment node-name, next, previous, up -@chapter environment variables -@cindex environment variables +@item @key{e} +extracts a file from a content (*2) -Standard methods of tm-view reference some environment variables. You -can specify them to customize. +@item @key{C-c C-p} +prints a content (*2) +@item @key{f} +displays X-Face in the message -@table @var -@item TM_TMP_DIR -Directory for temporary files or extracted files. Default value is -`/tmp/'. +@item @key{mouse-button-2} +drives mouse button. -@item VIDEO_DITHER -Dither for mpeg_play. Default value is `gray'. +If you press content-subject, it playbacks the content. (*2) -@item TM_WWW_BROWSER -WWW browser name. Default value is `netscape'. +If you press URL-button, it runs WWW browser. @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 can decode encoded-word defined in RFC 1522. - -@deffn{Command} mime/decode-message-header - -It decodes encoded-words in message header of current buffer. -@end deffn - - -@deffn{Command} mime-eword/decode-region beg end &optional unfolding - -It decodes encoded-words in region @var{beg} to @var{end}. - -If @var{unfolding} is non-nil, folded fields are unfolded. -@end deffn - - -@deffn{Function} mime-eword/decode-string str - -It decodes encoded-words in @var{str}. - -Folded string is unfolded. -@end deffn - - -@node Concept Index, Command Index, encoded-word, Top -@unnumbered Concept Index - -@printindex cp - - -@node Command Index, Variable Index, Concept Index, Top -@unnumbered Command and Function Index - -@printindex fn - - -@node Variable Index, , Command Index, Top -@unnumbered Variable Index - -@printindex vr +@b{[Notice]} +@enumerate +@item +Not return to the Summary mode unless tm-view has been setup using +tm-mh-e, tm-gnus, tm-rmail etc. -@bye +@item +Actual playback/extract/print will be performed by a method. +@end enumerate diff --git a/doc/tm-view_ja.texi b/doc/tm-view_ja.texi index e569034..451460e 100644 --- a/doc/tm-view_ja.texi +++ b/doc/tm-view_ja.texi @@ -1,4 +1,4 @@ -@c $Id: tm-view_ja.texi,v 7.5 1995/12/11 08:29:28 morioka Exp $ +@c $Id: tm-view_ja.texi,v 7.6 1995/12/13 09:47:14 morioka Exp $ @node tm-view, encoded-word, tm-MUA, Top @comment node-name, next, previous, up @@ -228,14 +228,14 @@ content-number mime/viewer-mode ¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£ @table @kbd -@item u +@item @key{u} ¾å¤Î content ¤ËÌá¤ë¡Êmessage ¤Î°ìÈÖ¾å¤Î content ¤Ç¤³¤ì¤ò¹Ô¤Ê¤¦¤È Summary mode ¤ËÌá¤ë (*1)¡Ë -@item p +@item @key{p} Á°¤Î content ¤Ë°ÜÆ°¤¹¤ë -@item n +@item @key{n} ¼¡¤Î content ¤Ë°ÜÆ°¤¹¤ë @item @key{SPC} @@ -253,15 +253,33 @@ scroll down @item @key{M-RET} Á°¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë -@item v +@item @key{M-RET} +Á°¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë + +@item @key{<} +message ¤ÎÀèƬ¤Ë°ÜÆ°¤¹¤ë + +@item @key{>} +message ¤ÎËöÈø¤Ë°ÜÆ°¤¹¤ë + +@item @key{v} content ¤òºÆÀ¸¤¹¤ë (*2) -@item e +@item @key{e} content ¤«¤é file ¤ò¼è¤ê½Ð¤¹ (*2) -@item C-c C-p +@item @key{C-c C-p} content ¤ò°õºþ¤¹¤ë (*2) +@item @key{f} +message Ãæ¤Î X-Face ¤òɽ¼¨¤¹¤ë + +@item @key{mouse-button-2} +preview-buffer Ãæ¤Î mouse button ¤òµ¯Æ°¤¹¤ë + +content-subject ¤ò²¡¤»¤Ð¡¢¤½¤Î content ¤¬ºÆÀ¸¤µ¤ì¤ë(*2) + +URL-button ¤ò²¡¤»¤Ð¡¢¤½¤Î WWW browser ¤¬µ¯Æ°¤µ¤ì¤ë @end table @@ -273,5 +291,3 @@ tm-MUA @item ¼ÂºÝ¤ÎÆ°ºî¤ÏÂбþ¤¹¤ë method ¤Ë°Í¤ê¤Þ¤¹¡£ @end enumerate - -@bye diff --git a/doc/tm_en.texi b/doc/tm_en.texi index 79d0c18..6b8025c 100644 --- a/doc/tm_en.texi +++ b/doc/tm_en.texi @@ -6,26 +6,33 @@ @titlepage @title tm Manual (English Version) @author by MORIOKA Tomohiko -@code{$Id: tm_en.texi,v 7.2 1995/10/18 18:14:25 morioka Exp $} +@code{$Id: tm_en.texi,v 7.3 1995/12/13 09:26:11 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 @end ifinfo @menu -* Introduction:: What is tm? -* Emacs Versions:: Differences between each emacs variants. -* Install:: +* Introduction:: What is tm? +* Emacs Versions:: Differences between each emacs variants. * Setting:: -* tm-MUA:: Extension of mh-e, GNUS, RMAIL and VM -* tm-view: (tm-view_en.info). MIME message navigator. -* encoded-word:: -* Bug report:: How to report bug and about mailing list - of tm. + +* tm-MUA:: Extension of mh-e, GNUS, RMAIL and VM +* tm-mh-e: (tm-mh-e_en.info). mh-e +* tm-gnus: (tm-gnus_en.info). GNUS and Gnus +* tm-rmail: (tm-rmail_en.info). RMAIL +* tm-vm: (tm-vm_en.info). VM + +* tm-view:: MIME message navigator. +* encoded-word:: multi lingual characters in message header +* customize:: + +* Bug report:: How to report bug and about mailing list of tm. + * Concept Index:: * Command Index:: * Variable Index:: @@ -41,8 +48,8 @@ The tm package is a set of modules to enjoy MIME on GNU Emacs. Using tm, you can @itemize @bullet -@item playback or view the MIME messages using mime/viewer-mode -@item encode and decode the multi-lingual headers using tiny-mime +@item playback or view the MIME messages using tm-view +@item compose MIME message using tm-edit @item use the enhanced MIME features with mh-e, GNUS, RMAIL and VM @end itemize @@ -55,8 +62,8 @@ and more. The tm package includes the modules listed below. @itemize @minus -@item @strong{tiny-mime:} MIME header encoder/decoder @item @strong{tm-view:} MIME viewer +@item @strong{tm-edit:} MIME composer @item @strong{tm-def:} definition module for tm @item @strong{tm-mh-e:} tm-MUA for mh-e @item @strong{tm-gnus:} tm-MUA for GNUS @@ -67,13 +74,11 @@ The tm package includes the modules listed below. @end itemize @menu -* tiny-mime:(tm-eword_en.info). -* tm-view:(tm-view_en.info). +* tm-view:: * tm-mh-e:(tm-mh-e_en.info). * tm-gnus:(tm-gnus_en.info). * tm-rmail:(tm-rmail_en.info). * tm-vm:(tm-vm_en.info). -* chain-mail:(tm-cmail_en.info). @end menu @@ -115,75 +120,7 @@ richtext messages. US-ASCII and ISO-8859-1 can be used if you use the XEmacs. -In future, we will support multi face and inline image. - - -@node Install, Setting, Emacs Versions, Top -@comment node-name, next, previous, up -@chapter Install -@cindex Install - -You can install tm by following the procedures below. - -@section tl install - -tm requires the Emacs Lisp library ``tl'', so please install this at -first. - -How to install tl is written in tl/README.eng. - - -@section Makefile - -Please modify Makefile to your environment. - -@subsection Specification executable file name of emacs - -Please specify executable file name of emacs. - -@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 Specification load-path - -Please specify directory to install Emacs Lisp program. - -@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 External method - -Please modify method script in tm/methods/ to your environment. - - -@section make - -Run `make all'. - - -@section install - -Run `make install'. - - -@section install Emacs Lisp program - -Run `make install-nemacs', if you use NEmacs or NEpoch. - -Run `make install-mule1', if you use Mule 1.* (based on Emacs 18.*). - -Run `make install-orig19', if you use Original Emacs 19.* or XEmacs. - -Run `make install-mule2', if you use Mule 2.* (based on Emacs 19.*). - -Or copy *.el to your emacs lisp directory. +In future, we will support inline image. @node Setting, tm-MUA, Install, Top @@ -197,9 +134,9 @@ related setup including MIME encoding using mime.el, while tm-setup is used to set up tm-MUA only. @menu -* mime-setup:: -* tm-setup:: -* tm-vm:: +* mime-setup:: normal setting +* tm-setup:: setting not to use tm-edit +* tm-vm:: setting for VM * manual setting:: @end menu @@ -213,18 +150,12 @@ used to set up tm-MUA only. (load "mime-setup") @end lisp -will perform various settings of MIME. As mime-setup loads -tm-setup, you do not need to load tm-setup when you use mime-setup. +will perform various settings of MIME. As mime-setup.el loads +tm-setup.el, you do not need to load tm-setup.el when you use +mime-setup.el. -mime-setup.el requires mime.el. mime.el is included in -emacs-mime-tools.shar. It is available lots of anonymous-ftp sites, -for example: - -@example - ftp://ftp.kyutech.ac.jp/pub/MultiMedia/mime - ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime -@end example +@subsection variable of mime-setup.el @subsection SuperCite @cindex SuperCite @@ -238,7 +169,7 @@ If you set up SuperCite, you need the SuperCite package. @end defvar -@subsection signature +@subsubsection signature @cindex signature You can set up the "automatic signature selection tool" using @@ -317,9 +248,10 @@ you change to GNUS's default, please set following: @comment node-name, next, previous, up @section tm-setup -tm-setup only sets up tm-MUAs. You do not need to explicitly load -tm-setup if you are using mime-setup for your setup. tm-setup is useful -when you do not want to use mime-setup but want to set up tm-MUAs. +tm-setup.el only sets up tm-MUAs. You do not need to explicitly load +tm-setup.el if you are using mime-setup.el for your setup. +tm-setup.el is useful when you do not want to use mime-setup.el but +want to set up tm-MUAs. @lisp (load "tm-setup") @@ -330,12 +262,15 @@ when you do not want to use mime-setup but want to set up tm-MUAs. @comment node-name, next, previous, up @section vm -If you use vm, please insert following in .vm: +If you use vm, please insert following in ~/.vm: @lisp -(load "tm-vm") +(require 'tm-vm) @end lisp +Notice: If you use BBDB, please insert @code{(require 'tm-vm)} +@strong{after} @code{(bbdb-insinuate-vm)}. + @node manual setting, , tm-vm, Setting @comment node-name, next, previous, up @@ -345,7 +280,7 @@ You may find the valuable hints in tm-setup.el if you want to set up MIME environment without loading the tm-provided setup files. -@node tm-MUA, encoded-word, Setting, Top +@node tm-MUA, tm-view, Setting, Top @comment node-name, next, previous, up @chapter tm-MUA @cindex tm-MUA @@ -373,15 +308,15 @@ Summary mode of the MUA. @table @kbd @item @key{M-t} - toggles decoding of MIME headers +toggles decoding of MIME headers @item @key{v} - enters @code{mime/viewer-mode} to view a message +enters @code{mime/viewer-mode} to view a message @end table Notice: In tm-vm, key to enter @code{mime/viewer-mode} is @key{Z} -instead of @key{v}. In tm-mh-e and tm-gnus for (ding) GNUS, preview -buffer of @code{mime/viewer-mode} is displays automatically in default -setting. +instead of @key{v}. In tm-mh-e, tm-vm and tm-gnus in Gnus 3.15 or +later, preview buffer of @code{mime/viewer-mode} is displays +automatically in default setting. @menu * tm-mh-e: (tm-mh-e_en.info). @@ -389,66 +324,17 @@ setting. * tm-rmail: (tm-rmail_en.info). * tm-vm: (tm-vm_en.info). * tm-cmail: (tm-cmail_en.info). -* mime/viewer-mode: (tm-view_en.info)how-to-use. @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 has functions about encoded-word defined in RFC 1522. - -@menu -* decode: (tm-view_en.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 - -It encodes message header of current buffer. -@end deffn - - -@deffn{Function} mime/encode-field str - -It encodes @var{str} as a field. -@end deffn - - -@deffn{Function} mime-eword/encode-string str &optional column mode - -It encodes @var{str}. - -@var{column} specifies start column. Default value is 0. - -@var{mode} specifies where @var{str} is in. Available values are -@code{text}, @code{comment}, @code{phrase}. Default value is -@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_en.texi -@deffn{Function} mime/exist-encoded-word-in-subject +@include tm-ew_en.texi -If there are encoded-words in Subject: field in current buffer, -it returns field-body of the Subject: field. -@end deffn +@include tm-util_en.texi -@node Bug report, Concept Index, encoded-word, Top +@node Bug report, Concept Index, customize, Top @comment node-name, next, previous, up @chapter How to report bug and about mailing list of tm @cindex bug report diff --git a/doc/tm_ja.texi b/doc/tm_ja.texi index 30141a3..25bf940 100644 --- a/doc/tm_ja.texi +++ b/doc/tm_ja.texi @@ -6,7 +6,7 @@ @titlepage @title{tm Manual¡ÊÆüËܸìÈÇ¡Ë} @author{¼é²¬ ÃÎɧ Ãø} -@code{$Id: tm_ja.texi,v 7.1 1995/12/11 08:27:52 morioka Exp morioka $} +@code{$Id: tm_ja.texi,v 7.2 1995/12/13 09:26:59 morioka Exp morioka $} @end titlepage @@ -35,6 +35,7 @@ GNU Emacs * customize:: tm ¤Î customize * Bug report:: bug Êó¹ð¤Î»ÅÊý¤È mailing list ¤Ë¤Ä¤¤¤Æ + * Concept Index:: * Command Index:: * Variable Index:: @@ -184,7 +185,7 @@ default @subsection mime-setup.el ¤ÎÊÑ¿ô -@subsection SuperCite +@subsubsection SuperCite @cindex SuperCite @defvar mime-setup-use-sc @@ -195,7 +196,7 @@ default @end defvar -@subsection signature +@subsubsection signature @cindex signature tm ¤Ë¤Ï signature ¤Î¼«Æ°ÀÚÂؤ¨ tool ¤¬Éí°¤·¤Æ¤ª¤ê¡¢mime-setup.el ¤Ï¤³ @@ -307,8 +308,8 @@ vm ¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -Ãí°Õ¡§ BBDB ¤ò»È¤¦¾ì¹ç¤Ï (bbdb-insinuate-vm) ¤Î¸å¤Ë (require 'tm-vm) -¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£ +Ãí°Õ¡§ BBDB ¤ò»È¤¦¾ì¹ç¤Ï @code{(bbdb-insinuate-vm)} ¤Î@strong{¸å}¤Ë +@code{(require 'tm-vm)} ¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£ @node manual setting, , setting for VM, Setting @@ -328,7 +329,7 @@ tm-edit ¤È¤¤¤¦Àë¸À¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£ -@node tm-MUA, encoded-word, Setting, Top +@node tm-MUA, tm-view, Setting, Top @comment node-name, next, previous, up @chapter tm-MUA @cindex tm-MUA @@ -372,7 +373,6 @@ MIME message * tm-rmail: (tm-rmail_ja.info). * tm-vm: (tm-vm_ja.info). * tm-cmail: (tm-cmail_ja.info). -* mime/viewer-mode:: Commands. @end menu diff --git a/gnus/ChangeLog-7.22.en b/gnus/ChangeLog-7.22.en new file mode 100644 index 0000000..30587d3 --- /dev/null +++ b/gnus/ChangeLog-7.22.en @@ -0,0 +1,9 @@ +Wed Dec 13 19:12:47 1995 Morioka Tomohiko + + * tm/gnus: Version 7.22 was released. + +Mon Dec 11 12:50:58 1995 Morioka Tomohiko + + * tm-sgnus.el (tm-gnus/summary-toggle-header): + use `tm-gnus/automatic-mime-preview' to judge automatic MIME + preview or not. diff --git a/gnus/Makefile b/gnus/Makefile index 22f720a..03e90ba 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.2.tar +TARFILE = tm-gnus7.22.tar gnus: diff --git a/gnus/tm-sgnus.el b/gnus/tm-sgnus.el index 55b2cbe..1879180 100644 --- a/gnus/tm-sgnus.el +++ b/gnus/tm-sgnus.el @@ -7,7 +7,7 @@ ;;; Author: MORIOKA Tomohiko ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1995/09/24 -;;; Version: $Revision: 7.21 $ +;;; Version: $Revision: 7.22 $ ;;; Keywords: news, MIME, multimedia, multilingual, encoded-word ;;; ;;; This file is part of tm (Tools for MIME). @@ -38,7 +38,7 @@ ;;; (defconst tm-gnus/RCS-ID - "$Id: tm-sgnus.el,v 7.21 1995/12/06 07:36:03 morioka Exp $") + "$Id: tm-sgnus.el,v 7.22 1995/12/11 12:50:58 morioka Exp $") (defconst tm-gnus/version (concat (get-version-string tm-gnus/RCS-ID) " for September")) @@ -81,12 +81,7 @@ This variable is set to `gnus-show-mime'.") (defun tm-gnus/summary-toggle-header (&optional arg) (interactive "P") - (if (and gnus-show-mime - (or (not gnus-strict-mime) - (save-excursion - (set-buffer gnus-article-buffer) - (gnus-fetch-field "Mime-Version") - ))) + (if tm-gnus/automatic-mime-preview (let ((mime-viewer/ignored-field-regexp (if (save-excursion (set-buffer gnus-article-buffer) diff --git a/methods/tm-html b/methods/tm-html index 194b488..2479720 100755 --- a/methods/tm-html +++ b/methods/tm-html @@ -1,10 +1,10 @@ #!/bin/sh -if [ "$TM_TMP_DIR"="" ]; then +if [ "$TM_TMP_DIR" = "" ]; then TM_TMP_DIR=/tmp export TM_TMP_DIR fi -if [ "$TM_WWW_BROWSER"="" ]; then +if [ "$TM_WWW_BROWSER" = "" ]; then TM_WWW_BROWSER=netscape export TM_WWW_BROWSER fi diff --git a/methods/tm-image b/methods/tm-image index f56c76d..76ae5e3 100755 --- a/methods/tm-image +++ b/methods/tm-image @@ -1,5 +1,5 @@ #!/bin/sh -if [ "$TM_TMP_DIR"="" ]; then +if [ "$TM_TMP_DIR" = "" ]; then TM_TMP_DIR=/tmp export TM_TMP_DIR fi diff --git a/mh-e/ChangeLog-7.44.en b/mh-e/ChangeLog-7.44.en new file mode 100644 index 0000000..ae14dc8 --- /dev/null +++ b/mh-e/ChangeLog-7.44.en @@ -0,0 +1,6 @@ +Wed Dec 13 05:48:43 1995 Morioka Tomohiko + + * tm/mh-e: Version 7.44 was released. + + * tm-mh-e.el (tm-mh-e/content-header-filter): + use `mime-preview/cut-header' diff --git a/mh-e/Makefile b/mh-e/Makefile index 98d4004..832ea7d 100644 --- a/mh-e/Makefile +++ b/mh-e/Makefile @@ -23,7 +23,7 @@ TMDIR19 = $(HOME)/lib/emacs19/lisp FILES = tm/mh-e/*.el tm/mh-e/Makefile tm/mh-e/mk-tmh tm/mh-e/*.ol -TARFILE = tm-mh-e7.43.tar +TARFILE = tm-mh-e7.44.tar elc: diff --git a/mh-e/tm-mh-e.el b/mh-e/tm-mh-e.el index 25140bc..b1bb8cf 100644 --- a/mh-e/tm-mh-e.el +++ b/mh-e/tm-mh-e.el @@ -9,7 +9,7 @@ ;;; modified by YAMAOKA Katsumi ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1993/11/21 (obsolete mh-e-mime.el) -;;; Version: $Revision: 7.43 $ +;;; Version: $Revision: 7.44 $ ;;; Keywords: mail, MH, MIME, multimedia, encoded-word, multilingual ;;; ;;; This file is part of tm (Tools for MIME). @@ -47,7 +47,7 @@ ;;; (defconst tm-mh-e/RCS-ID - "$Id: tm-mh-e.el,v 7.43 1995/12/06 12:31:27 morioka Exp $") + "$Id: tm-mh-e.el,v 7.44 1995/12/13 05:48:43 morioka Exp $") (defconst tm-mh-e/version (get-version-string tm-mh-e/RCS-ID)) @@ -231,16 +231,7 @@ With arg, turn MIME processing on if arg is positive." (defun tm-mh-e/content-header-filter () (goto-char (point-min)) - (while (and (re-search-forward mime-viewer/ignored-field-regexp nil t) - (progn - (delete-region - (match-beginning 0) - (save-excursion - (and - (re-search-forward "^\\([^ \t]\\|$\\)" nil t) - (match-beginning 0) - ))) - t))) + (mime-preview/cut-header) (tm-mh-e/code-convert-region-to-emacs (point-min)(point-max) mime/default-coding-system) (mime/decode-message-header) diff --git a/tm-file.el b/tm-file.el index 6eee1ca..557a208 100644 --- a/tm-file.el +++ b/tm-file.el @@ -6,13 +6,11 @@ ;;; ;;; Author: MORIOKA Tomohiko ;;; Version: -;;; $Id: tm-file.el,v 6.0 1995/12/09 03:49:51 morioka Exp $ +;;; $Id: tm-file.el,v 7.0 1995/12/12 00:55:25 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 diff --git a/tm-view.el b/tm-view.el index 767e49b..8270505 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.32.1.2 $ +;;; Version: $Revision: 7.33 $ ;;; Keywords: mail, news, MIME, multimedia ;;; ;;; This file is part of tm (Tools for MIME). @@ -44,7 +44,7 @@ ;;; (defconst mime-viewer/RCS-ID - "$Id: tm-view.el,v 7.32.1.2 1995/12/10 20:29:06 morioka Exp $") + "$Id: tm-view.el,v 7.33 1995/12/13 05:46:06 morioka Exp $") (defconst mime-viewer/version (get-version-string mime-viewer/RCS-ID)) (defconst mime/viewer-version mime-viewer/version) @@ -118,8 +118,9 @@ (defvar mime-viewer/uuencode-encoding-name-list '("x-uue" "x-uuencode")) (defvar mime-viewer/ignored-field-list - '(".*Received" "Return-Path" "Replied" "Errors-To" - "Lines" "Sender" "Path" "Nntp-Posting-Host" + '(".*Received" ".*Path" ".*Id" + "Replied" "Errors-To" + "Lines" "Sender" "Nntp-Posting-Host" "Content-Type" "Precedence" "X-Face" "Status" "X-VM-.*") "All fields that match this list will be hidden in MIME preview buffer. @@ -130,6 +131,17 @@ Each elements are regexp of field-name. [tm-view.el]") (apply (function regexp-or) mime-viewer/ignored-field-list) ":")) +(defvar mime-viewer/visible-field-list + '("Message-Id") + "All fields that match this list will be displayed in MIME preview buffer. +Each elements are regexp of field-name. [tm-view.el]") + +(defvar mime-viewer/visible-field-regexp + (concat "^" + (apply (function regexp-or) mime-viewer/visible-field-list) + ":")) + + (defvar mime-viewer/announcement-for-message/partial (if (and (>= emacs-major-version 19) window-system) "\ @@ -229,18 +241,28 @@ Each elements are regexp of field-name. [tm-view.el]") ;;; @@ content header filter ;;; -(defun mime-viewer/default-content-header-filter () +(defun mime-preview/cut-header () (goto-char (point-min)) - (while (and (re-search-forward mime-viewer/ignored-field-regexp nil t) - (progn + (while (and + (re-search-forward mime-viewer/ignored-field-regexp nil t) + (let* ((beg (match-beginning 0)) + (end (match-end 0)) + (name (buffer-substring beg end)) + ) + (if (not (string-match mime-viewer/visible-field-regexp name)) (delete-region - (match-beginning 0) + beg (save-excursion (and (re-search-forward "^\\([^ \t]\\|$\\)" nil t) (match-beginning 0) ))) - t))) + ) + t))) + ) + +(defun mime-viewer/default-content-header-filter () + (mime-preview/cut-header) (mime/decode-message-header) )