tm 5.18
authormorioka <morioka>
Mon, 2 Mar 1998 13:54:34 +0000 (13:54 +0000)
committermorioka <morioka>
Mon, 2 Mar 1998 13:54:34 +0000 (13:54 +0000)
18 files changed:
Makefile
Makefile.19
doc/tl-jp.texi [new file with mode: 0644]
methods/tm-au
methods/tm-file
methods/tm-image
methods/tm-latex
methods/tm-mpeg
methods/tm-plain
tl-header.el
tl-list.el
tm-enriched.el [new file with mode: 0644]
tm-ftp.el [new file with mode: 0644]
tm-mh-e3.el
tm-mule.el
tm-rich.el
tm-view.el
tm-vm.el

index 7f8c656..680ffa7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,9 +6,9 @@ UTILS   = ol2 decode-b
 METHODS        = tm-au tm-file tm-image tm-latex tm-mpeg
 GOMI   = $(UTILS) *.elc
 FILES  = README.eng Makefile Makefile.18 Makefile.19 *.el *.c methods \
-               doc/Makefile doc/*.pln doc/*.ol doc/*.tex
+               doc/Makefile doc/*.pln doc/*.ol doc/*.tex doc/*.texi
 
-TARFILE = tm5.16.tar
+TARFILE = tm5.18.tar
 
 all:   $(UTILS) $(DVI)
 
index 6a669f0..f4814ae 100644 (file)
@@ -2,7 +2,7 @@ EMACS   = mule2
 ORIG   = emacs19
 MULE   = mule2
 
-TLEL   = tl-header.el tl-str.el signature.el
+TLEL   = tl-header.el tl-str.el
 TLELC  = ${TLEL:el=elc}
 TMEL   = tm-misc.el
 TMELC  = ${TMEL:el=elc}
@@ -20,7 +20,7 @@ TMDIR = $(HOME)/lib/emacs19/lisp/tm
 .el.elc:
        $(EMACS) -batch -q . -f batch-byte-compile $<
 
-all:   $(TLELC) tl-orig.elc tl-mule.elc \
+all:   $(TLELC) tl-orig.elc tl-mule.elc signature.elc \
        tiny-mime.elc $(TMELC) tm-orig.elc tm-mule.elc $(TMMELC) \
        tm-mh-e.elc tm-gnus.elc $(TMVELC)
 
@@ -35,30 +35,35 @@ tl-mule.elc:        tl-mule.el
 tl-list.elc:   tl-list.el
        $(EMACS) -batch -q . -l tl-list.el -f batch-byte-compile $<
 
+signature.elc: signature.el
+       $(EMACS) -batch -q . -l tl-header.el -f batch-byte-compile $<
+
 tiny-mime.elc: tiny-mime.el
+       $(EMACS) -batch -q . -l tl-header.el -f batch-byte-compile $<
 
 $(TMELC):
-       $(EMACS) -batch -q . -l tiny-mime -f batch-byte-compile $<
+       $(EMACS) -batch -q . -l tiny-mime.el -f batch-byte-compile $<
 
 tm-orig.elc:   tm-orig.el
        $(ORIG) -batch -q . -l tl-orig.el -f batch-byte-compile $<
 
 tm-mule.elc:   tm-mule.el
-       $(MULE) -batch -q . -f batch-byte-compile $<
+       $(MULE) -batch -q . -l tl-list.el -f batch-byte-compile $<
 
 $(TMMELC):
-       $(EMACS) -batch -q . -l tiny-mime -l tm-misc -f batch-byte-compile $<
+       $(EMACS) -batch -q . -l tiny-mime.el -l tm-misc.el \
+               -f batch-byte-compile $<
 
 tm-gnus.elc:   tm-gnus.el
-       $(EMACS) -batch -q . -l tiny-mime -l tm-misc -l gnus \
+       $(EMACS) -batch -q . -l tiny-mime.el -l tm-misc.el -l gnus \
                -f batch-byte-compile $<
 
 tm-mh-e.elc:   tm-mh-e.el
-       $(EMACS) -batch -q . -l tiny-mime -l tm-misc -l mh-e \
+       $(EMACS) -batch -q . -l tiny-mime.el -l tm-misc.el -l mh-e \
                -f batch-byte-compile $<
 
 $(TMVELC):
-       $(EMACS) -batch -q . -l tiny-mime -l tm-misc -l tm-view \
+       $(EMACS) -batch -q . -l tiny-mime.el -l tm-misc.el -l tm-view.el \
                -f batch-byte-compile $<
 
 install:       all tl-install tm-install
diff --git a/doc/tl-jp.texi b/doc/tl-jp.texi
new file mode 100644 (file)
index 0000000..576191b
--- /dev/null
@@ -0,0 +1,548 @@
+\input texinfo.tex
+@c{-*-tl manual-*-}
+@setfilename tl-jp.info
+@settitle{tl manual}
+
+@titlepage
+@sp{5}
+@center{@titlefont{Emacs Lisp library `tl'}}
+@sp{15}
+@center{@titlefont{\e$B<i2,\e(B \e$BCNI'\e(B}}
+@sp{1}
+@center{$Id: tl-jp.texi,v 1.2 1994/11/08 19:07:28 morioka Exp $}
+
+@end titlepage
+
+@node Top, Abstract, (dir), (dir)
+@comment  node-name,  next,  previous,  up
+
+@ifinfo
+tm \e$B$J$I$G;H$o$l$k\e(B Emacs Lisp \e$B$N\e(B library, `tl' \e$B$K4X$7$F@bL@$7$^$9!#\e(B
+@end ifinfo
+
+@menu
+* Abstract::
+* Compatible::
+* tl-list::
+* tl-str::
+* tl-header::
+* Concept Index::
+* Command Index::
+* Variable Index::
+@end menu
+
+
+@node Abstract, Compatible, Top, Top
+@comment  node-name,  next,  previous,  up
+@chapter{\e$B35MW\e(B}
+@cindex{\e$B35MW\e(B}
+
+tl \e$B$O\e(B tm \e$B$J$I$N\e(B Emacs Lisp program \e$B$G6&DL$K;H$&$?$a$NHFMQE*$J\e(B module 
+\e$B$r=8$a$?\e(B package \e$B$G$9!#\e(B
+
+tl \e$B$O0J2<$N$h$&$J\e(B module \e$B$+$i@.$j$^$9!#\e(B
+
+@itemize @bullet
+@item tl-18
+@item tl-nemacs
+@item tl-orig
+@item tl-mule
+@item tl-list
+@item tl-str
+@item tl-header
+@end itemize
+
+
+@node Compatible, tl-18, Abstract, Top
+@comment  node-name,  next,  previous,  up
+@chapter{\e$B8_49@-$r$H$k$?$a$N5!9=\e(B}
+@cindex{\e$B8_49@-$r$H$k$?$a$N5!9=\e(B}
+
+tl \e$B$G$O!"\e(BOriginal Emacs \e$B$G$N\e(B version \e$B$N:9$d!"$=$NF|K\8l2=$dB?8@8l2=$J\e(B
+\e$B$I$N3HD%$K$h$k:9$rKd$a!"$3$l$i$NB?MM$J\e(B Emacs \e$B$N>e$G8_49@-$r$H$k$?$a$N\e(B
+\e$B5!9=$rMQ0U$7$F$$$^$9!#\e(B
+
+\e$B$=$N0l$D$O!"\e(BEmacs 18 \e$B$G\e(B Emacs 19 \e$B$N4X?t$rMQ0U$7$F!"\e(BEmacs 19 \e$B$G3HD%$5$l\e(B
+\e$B$?5!G=$r\e(B Emacs 18 \e$B$GMxMQ$9$k$?$a$N\e(B module `tl-18' \e$B$G$9!#\e(B
+
+\e$B$b$&0l$D$O!"\e(BNEmacs, Original Emacs, Mule \e$B$J$I$G$NJ8;z!"J8;zNs$N<h07$$\e(B
+\e$B$N:90[$rKd$a!"$3$l$i$G6&DL$KF0$/\e(B program \e$B$r=q$/$?$a$N\e(B module \e$B$G$9!#\e(B
+
+
+@menu
+* tl-18::
+* tl-nemacs::
+* tl-orig::
+* tl-mule::
+@end menu
+
+
+@node tl-18, tl-nemacs, Compatible, Compatible
+@comment  node-name,  next,  previous,  up
+@section{tl-18}
+@cindex{tl-18}
+
+tl-18 \e$B$O\e(B Emacs 18 \e$B$G\e(B Emacs 19 \e$B$N4X?t$r;H$&$?$a$N\e(B module \e$B$G$9!#\e(B
+
+tl-18.el \e$B$G$O!"8=:_!"\e(BEmacs 19 \e$B$N4X?t$N$&$A!"\e(B@code{add-hook},
+@code{member} \e$B$r<B8=$7$F$$$^$9!#\e(B
+
+tl-18 \e$B$rMxMQ$9$k$K$O\e(B @code{(require 'tl-18)} \e$B$r=q$$$F2<$5$$!#\e(B
+
+
+@node tl-nemacs, tl-orig, tl-18, Compatible
+@comment  node-name,  next,  previous,  up
+@section{tl-nemacs}
+@cindex{tl-nemacs}
+
+tl-nemacs \e$B$O!"\e(BNEmacs \e$B$K$*$$$F!"<g$K!"F|K\8l=hM}$K4X$7$F!"\e(BMule \e$B$J$I$NB>\e(B
+\e$B$N\e(B Emacs \e$B$H$N8_49@-$r<h$k$?$a$N\e(B module \e$B$G$9!#\e(Btl-nemacs \e$B$r;H$&$3$H$K$h$C\e(B
+\e$B$F!"\e(BNEmacs, Original Emacs, Mule \e$B$NJL$K0M$i$J$$\e(B program \e$B$r=q$/$3$H$,$G\e(B
+\e$B$-$^$9!#\e(B
+
+tl-nemacs \e$B$rMxMQ$9$k$K$O\e(B @code{(require 'tl-nemacs)} \e$B$r=q$$$F2<$5$$!#\e(B
+
+
+@subsection{\e$BJ8;z\e(B code}
+
+@defvr{Constant} *junet*
+
+ISO-2022-JP (JIS) \e$B$rI=$9!#CM$O\e(B 2.\e$B!J\e(BMULE \e$B8_49Dj?t!K\e(B
+@end defvr
+
+@defvr{Constant} *internal*
+
+NEmacs \e$B$NFbIt\e(B code \e$B$rI=$9!#CM$O\e(B 3. \e$B<B:]$K$O!"\e(BEUC \e$B$HF1$8!#!J\e(BMULE \e$B8_49Dj\e(B
+\e$B?t!K\e(B
+@end defvr
+
+@defvr{Constant} *euc-japan*
+
+EUC-JP (EUC) \e$B$rI=$9!#CM$O\e(B 3.\e$B!J\e(BMULE \e$B8_49Dj?t!K\e(B
+@end defvr
+
+@deffn{Function} code-convert-string STR SOURCE TARGET
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B @var{SOURCE} code \e$B$+$i\e(B @var{TARGET} code \e$B$KJQ49$9\e(B
+\e$B$k!#!J\e(BMULE \e$B8_494X?t!K\e(B
+@end deffn
+
+
+@subsection{leading character}
+
+@defvr{Constant} lc-ascii
+
+ASCII \e$B$rI=$9\e(B leading character.\e$B!J\e(BMULE \e$B8_49Dj?t!K\e(B
+@end defvr
+
+@defvr{Constant} lc-jp
+
+JIS X0208 \e$B$rI=$9\e(B leading character.\e$B!J\e(BMULE \e$B8_49Dj?t!K\e(B
+@end defvr
+
+@deffn{Function} get-lc CHR
+
+\e$BJ8;z$N@hF,\e(B octet @var{CHR} \e$B$KBP$7$F!"$=$NJ8;z$N\e(B leading character \e$B$rJV\e(B
+\e$B$9!#\e(B
+@end deffn
+
+
+@subsection{\e$BJ8;z=hM}\e(B}
+
+@deffn{Function} char-bytes CHR
+
+\e$BJ8;z$N@hF,\e(B octet @var{CHR} \e$B$KBP$7$F!"$=$NJ8;z$N\e(B byte \e$B?t$rJV$9!#!J\e(BMULE 
+\e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} char-width CHR
+
+\e$BJ8;z$N@hF,\e(B octet @var{CHR} \e$B$KBP$7$F!"$=$NJ8;z$NI}$rJV$9!#!J\e(BMULE \e$B8_494X\e(B
+\e$B?t!K\e(B
+@end deffn
+
+
+@subsection{\e$BJ8;zNs=hM}\e(B}
+
+@deffn{Function} string-width STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$NI}$rJV$9!#!J\e(BMULE \e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} check-ASCII-string STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$NCf$K\e(B ASCII \e$B0J30$NJ8;z$,4^$^$l$J$$$3$H$r3N$+$a$k!#$b\e(B
+\e$B$7!"\e(BASCII \e$B0J30$NJ8;z$,4^$^$l$F$$$l$P\e(B nil \e$B$rJV$9!#\e(B
+@end deffn
+
+
+@subsection{\e$B$=$NB>\e(B}
+
+@deffn{Function} attribute-add-narrow-attribute ATR FROM TO
+
+@var{FROM} \e$B$H\e(B @var{TO} \e$B$G0O$^$l$?\e(B region \e$B$K\e(B @var{ATR} \e$B$N\e(B attribute \e$B$r\e(B
+\e$BIU$1$k!#\e(B
+@end deffn
+
+
+@node tl-orig, tl-mule, tl-nemacs, Compatible
+@comment  node-name,  next,  previous,  up
+@section{tl-orig}
+@cindex{tl-orig}
+
+tl-orig \e$B$O!"\e(BOriginal Emacs 19 \e$B$K$*$$$F!"<g$K!"\e(BISO-8859-1 \e$B$N=hM}$K4X$7\e(B
+\e$B$F!"\e(BMule \e$B$J$I$NB>$N\e(B Emacs \e$B$H$N8_49@-$r<h$k$?$a$N\e(B module \e$B$G$9!#\e(Btl-orig 
+\e$B$r;H$&$3$H$K$h$C$F!"\e(BNEmacs, Original Emacs, Mule \e$B$NJL$K0M$i$J$$\e(B 
+program \e$B$r=q$/$3$H$,$G$-$^$9!#\e(B
+
+tl-orig \e$B$rMxMQ$9$k$K$O\e(B @code{(require 'tl-orig)} \e$B$r=q$$$F2<$5$$!#\e(B
+
+
+@subsection{leading character}
+
+@defvr{Constant} lc-ascii
+
+ASCII \e$B$rI=$9\e(B leading character.\e$B!J\e(BMULE \e$B8_49Dj?t!K\e(B
+@end defvr
+
+@defvr{Constant} lc-ltn1
+
+ISO 8859-1 \e$B$rI=$9\e(B leading character.\e$B!J\e(BMULE \e$B8_49Dj?t!K\e(B
+@end defvr
+
+@deffn{Function} get-lc CHR
+
+\e$BJ8;z$N@hF,\e(B octet @var{CHR} \e$B$KBP$7$F!"$=$NJ8;z$N\e(B leading character \e$B$rJV\e(B
+\e$B$9!#\e(B
+@end deffn
+
+
+@subsection{\e$BJ8;z=hM}\e(B}
+
+@deffn{Function} char-bytes CHR
+
+\e$BJ8;z$N@hF,\e(B octet @var{CHR} \e$B$KBP$7$F!"$=$NJ8;z$N\e(B byte \e$B?t$rJV$9!#!J\e(BMULE 
+\e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} char-width CHR
+
+\e$BJ8;z$N@hF,\e(B octet @var{CHR} \e$B$KBP$7$F!"$=$NJ8;z$NI}$rJV$9!#!J\e(BMULE \e$B8_494X\e(B
+\e$B?t!K\e(B
+@end deffn
+
+
+@subsection{\e$BJ8;zNs=hM}\e(B}
+
+@deffn{Function} string-width STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$NI}$rJV$9!#!J\e(BMULE \e$B8_494X?t!K\e(B
+@end deffn
+
+
+@node tl-mule, tl-list, tl-orig, Compatible
+@comment  node-name,  next,  previous,  up
+@section{tl-mule}
+@cindex{tl-mule}
+
+tl-mule \e$B$O!"\e(BMule \e$B$K$*$$$F!"<g$K!"B?8@8lJ8;zNs$N=hM}$K4X$7$F!"\e(BNEmacs \e$B$d\e(B 
+Original Emacs \e$B$J$I$NB>$N\e(B Emacs \e$B$H$N8_49@-$r<h$k$?$a$N\e(B module \e$B$G$9!#\e(B
+tl-mule \e$B$r;H$&$3$H$K$h$C$F!"\e(BNEmacs, Original Emacs, Mule \e$B$NJL$K0M$i$J\e(B
+\e$B$$\e(B program \e$B$r=q$/$3$H$,$G$-$^$9!#\e(B
+
+tl-mule \e$B$rMxMQ$9$k$K$O\e(B @code{(require 'tl-mule)} \e$B$r=q$$$F2<$5$$!#\e(B
+
+
+@subsection{leading character}
+
+@deffn{Function} get-lc CHR
+
+\e$BJ8;z$N@hF,\e(B octet @var{CHR} \e$B$KBP$7$F!"$=$NJ8;z$N\e(B leading character \e$B$rJV\e(B
+\e$B$9!#\e(B
+@end deffn
+
+
+@node tl-list, tl-str, Compatible, Top
+@comment  node-name,  next,  previous,  up
+@chapter{tl-list}
+@cindex{tl-list}
+
+tl-list \e$B$O\e(B list \e$B=hM}$K4X$9$kM-MQ$J4X?t$r=8$a$?\e(B module \e$B$G$9!#\e(B
+
+tl-list \e$B$rMxMQ$9$k$K$O\e(B @code{(require 'tl-list)} \e$B$r=q$$$F2<$5$$!#\e(B
+
+@section{list}
+
+@deffn{Function} last LIST
+
+@var{LIST} \e$B$N:G8e$NMWAG$rJV$9!#!J\e(BCommon Lisp \e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} butlast LIST &optional n
+
+@var{LIST} \e$B$N:G8e$N\e(B @var{n} \e$BMWAG$r=|$$$?\e(B copy \e$B$rJV$9!#!J\e(BCommon Lisp \e$B8_\e(B
+\e$B494X?t!K\e(B
+@end deffn
+
+@deffn{Function} nbutlast LIST &optional n
+
+@var{LIST} \e$B$N:G8e$N\e(B @var{n} \e$BMWAG$r=|$$$?$b$N$rJV$9!#!JGK2uE*!K!J\e(BCommon
+Lisp \e$B8_494X?t!K\e(B
+@end deffn
+
+
+@section{\e$BO"A[%j%9%H\e(B}
+
+@deffn{Function} put-alist ITEM VALUE ALIST
+
+\e$BO"A[%j%9%H\e(B @var{ALIST} \e$B$N\e(B key @var{ITEM} \e$B$KBP1~$9$kCM$r\e(B @var{VALUE} \e$B$K\e(B
+\e$B$9$k!#!JGK2uE*!K!J\e(BELIS \e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} del-alist ITEM ALIST
+
+\e$BO"A[%j%9%H\e(B @var{ALIST} \e$B$N\e(B key @var{ITEM} \e$B$KBP1~$9$kCM$r:o=|$9$k!#!JGK\e(B
+\e$B2uE*!K!J\e(BELIS \e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} set-alist SYM ITEM VALUE
+
+\e$BO"A[%j%9%H$rF~$l$?\e(B symbol @var{SYM} \e$B$N\e(B key @var{ITEM} \e$B$NCM$r\e(B 
+@var{VALUE} \e$B$K$9$k!#!JGK2uE*!K\e(B
+@end deffn
+
+
+@section{\e$BC10l2=;R\e(B}
+
+field \e$B$H$O\e(B @code{(field-type . field-value)} \e$B$H$$$&7A$r$7$?BP$G$"$k!#\e(B
+\e$B$3$N\e(B field \e$B$rMWAG$H$7$?\e(B @code{(field1 field2 ...)} \e$B$H$$$&7A$NO"A[%j%9\e(B
+\e$B%H$r!V7?!W$H$7$F<h$j07$&!#\e(B
+
+
+@deffn{Function} fetch-field KEY ALIST
+
+\e$BO"A[%j%9%H\e(B @var{ALIST} \e$B$N\e(B key @var{KEY} \e$B$KBP1~$9$kBP$rJV$9!#\e(Bassoc \e$B$HF1\e(B
+\e$B$8!#!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} put-field KEY VALUE ALIST
+
+\e$BO"A[%j%9%H\e(B @var{ALIST} \e$B$N\e(B key @var{KEY} \e$B$KBP1~$9$kCM$r\e(B @var{VALUE} \e$B$K\e(B
+\e$B$9$k!#\e(Bput-field \e$B$HF1$8!#!JGK2uE*!K!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} delete-field KEY VALUE
+
+\e$BO"A[%j%9%H\e(B @var{ALIST} \e$B$N\e(B key @var{KEY} \e$B$KBP1~$9$kCM$r:o=|$9$k!#!JGK2u\e(B
+\e$BE*!K!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+
+@deffn{Function} field-unifier-for-default CLASS INSTANCE
+
+\e$BB>$KE,Ev$J\e(B field-unifier \e$B$,8+$D$+$i$J$+$C$?>l9g$K5/F0$5$l$k\e(B 
+field-unifier. field @var{CLASS} \e$B$H\e(B field @var{INSTANCE} \e$B$N\e(B 
+field-unify \e$B$r9T$&!#!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+
+@deffn{Function} field-unify CLASS INSTANCE
+
+field @var{CLASS} \e$B$H\e(B field @var{INSTANCE} \e$B$N\e(B field-unify \e$B$r9T$&!#<B:]\e(B
+\e$B$K$O!"\e(B@var{CLASS} \e$B$N\e(B field-type \e$B$KBP1~$7$?\e(B field-unifier \e$B$,5/F0$5$l$k!#\e(B
+\e$B!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+
+@deffn{Function} assoc-unify CLASS INSTANCE
+
+\e$BO"A[%j%9%H\e(B @var{CLASS} \e$B$HO"A[%j%9%H\e(B @var{INSTANCE} \e$B$N\e(B type-unify \e$B$r9T\e(B
+\e$B$&!#!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+
+@node tl-str, tl-header, tl-list, Top
+@comment  node-name,  next,  previous,  up
+@chapter{tl-str}
+@cindex{tl-str}
+
+tl-str \e$B$OJ8;zNs=hM}$K4X$9$kM-MQ$J4X?t$r=8$a$?\e(B module \e$B$G$9!#\e(B
+
+tl-str \e$B$rMxMQ$9$k$K$O\e(B @code{(require 'tl-str)} \e$B$r=q$$$F2<$5$$!#\e(B
+
+
+@deffn{Function} rightful-boundary-short-string STR WIDTH
+
+\e$BJ8;zNs\e(B @var{str} \e$B$r@hF,$+$iI}\e(B @var{WIDTH} \e$B0JFb$G@Z$C$?J8;zNs$rJV$7$^$9!#\e(B
+multi octet \e$BJ8;zNs$N>l9g$G$b@5$7$/J8;zC10L$G@ZCG$7$^$9!#\e(B
+@end deffn
+
+
+@deffn{Function} get-version-string ID
+
+RCS \e$B$N\e(B version \e$BJ8;zNs\e(B @var{ID} \e$B$+$i?t;z$H\e(B `.' \e$B$+$i$N$_9=@.$5$l$k\e(B 
+version number \e$BJ8;zNs$rJV$9!#\e(B
+@end deffn
+
+
+@deffn{Function} replace-as-filename STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$N$+$i\e(B file name \e$B$H$7$FLdBj$N$"$kJ8;z$r<h$j=|$$$?\e(B 
+file name \e$B$H$7$F;H$($kJ8;zNs$rJV$9!#\e(B
+@end deffn
+
+
+@defvr{Variable} cited-prefix-regexp
+
+\e$BL?Na\e(B @code{fill-cited-region} \e$B$GMQ$$$k!"0zMQJ8;zNs$N@hF,J8;zNs$rI=$9\e(B 
+prefix. \e$B@55,I=8=$r;XDj$9$k!#\e(B
+@end defvr
+
+@deffn{Command} fill-cited-region BEGIN END
+
+\e$B@hF,0LCV\e(B @var{BEGIN} \e$B$H=*N;0LCV\e(B @var{END} \e$B$G0O$^$l$?\e(B region \e$B$r0zMQJ8;z\e(B
+\e$BNs$H$7$F\e(B fill \e$B$9$k!#\e(B
+@end deffn
+
+
+@deffn{Function} symbol-concat A B
+
+\e$BJ8;zNs$+\e(B symbol \e$B$G$"$k#2$D$N0z?t\e(B @var{A} \e$B$H\e(B @var{B} \e$B$rJ8;zNs$H$7$F$D$J\e(B
+\e$B$$$@L>A0$N\e(B symbol \e$B$rJV$9!#!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} top-string-match PAT STR
+
+\e$BJ8;zNs\e(B @var{PAT} \e$B$,J8;zNs\e(B @var{STR} \e$B$N@hF,$K4^$^$l$k>l9g!"\e(B@code{(PAT 
+\e$B;D$j\e(B)} \e$B$H$$$&7A<0$N\e(B list \e$B$rJV$9!#!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+@deffn{Function} middle-string-match PAT STR
+
+\e$BJ8;zNs\e(B @var{PAT} \e$B$,J8;zNs\e(B @var{STR} \e$B$N$I$3$+$K4^$^$l$k>l9g!"\e(B@code{(\e$BA0\e(B 
+PAT \e$B;D$j\e(B)} \e$B$H$$$&7A<0$N\e(B list \e$B$rJV$9!#!J\e(Bjinn \e$B8_494X?t!K\e(B
+@end deffn
+
+
+@node tl-header, Concept Index, tl-str, Top
+@comment  node-name,  next,  previous,  up
+@chapter{tl-header}
+@cindex{tl-header}
+
+tl-header \e$B$O\e(B mail \e$B$d\e(B News \e$B$J$I$N\e(B message header \e$B$N=hM}$K4X$9$kM-MQ$J4X\e(B
+\e$B?t$r=8$a$?\e(B module \e$B$G$9!#\e(B
+
+tl-header \e$B$rMxMQ$9$k$K$O\e(B @code{(require 'tl-header)} \e$B$r=q$$$F2<$5$$!#\e(B
+
+
+@defvr{Constant} message/quoted-string-regexp
+
+RFC 822 \e$B$K$*$1$k\e(B quoted-string \e$B$rI=$9@55,I=8=!#\e(B
+@end defvr
+
+@defvr{Constant} message/field-name-regexp
+
+RFC 822 \e$B$K$*$1$k\e(B field-name \e$B$rI=$9@55,I=8=!#\e(B
+@end defvr
+
+@defvr{Constant} message/field-body-regexp
+
+RFC 822 \e$B$K$*$1$k\e(B field-body \e$B$rI=$9@55,I=8=!#\e(B
+@end defvr
+
+@defvr{Constant} message/field-regexp
+
+RFC 822 \e$B$K$*$1$k\e(B field \e$B$rI=$9@55,I=8=!#\e(B
+@end defvr
+
+@defvr{Constant} message/word-regexp
+
+RFC 822 \e$B$K$*$1$k\e(B word \e$B$rI=$9@55,I=8=!#\e(B
+@end defvr
+
+@defvr{Constant} message/local-part-regexp
+
+RFC 822 \e$B$K$*$1$k\e(B local-part \e$B$rI=$9@55,I=8=!#\e(B
+@end defvr
+
+@defvr{Constant} message/domain-regexp
+
+RFC 822 \e$B$K$*$1$k\e(B domain \e$B$rI=$9@55,I=8=!#\e(B
+@end defvr
+
+@defvr{Constant} message/addr-spec-regexp
+
+RFC 822 \e$B$K$*$1$k\e(B addr-spec \e$B$rI=$9@55,I=8=!#\e(B
+@end defvr
+
+@deffn{Function} message/get-field-body NAME
+
+message header \e$B$K$*$$$F\e(B @var{NAME} field \e$B$N\e(B body \e$B$rJV$9!#\e(B
+@end deffn
+
+@deffn{Function} message/divide-field STR
+
+field \e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B @code{(field-name field-body)} \e$B$H$$$&7A<0$N\e(B 
+list \e$B$K$7$FJV$9!#\e(B
+@end deffn
+
+@deffn{Function} message/parse-addr-spec STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B addr-spec \e$B$H$7$F9=J82r@O$7!"\e(B@code{(addr-spec \e$B;D$j\e(B)} 
+\e$B$H$$$&7A<0$N%j%9%H$K$7$FJV$9!#\e(B
+@end deffn
+
+@deffn{Function} message/parse-phrase-route-addr STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B phrase route-addr \e$B$H$7$F9=J82r@O$7!"\e(B@code{((phrase
+"<" addr-spec ">") \e$B;D$j\e(B)} \e$B$H$$$&7A<0$N%j%9%H$K$7$FJV$9!#!JCm!'@53N$K$O!"\e(B
+route \e$B$b8+$J$1$l$P$$$1$J$$$,!"\e(Broute \e$B$OL5$$$b$N$H$7$F2r@O$7$F$$$k!K\e(B
+@end deffn
+
+@deffn{Function} message/parse-comment STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B comment \e$B$H$7$F9=J82r@O$7!"\e(B@code{(("(" comment ")") 
+\e$B;D$j\e(B)} \e$B$H$$$&7A<0$N%j%9%H$K$7$FJV$9!#\e(B
+@end deffn
+
+@deffn{Function} message/parse-address STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B address \e$B$H$7$F9=J82r@O$7!"\e(B@code{(address \e$B;D$j\e(B)} \e$B$H\e(B
+\e$B$$$&7A<0$N%j%9%H$K$7$FJV$9!#\e(B
+@end deffn
+
+@deffn{Function} message/parse-addresses STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B address list \e$B$H$7$F9=J82r@O$7!"\e(B@code{(address1
+address2 ...)} \e$B$H$$$&7A<0$N%j%9%H$K$7$FJV$9!#\e(B
+@end deffn
+
+@deffn{Function} message/unfolding-string STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B field \e$B$H$7$F\e(B unfolding \e$B$7$?J8;zNs$rJV$9!#\e(B
+@end deffn
+
+@deffn{Function} message/strip-quoted-string STR
+
+\e$BJ8;zNs\e(B @var{STR} \e$B$r\e(B quoted-string \e$B$H$7$F\e(B strip \e$B$7$?J8;zNs$rJV$9!#\e(B
+@end deffn
+
+
+@node Concept Index, Command Index, Command List, Top
+@unnumbered \e$B35G0:w0z\e(B
+
+@printindex cp
+
+
+@node Command Index, Variable Index, Concept Index, Top
+@unnumbered \e$B4X?t!&%3%^%s%I:w0z\e(B
+
+@printindex fn
+
+
+@node Variable Index, Concept Index, Command Index, Top
+@unnumbered \e$BJQ?t:w0z\e(B
+
+@printindex vr
+
+@bye
index 3fccba0..1561030 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/csh
+#!/bin/csh -f
 
 switch( $4 )
 case "play":
index 752e75d..99d939c 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/csh
+#!/bin/csh -f
 
 if (! $?TM_TMP_DIR) then
     set TM_TMP_DIR=/tmp
index f5bc63b..d05dfe3 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/csh
+#!/bin/csh -f
 
 if (! $?TM_TMP_DIR) then
     set TM_TMP_DIR=/tmp
index d4d72c9..278ad38 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/csh
+#!/bin/csh -f
 #
 #      tm-latex: method for LaTeX
 #
index 643421e..c4e085e 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/csh
+#!/bin/csh -f
 
 if( $5 == "" ) then
        set filename = /tmp/mime$$.mpg
index f28934f..ae2e66a 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/csh
+#!/bin/csh -f
 
 if( $5 == "" ) then
        set filename="/tmp/mime$$.pln"
index 5622691..ef696df 100644 (file)
@@ -1,10 +1,10 @@
 ;;;
-;;; $Id: tl-header.el,v 4.5 1994/09/02 07:10:15 morioka Exp $
+;;; $Id: tl-header.el,v 4.6 1994/11/08 10:30:11 morioka Exp $
 ;;;
 
 (provide 'tl-header)
 
-(defconst message/quoted-string-regexp "\".*\"")
+(defconst message/quoted-string-regexp "\"[^\"]*\"")
 (defconst message/field-name-regexp "^[!-9;-~]+:")
 (defconst message/field-body-regexp ".*\\(\n[ \t].*\\)*")
 (defconst message/field-regexp
index 93f861c..9bb08b1 100644 (file)
@@ -1,5 +1,5 @@
 ;;;
-;;; $Id: tl-list.el,v 1.2 1994/10/29 14:40:02 morioka Exp $
+;;; $Id: tl-list.el,v 2.0 1994/11/08 11:14:20 morioka Exp $
 ;;;
 
 (provide 'tl-list)
@@ -165,3 +165,21 @@ return new alist whose car is the new pair and cdr is <ALIST>.
        )
       (list prev (append cla ins) rest)
       )))
+
+(defun get-unified-alist (db al)
+  (let ((r db) ret)
+    (catch 'tag
+      (while r
+       (if (setq ret (nth 1 (assoc-unify (car r) al)))
+           (throw 'tag ret)
+         )
+       (setq r (cdr r))
+       ))))
+
+(defun set-atype (sym al)
+  (if (null (boundp sym))
+      (set sym al)
+    (let ((ret (get-unified-alist (eval sym) al)))
+      (if (not (equal ret al))
+         (set sym (cons al (eval sym)))
+       ))))
diff --git a/tm-enriched.el b/tm-enriched.el
new file mode 100644 (file)
index 0000000..abff363
--- /dev/null
@@ -0,0 +1,120 @@
+;;;
+;;; $Id: tm-rich.el,v 2.2 1994/10/31 07:44:51 morioka Exp $
+;;;
+;;;          by MORIOKA Tomohiko  <morioka@jaist.ac.jp>
+;;; modified by YAMATE Keiichirou <ics9118@sem1.info.osaka-cu.ac.jp>
+;;;
+
+(provide 'tm-enriched)
+
+(require 'tm-view)
+
+(defvar mime/text/enriched-face-list
+  '("bold" "italic" "fixed" "underline"))
+
+(cond ((and (>= (string-to-int emacs-version) 19) window-system)
+       (require 'hilit19)
+       (defun mime/set-face-region (b e face)
+        (let ((sym (intern face)))
+          (if (eq sym 'italic)
+              (setq sym 'modeline)
+            )
+          (if (member sym (face-list))
+              (progn
+                (hilit-unhighlight-region b e)
+                (hilit-region-set-face b e sym)
+                ))))
+       )
+      ((and (boundp 'NEMACS) NEMACS)
+       (setq mime/text/enriched-face-list
+            '("bold" "italic" "underline"))
+       (setq mime/text/enriched-face-attribute-alist
+            '(("bold"      . inversed-region)
+              ("italic"    . underlined-region)
+              ("underline" . underlined-region)
+              ))
+       (defun mime/set-face-region (beg end sym)
+        (attribute-add-narrow-attribute
+         (cdr (assoc sym mime/text/enriched-face-attribute-alist))
+         beg end))
+       )
+      (t
+       (setq mime/text/enriched-face-list
+            nil)
+       (defun mime/set-face-region (beg end sym)
+        )
+       ))
+
+(defun mime/decode-text/enriched-region (beg end)
+  (interactive "*r")
+  (save-excursion
+    (save-restriction
+      (narrow-to-region beg end)
+      (while (re-search-forward "[\n]+" nil t)
+       (let ((str (buffer-substring (match-beginning 0)
+                                    (match-end 0))))
+         (if (string= str "\n")
+             (replace-match " ")
+           (replace-match (substring str 1))
+           )))
+      (goto-char beg)
+      (let (cmd str (fb (point)) fe b e)
+       (while (re-search-forward "<\\(<\\|[^<>\n\r \t]+>\\)" nil t)
+         (setq b (match-beginning 0))
+         (setq cmd (buffer-substring b (match-end 0)))
+         (if (string= cmd "<<")
+             (replace-match "<")
+           (replace-match "")
+           (setq cmd (downcase (substring cmd 1 (- (length cmd) 1))))
+           )
+         (cond ((string= cmd "param")
+                (setq b (point))
+                (save-excursion
+                  (save-restriction
+                    (if (search-forward "</param>" nil t)
+                        (progn
+                          (replace-match "")
+                          (setq e (point))
+                          )
+                      (setq e end)
+                      )))
+                (delete-region b e)
+                )
+               ((member cmd mime/text/enriched-face-list)
+                (setq b (point))
+                (save-excursion
+                  (save-restriction
+                    (if (re-search-forward (concat "</" cmd ">") nil t)
+                        (progn
+                          (replace-match "")
+                          (setq e (point))
+                          )
+                      (setq e end)
+                      )))
+                (mime/set-face-region b e cmd)
+                )))
+       (goto-char (point-max))
+       (if (not (eq (preceding-char) ?\n))
+           (insert "\n")
+         )
+       ))))
+
+(defun mime/decode-text/enriched (&optional ctl)
+  (interactive)
+  (save-excursion
+    (save-restriction
+      (let ((beg (point-min)) (end (point-max)))
+       (goto-char (point-min))
+       (if (search-forward "\n\n" nil t)
+           (setq beg (match-end 0))
+         )
+       (mime/decode-text/enriched-region beg end)
+       ))))
+
+
+(set-alist 'mime/content-filter-alist
+          "text/enriched" (function mime/decode-text/enriched))
+
+(set-alist 'mime/content-filter-alist
+          "text/richtext" (function mime/decode-text/enriched))
+
diff --git a/tm-ftp.el b/tm-ftp.el
new file mode 100644 (file)
index 0000000..9044ed8
--- /dev/null
+++ b/tm-ftp.el
@@ -0,0 +1,36 @@
+;;;
+;;; tm-ftp: anonymous ftp processor for tm-view
+;;;
+;;; by MASUTANI Yasuhiro <masutani@me.es.osaka-u.ac.jp> (1994/11/5)
+;;;    
+;;; modified by MORIOKA Tomohiko <morioka@jaist.ac.jp> (1994/11/8)
+;;;
+
+(provide 'tm-ftp)
+
+(require 'ange-ftp)
+
+(defun mime/decode-message/external-ftp (beg end cal)
+  (let ((access-type (cdr (assoc "access-type" cal)))
+       (site (cdr (assoc "site" cal)))
+       (directory (cdr (assoc "directory" cal)))
+       (name (cdr (assoc "name" cal)))
+       (mode (cdr (assoc "mode" cal)))
+       (pathname))
+    (setq pathname
+         (concat "/anonymous@" site ":" directory))
+    (message (concat "Accessing " pathname "/" name "..."))
+    (dired pathname)
+    (goto-char (point-min))
+    (search-forward name)
+    ))
+
+(set-atype 'mime/content-decoding-condition
+          '((type . "message/external-body")
+            ("access-type" . "anon-ftp")
+            (method . mime/decode-message/external-ftp)
+            ))
+
+          
+
+       
\ No newline at end of file
index 0f88eba..a5b3d6d 100644 (file)
@@ -1,5 +1,5 @@
 ;;;
-;;; $Id: tm-mh-e3.el,v 1.1 1994/07/10 20:03:10 morioka Exp morioka $
+;;; $Id: tm-mh-e3.el,v 1.2 1994/11/01 18:06:16 morioka Exp $
 ;;;
 ;;; This is a part of tm-mh-e.el which is a module for old mh-e
 ;;; to emulate mh-e 4.0.
@@ -20,17 +20,18 @@ The value of mh-show-mode-hook is called when a new message is displayed."
   (mh-set-mode-name "MH-Show")
   (run-hooks 'mh-show-mode-hook))
 
-(defun mh-display-msg (msg-num folder)
+(defun mh-display-msg (msg-num folder &optional show-buffer)
   ;; Display message NUMBER of FOLDER.
   ;; Sets the current buffer to the show buffer.
   (set-buffer folder)
+  (or show-buffer
+      (setq show-buffer mh-show-buffer))
   ;; Bind variables in folder buffer in case they are local
   (let ((formfile mhl-formfile)
        (clean-message-header mh-clean-message-header)
        (invisible-headers mh-invisible-headers)
        (visible-headers mh-visible-headers)
        (msg-filename (mh-msg-filename msg-num))
-       (show-buffer mh-show-buffer)
        (folder mh-current-folder))
     (if (not (file-exists-p msg-filename))
        (error "Message %d does not exist" msg-num))
index 8f73ecb..c197b2e 100644 (file)
@@ -1,5 +1,5 @@
 ;;;
-;;; $Id: tm-mule.el,v 5.1 1994/10/26 14:43:57 morioka Exp $
+;;; $Id: tm-mule.el,v 5.2 1994/11/08 11:18:43 morioka Exp $
 ;;;
 
 (provide 'tm-mule)
@@ -14,6 +14,8 @@
 ;;; @ variables
 ;;;
 
+(defvar mime/default-charset *ctext*)
+
 (defvar mime/lc-charset-and-encoding-alist
   (list
    (cons lc-ascii nil)
        (let ((ct (cdr (assoc charset mime/charset-coding-system-alist))))
          (if ct
              (code-convert beg end ct *internal*)
-           )))))
+           )))
+    (if mime/default-charset
+       (code-convert beg end mime/default-charset *internal*)
+      )))
index f498b72..e93e36a 100644 (file)
@@ -1,5 +1,5 @@
 ;;;
-;;; $Id: tm-rich.el,v 2.1 1994/10/31 05:05:51 morioka Exp $
+;;; $Id: tm-rich.el,v 2.2 1994/10/31 07:44:51 morioka Exp morioka $
 ;;;
 ;;;          by MORIOKA Tomohiko  <morioka@jaist.ac.jp>
 ;;; modified by YAMATE Keiichirou <ics9118@sem1.info.osaka-cu.ac.jp>
@@ -82,7 +82,7 @@
                 )))
        (fill-region fb (point-max) t)
        (goto-char (point-max))
-       (if (not (eq (char-before (point)) ?\n))
+       (if (not (eq (preceding-char) ?\n))
            (insert "\n")
          )
        ))))
index aadc2b3..0eb9369 100644 (file)
@@ -20,7 +20,7 @@
 ;;;
 
 (defconst mime/viewer-RCS-ID
-  "$Id: tm-view.el,v 5.16 1994/10/26 19:03:12 morioka Exp $")
+  "$Id: tm-view.el,v 5.19 1994/11/08 11:13:12 morioka Exp $")
 
 (defconst mime/viewer-version (get-version-string mime/viewer-RCS-ID))
 
@@ -36,7 +36,7 @@
 (defconst mime/content-parameter-value-regexp
   (concat "\\("
          message/quoted-string-regexp
-         "\\|[^; \t\n]\\)*"))
+         "\\|[^; \t\n]*\\)"))
 
 (defconst mime/output-buffer-name "*MIME-out*")
 (defconst mime/decoding-buffer-name "*MIME-decoding*")
     ))
 
 (defun mime/get-content-decoding-alist (al)
-  (let ((r mime/content-decoding-condition) ret)
-    (catch 'tag
-      (while r
-       (if (setq ret (nth 1 (assoc-unify (car r) al)))
-           (throw 'tag ret)
-         )
-       (setq r (cdr r))
-       ))))
+  (get-unified-alist mime/content-decoding-condition al)
+  )
 
 (defun mime/decode-content-region (beg end)
   (interactive "*r")
 ;;; @ MIME viewer mode
 ;;;
 
+(defvar mime/viewer-mode-map nil)
+(if (null mime/viewer-mode-map)
+    (progn
+      (setq mime/viewer-mode-map (make-keymap))
+      (suppress-keymap mime/viewer-mode-map)
+      (define-key mime/viewer-mode-map "u" 'mime/up-content)
+      (define-key mime/viewer-mode-map "p" 'mime/previous-content)
+      (define-key mime/viewer-mode-map "n" 'mime/next-content)
+      (define-key mime/viewer-mode-map " " 'mime/scroll-up-content)
+      (define-key mime/viewer-mode-map "\M- " 'mime/scroll-down-content)
+      (define-key mime/viewer-mode-map "\177" 'mime/scroll-down-content)
+      (define-key mime/viewer-mode-map "\C-m" 'mime/next-line-content)
+      (define-key mime/viewer-mode-map "\C-\M-m" 'mime/previous-line-content)
+      (define-key mime/viewer-mode-map "v" 'mime/play-content)
+      (define-key mime/viewer-mode-map "e" 'mime/extract-content)
+      (define-key mime/viewer-mode-map "\C-c\C-p" 'mime/print-content)
+      (define-key mime/viewer-mode-map "q" 'mime/quit-view-mode)
+      (define-key mime/viewer-mode-map "\C-c\C-x" 'mime/exit-view-mode)
+      ))
+
 (defun mime/viewer-mode (&optional mother)
+  "Major mode for viewing MIME message.
+
+u      Move to upper content
+p      Move to previous content
+n      Move to next content
+SPC    Scroll up
+M-SPC  Scroll down
+DEL    Scroll down
+RET    Move to next line
+M-RET  Move to previous line
+v      Decode the content as `play mode'
+e      Decode the content as `extract mode'
+C-c C-p        Decode the content as `print mode'
+q      Quit
+"
   (interactive)
   (let ((buf (get-buffer mime/output-buffer-name))
        (the-buf (current-buffer))
     (switch-to-buffer (car ret))
     (setq major-mode 'mime/viewer-mode)
     (setq mode-name "MIME-View")
-
     (make-variable-buffer-local 'mime/viewer-original-major-mode)
     (setq mime/viewer-original-major-mode
          (if mother
                (setq mime/mother-buffer mother)
                'mime/show-message-mode)
            mode))
-    (let ((keymap (current-local-map)))
-      (if (null keymap)
-         (setq keymap (make-sparse-keymap))
-       (setq keymap (copy-keymap keymap))
-       )
-      (use-local-map keymap)
-      (define-key keymap "u" 'mime/up-content)
-      (define-key keymap "p" 'mime/previous-content)
-      (define-key keymap "n" 'mime/next-content)
-      (define-key keymap " " 'mime/scroll-up-content)
-      (define-key keymap "\M- " 'mime/scroll-down-content)
-      (define-key keymap "\177" 'mime/scroll-down-content)
-      (define-key keymap "\C-m" 'mime/next-line-content)
-      (define-key keymap "\C-\M-m" 'mime/previous-line-content)
-      (define-key keymap "v" 'mime/play-content)
-      (define-key keymap "e" 'mime/extract-content)
-      (define-key keymap "\C-c\C-p" 'mime/print-content)
-      (define-key keymap "\C-c\C-x" 'mime/exit-view-mode)
-      
-      (make-variable-buffer-local 'mime/preview-flat-content-list)
-      (setq mime/preview-flat-content-list (nth 1 ret))
-      
-      (goto-char
-       (let ((ce (nth 1 (car mime/preview-flat-content-list)))
-            e)
-        (goto-char (point-min))
-        (search-forward "\n\n" nil t)
-        (setq e (match-end 0))
-        (if (<= e ce)
-           e
-          ce)))
-      )))
+    (use-local-map mime/viewer-mode-map)
+    (make-variable-buffer-local 'mime/preview-flat-content-list)
+    (setq mime/preview-flat-content-list (nth 1 ret))
+    (goto-char
+     (let ((ce (nth 1 (car mime/preview-flat-content-list)))
+          e)
+       (goto-char (point-min))
+       (search-forward "\n\n" nil t)
+       (setq e (match-end 0))
+       (if (<= e ce)
+          e
+        ce)))
+    (run-hooks 'mime/viewer-mode-hook)
+    ))
 
 (defun mime/decode-content ()
   (interactive)
     (switch-to-buffer (nth 2 pc))
     (setq cn (mime/get-point-content-number (nth 3 pc)))
     (if (eq cn t)
-       (if (setq r (assoc major-mode mime/go-to-top-node-method-alist))
-           (progn
-             (switch-to-buffer the-buf)
-             (funcall (cdr r))
-             ))
+       (mime/quit-view-mode the-buf (nth 2 pc))
       (setq r (mime/get-content-region (butlast cn)))
       (switch-to-buffer the-buf)
       (catch 'tag
   (mime/scroll-down-content 1)
   )
 
+(defun mime/quit-view-mode (&optional the-buf buf)
+  (interactive)
+  (if (null the-buf)
+      (setq the-buf (current-buffer))
+    )
+  (if (null buf)
+      (setq buf (nth 2 (mime/get-point-preview-content (point))))
+    )
+  (let ((r (progn
+            (switch-to-buffer buf)
+            (assoc major-mode mime/go-to-top-node-method-alist)
+            )))
+    (if r
+       (progn
+         (switch-to-buffer the-buf)
+         (funcall (cdr r))
+         ))
+    ))
+
 (defun mime/exit-view-mode ()
   (interactive)
   (kill-buffer (current-buffer))
index 61184f5..574b5a8 100644 (file)
--- a/tm-vm.el
+++ b/tm-vm.el
 (require 'tl-list)
 (require 'tm-view)
 
-
 (defconst tm-vm/RCS-ID
-  "$Id: tm-vm.el,v 1.3 1994/10/29 10:01:21 morioka Exp $")
+  "$Id: tm-vm.el,v 1.5 1994/11/01 16:30:12 morioka Exp $")
 (defconst tm-vm/version (get-version-string tm-vm/RCS-ID))
 
-
 (define-key vm-mode-map "Z" 'tm-vm/view-message)
 
-(set-alist mime/go-to-top-node-method-alist
+(set-alist 'mime/go-to-top-node-method-alist
           'vm-mode
-          (function
-           (lambda ()
-             (mime/exit-view-mode)
-             (let ((w (get-buffer-window mime/output-buffer-name)))
-               (if w (delete-window w)))
-             (vm-display vm-summary-buffer t
-                         '(mime/exit-view-mode)
-                         '(this-command))
-             (vm-widen-page)
-             (goto-char (point-max))
-             (widen)
-             (narrow-to-region (point)
-                               (vm-vheaders-of
-                                (car vm-message-pointer)))
-             (goto-char (point-min))
-             (if vm-honor-page-delimiters
-                 (vm-narrow-to-page))
-             (select-window (get-buffer-window vm-summary-buffer))
-             )))
-(set-alist mime/go-to-top-node-method-alist
+          'tm-vm/quit-view-message)
+
+(set-alist 'mime/go-to-top-node-method-alist
           'vm-virtual-mode
-          (function
-           (lambda ()
-             (mime/exit-view-mode)
-             (let ((w (get-buffer-window mime/output-buffer-name)))
-               (if w (delete-window w)))
-             (vm-display vm-summary-buffer t
-                         '(mime/exit-view-mode)
-                         '(this-command))
-             (vm-widen-page)
-             (goto-char (point-max))
-             (widen)
-             (narrow-to-region (point)
-                               (vm-vheaders-of
-                                (car vm-message-pointer)))
-             (goto-char (point-min))
-             (if vm-honor-page-delimiters
-                 (vm-narrow-to-page))
-             (select-window (get-buffer-window vm-summary-buffer))
-             ))
-          )
+          'tm-vm/quit-view-message)
+
+(defun tm-vm/quit-view-message()
+  (mime/exit-view-mode)
+  (let ((w (get-buffer-window mime/output-buffer-name)))
+    (if w (delete-window w)))
+  (vm-display vm-summary-buffer t
+             '(mime/exit-view-mode)
+             '(this-command))
+  (vm-widen-page)
+  (goto-char (point-max))
+  (widen)
+  (narrow-to-region (point)
+                   (vm-vheaders-of
+                    (car vm-message-pointer)))
+  (goto-char (point-min))
+  (if vm-honor-page-delimiters
+      (vm-narrow-to-page))
+  (select-window (get-buffer-window vm-summary-buffer)))
 
 (defun tm-vm/view-message ()
   "Decode and view MIME message for VM"