--- /dev/null
+\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
;;;
(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))
(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))