From eba06c0f4058d323e525be5d2708431e8fcd8a48 Mon Sep 17 00:00:00 2001 From: tomo Date: Mon, 9 Mar 1998 07:29:15 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag 'tm6_78_2'. --- Makefile.18 | 75 ---- Makefile.19 | 116 ----- Makefile.bc | 47 -- Makefile.o19 | 95 ---- README-eng.ol | 52 --- README-eng.tex | 80 ---- README-jp.ol | 88 ---- README-jp.tex | 133 ------ base64.el | 105 ----- doc/tiny-mime-jp.ol | 260 ----------- doc/tiny-mime-jp.tex | 353 --------------- doc/tiny-mime-jp.texi | 188 -------- doc/tl-jp.texi | 548 ----------------------- doc/tm-eng.tex | 799 --------------------------------- doc/tm-eng.tex,v | 830 ---------------------------------- doc/tm-head-jp.texi | 212 --------- doc/tm-jp.tex | 750 ------------------------------- doc/tm-jp.tex,v | 1195 ------------------------------------------------- doc/tm-jp.texi | 334 -------------- gnus/Makefile.bc | 16 - gnus/tgnus-bc.el | 17 - inst-el | 21 - inst-elc | 19 - make-lpath | 11 - methods/csh/tm-au | 24 - methods/csh/tm-file | 15 - methods/csh/tm-image | 47 -- methods/csh/tm-mpeg | 29 -- methods/csh/tm-plain | 29 -- methods/csh/tmdecode | 28 -- methods/tm-latex | 56 --- mh-e/Makefile.bc | 20 - qprint.el | 139 ------ rel-6eng.ol | 179 -------- rel-6jp.ol | 171 ------- signature-jp.ol | 35 -- signature-jp.tex | 56 --- tiny-mime-eng.ol | 104 ----- tiny-mime-eng.tex | 158 ------- tiny-mime-jp.ol | 260 ----------- tiny-mime-jp.tex | 353 --------------- tl-18.el | 46 -- tl-header.el | 164 ------- tl-list.el | 225 ---------- tl-mule.el | 11 - tl-nemacs.el | 98 ---- tl-orig.el | 25 -- tl-str.el | 138 ------ tm-body-eng.ol | 93 ---- tm-body-eng.tex | 130 ------ tm-body-jp.ol | 90 ---- tm-body-jp.tex | 132 ------ tm-body.el | 326 -------------- tm-comp-jp.pln | 62 --- tm-enriched.el | 120 ----- tm-evs.el | 172 ------- tm-eword.el | 699 ----------------------------- tm-gnus-eng.ol | 93 ---- tm-gnus-eng.tex | 120 ----- tm-gnus-jp.ol | 182 -------- tm-gnus-jp.tex | 230 ---------- tm-gnus.el | 98 ---- tm-gnus3.el | 62 --- tm-gnus4.el | 39 -- tm-jp.tex | 617 ------------------------- tm-mh-e-eng.ol | 88 ---- tm-mh-e-eng.tex | 123 ----- tm-mh-e-jp.ol | 104 ----- tm-mh-e-jp.tex | 144 ------ tm-mh-e.el | 80 ---- tm-mh-e3.el | 73 --- tm-misc.el | 54 --- 72 files changed, 12685 deletions(-) delete mode 100644 Makefile.18 delete mode 100644 Makefile.19 delete mode 100644 Makefile.bc delete mode 100644 Makefile.o19 delete mode 100644 README-eng.ol delete mode 100644 README-eng.tex delete mode 100644 README-jp.ol delete mode 100644 README-jp.tex delete mode 100644 base64.el delete mode 100644 doc/tiny-mime-jp.ol delete mode 100644 doc/tiny-mime-jp.tex delete mode 100644 doc/tiny-mime-jp.texi delete mode 100644 doc/tl-jp.texi delete mode 100644 doc/tm-eng.tex delete mode 100644 doc/tm-eng.tex,v delete mode 100644 doc/tm-head-jp.texi delete mode 100644 doc/tm-jp.tex delete mode 100644 doc/tm-jp.tex,v delete mode 100644 doc/tm-jp.texi delete mode 100644 gnus/Makefile.bc delete mode 100644 gnus/tgnus-bc.el delete mode 100755 inst-el delete mode 100755 inst-elc delete mode 100755 make-lpath delete mode 100755 methods/csh/tm-au delete mode 100755 methods/csh/tm-file delete mode 100755 methods/csh/tm-image delete mode 100755 methods/csh/tm-mpeg delete mode 100755 methods/csh/tm-plain delete mode 100755 methods/csh/tmdecode delete mode 100755 methods/tm-latex delete mode 100644 mh-e/Makefile.bc delete mode 100644 qprint.el delete mode 100644 rel-6eng.ol delete mode 100644 rel-6jp.ol delete mode 100644 signature-jp.ol delete mode 100644 signature-jp.tex delete mode 100644 tiny-mime-eng.ol delete mode 100644 tiny-mime-eng.tex delete mode 100644 tiny-mime-jp.ol delete mode 100644 tiny-mime-jp.tex delete mode 100644 tl-18.el delete mode 100644 tl-header.el delete mode 100644 tl-list.el delete mode 100644 tl-mule.el delete mode 100644 tl-nemacs.el delete mode 100644 tl-orig.el delete mode 100644 tl-str.el delete mode 100644 tm-body-eng.ol delete mode 100644 tm-body-eng.tex delete mode 100644 tm-body-jp.ol delete mode 100644 tm-body-jp.tex delete mode 100644 tm-body.el delete mode 100644 tm-comp-jp.pln delete mode 100644 tm-enriched.el delete mode 100644 tm-evs.el delete mode 100644 tm-eword.el delete mode 100644 tm-gnus-eng.ol delete mode 100644 tm-gnus-eng.tex delete mode 100644 tm-gnus-jp.ol delete mode 100644 tm-gnus-jp.tex delete mode 100644 tm-gnus.el delete mode 100644 tm-gnus3.el delete mode 100644 tm-gnus4.el delete mode 100644 tm-jp.tex delete mode 100644 tm-mh-e-eng.ol delete mode 100644 tm-mh-e-eng.tex delete mode 100644 tm-mh-e-jp.ol delete mode 100644 tm-mh-e-jp.tex delete mode 100644 tm-mh-e.el delete mode 100644 tm-mh-e3.el delete mode 100644 tm-misc.el diff --git a/Makefile.18 b/Makefile.18 deleted file mode 100644 index 4ff7261..0000000 --- a/Makefile.18 +++ /dev/null @@ -1,75 +0,0 @@ -EMACS = nemacs -NEMACS = nemacs -MULE = mule - -TLEL = tl-18.el tl-header.el tl-list.el tl-str.el signature.el -TLELC = ${TLEL:el=elc} -TMEL = tm-misc.el -TMELC = ${TMEL:el=elc} -TMMEL = tm-view.el tm-rmail.el tm-comp.el -TMMELC = ${TMMEL:el=elc} -TMVEL = tm-rich.el tm-vm.el -TMVELC = ${TMVEL:el=elc} - -#TLDIR = $(HOME)/lib/emacs18/lisp -#TMDIR = $(HOME)/lib/emacs18/lisp/tm -TLDIR = /usr/local/lib/emacs/local.lisp -TMDIR = /usr/local/lib/emacs/local.lisp/tm - - -.SUFFIXES: .el .elc - -.el.elc: - $(EMACS) -batch -q . -f batch-byte-compile $< - -all: $(TLELC) tl-nemacs.elc tl-mule.elc \ - tiny-mime.elc $(TMELC) tm-nemacs.elc tm-mule.elc $(TMMELC) \ - tm-mh-e.elc tm-gnus.elc $(TMVELC) - -$(TLELC): $(TLEL) - -tl-nemacs.elc: tl-nemacs.el - -tl-mule.elc: tl-mule.el - -tiny-mime.elc: tiny-mime.el - -$(TMELC): - $(EMACS) -batch -q . -l tiny-mime -f batch-byte-compile $< - -tm-nemacs.elc: tm-nemacs.el - $(NEMACS) -batch -q . -l tiny-mime -f batch-byte-compile $< - -tm-mule.elc: tm-mule.el - $(MULE) -batch -q . -f batch-byte-compile $< - -$(TMMELC): - $(EMACS) -batch -q . -l tiny-mime -l tm-misc -f batch-byte-compile $< - -tm-gnus.elc: tm-gnus.el - $(EMACS) -batch -q . -l tiny-mime -l tm-misc -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 \ - -f batch-byte-compile $< - -$(TMVELC): - $(EMACS) -batch -q . -l tiny-mime -l tm-misc -l tm-view \ - -f batch-byte-compile $< - -install: all tl-install tm-install - -tl-install: - -chmod +w $(TLDIR)/*.el - cp -p tl-*.el signature.el $(TLDIR) - mv tl-*.elc signature.elc $(TLDIR) - -tm-install: - -chmod +w $(TMDIR)/*.el - cp -p tiny-mime.el tm-*.el mime-setup.el \ - gnushook.el sc-setup.el $(TMDIR) - mv tiny-mime.elc tm-*.elc $(TMDIR) - -clean: - -rm *.elc diff --git a/Makefile.19 b/Makefile.19 deleted file mode 100644 index 60ae728..0000000 --- a/Makefile.19 +++ /dev/null @@ -1,116 +0,0 @@ -# -# $Id: Makefile.19,v 1.1 1994/12/27 02:32:05 morioka Exp $ -# - -# Please specify emacs executables: -# EMACS = for all kind of Emacs 19 (FSF original, MULE or XEmacs) -# ORIG = for FSF original Emacs 19 or XEmacs -# MULE = for MULE 2 -# -# If you have only one kind of Emacs 19, please dummy specify, like that: -# -# for Emacs 19 only: (If executable name = `emacs19') -# EMACS = emacs19 -# ORIG = emacs19 -# MULE = emacs19 -# -# for MULE 2 only: (If executable name = `mule2') -# EMACS = mule2 -# ORIG = mule2 -# MULE = mule2 -# -# for XEmacs only: (If executable name = `xemacs') -# EMACS = xemacs -# ORIG = xemacs -# MULE = xemacs -# -# for every kind of Emacs: - EMACS = mule2 - ORIG = emacs19 - MULE = mule2 - -# Please specfy Emacs Lisp install directory: -# TLDIR = for tl modules -# TMDIR = for tm modules -# -# TLDIR = $(HOME)/lib/emacs19/lisp -# TMDIR = $(HOME)/lib/emacs19/lisp/tm -TLDIR = /usr/local/lib/mule/site-lisp -TMDIR = /usr/local/lib/mule/site-lisp - -TLEL = tl-header.el tl-str.el -TLELC = ${TLEL:el=elc} -TMEL = tm-misc.el -TMELC = ${TMEL:el=elc} -TMMEL = tm-view.el tm-rmail.el tm-comp.el tm-gnus4.el -TMMELC = ${TMMEL:el=elc} -TMVEL = tm-rich.el -TMVELC = ${TMVEL:el=elc} - - -.SUFFIXES: .el .elc - -.el.elc: - $(EMACS) -batch -q . -f batch-byte-compile $< - -all: $(TLELC) tl-orig.elc tl-mule.elc tl-list.elc signature.elc \ - tiny-mime.elc $(TMELC) tm-orig.elc tm-mule.elc $(TMMELC) \ - tm-mh-e.elc tm-gnus.elc $(TMVELC) - -$(TLELC): $(TLEL) - -tl-orig.elc: tl-orig.el - $(ORIG) -batch -q . -f batch-byte-compile $< - -tl-mule.elc: tl-mule.el - $(MULE) -batch -q . -f batch-byte-compile $< - -tl-list.elc: tl-list.el - $(EMACS) -batch -q . -l tl-str.el -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 -l tl-str.el -f batch-byte-compile $< - -$(TMELC): - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el -l tl-mule.el -l tm-mule.el -l tl-header.el -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 . -l tl-str.el -l tl-list.el -l tl-mule.el -f batch-byte-compile $< - -$(TMMELC): - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el -l tl-mule.el -l tl-header.el -l tm-mule.el -l tiny-mime.el -l tm-misc.el \ - -f batch-byte-compile $< - -tm-gnus.elc: tm-gnus.el - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el -l tl-header.el -l tl-mule.el -l tm-mule.el -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 tl-str.el -l tl-list.el -l tl-header.el -l tl-mule.el -l tm-mule.el -l tiny-mime.el -l tm-misc.el -l mh-e \ - -f batch-byte-compile $< - -$(TMVELC): - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el -l tl-header.el -l tl-mule.el -l tm-mule.el -l tiny-mime.el -l tm-misc.el -l tm-view.el \ - -f batch-byte-compile $< - -install: all tl-install tm-install - -tl-install: - -chmod +w $(TLDIR)/*.el - cp -p tl-*.el signature.el $(TLDIR) - mv tl-*.elc signature.elc $(TLDIR) - -tm-install: - -chmod +w $(TMDIR)/*.el - cp -p tiny-mime.el tm-*.el mime-setup.el \ - gnushook.el sc-setup.el $(TMDIR) - mv tiny-mime.elc tm-*.elc $(TMDIR) - -clean: - -rm *.elc diff --git a/Makefile.bc b/Makefile.bc deleted file mode 100644 index 4cbc7ac..0000000 --- a/Makefile.bc +++ /dev/null @@ -1,47 +0,0 @@ -# -# $Id: Makefile.bc,v 6.5 1995/06/26 08:08:51 morioka Exp morioka $ -# - -TM_EL = signature.el \ - tiny-mime.el tm-misc.el tm-$(EMACS_TYPE).el \ - tm-view.el \ - tm-rich.el richtext.el tinyrich.el \ - tm-ftp.el tm-latex.el tm-partial.el \ - tm-rmail.el \ - tm-comp.el # tm-evs.el -TM_ELC = ${TM_EL:el=elc} -ALL_EL = $(TM_EL) tm-setup.el mime-setup.el - -TM_VM_EL = tm-vm.el -TM_VM_ELC = ${TM_VM_EL:el=elc} - -BATCH = $(EMACS) -batch loadpath -f eval-current-buffer - -RM = /bin/rm -f - -.SUFFIXES: .el .elc - -.el.elc: - $(BATCH) -f batch-byte-compile $< - - -all: $(TM_ELC) - -$(TM_ELC): - -install: - ./inst-el $(TMDIR) $(ALL_EL) - ./inst-elc $(TMDIR) $(TM_ELC) - - -tm-vm: $(TM_VM_ELC) - -$(TM_VM_ELC): - -install-tm-vm: - ./inst-el $(TMDIR) $(TM_VM_EL) - ./inst-elc $(TMDIR) $(TM_VM_ELC) - - -clean: - -$(RM) *.elc diff --git a/Makefile.o19 b/Makefile.o19 deleted file mode 100644 index 5d88eab..0000000 --- a/Makefile.o19 +++ /dev/null @@ -1,95 +0,0 @@ -# -# $Id$ -# -# Makefile to byte-compile for FSF original Emacs 19 and XEmacs -# - -# Please specify emacs executable: -EMACS = emacs19 - -# Please specfy Emacs Lisp install directory: -# TLDIR = for tl modules -# TMDIR = for tm modules -# -TLDIR = $(HOME)/lib/emacs19/lisp -TMDIR = $(HOME)/lib/emacs19/lisp/tm - -TLEL = tl-header.el tl-str.el -TLELC = ${TLEL:el=elc} -TMEL = tm-misc.el -TMELC = ${TMEL:el=elc} -TMMEL = tm-view.el tm-rmail.el tm-comp.el tm-gnus4.el -TMMELC = ${TMMEL:el=elc} -TMVEL = tm-rich.el -TMVELC = ${TMVEL:el=elc} - - -.SUFFIXES: .el .elc - -.el.elc: - $(EMACS) -batch -q . -f batch-byte-compile $< - -all: $(TLELC) tl-orig.elc tl-orig.elc tl-list.elc signature.elc \ - tiny-mime.elc $(TMELC) tm-orig.elc tm-orig.elc $(TMMELC) \ - tm-mh-e.elc tm-gnus.elc $(TMVELC) - -$(TLELC): $(TLEL) - -tl-orig.elc: tl-orig.el - $(EMACS) -batch -q . -f batch-byte-compile $< - -tl-list.elc: tl-list.el - $(EMACS) -batch -q . -l tl-str.el -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 -l tl-str.el -f batch-byte-compile $< - -$(TMELC): - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el -l tl-orig.el -l tm-orig.el -l tl-header.el -l tiny-mime.el -f batch-byte-compile $< - -tm-orig.elc: tm-orig.el - $(EMACS) -batch -q . -l tl-orig.el -f batch-byte-compile $< - -$(TMMELC): - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el -l tl-orig.el -l tl-header.el -l tm-orig.el -l tiny-mime.el -l tm-misc.el \ - -f batch-byte-compile $< - -tm-gnus.elc: tm-gnus.el - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el \ - -l tl-header.el -l tl-orig.el \ - -l tm-orig.el -l tiny-mime.el -l tm-misc.el -l gnus \ - -f batch-byte-compile $< - -tm-gnus4.elc: tm-gnus4.el - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el \ - -l tl-header.el -l tl-orig.el \ - -l tm-orig.el -l tiny-mime.el -l tm-misc.el - -l gnus -l tm-gnus \ - -f batch-byte-compile $< - -tm-mh-e.elc: tm-mh-e.el - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el -l tl-header.el -l tl-orig.el -l tm-orig.el -l tiny-mime.el -l tm-misc.el -l mh-e \ - -f batch-byte-compile $< - -$(TMVELC): - $(EMACS) -batch -q . -l tl-str.el -l tl-list.el -l tl-header.el -l tl-orig.el -l tm-orig.el -l tiny-mime.el -l tm-misc.el -l tm-view.el \ - -f batch-byte-compile $< - -install: all tl-install tm-install - -tl-install: - -chmod +w $(TLDIR)/*.el - cp -p tl-*.el signature.el $(TLDIR) - mv tl-*.elc signature.elc $(TLDIR) - -tm-install: - -chmod +w $(TMDIR)/*.el - cp -p tiny-mime.el tm-*.el mime-setup.el \ - gnushook.el sc-setup.el $(TMDIR) - mv tiny-mime.elc tm-*.elc $(TMDIR) - -clean: - -rm *.elc diff --git a/README-eng.ol b/README-eng.ol deleted file mode 100644 index 4694143..0000000 --- a/README-eng.ol +++ /dev/null @@ -1,52 +0,0 @@ -[[R -\title{tm-$<$MUA$>$ Manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/7/22} -\maketitle -]]R - - tm- is a MIME tools for GNU Emacs. - - -* Files - -README-jp.ol README (Japanese) -README-eng.ol README (English) -tiny-mime.ol tiny-mime.el manual (Japanese) -tm-body.ol tm-body manual (Japanese) -tm-gnus-jp.ol tm-gnus manual (Japanese) -tm-gnus-eng.ol tm-gnus manual (English) -tm-mh-e-jp.ol tm-mh-e manual (Japanese) -tm-mh-e-eng.ol tm-mh-e manual (English) -decode-b.c Base64 decoder -methods/* methods - -tiny-mime.el Multilingual MIME header encoder/decoder -tm-body.el MIME body decoder -tm-gnus.el tm- for GNUS -tm-mh-e.el tm- for mh-e -tm-mh-e3.el tm-mh-e's module for mh-e 3.x. -tm-misc.el tm- library -tl-*.el library modules - -mime-setup.el setup program -signature.el signature selector -ol2.c Emacs outline mode to plain text converter - - -* How to install - -(1) Edit Makefile for your environment. - -(2) Edit methods in `methods/' directory for your environment. - -(3) Run `make all'. - -(4) Run `make install'. - -(5) Copy *.el to your emacs lisp directory. - - -* How to use - - Please read tm-mh-e-eng.ol and tm-gnus-eng.ol. diff --git a/README-eng.tex b/README-eng.tex deleted file mode 100644 index 996ebd7..0000000 --- a/README-eng.tex +++ /dev/null @@ -1,80 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{tm-$<$MUA$>$ Manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/7/22} -\maketitle -\medskip -{\baselineskip=10pt -\begin{verbatim} - tm- is a MIME tools for GNU Emacs. -\end{verbatim}} -\medskip -\medskip - -\section{Files} -\medskip -{\baselineskip=10pt -\begin{verbatim} -README-jp.ol README (Japanese) -README-eng.ol README (English) -tiny-mime.ol tiny-mime.el manual (Japanese) -tm-body.ol tm-body manual (Japanese) -tm-gnus-jp.ol tm-gnus manual (Japanese) -tm-gnus-eng.ol tm-gnus manual (English) -tm-mh-e-jp.ol tm-mh-e manual (Japanese) -tm-mh-e-eng.ol tm-mh-e manual (English) -decode-b.c Base64 decoder -methods/* methods -\end{verbatim}} -\medskip -{\baselineskip=10pt -\begin{verbatim} -tiny-mime.el Multilingual MIME header encoder/decoder -tm-body.el MIME body decoder -tm-gnus.el tm- for GNUS -tm-mh-e.el tm- for mh-e -tm-mh-e3.el tm-mh-e's module for mh-e 3.x. -tm-misc.el tm- library -tl-*.el library modules -\end{verbatim}} -\medskip -{\baselineskip=10pt -\begin{verbatim} -mime-setup.el setup program -signature.el signature selector -ol2.c Emacs outline mode to plain text converter -\end{verbatim}} -\medskip -\medskip - -\section{How to install} -\medskip -{ -\renewcommand{\theenumi}{(\arabic{enumi})} -\renewcommand{\labelenumi}{\theenumi} -\begin{enumerate} -\item Edit Makefile for your environment. -\medskip -\item Edit methods in `methods/' directory for your environment. -\medskip -\item Run `make all'. -\medskip -\item Run `make install'. -\medskip -\item Copy *.el to your emacs lisp directory. -\medskip -\medskip -\end{enumerate} -} - -\section{How to use} -\medskip -\par -Please read tm-mh-e-eng.ol and tm-gnus-eng.ol. -\end{document} diff --git a/README-jp.ol b/README-jp.ol deleted file mode 100644 index 037ab83..0000000 --- a/README-jp.ol +++ /dev/null @@ -1,88 +0,0 @@ -$B!X(Btm- $B@bL@=q!Y(B - -* tm $B$H$O(B - - tm $B$O(B Emacs $B$K(B MIME $B5!G=$rIU2C!&6/2=$9$k$?$a$N(B package $B$G$9!#$3$N(B -package $B$O0J2<$N$b$N$r4^$s$G$$$^$9!#(B - - - tiny-mime MIME header encoder/decoder - - tm-body MIME body player - - tm-gnus MIME extender for GNUS - - tm-mh-e MIME extender for mh-e - -$B$G$9!#(B - - -* install $B$N;EJ}(B - -(1) Makefile $B$N(B bindir $B$r<+J,$N4D6-$K9g$o$;$F=q$-49$($k!#(B - -(2) methods/ $B0J2<$N(B method $B$r!"(Btm-body $B$N@bL@=q$r8+$F!"<+J,$N4D6-$K9g(B - $B$&$h$&$K=q$-49$($k!#(B - -(3) make all $B$9$k!#(B - -(4) make install $B$9$k!#(B - -(5) *.el $B$r(B Emacs $B$NJQ?t(B load-path $B$G;XDj$5$l$?(B directory $B$K(B copy $B$9$k!#(B - - - tm-mh-e, tm-gnus $B$N@bL@$O!"(Btm-mh-e.ol, tm-gnus.ol $B$rFI$s$G2<$5$$!#(B -plain2 $B$,(B install $B$5$l$F$$$k>l9g!"(Bmake dvi $B$r9T$J$&$3$H$G(B dvi $B$KJQ49$G(B -$B$-$^$9!#(B - - -* $B%P%0Js9p$N;EJ}(B - - tm $B$N%P%0$r8+$D$1$?$i(B fj.editor.emacs $B$K(B post $B$9$k$+!"(Btm ML - $B$K(B mail $B$rAw$C$F2<$5$$!#(B - - tm ML $B$G$O(B tm $B$N%P%0>pJs$N8r49$d:G?7HG$NG[I[!"(Btm $B$N2~NI$K4X$9$k5DO@(B -$B$r9T$J$C$F$$$^$9!#(Btm ML $B$K;22C$7$?$$J}$O(B - - tm-admin@chamonix.jaist.ac.jp - -$B$^$G(B mail $B$rAw$C$F2<$5$$!#EPO?$O $B$N@_Dj$H(B mime.el $B$r;H$C$?(B encode $B$N@_Dj$r9T$J$C$F$/$l(B -$B$^$9!#(B - -[[E ----------------------------------------------------------------------- -(load "mime-setup") ----------------------------------------------------------------------- -]]E - - mime-setup.el $B$OI8=`$G$O(B SuperCite $B$N@_Dj$b9T$J$$$^$9!#$3$l$r$d$a$k(B -$B>l9g(B .emacs $B$K0J2<$N$b$N$rF~$l$F2<$5$$!#(B - -[[E ----------------------------------------------------------------------- -(setq mime-setup-use-sc nil) ----------------------------------------------------------------------- -]]E - - mime-setup $B$G$O(B signature $B$N<+F0@ZBX$((B tool $B$bImB0$7$F$$$^$9!#(B -message header $B$N(B field $B$K9g$o$;$F(B signature $B$N<+F0@ZBX$r9T$J$$$?$$>l(B -$B9g$O(B .emacs $B$K0J2<$N$h$&$J$b$N$rF~$l$F2<$5$$!#(B - -[[E ----------------------------------------------------------------------- -(setq signature-file-alist - '( - (("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) ----------------------------------------------------------------------- -]]E - - mime-setup $B$r;H$&>l9g$O!"(Bmime.el $B$,I,MW$G$9!#$^$?!"(BSuperCite $B$r;H$&(B -$B>l9g$O!"(BSuperCite $B$bI,MW$G$9!#(B diff --git a/README-jp.tex b/README-jp.tex deleted file mode 100644 index 257d669..0000000 --- a/README-jp.tex +++ /dev/null @@ -1,133 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{ -tm-$<$MUA$>$ ÀâÌÀ½ñ} -\author{ -\\ -} -\date{ -} -\maketitle -\medskip - -\section{tm ¤È¤Ï} -\medskip -\par -tm ¤Ï Emacs ¤Ë MIME µ¡Ç½¤òÉղᦶ¯²½¤¹¤ë¤¿¤á¤Î package ¤Ç¤¹¡£¤³¤Î -package ¤Ï°Ê²¼¤Î¤â¤Î¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£ -\medskip -{\list{}{\leftmargin=4ex}\item[] -\begin{itemize} -\item tiny-mime MIME header encoder/decoder -\item tm-body MIME body player -\item tm-gnus MIME extender for GNUS -\item tm-mh-e MIME extender for mh-e -\medskip -\end{itemize} -\endlist} -\par -¤Ç¤¹¡£ -\medskip -\medskip - -\section{install ¤Î»ÅÊý} -\medskip -{ -\renewcommand{\theenumi}{(\arabic{enumi})} -\renewcommand{\labelenumi}{\theenumi} -\begin{enumerate} -\item Makefile ¤Î bindir ¤ò¼«Ê¬¤Î´Ä¶­¤Ë¹ç¤ï¤»¤Æ½ñ¤­´¹¤¨¤ë¡£ -\medskip -\item methods/ °Ê²¼¤Î method ¤ò¡¢tm-body ¤ÎÀâÌÀ½ñ¤ò¸«¤Æ¡¢¼«Ê¬¤Î´Ä¶­¤Ë¹ç -¤¦¤è¤¦¤Ë½ñ¤­´¹¤¨¤ë¡£ -\medskip -\item make all ¤¹¤ë¡£ -\medskip -\item make install ¤¹¤ë¡£ -\medskip -\item *.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»ØÄꤵ¤ì¤¿ directory ¤Ë copy ¤¹¤ë¡£ -\medskip -\medskip -\end{enumerate} -} -\par -tm-mh-e, tm-gnus ¤ÎÀâÌÀ¤Ï¡¢tm-mh-e.ol, tm-gnus.ol ¤òÆɤó¤Ç²¼¤µ¤¤¡£ -plain2 ¤¬ install ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢make dvi ¤ò¹Ô¤Ê¤¦¤³¤È¤Ç dvi ¤ËÊÑ´¹¤Ç -¤­¤Þ¤¹¡£ -\medskip -\medskip - -\section{¥Ð¥°Êó¹ð¤Î»ÅÊý} -\medskip -\par -tm ¤Î¥Ð¥°¤ò¸«¤Ä¤±¤¿¤é fj.editor.emacs ¤Ë post ¤¹¤ë¤«¡¢tm ML -$<$tm@chamonix.jaist.ac.jp$>$ ¤Ë mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ -\medskip -\par -tm ML ¤Ç¤Ï tm ¤Î¥Ð¥°¾ðÊó¤Î¸ò´¹¤äºÇ¿·ÈǤÎÇÛÉÛ¡¢tm ¤Î²þÎɤ˴ؤ¹¤ëµÄÏÀ -¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£tm ML ¤Ë»²²Ã¤·¤¿¤¤Êý¤Ï -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -tm-admin@chamonix.jaist.ac.jp -\endlist} -\medskip -\par -¤Þ¤Ç mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ÅÐÏ¿¤Ï¼êÆ°¤Ç¤¹¤Î¤Ç¡¢¤Ç¤­¤ì¤Ð¡¢¼«Á³¸À¸ì¤Ç½ñ¤¤ -¤Æ²¼¤µ¤¤¡£(\verb+^+\_\verb+^+) -\medskip -\medskip - -\section{¤ª¤Þ¤±} -\medskip -\par -mime-setup ¤È¤¤¤¦´Ê°×ÀßÄê tool ¤òÉÕ¤±¤Þ¤·¤¿¡£.emacs ¤Ë°Ê²¼¤Î¤â¤Î¤òÆþ -¤ì¤ë¤È tm-$<$MUA$>$ ¤ÎÀßÄê¤È mime.el ¤ò»È¤Ã¤¿ encode ¤ÎÀßÄê¤ò¹Ô¤Ê¤Ã¤Æ¤¯¤ì -¤Þ¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(load "mime-setup") ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -mime-setup.el ¤Ïɸ½à¤Ç¤Ï SuperCite ¤ÎÀßÄê¤â¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤ò¤ä¤á¤ë -¾ì¹ç .emacs ¤Ë°Ê²¼¤Î¤â¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(setq mime-setup-use-sc nil) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -mime-setup ¤Ç¤Ï signature ¤Î¼«Æ°ÀÚÂؤ¨ tool ¤âÉí°¤·¤Æ¤¤¤Þ¤¹¡£ -message header ¤Î field ¤Ë¹ç¤ï¤»¤Æ signature ¤Î¼«Æ°ÀÚÂؤò¹Ô¤Ê¤¤¤¿¤¤¾ì -¹ç¤Ï .emacs ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(setq signature-file-alist - '( - (("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -mime-setup ¤ò»È¤¦¾ì¹ç¤Ï¡¢mime.el ¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢SuperCite ¤ò»È¤¦ -¾ì¹ç¤Ï¡¢SuperCite ¤âɬÍפǤ¹¡£ -\end{document} diff --git a/base64.el b/base64.el deleted file mode 100644 index 52a1765..0000000 --- a/base64.el +++ /dev/null @@ -1,105 +0,0 @@ -;;; -;;; $Id$ -;;; - -(require 'tl-seq) - -;;; @ internal base64 decoder/encoder -;;; based on base64 decoder by Enami Tsugutomo - -;;; @@ convert from/to base64 char -;;; - -(defun base64-num-to-char (n) - (cond ((eq n nil) ?=) - ((< n 26) (+ ?A n)) - ((< n 52) (+ ?a (- n 26))) - ((< n 62) (+ ?0 (- n 52))) - ((= n 62) ?+) - ((= n 63) ?/) - (t (error "not a base64 integer %d" n)))) - -(defun base64-char-to-num (c) - (cond ((and (<= ?A c) (<= c ?Z)) (- c ?A)) - ((and (<= ?a c) (<= c ?z)) (+ (- c ?a) 26)) - ((and (<= ?0 c) (<= c ?9)) (+ (- c ?0) 52)) - ((= c ?+) 62) - ((= c ?/) 63) - ((= c ?=) nil) - (t (error "not a base64 character %c" c)))) - - -;;; @@ encode/decode one base64 unit -;;; - -(defun base64-mask (i n) (logand i (1- (ash 1 n)))) - -(defun base64-encode-1 (a &optional b &optional c) - (cons (ash a -2) - (cons (logior (ash (base64-mask a 2) (- 6 2)) - (if b (ash b -4) 0)) - (if b - (cons (logior (ash (base64-mask b 4) (- 6 4)) - (if c (ash c -6) 0)) - (if c - (cons (base64-mask c (- 6 0)) - nil))))))) - -(defun base64-decode-1 (a b &optional c &optional d) - (cons (logior (ash a 2) (ash b (- 2 6))) - (if c (cons (logior (ash (base64-mask b 4) 4) - (base64-mask (ash c (- 4 6)) 4)) - (if d (cons (logior (ash (base64-mask c 2) 6) d) - nil)))))) - -(defun base64-encode-chars (a &optional b &optional c) - (mapcar (function base64-num-to-char) (base64-encode-1 a b c))) - -(defun base64-decode-chars (&rest args) - (apply (function base64-decode-1) - (mapcar (function base64-char-to-num) args) - )) - - -;;; @@ encode/decode base64 string -;;; - -(defun base64-encode-string (string) - (let* ((es (mapconcat - (function - (lambda (pack) - (mapconcat (function char-to-string) - (apply (function base64-encode-chars) pack) - "") - )) - (pack-sequence string 3) - "")) - (m (mod (length es) 4)) - ) - (concat es (cond ((= m 3) "=") - ((= m 2) "==") - )) - )) - -(defun base64-decode-string (string) - (mapconcat (function - (lambda (pack) - (mapconcat (function char-to-string) - (apply (function base64-decode-chars) pack) - "") - )) - (pack-sequence string 4) - "")) - - -;;; @ etc -;;; - -(defun base64-encoded-length (string) - (let ((len (length string))) - (* (+ (/ len 3) - (if (= (mod len 3) 0) 0 1) - ) 4) - )) - -(provide 'base64) diff --git a/doc/tiny-mime-jp.ol b/doc/tiny-mime-jp.ol deleted file mode 100644 index 2b5368d..0000000 --- a/doc/tiny-mime-jp.ol +++ /dev/null @@ -1,260 +0,0 @@ -$B!X(Btiny-mime.el $B@bL@=q!Y(B -by. $Be$GF0:n$9$k(B MIME message -header $B$N(B encoder/decoder $B$G$9!#%*%j%8%J%k$O!"@N!"$($J$_(B $B$D$0$H$b(B $B$5$s(B -$B$,(B fj.editor.emacs $B$KEj9F$5$l$?(B MIME message header $B$N(B decoder $B$G$9!#(B - - $B8=:_$G$O!"Ev;~$N$b$N$KHf$Y!"(B - - $B!&(Bdecoding $B;~$K$*$1$k(B unfolding $B5!G=(B - $B!&(BISO-2022-JP $B$K2C$(!"(BISO-8859-*, US-ASCII $B$J$I$N(B encoding/decoding - $B!&(BQ-encoding $B$N(B decoding - -$B$H$$$C$?5!G=$r;}$C$F$$$^$9!#(B - - -* tiny-mime.el $B$N%5%]!<%H$9$k(B character set, encoding - - tiny-mime.el $B$O!"e$G!"(B - - M-x mime/decode-message-header - -$B$re$G!"(B - - M-x mime/encode-message-header - -$B$rl9g!"(Btiny-mime.el $B$,(B encode $B$7$J$/$F$b!"(B -mime.el $B$,(B encode $B$9$k$N$G!"(Bmime.el $B$N(B message header encoder $B$,F/$+$J(B -$B$$$h$&$K$K@_Dj$7$^$9!#(B - -** mime/use-X-Nsubject - - $B$3$NJQ?t$NCM$,(B t $B$N>l9g!"(Bmessage header $B$r(B encode $B$9$k;~!"(Bencode $B$7(B -$B$?7k2L!"(BSubject $B$K(B encoded-word $B$,4^$^$l$k>l9g!"(BSubject $B$r(B decode $B$7$?(B -$B$b$N$rF~$l$?(B X-Nsubject $B$r:n@.$7$^$9!#(B - - default $B$G$O(B nil $B$,;XDj$5$l$F$$$^$9!#(B - -$B!NCm0U!O(BMule $B$G(B ISO-2022-JP $B$K4^$^$l$k$b$N0J30$NJ8;z=89g$r;H$&>l9g$O!"(B -$B$3$l$r;XDj$7$J$$J}$,8-L@$G$9!#(B - -** mail-header-separator - - $B4X?t(B mime/encode-message-header $B$K$*$1$k(B message header $B$H(B body part -$B$N6h@Z$j$rI=$9JQ?t$G$9!#Nc$($P!"(BGNUS $B$G$O(B "--text follows this line--" -$B$,;XDj$5$l$^$9!#(B - -$B!NCm0U!O$3$NJQ?t$NJ8;zNs$O!"(Bversion 2.6 $B$h$j@55,I=8=$G$O$J$/$J$j$^$7$?!#(B - - -* mailer, news reader $B$X$NAH$_9~$_(B - - $BF|>oE*$K!"L50U<1$K(B MIME header $B$rK\Mh$N8@8l$G8+$?$$$H$$$&$N$OEvA3$N(B -$BM_5a$G$9!#$=$3$G!"(Btiny-mime.el $B$r(B mailer $B$d(B news reader $B$KAH$_9~$`$H<+(B -$BF0E*$K(B MIME header $B$N(B encode/decode $B$,$G$-$^$9!#(B - - $B$^$?!"(Bmetamail $B$r;H$C$F$*$i$l$kJ}$G$b!"IaCJ$O(B message header $B$N(B -decode $B$@$1$GNI$/$F!"3($d2;$J$I$r:F@8$9$k;~$@$1(B metamail $B$r;H$&$H$$$&(B -$B$h$&$J;H$$J}$b$G$-$^$9!#(B - - $B$3$NL\E*$rl9g$N$?$a$K!"(B - - (mime/decode-string $BJ8;zNs(B) - -$B$H$$$&4X?t$bMQ0U$7$F$$$^$9!#(B - - GNUS $B$H(B mh-e $B$K4X$7$F$O!"(Btm-gnus, tm-mh-e $B$H$$$&(B MIME $BBP1~2=%b%8%e!<(B -$B%k$rMQ0U$7$F$$$^$9!#(B - - $B$3$l$i$N!"3F(B MUA $B$KBP1~$9$k%b%8%e!<%k$r(B load $B$9$k$H(B tiny-mime.el $B$K(B -$B$h$k(B MIME header $B$NI|85$H(B tm-body $B$rMxMQ$7$?(B MIME body $B$N:F@8$,9T$J$((B -$B$^$9!#(B - - $B>\$7$/$O!"$=$l$>$l$N@bL@=q$r$*FI$_2<$5$$!#(B - - -* mime.el $B$H$NJ;MQ(B - - mime.el $B$HJ;MQ$9$kNc$r<($7$^$9!#$3$NNc$N>l9g!"(BISO-2022-JP $BJ8;zNs$N(B -encode $B$O(B tiny-mime.el $B$,9T$J$$!"$=$l0J30$NJ8;z=89g$KB0$9$kJ8;zNs$O(B -mime.el $B$,(B encode $B$7$^$9!#(B - - $B$^$?!"(Btiny-mime.el $B$,(B encode $B$7$J$+$C$?J8;zNs$b(B mime.el $B$,(B encode $B$9(B -$B$k$N$G!"7k2LE*$K!"I,$:A4$F$N(B field $B$,(B encode $B$5$l$k$3$H$KCm0U$7$F2<$5(B -$B$$!#(B - -[[E ----------------------------------------------------------------------- -;;; -;;; for Edit MIME mode -;;; -(autoload 'mime-mode "mime" "Edit MIME message." t) -(autoload 'mime-convert-buffer "mime" "convert to MIME." t) -(autoload 'insert-signature "signature" "Insert signature" t) -(add-hook 'mime-mode-hook - (function - (lambda () - (define-key (current-local-map) - "\C-c\C-s" (function insert-signature)) - ))) - -;; MIME header $B$N(B encoder $B$r(B tiny-mime $B$N$b$N$r;H$&!#(B -(setq mime-translate-hook 'mime/encode-message-header) - -;;; -;;; for GNUS -;;; -(add-hook 'news-reply-mode-hook (function mime-mode)) -(setq gnus-signature-file nil) - -;;; -;;; for mh-e -;;; -(add-hook 'mh-letter-mode-hook - (function - (lambda () - (mime/decode-message-header) - (mime-mode) - (make-local-variable 'mail-header-separator) - (setq mail-header-separator "--------")) - )) ----------------------------------------------------------------------- -]]E - -** $BFCDj$N(B field $B$r(B encode $B$7$?$/$J$$>l9g(B - - $BFCDj$N(B field $B$r(B encode $B$7$?$/$J$$>l9g!"(Btiny-mime.el $B$NJQ?t(B -mime/no-encoding-header-fields $B$K$h$C$F!"(Btiny-mime.el $B$K$h$k(B encode $B$r(B -$B$d$a$k$3$H$,$G$-$^$9$,!"(Bmime.el $B$,(B encode $B$9$k$N$G$O0UL#$,$"$j$^$;$s!#(B -$B$=$3$G!"l9g$O!"(Bnil $B$r;XDj$9$k!#(B - charset: MIME $B$N(B charset. - encoding: encode $B$9$k:]$N(B encoding. - - - $BNc!'(B KS C5601-1987 $B$r(B EUC-KR $B$N(B B encoding $B$9$k$h$&$K@_Dj$9$k(B - - (mime/set-charset-and-encoding lc-kr *euc-kr* "EUC-KR" "B") - - - $BNc!'(B koi8-r $B$r(B Q encoding $B$9$k$h$&$K@_Dj$9$k!#(B - - (mime/set-charset-and-encoding lc-prv11 nil "KOI8-R" "Q") - - -$B!NCm0U!O8=:_$N$H$3$m!"(Bprivate character $B$N@_Dj$OFq$"$j$G$9!#(B(^_^; diff --git a/doc/tiny-mime-jp.tex b/doc/tiny-mime-jp.tex deleted file mode 100644 index 3beb18b..0000000 --- a/doc/tiny-mime-jp.tex +++ /dev/null @@ -1,353 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{ -tiny-mime.el ÀâÌÀ½ñ} -\author{ -¼é²¬ ÃÎɧ\\ -} -\date{ -1994ǯ7·î27Æü} -\maketitle -\medskip -\par -¤³¤ÎÀâÌÀ½ñ¤Ï ol2 ¤È plain2 ¤òÍѤ¤¤ë¤³¤È¤Ë¤è¤Ã¤Æ LaTeX ·Á¼°¤ËÊÑ´¹¤¹¤ë -¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip -\medskip - -\section{tiny-mime.el ¤È¤Ï} -\medskip -\par -tiny-mime.el ¤Ï Mule, NEmacs, NEpoch ¾å¤ÇÆ°ºî¤¹¤ë MIME message -header ¤Î encoder/decoder ¤Ç¤¹¡£¥ª¥ê¥¸¥Ê¥ë¤Ï¡¢ÀΡ¢¤¨¤Ê¤ß ¤Ä¤°¤È¤â ¤µ¤ó -¤¬ fj.editor.emacs ¤ËÅê¹Æ¤µ¤ì¤¿ MIME message header ¤Î decoder ¤Ç¤¹¡£ -\medskip -\par -¸½ºß¤Ç¤Ï¡¢Åö»þ¤Î¤â¤Î¤ËÈæ¤Ù¡¢ -\medskip -\begin{itemize} -\item decoding »þ¤Ë¤ª¤±¤ë unfolding µ¡Ç½ -\item ISO-2022-JP ¤Ë²Ã¤¨¡¢ISO-8859-*, US-ASCII ¤Ê¤É¤Î encoding/decoding -\item Q-encoding ¤Î decoding -\medskip -\end{itemize} -\par -¤È¤¤¤Ã¤¿µ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ -\medskip -\medskip - -\section{tiny-mime.el ¤Î¥µ¥Ý¡¼¥È¤¹¤ë character set, encoding} -\medskip -\par -tiny-mime.el ¤Ï¡¢¼¡¤Î character set, encoding ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ -\medskip - -\subsection{Mule} -\medskip -\par -ISO-2022-JP, US-ASCII, ISO-8859-1..9, ISO-2022-CN, ISO-2022-KR, -EUC-KR ¤Ê¤É¤Î encoding/decoding ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤Þ¤¿¡¢´Ø¿ô -mime/set-charset-and-encoding ¤ÇÄɲá¦Êѹ¹¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip - -\subsection{NEmacs, NEpoch} -\medskip -\par -ISO-2022-JP, US-ASCII ¤Î encoding/decoding ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ -\medskip -\par -¤Þ¤¿¡¢ISO-8859-*¤Ç¤¢¤Ã¤Æ¤â¡¢encoded-text ¤Ë´Þ¤Þ¤ì¤ëʸ»úÎó¤¬¼ÂºÝ¤Ë¤Ï -ASCII ¤Çɽ¤»¤ëÈϰϤʤéɽ¼¨¤·¤Þ¤¹¡£ -\medskip -\medskip - -\section{tiny-mime.el ¤Î´Êñ¤Ê»È¤¤Êý} -\medskip - -\subsection{decode} -\medskip -\par -tiny-mime.el ¤ò load ¤·¤Æ¡¢decode ¤·¤¿¤¤ buffer ¾å¤Ç¡¢ -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -M-x mime/decode-message-header -\endlist} -\medskip -\par -¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -\medskip -\par -¤Þ¤¿¡¢decode ¤·¤¿¤¤ region ¤ò -\medskip -{\baselineskip=10pt -\begin{verbatim} - M-x mime/decode-region -\end{verbatim}} -\medskip -\par -¤Ç decode ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°úÍÑ¤Ê¤É¤Ç body-part ¤Ë»Ä¤Ã¤¿ -encoded-word ¤ò decode ¤¹¤ë¤Î¤ËÊØÍø¤Ç¤·¤ç¤¦¡£ -\medskip - -\subsection{encode} -\medskip -\par -tiny-mime.el ¤ò load ¤·¤Æ¡¢encode ¤·¤¿¤¤ buffer ¾å¤Ç¡¢ -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -M-x mime/encode-message-header -\endlist} -\medskip -\par -¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -\medskip -\medskip - -\section{tiny-mime.el ¤ÎÊÑ¿ô} -\medskip - -\subsection{mime/no-encoding-header-fields} -\medskip -\par -tiny-mime.el ¤Ç encode ¤·¤Ê¤¤ message header ¤Î field ¤ò»ØÄꤷ¤Þ¤¹¡£ -\medskip -\par -default ¤Ç¤Ï X-Nsubject ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -\medskip -\par -Î㡧 X-Nsubject ¤È Subject ¤ò encode ¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -¡ÎÃí°Õ¡Ï mime.el ¤ÈÊ»ÍѤ¹¤ë¾ì¹ç¡¢tiny-mime.el ¤¬ encode ¤·¤Ê¤¯¤Æ¤â¡¢ -mime.el ¤¬ encode ¤¹¤ë¤Î¤Ç¡¢mime.el ¤Î message header encoder ¤¬Æ¯¤«¤Ê -¤¤¤è¤¦¤Ë¤ËÀßÄꤷ¤Þ¤¹¡£ -\medskip - -\subsection{mime/use-X-Nsubject} -\medskip -\par -¤³¤ÎÊÑ¿ô¤ÎÃͤ¬ t ¤Î¾ì¹ç¡¢message header ¤ò encode ¤¹¤ë»þ¡¢encode ¤· -¤¿·ë²Ì¡¢Subject ¤Ë encoded-word ¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢Subject ¤ò decode ¤·¤¿ -¤â¤Î¤òÆþ¤ì¤¿ X-Nsubject ¤òºîÀ®¤·¤Þ¤¹¡£ -\medskip -\par -default ¤Ç¤Ï nil ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -\medskip -\par -¡ÎÃí°Õ¡ÏMule ¤Ç ISO-2022-JP ¤Ë´Þ¤Þ¤ì¤ë¤â¤Î°Ê³°¤Îʸ»ú½¸¹ç¤ò»È¤¦¾ì¹ç¤Ï¡¢ -¤³¤ì¤ò»ØÄꤷ¤Ê¤¤Êý¤¬¸­ÌÀ¤Ç¤¹¡£ -\medskip - -\subsection{mail-header-separator} -\medskip -\par -´Ø¿ô mime/encode-message-header ¤Ë¤ª¤±¤ë message header ¤È body part -¤Î¶èÀÚ¤ê¤òɽ¤¹ÊÑ¿ô¤Ç¤¹¡£Î㤨¤Ð¡¢GNUS ¤Ç¤Ï "--text follows this line--" -¤¬»ØÄꤵ¤ì¤Þ¤¹¡£ -\medskip -\par -¡ÎÃí°Õ¡Ï¤³¤ÎÊÑ¿ô¤Îʸ»úÎó¤Ï¡¢version 2.6 ¤è¤êÀµµ¬É½¸½¤Ç¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ -\medskip -\medskip - -\section{mailer, news reader ¤Ø¤ÎÁȤ߹þ¤ß} -\medskip -\par -Æü¾ïŪ¤Ë¡¢Ìµ°Õ¼±¤Ë MIME header ¤òËÜÍè¤Î¸À¸ì¤Ç¸«¤¿¤¤¤È¤¤¤¦¤Î¤ÏÅöÁ³¤Î -Íßµá¤Ç¤¹¡£¤½¤³¤Ç¡¢tiny-mime.el ¤ò mailer ¤ä news reader ¤ËÁȤ߹þ¤à¤È¼« -ưŪ¤Ë MIME header ¤Î encode/decode ¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip -\par -¤Þ¤¿¡¢metamail ¤ò»È¤Ã¤Æ¤ª¤é¤ì¤ëÊý¤Ç¤â¡¢ÉáÃÊ¤Ï message header ¤Î -decode ¤À¤±¤ÇÎɤ¯¤Æ¡¢³¨¤ä²»¤Ê¤É¤òºÆÀ¸¤¹¤ë»þ¤À¤± metamail ¤ò»È¤¦¤È¤¤¤¦ -¤è¤¦¤Ê»È¤¤Êý¤â¤Ç¤­¤Þ¤¹¡£ -\medskip -\par -¤³¤ÎÌÜŪ¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢mailer ¤ä news reader ¤ÎŬÀÚ¤Ê hook ¤Ë -mime/decode-message-header ¤òÆþ¤ì¤ì¤ÐÎɤ¤¤Ç¤·¤ç¤¦¡£¤Þ¤¿¡¢Ê¸»úÎó¤Î -decode ¤ò¤·¤¿¤¤¾ì¹ç¤Î¤¿¤á¤Ë¡¢ -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -(mime/decode-string ʸ»úÎó) -\endlist} -\medskip -\par -¤È¤¤¤¦´Ø¿ô¤âÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£ -\medskip -\par -GNUS ¤È mh-e ¤Ë´Ø¤·¤Æ¤Ï¡¢tm-gnus, tm-mh-e ¤È¤¤¤¦ MIME Âбþ²½¥â¥¸¥å¡¼ -¥ë¤òÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£ -\medskip -\par -¤³¤ì¤é¤Î¡¢³Æ MUA ¤ËÂбþ¤¹¤ë¥â¥¸¥å¡¼¥ë¤ò load ¤¹¤ë¤È tiny-mime.el ¤Ë -¤è¤ë MIME header ¤ÎÉü¸µ¤È tm-body ¤òÍøÍѤ·¤¿ MIME body ¤ÎºÆÀ¸¤¬¹Ô¤Ê¤¨ -¤Þ¤¹¡£ -\medskip -\par -¾Ü¤·¤¯¤Ï¡¢¤½¤ì¤¾¤ì¤ÎÀâÌÀ½ñ¤ò¤ªÆɤ߲¼¤µ¤¤¡£ -\medskip -\medskip - -\section{mime.el ¤È¤ÎÊ»ÍÑ} -\medskip -\par -mime.el ¤ÈÊ»ÍѤ¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£¤³¤ÎÎã¤Î¾ì¹ç¡¢ISO-2022-JP ʸ»úÎó¤Î -encode ¤Ï tiny-mime.el ¤¬¹Ô¤Ê¤¤¡¢¤½¤ì°Ê³°¤Îʸ»ú½¸¹ç¤Ë°¤¹¤ëʸ»úÎó¤Ï -mime.el ¤¬ encode ¤·¤Þ¤¹¡£ -\medskip -\par -¤Þ¤¿¡¢tiny-mime.el ¤¬ encode ¤·¤Ê¤«¤Ã¤¿Ê¸»úÎó¤â mime.el ¤¬ encode ¤¹ -¤ë¤Î¤Ç¡¢·ë²ÌŪ¤Ë¡¢É¬¤ºÁ´¤Æ¤Î field ¤¬ encode ¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ -¤¤¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -;;; -;;; for Edit MIME mode -;;; -(autoload 'mime-mode "mime" "Edit MIME message." t) -(autoload 'mime-convert-buffer "mime" "convert to MIME." t) -(autoload 'insert-signature "signature" "Insert signature" t) -(add-hook 'mime-mode-hook - (function - (lambda () - (define-key (current-local-map) - "\C-c\C-s" (function insert-signature)) - ))) - -;; MIME header ¤Î encoder ¤ò tiny-mime ¤Î¤â¤Î¤ò»È¤¦¡£ -(setq mime-translate-hook 'mime/encode-message-header) - -;;; -;;; for GNUS -;;; -(add-hook 'news-reply-mode-hook (function mime-mode)) -(setq gnus-signature-file nil) - -;;; -;;; for mh-e -;;; -(add-hook 'mh-letter-mode-hook - (function - (lambda () - (mime/decode-message-header) - (mime-mode) - (make-local-variable 'mail-header-separator) - (setq mail-header-separator "--------")) - )) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip - -\subsection{ÆÃÄê¤Î field ¤ò encode ¤·¤¿¤¯¤Ê¤¤¾ì¹ç} -\medskip -\par -ÆÃÄê¤Î field ¤ò encode ¤·¤¿¤¯¤Ê¤¤¾ì¹ç¡¢tiny-mime.el ¤ÎÊÑ¿ô -mime/no-encoding-header-fields ¤Ë¤è¤Ã¤Æ¡¢tiny-mime.el ¤Ë¤è¤ë encode ¤ò -¤ä¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢mime.el ¤¬ encode ¤¹¤ë¤Î¤Ç¤Ï°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£ -¤½¤³¤Ç¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤Ç¡¢mime.el ¤Ç¤â encode ¤·¤Ê¤¤¤è¤¦¤Ë¤Ç¤­ -¤Þ¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(if (boundp 'MULE) - (progn - (defun mime-header-charset-chooser-for-mule-no-encode-ISO-2022-JP (begin end) - (let ((lclist (find-charset-region begin end))) - (cond ((null lclist) nil) ;US-ASCII requres no encoding. - ((memq lc-ltn1 lclist) - '("ISO-8859-1" . "Q")) - ((memq lc-ltn2 lclist) - '("ISO-8859-2" . "Q")) - ((memq lc-ltn3 lclist) - '("ISO-8859-3" . "Q")) - ((memq lc-ltn4 lclist) - '("ISO-8859-4" . "Q")) - ((memq lc-crl lclist) - '("ISO-8859-5" . "Q")) - ;;((memq lc-arb lclist) - ;; '("ISO-8859-6" . "Q")) - ((memq lc-grk lclist) - '("ISO-8859-7" . "Q")) - ((memq lc-hbw lclist) - '("ISO-8859-8" . "Q")) - ((memq lc-ltn5 lclist) - '("ISO-8859-9" . "Q")) - ((memq lc-jp lclist) nil) - (t ;Unknown charset. It must be Mule! - '("ISO-2022-JP-2" . "B")) - ))) - (setq mime-header-charset-chooser - 'mime-header-charset-chooser-for-mule-no-encode-ISO-2022-JP) - ) - (progn - (defun mime-header-charset-chooser-for-nemacs-no-encode-ISO-2022-JP (begin end)) - (setq mime-header-charset-chooser - 'mime-header-charset-chooser-for-nemacs-no-encode-ISO-2022-JP) - )) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -Íפ¹¤ë¤Ë¡¢ISO-2022-JP ʸ»úÎó¤Î encode ¤ò mime.el ¤Ë¤µ¤»¤Ê¤¯¤¹¤ëÌõ¤Ç -¤¹¡£ -\medskip -\medskip - -\section{charset ¤ÎÄɲá¦Êѹ¹} -\medskip -\par -Mule ¤Ç¤Ï¡¢´Ø¿ô mime/set-charset-and-encoding ¤Ç¡¢charset ¤ÎÄɲá¦ÊÑ -¹¹¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip -\begin{description} -\item[´Ø¿ô:]mime/set-charset-and-encoding lc cs charset encoding -\medskip -\begin{description} -\item[lc:]charset ¤ËÂбþ¤¹¤ë leading-char ¤ò»ØÄꤹ¤ë¡£ -\item[cs:]charset ¤ËÂбþ¤¹¤ë coding-system ¤ò»ØÄꤹ¤ë¡£1 octet ʸ»ú -½¸¹ç¤Ç coding-system ¤òºî¤é¤Ê¤¤¾ì¹ç¤Ï¡¢nil ¤ò»ØÄꤹ¤ë¡£ -\item[charset:]MIME ¤Î charset. -\item[encoding:]encode ¤¹¤ëºÝ¤Î encoding. -\medskip -\medskip -\end{description} -\end{description} -\par -Î㡧 KS C5601-1987 ¤ò EUC-KR ¤Î B encoding ¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -(mime/set-charset-and-encoding lc-kr *euc-kr* "EUC-KR" "B") -\endlist} -\medskip -\medskip -\par -Î㡧 koi8-r ¤ò Q encoding ¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë¡£ -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -(mime/set-charset-and-encoding lc-prv11 nil "KOI8-R" "Q") -\endlist} -\medskip -\medskip -\par -¡ÎÃí°Õ¡Ï¸½ºß¤Î¤È¤³¤í¡¢private character ¤ÎÀßÄê¤ÏÆñ¤¢¤ê¤Ç¤¹¡£(\verb+^+\_\verb+^+; -\end{document} diff --git a/doc/tiny-mime-jp.texi b/doc/tiny-mime-jp.texi deleted file mode 100644 index 815fa2e..0000000 --- a/doc/tiny-mime-jp.texi +++ /dev/null @@ -1,188 +0,0 @@ -\input texinfo.tex -@c{-*-tiny-mime manual-*-} -@setfilename tm-head-jp.info -@settitle{tiny-mime manual} - -@titlepage -@sp{5} -@center{@titlefont{tiny-mime}} -@sp{15} -@center{@titlefont{$BZ$7$^$;$s!#$7$+$7$J$,$i!"(BUS-ASCII $B$NHO0O$G$OF0:n$9$k$H;W$o$l(B -$B$^$9!#!J$"$^$j0UL#$,$J$$$+$bCN$l$^$;$s$,!K(B - -@section{NEmacs, NEpoch} - -ISO-2022-JP, US-ASCII $B$N(B encoding/decoding $B$r%5%]!<%H$7$^$9!#(B - -$B$^$?!"(BISO-8859-*$B$G$"$C$F$b!"(Bencoded-text $B$K4^$^$l$kJ8;zNs$,e$G!"(B - -@example - M-x mime/decode-message-header -@end example - -$B$re$G!"(B - -@example - M-x mime/encode-message-header -@end example - -$B$rl9g!"(Btiny-mime.el $B$,(B encode $B$7$J$/$F$b!"(B -mime.el $B$,(B encode $B$9$k$N$G!"(Bmime.el $B$N(B message header encoder $B$,F/$+$J(B -$B$$$h$&$K$K@_Dj$7$^$9!#(B -@end defvr - -@defvr{Variable} mime/use-X-Nsubject - -$B$3$NJQ?t$NCM$,(B t $B$N>l9g!"(Bmessage header $B$r(B encode $B$9$k;~!"(Bencode $B$7$?(B -$B7k2L!"(BSubject $B$K(B encoded-word $B$,4^$^$l$k>l9g!"(BSubject $B$r(B decode $B$7$?$b(B -$B$N$rF~$l$?(B X-Nsubject $B$r:n@.$7$^$9!#(B - -default $B$G$O(B nil $B$,;XDj$5$l$F$$$^$9!#(B - -$B!NCm0U!O(BMule $B$G(B ISO-2022-JP $B$K4^$^$l$k$b$N0J30$NJ8;z=89g$r;H$&>l9g$O!"(B -$B$3$l$r;XDj$7$J$$J}$,8-L@$G$9!#(B -@end defvr - - -@node Customize, Top, Variable, Top -@comment node-name, next, previous, up -@chapter{$B%+%9%?%^%$%:(B} -@cindex{$B%+%9%?%^%$%:(B} - -@menu -* Customize-for-charset:: -@end menu - -@node Customize-for-charset, Customize, Customize, Customize -@comment node-name, next, previous, up -@section{charset $B$NDI2C!&JQ99(B} -@cindex{charset $B$NDI2C!&JQ99(B} - -Mule $B$G$O!"4X?t(B mime/set-charset-and-encoding $B$G!"(Bcharset $B$NDI2C!&JQ99(B -$B$,$G$-$^$9!#(B - -@deffn{Function} mime/set-charset-and-encoding LC CS CHARSET ENCODING - -@table @var -@item LC -charset $B$KBP1~$9$k(B leading-char $B$r;XDj$9$k!#(B - -@item CS -charset $B$KBP1~$9$k(B coding-system $B$r;XDj$9$k!#(B1 octet $BJ8;z=89g$G(B -coding-system $B$r:n$i$J$$>l9g$O!"(Bnil $B$r;XDj$9$k!#(B - -@item CHARSET -MIME $B$N(B charset. - -@item ENCODING -encode $B$9$k:]$N(B encoding. -@end table - -@end deffn - -@bye diff --git a/doc/tl-jp.texi b/doc/tl-jp.texi deleted file mode 100644 index 576191b..0000000 --- a/doc/tl-jp.texi +++ /dev/null @@ -1,548 +0,0 @@ -\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{$Be$G8_49@-$r$H$k$?$a$N(B -$B5!9=$rMQ0U$7$F$$$^$9!#(B - -$B$=$N0l$D$O!"(BEmacs 18 $B$G(B Emacs 19 $B$N4X?t$rMQ0U$7$F!"(BEmacs 19 $B$G3HD%$5$l(B -$B$?5!G=$r(B Emacs 18 $B$GMxMQ$9$k$?$a$N(B module `tl-18' $B$G$9!#(B - -$B$b$&0l$D$O!"(BNEmacs, Original Emacs, Mule $B$J$I$G$NJ8;z!"J8;zNs$N(B -$B$N(B Emacs $B$H$N8_49@-$r(B} - -@deffn{Function} attribute-add-narrow-attribute ATR FROM TO - -@var{FROM} $B$H(B @var{TO} $B$G0O$^$l$?(B region $B$K(B @var{ATR} $B$N(B attribute $B$r(B -$BIU$1$k!#(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 $B$O!"(BOriginal Emacs 19 $B$K$*$$$F!"$N(B Emacs $B$H$N8_49@-$r$N(B Emacs $B$H$N8_49@-$r$KE,Ev$J(B field-unifier $B$,8+$D$+$i$J$+$C$?>l9g$K5/F0$5$l$k(B -field-unifier. field @var{CLASS} $B$H(B field @var{INSTANCE} $B$N(B -field-unify $B$r9T$&!#!J(Bjinn $B8_494X?t!K(B -@end deffn - - -@deffn{Function} field-unify CLASS INSTANCE - -field @var{CLASS} $B$H(B field @var{INSTANCE} $B$N(B field-unify $B$r9T$&!#l9g$G$b@5$7$/J8;zC10L$G@ZCG$7$^$9!#(B -@end deffn - - -@deffn{Function} get-version-string ID - -RCS $B$N(B version $BJ8;zNs(B @var{ID} $B$+$i?t;z$H(B `.' $B$+$i$N$_9=@.$5$l$k(B -version number $BJ8;zNs$rJV$9!#(B -@end deffn - - -@deffn{Function} replace-as-filename STR - -$BJ8;zNs(B @var{STR} $B$N$+$i(B file name $B$H$7$FLdBj$N$"$kJ8;z$rA0$N(B symbol $B$rJV$9!#!J(Bjinn $B8_494X?t!K(B -@end deffn - -@deffn{Function} top-string-match PAT STR - -$BJ8;zNs(B @var{PAT} $B$,J8;zNs(B @var{STR} $B$N@hF,$K4^$^$l$k>l9g!"(B@code{(PAT -$B;D$j(B)} $B$H$$$&7A<0$N(B list $B$rJV$9!#!J(Bjinn $B8_494X?t!K(B -@end deffn - -@deffn{Function} middle-string-match PAT STR - -$BJ8;zNs(B @var{PAT} $B$,J8;zNs(B @var{STR} $B$N$I$3$+$K4^$^$l$k>l9g!"(B@code{($BA0(B -PAT $B;D$j(B)} $B$H$$$&7A<0$N(B list $B$rJV$9!#!J(Bjinn $B8_494X?t!K(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 $B$O(B mail $B$d(B News $B$J$I$N(B message header $B$N=hM}$K4X$9$kM-MQ$J4X(B -$B?t$r=8$a$?(B module $B$G$9!#(B - -tl-header $B$rMxMQ$9$k$K$O(B @code{(require 'tl-header)} $B$r=q$$$F2<$5$$!#(B - - -@defvr{Constant} message/quoted-string-regexp - -RFC 822 $B$K$*$1$k(B quoted-string $B$rI=$9@55,I=8=!#(B -@end defvr - -@defvr{Constant} message/field-name-regexp - -RFC 822 $B$K$*$1$k(B field-name $B$rI=$9@55,I=8=!#(B -@end defvr - -@defvr{Constant} message/field-body-regexp - -RFC 822 $B$K$*$1$k(B field-body $B$rI=$9@55,I=8=!#(B -@end defvr - -@defvr{Constant} message/field-regexp - -RFC 822 $B$K$*$1$k(B field $B$rI=$9@55,I=8=!#(B -@end defvr - -@defvr{Constant} message/word-regexp - -RFC 822 $B$K$*$1$k(B word $B$rI=$9@55,I=8=!#(B -@end defvr - -@defvr{Constant} message/local-part-regexp - -RFC 822 $B$K$*$1$k(B local-part $B$rI=$9@55,I=8=!#(B -@end defvr - -@defvr{Constant} message/domain-regexp - -RFC 822 $B$K$*$1$k(B domain $B$rI=$9@55,I=8=!#(B -@end defvr - -@defvr{Constant} message/addr-spec-regexp - -RFC 822 $B$K$*$1$k(B addr-spec $B$rI=$9@55,I=8=!#(B -@end defvr - -@deffn{Function} message/get-field-body NAME - -message header $B$K$*$$$F(B @var{NAME} field $B$N(B body $B$rJV$9!#(B -@end deffn - -@deffn{Function} message/divide-field STR - -field $BJ8;zNs(B @var{STR} $B$r(B @code{(field-name field-body)} $B$H$$$&7A<0$N(B -list $B$K$7$FJV$9!#(B -@end deffn - -@deffn{Function} message/parse-addr-spec STR - -$BJ8;zNs(B @var{STR} $B$r(B addr-spec $B$H$7$F9=J82r@O$7!"(B@code{(addr-spec $B;D$j(B)} -$B$H$$$&7A<0$N%j%9%H$K$7$FJV$9!#(B -@end deffn - -@deffn{Function} message/parse-phrase-route-addr STR - -$BJ8;zNs(B @var{STR} $B$r(B phrase route-addr $B$H$7$F9=J82r@O$7!"(B@code{((phrase -"<" addr-spec ">") $B;D$j(B)} $B$H$$$&7A<0$N%j%9%H$K$7$FJV$9!#!JCm!'@53N$K$O!"(B -route $B$b8+$J$1$l$P$$$1$J$$$,!"(Broute $B$OL5$$$b$N$H$7$F2r@O$7$F$$$k!K(B -@end deffn - -@deffn{Function} message/parse-comment STR - -$BJ8;zNs(B @var{STR} $B$r(B comment $B$H$7$F9=J82r@O$7!"(B@code{(("(" comment ")") -$B;D$j(B)} $B$H$$$&7A<0$N%j%9%H$K$7$FJV$9!#(B -@end deffn - -@deffn{Function} message/parse-address STR - -$BJ8;zNs(B @var{STR} $B$r(B address $B$H$7$F9=J82r@O$7!"(B@code{(address $B;D$j(B)} $B$H(B -$B$$$&7A<0$N%j%9%H$K$7$FJV$9!#(B -@end deffn - -@deffn{Function} message/parse-addresses STR - -$BJ8;zNs(B @var{STR} $B$r(B address list $B$H$7$F9=J82r@O$7!"(B@code{(address1 -address2 ...)} $B$H$$$&7A<0$N%j%9%H$K$7$FJV$9!#(B -@end deffn - -@deffn{Function} message/unfolding-string STR - -$BJ8;zNs(B @var{STR} $B$r(B field $B$H$7$F(B unfolding $B$7$?J8;zNs$rJV$9!#(B -@end deffn - -@deffn{Function} message/strip-quoted-string STR - -$BJ8;zNs(B @var{STR} $B$r(B quoted-string $B$H$7$F(B strip $B$7$?J8;zNs$rJV$9!#(B -@end deffn - - -@node Concept Index, Command Index, Command List, Top -@unnumbered $B35G0:w0z(B - -@printindex cp - - -@node Command Index, Variable Index, Concept Index, Top -@unnumbered $B4X?t!&%3%^%s%I:w0z(B - -@printindex fn - - -@node Variable Index, Concept Index, Command Index, Top -@unnumbered $BJQ?t:w0z(B - -@printindex vr - -@bye diff --git a/doc/tm-eng.tex b/doc/tm-eng.tex deleted file mode 100644 index 527b4cd..0000000 --- a/doc/tm-eng.tex +++ /dev/null @@ -1,799 +0,0 @@ -\documentstyle{report} - -\title{tm Reference Manual (English Edition)} -\author{{\Large Morioka Tomohiko} \\ - {\normalsize $<$morioka@jaist.ac.jp$>$}\\ - \\ - {\large translated by \Large Ueno Hiroshi} \\ - {\normalsize $<$jl07715@yamato.ibm.co.jp$>$} - } -\date{\verb$Id: tm-eng.tex,v 5.7 1995/06/26 06:03:21 morioka Exp $} - -\begin{document} - -\maketitle -\tableofcontents - -\chapter{Overview} - -The tm package is a set of modules to enjoy MIME on GNU Emacs. Using tm, -you can - -\begin{itemize} -\item playback or view the MIME messages using new mime/viewer-mode -\item encode and decode the multi-lingual headers -\item use the enhanced MIME functions with mh-e, GNUS, and RMAIL -\end{itemize} - -\noindent and more. - - -\section{Module List} - -The tm package includes the modules listed below. - -\begin{itemize} -\item {\bf tiny-mime} : MIME header encoder/decoder -\item {\bf tm-view} : MIME message viewer -\item {\bf tm-misc} : common part of tm-MUAs -\item {\bf tm-MUAs} : MIME function enhancer for MUAs - \begin{itemize} - \item {\bf tm-mh-e} : tm-MUA for mh-e - \item {\bf tm-gnus} : tm-MUA for GNUS - \item {\bf tm-rmail} : tm-MUA for RMAIL - \item {\bf tm-vm} : tm-MUA for vm - \end{itemize} -\item {\bf tm-setup} tm-MUA setup module -\item {\bf mime-setup} MIME setup module -\end{itemize} - - -\chapter{Considerations for Each Version of Emacs} - -\section{Emacs (original)} - -US-ASCII and ISO-8859-1 can be used if you use the original Emacs. - - -\section{NEmacs, NEpoch} - -ISO-2022-JP and US-ASCII can be used if you use NEmacs. - - -\section{Mule} - -Mule can handle the multi-lingual text. With Mule, tiny-mime supports -ISO-2022-JP, ISO-2022-JP-2, US-ASCII, ISO-8859-1..9, ISO-2022-CN, -ISO-2022-KR, EUC-KR, etc. You can also add or change -encoding/decoding for character sets by mime/set-charset-and-encoding -function. - - -\chapter{Installation and Setup} - -\section{Installation} - -You can install tm by following the procedures below. - -\begin{enumerate} -\item modify bindir definition in Makefile according to your build - environment. -\item modify the method scripts in methods/ directory so that it - can work in your environment. Refer to \ref{sec:method} section - for how you can suit the method scripts to your environment. -\item make all -\item make install -\item copy all files with .el suffix into the directory pointed by Emacs - load-path variable. -\end{enumerate} - -\noindent{\bf [Notes]} -\begin{itemize} -\item Make sure mh-e version 3.x has been loaded before byte-compiling - tm-mh-e3.el. -\item Make sure GNUS 3 has been loaded before byte-compiling tm-gnus3.el. -\item Use Emacs 18 when you byte-compile tl-18.el. -\item Use the original Emacs when you byte-compile tl-orig.el. -\item Use NEmacs when you byte-compile tl-nemacs.el. -\item Use Mule when you byte-compile tl-mule.el. -\item Modules byte-compiled by Emacs 19 do not work with Emacs 18. -\end{itemize} - - -\section{Setup} - -In the tm package, two files, mime-setup.el and tm-setup.el, are provided -to ease the setup. A mime-setup.el is used for the whole MIME related -setup including MIME encoding, while tm-setup is used to set up tm-MUA -only. - - -\subsection{mime-setup} - -\begin{verbatim} -(load "mime-setup") -\end{verbatim} - -\noindent 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. - -You can also set up the "automatic signature selection tool" using -mime-setup. If you want to automatically select the signature file -depending on how the message headers show, add lines like shown below -to your .emacs (Refer to the reference manual of signature.el for -more details). - -\begin{verbatim} -(setq signature-file-alist - '((("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) -\end{verbatim} - -mime-setup requires mime.el. if you set up SuperCite via mime-setup, -you need the SuperCite package also. - - -\subsection{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. - -\begin{verbatim} -(load "tm-setup") -\end{verbatim} - - -\subsection{vm} - -If you want use vm, please insert following in .vm or .emacs: - -\begin{verbatim} -(load "tm-vm") -\end{verbatim} - - -\subsection{setting up without loading provided setup files} - -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. - - -\subsection{setting up MH} - -If you are using MH-6.8JP2, add the following lines to your -.mh\_profile. - -\begin{verbatim} -scan: -form scan.mime -inc: -form inc.mime -repl: -form replcomps.mime -showproc: mhl -\end{verbatim} - -\noindent Emacs will handle the most part of MH processing. You -should not specify further options in your MH profile to avoid any -possible conflict between MH and Emacs. - - - -\chapter{tm-MUA} - -``tm-MUA'' is a generic name of the modules which enhance the MIME -functions of MUA like mh-e, GNUS, and RMAIL etc. - -The current version of tm provides the following tm-MUA. - -\begin{itemize} -\item {\bf tm-mh-e} : tm-MUA for mh-e -\item {\bf tm-gnus} : tm-MUA for GNUS -\item {\bf tm-rmail} : tm-MUA for RAMIL -\end{itemize} - -\noindent You can find the detailed explanations of these modules in -the following sections. - - -\section{Summary Mode} - -If you are using tm-MUA, the following functions are added to the Summary -mode of the MUA. - -\medskip -\begin{center} - \begin{tabular}{|l|l|}\hline - key & function \\ \hline - M-t & toggles decoding of MIME headers \\ - v & enters mime/view-mode \\ \hline - \end{tabular} -\end{center} -\medskip - - -\section{mime/viewer-mode} -\label{sec:mime/viewer-mode} - -If you are using tm-MUA, mime/viewer-mode becomes active by pressing -{\bf v} key in the Summary mode. In mime/viewer-mode, you can manipulate -the MIME messages by the simple key operations. The following list shows -the functions and their key bindings which can be used in mime/viewer-mode. - -\medskip -\begin{center} - \begin{tabular}{|l|l|}\hline - key & function \\ \hline - u & goes to the upper content \\ - & returns to the Summary mode if the cursor is sitting on - the top content (*1) \\ - p & goes to the previous content \\ - n & goes to the next content \\ - SPC & scrolls up \\ - M-SPC & scrolls down \\ - DEL & scrolls down \\ - RET & goes to the next line \\ - M-RET & goes to the previous line \\ - v & playbacks a content (*2) \\ - e & extracts a file from a content (*2) \\ - C-c C-p & prints a content (*2) \\ \hline - \end{tabular} -\end{center} -\medskip - -\bigskip - -\newcounter{asteriskcount} -\noindent{\bf [Note]} -\vspace{-1ex} -{\list{(*\arabic{asteriskcount})}{\usecounter{asteriskcount}\leftmargin=8ex} -\item Not return to the Summary mode unless tm-view has been setup using -tm-mh-e, tm-gnus, tm-rmail etc. -\item Actual playback/extract/print will be performed by a method. -\endlist} - - -\section{Customizing tm-gnus} - -\subsection{saving articles without decoding} - -By default, The articles will be saved as they appear in the buffer -at that time. - -You can save the articles always without decoding by setting a -tm-gnus/set-mime-header-decoding-mode variable to nil then call a -function which saves the articles. - -The following example shows how you can save an article without -decoding, preserving the current MIME header decoding mode. - -\begin{verbatim} - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (article save function) - (tm-gnus/set-mime-header-decoding-mode mm) - ) -\end{verbatim} - -The following is an example that saves the articles to a folder -of mh-e. - -\begin{verbatim} -(add-hook 'gnus-Startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-Subject-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -(add-hook 'gnus-startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-summary-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -\end{verbatim} - -\subsection{replying with encoded subject to an article with encoded subject} - -When you reply to an article, you may want to encode the Subject field only -when the original article has an encoded Subject. It can be done by -defining a hook as shown below. - -\begin{verbatim} -(add-hook 'gnus-article-prepare-hook - (function - (lambda () - (if (mime/exist-encoded-word-in-subject) - (setq mime/no-encoding-header-fields '("X-Nsubject")) - (setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) - )))) -\end{verbatim} - - -\chapter{tm-view} - -tm-view is a module which is used to examine the MIME messages. -It provides a mime/viewer-mode for that purpose. - -Regarding the functions of mime/viewer-mode, refer to -\ref{sec:mime/viewer-mode} section. - -\section{Defining Conditions of Decoding} - -A mime/content-decoding-condition variable is used to define the methods -which will be called at decoding. It replaces a -mime/content-decoding-method-alist variable of tm-view version 4.x. - -A mime/content-decoding-method-alist only allowed you to define a -method used for each content-type/subtype. Now a -mime/content-decoding-condition variable allows you to write more -complicated statements to describe the more detailed conditions to determine -which method is to be use. - -A mime/content-decoding-condition variable is defined as a list with the -following syntax. - -\begin{eqnarray*} - (condition_1 \;\; condition_2 \;\; ...) -\end{eqnarray*} - -\noindent Each condition is an association list with the following -syntax. - -\begin{eqnarray*} - ((field-type_1 \; . \; value_1) \;\; - (field-type_2 \; . \; value_2) \;\; ...) -\end{eqnarray*} - -\noindent - -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 - -\begin{quote} - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)) -\end{quote} - -\noindent As you notice, now you can define the arguments to pass to a -external method. Refer to \ref{sec:method-arguments} section for more -explanation. - -This condition definition will match all contents whose types are text/plain. -Here is an another example. - -\begin{quote} - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name) - (mode . "play")) -\end{quote} - -\noindent This will match the content whose type is text/plain and -the mode is play. - - -\begin{quote} - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file) - (mode . "play")) -\end{quote} - -\noindent 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. - - -\subsection{arguments of method} -\label{sec:method-arguments} - -You can specify the method field of the condition definition in two -different ways. - -\begin{eqnarray*} - (method \; . \; SYMBOL) -\end{eqnarray*} - -\noindent or - -\begin{eqnarray*} - (method \; STRING \; FLAG \; ARGUMENT_1 \; ARGUMENT_2 \; ...) -\end{eqnarray*} - -\noindent can be accepted. - -When a symbol is specified in the method field, it 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. - -\begin{description} -\item [STRING] name of an external method -\item [FLAG] if 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 [ARGUMENT$_x$] list of arguments passed to an external method -\end{description} - -An argument passed to an external method can be in one of the following -formats. - -\begin{quote} - \begin{tabular}{lcl} - STRING&:&string itself \\ - 'SYMBOL&:&value gotten using SYMBOL as a key (see below) \\ - 'STRING&:&value gotten using STRING as a key (see below) - \end{tabular} -\end{quote} - -'SYMBOL can be one of the following. - -\begin{quote} - \begin{tabular}{lcl} - 'file&:&name of a file holding the original content \\ - 'type&:&content-type/sub-type \\ - 'encoding&:&content-transfer-encoding \\ - 'mode&:&decoding mode \\ - 'name&:&name of a file created by decode operation - \end{tabular} -\end{quote} - -\noindent '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. - - -\subsection{examples} - -The default definition of a mime/content-decoding-condition variable is -shown below. - -\begin{verbatim} -(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{verbatim} - -For example, if you want to use metamail to decode any contents, - -\begin{verbatim} -(setq mime/content-decoding-condition - '( - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)) - )) -\end{verbatim} - -\noindent 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. - - -\section{Method Script} -\label{sec:method} - -The methods are written in shell script. The arguments passed from tm-view.el -to each method can be customized using mime/content-decoding-condition -variable. If you use the tm-provided setting of -mime/content-decoding-condition variable, the following arguments are -passed to the method. - -\medskip -\begin{center} - \begin{tabular}{|c|l|} \hline - argument & \multicolumn{1}{|c|}{ meaning }\\ \hline - \$1 & file name before decoded \\ - \$2 & Content-Type (type/sub-type) \\ - \$3 & encoding - \{7bit / quoted-printable / base64 / 8bit / binary / ...\}\\ - \$4 & decoding-mode \{play / extract / print\} \\ - \$5 & file name after decoded \\ \hline - \end{tabular} -\end{center} -\medskip - -Exceptionally, no method is used to restore message/partial messages -into one message. It is done by tm-view.el itself. - - -\section{Changing Appearance} - -Each content in the preview buffer is shown in the following format. - -\begin{verbatim} -[1 (text/plain)] - -body -\end{verbatim} - -\noindent tm-view shows one content in three separate portions. - -\begin{itemize} -\item content subject -\item content header -\item content body -\end{itemize} - -\noindent - - -\subsection{content subject} - -A content subject indicates the beginning of a content in the preview -buffer. By default, it will be shown as below. - -\begin{quote} - [cid title (type)] -\end{quote} - -\noindent The cid field shows the position of a content in the message. -It can be considered as the chapter number in the message. The title -field is composed of the text string from the Subject and the -Content-Description field. The type field is a copy of a -text string specified in the type/subtype field of the content. - -You can customize how the content subject appears in the preview -buffer by modifying a definition of mime/make-content-subject-function -variable. The tm-view provides a following definition as a default. - -\begin{verbatim} -(defvar mime/make-content-subject-function - (function - (lambda (cid subj ctype) - (insert - (format "[%s %s (%s)]\n" - (if (listp cid) - (mapconcat (function - (lambda (num) - (format "%s" (+ num 1)) - )) - cid ".") - "0") - subj (car ctype))) - ))) -\end{verbatim} - -\noindent The following is an example of the customization. - -\begin{verbatim} -(setq mime/make-content-subject-function - (function - (lambda (cid subj ctype) - (if (not (member (car ctype) mime/default-showing-Content-Type-list)) - (insert - (format "[%s %s (%s)]\n" - (if (listp cid) - (mapconcat (function - (lambda (num) - (format "%s" (+ num 1)) - )) - cid ".") - "0") - subj (car ctype)))) - ))) -\end{verbatim} - -\noindent This will show the content subjects only for the contents whose body -portions are to be hidden. - - -\subsection{content header} - -A content header shows the header portion of a content in the preview -buffer. The default setup will show no content headers. - -You can customize how the content header appears in the preview -buffer by modifying a definition of mime/make-content-header-filter -variable. The tm-view provides a following default definition. - - -\begin{verbatim} -(defvar mime/make-content-header-filter - (function - (lambda (cid) - (if (listp cid) - (delete-region (goto-char (point-min)) - (or (and (re-search-forward "^$" nil t) - (match-end 0)) - (point-max)) - ) - ) - ))) -\end{verbatim} - -\noindent The default setting removes all content headers -until it detects a blank line delimiting the headers and the body. -If you change a mime/make-content-header-filter variable like - -\begin{verbatim} -(setq mime/make-content-header-filter - (function - (lambda (cid) - ))) -\end{verbatim} - -\noindent you will see all headers in the content header portion. - - -\subsection{content body} - -According to the type of content, the body portion of the content -is managed by tm-view using - -\begin{enumerate} -\item Hide -\item Process -\end{enumerate} - -\noindent techniques before it is put in the preview buffer. - -'Hide' is performed to prevent showing the non-text type content body -in the preview buffer. A mime/default-showing-Content-Type-list -variable defines which type of contents will NOT be hidden. It has -the following default value. - -\begin{verbatim} -(defvar mime/default-showing-Content-Type-list - '("text/plain" "text/richtext" "text/enriched" "text/x-latex" nil)) -\end{verbatim} - -\noindent All contents are hidden except text/plain, text/richtext, -text/enriched, text/x-latex, and non-MIME contents. - -A content body which was not "hidden" is then "processed". A list -in a mime/content-filter-alist variable will be searched looking up -an entry which matches with the content-type of a content. If a matching -entry is found, the function defined in that entry will be called -to "process" a content body. - -A mime/content-filter-alist variable has nil as a default value. It -will have non-nil after loading tm-rich.el which contains the following -lines. - -\begin{verbatim} -(aput 'mime/content-filter-alist - "text/enriched" (function mime/decode-text/enriched-body)) -\end{verbatim} - -\noindent This is defining a process to be done to the text/enriched -type content body. A function mime/decode-text/enriched-body will -be called if a text/enriched body need to be "processed". - - -\section{Restrictions} - -A decode-b.c file in the tm package is the source of the BASE64 -decoder. As it was not thoroughly tested, it may not work for you. -But at least you can see what it wants to do so that you can correct -errors in the source code. (\verb+^+\_\verb+^+; - -Or you can use mmencode in the metamail package to decode the BASE64 -encoded messages. - -Use mmencode to decode the Quoted-Printable messages. The tm package -does not include the decoder for Quoted-Printable. - - -\chapter{tiny-mime} - -tiny-mime is a multi-lingual MIME style message header -encoder/decoder based on RFC 1522 for Mule, NEmacs, and NEpoch. It -is based on Mr. Enami's ISO-2022-JP Base64 MIME header decoder which -could decode only ISO-2022-JP Base64-encoded headers. The following list -shows some of the functional enhancemets I made in tiny-mime. - -\begin{itemize} -\item unfolding at decoding -\item encoding/decoding multilingual character sets, such as, - ISO-2022-JP, ISO-2022-JP-2, ISO-2022-CN, ISO-2022-KR, ISO-8859-*, - US-ASCII, EUC-KR -\item Q-encoding -\item compliance with RFC 1522 -\end{itemize} - -\noindent and more. - -tiny-mime is a MIME headers encoder/decoder in the tm package and used -by tm-view and tm-MUAs. - - -\section{mime/decode-message-header} - -{\tt mime/decode-message-header} is a command to decode the MIME headers. -You need to load tiny-mime before you can use this command. - -{\list{}{\leftmargin=8ex}\item[] -\par -M-x {\tt mime/decode-message-header} -\endlist} - -\noindent will decode the MIME headers in the current buffer. - -tm-MUAs and tm-view use this command to decode the MIME headers. -Therefore, it may not be required to explicitly execute this command if -you are using them. - - -\section{mime/decode-region} - -You can decode the MIME messages within the specified region by executing - -{\list{}{\leftmargin=8ex}\item[] -\par -M-x {\tt mime/decode-region} -\endlist} - -\noindent This is useful when you want to decode the MIME headers -which are yanked from the referenced article. - - -\chapter{Reporting Bugs} - -Please report tm bugs you find to fj.editor.emacs or send a mail to -tm ML: -\begin{center} - \begin{tabular}{ll} - tm@chamonix.jaist.ac.jp & (Japanese or English) \\ - tm-eng@chamonix.jaist.ac.jp & (English) - \end{tabular} -\end{center} - -Via tm ML, You can report bugs of tm, obtain the latest release of tm -package, and discuss the future enhancements to tm. To join tm ML, -send a mail to - -\begin{center} - \begin{tabular}{ll} - tm-admin@chamonix.jaist.ac.jp & (Japanese or English) \\ - tm-eng-admin@chamonix.jaist.ac.jp & (English) - \end{tabular} -\end{center} - -\noindent Since the user registration is manually done, please write -the mail body in human-recognizable language (\verb+^+\_\verb+^+). - -\end{document} diff --git a/doc/tm-eng.tex,v b/doc/tm-eng.tex,v deleted file mode 100644 index 50244a9..0000000 --- a/doc/tm-eng.tex,v +++ /dev/null @@ -1,830 +0,0 @@ -head 5.4; -access; -symbols; -locks; strict; -comment @% @; - - -5.4 -date 94.10.17.03.05.02; author morioka; state Exp; -branches; -next 5.2; - -5.2 -date 94.10.17.02.55.02; author morioka; state Exp; -branches; -next ; - - -desc -@@ - - -5.4 -log -@I added description for vm. -@ -text -@\documentstyle{report} - -\title{tm Reference Manual (English Edition)} -\author{{\Large Morioka Tomohiko} \\ - {\normalsize $<$morioka@@jaist.ac.jp$>$}\\ - \\ - {\large translated by \Large Ueno Hiroshi} \\ - {\normalsize $<$jl07715@@yamato.ibm.co.jp$>$} - } -\date{\verb$Id: tm-eng.tex,v 5.2 1994/10/17 02:55:02 morioka Exp morioka $} - -\begin{document} - -\maketitle -\tableofcontents - -\chapter{Overview} - -The tm package is a set of modules to enjoy MIME on GNU Emacs. Using tm, -you can - -\begin{itemize} -\item playback or view the MIME messages using new mime/viewer-mode -\item encode and decode the multi-lingual headers -\item use the enhanced MIME functions with mh-e, GNUS, and RMAIL -\end{itemize} - -\noindent and more. - - -\section{Module List} - -The tm package includes the modules listed below. - -\begin{itemize} -\item {\bf tiny-mime} : MIME header encoder/decoder -\item {\bf tm-view} : MIME message viewer -\item {\bf tm-misc} : common part of tm-MUAs -\item {\bf tm-MUAs} : MIME function enhancer for MUAs - \begin{itemize} - \item {\bf tm-mh-e} : tm-MUA for mh-e - \item {\bf tm-gnus} : tm-MUA for GNUS - \item {\bf tm-rmail} : tm-MUA for RMAIL - \item {\bf tm-vm} : tm-MUA for vm - \end{itemize} -\item {\bf tm-setup} tm-MUA setup module -\item {\bf mime-setup} MIME setup module -\end{itemize} - - -\chapter{Considerations for Each Version of Emacs} - -\section{Emacs (original)} - -A single character set can be used if you use the original Emacs. - -\section{NEmacs, NEpoch} - -ISO-2022-JP and US-ASCII can be used if you use NEmacs. - - -\section{Mule} - -Mule can handle the multi-lingual text. With Mule, tiny-mime supports -ISO-2022-JP, ISO-2022-JP-2, US-ASCII, ISO-8859-1..9, ISO-2022-CN, -ISO-2022-KR, EUC-KR, etc. You can also add or change -encoding/decoding for character sets by mime/set-charset-and-encoding -function. - - -\chapter{Installation and Setup} - -\section{Installation} - -You can install tm by following the procedures below. - -\begin{enumerate} -\item modify bindir definition in Makefile according to your build - environment. -\item modify the method scripts in methods/ directory so that it - can work in your environment. Refer to \ref{sec:method} section - for how you can suit the method scripts to your environment. -\item make all -\item make install -\item copy all files with .el suffix into the directory pointed by Emacs - load-path variable. -\end{enumerate} - -\noindent{\bf [Notes]} -\begin{itemize} -\item Make sure mh-e version 3.x has been loaded before byte-compiling - tm-mh-e3.el. -\item Make sure GNUS 3 has been loaded before byte-compiling tm-gnus3.el. -\item Use Emacs 18 when you byte-compile tl-18.el. -\item Use the original Emacs when you byte-compile tl-orig.el. -\item Use NEmacs when you byte-compile tl-nemacs.el. -\item Use Mule when you byte-compile tl-mule.el. -\item Modules byte-compiled by Emacs 19 do not work with Emacs 18. -\end{itemize} - - -\section{Setup} - -In the tm package, two files, mime-setup.el and tm-setup.el, are provided -to ease the setup. A mime-setup.el is used for the whole MIME related -setup including MIME encoding, while tm-setup is used to set up tm-MUA -only. - - -\subsection{mime-setup} - -\begin{verbatim} -(load "mime-setup") -\end{verbatim} - -\noindent 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. - -You can also set up the "automatic signature selection tool" using -mime-setup. If you want to automatically select the signature file -depending on how the message headers show, add lines like shown below -to your .emacs (Refer to the reference manual of signature.el for -more details). - -\begin{verbatim} -(setq signature-file-alist - '((("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) -\end{verbatim} - -mime-setup requires mime.el. if you set up SuperCite via mime-setup, -you need the SuperCite package also. - - -\subsection{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. - -\begin{verbatim} -(load "tm-setup") -\end{verbatim} - - -\subsection{vm} - -If you want use vm, please insert following in .vm or .emacs: - -\begin{verbatim} -(load "tm-vm") -\end{verbatim} - - -\subsection{setting up without loading provided setup files} - -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. - - -\subsection{setting up MH} - -If you are using MH-6.8JP2, add the following lines to your -.mh\_profile. - -\begin{verbatim} -scan: -form scan.mime -inc: -form inc.mime -repl: -form replcomps.mime -showproc: mhl -\end{verbatim} - -\noindent Emacs will handle the most part of MH processing. You -should not specify further options in your MH profile to avoid any -possible conflict between MH and Emacs. - - - -\chapter{tm-MUA} - -``tm-MUA'' is a generic name of the modules which enhance the MIME -functions of MUA like mh-e, GNUS, and RMAIL etc. - -The current version of tm provides the following tm-MUA. - -\begin{itemize} -\item {\bf tm-mh-e} : tm-MUA for mh-e -\item {\bf tm-gnus} : tm-MUA for GNUS -\item {\bf tm-rmail} : tm-MUA for RAMIL -\end{itemize} - -\noindent You can find the detailed explanations of these modules in -the following sections. - - -\section{Summary Mode} - -If you are using tm-MUA, the following functions are added to the Summary -mode of the MUA. - -\medskip -\begin{center} - \begin{tabular}{|l|l|}\hline - key & function \\ \hline - M-t & toggles decoding of MIME headers \\ - v & enters mime/view-mode \\ \hline - \end{tabular} -\end{center} -\medskip - - -\section{mime/viewer-mode} -\label{sec:mime/viewer-mode} - -If you are using tm-MUA, mime/viewer-mode becomes active by pressing -{\bf v} key in the Summary mode. In mime/viewer-mode, you can manipulate -the MIME messages by the simple key operations. The following list shows -the functions and their key bindings which can be used in mime/viewer-mode. - -\medskip -\begin{center} - \begin{tabular}{|l|l|}\hline - key & function \\ \hline - u & goes to the upper content \\ - & returns to the Summary mode if the cursor is sitting on - the top content (*1) \\ - p & goes to the previous content \\ - n & goes to the next content \\ - SPC & scrolls up \\ - M-SPC & scrolls down \\ - DEL & scrolls down \\ - RET & goes to the next line \\ - M-RET & goes to the previous line \\ - v & playbacks a content (*2) \\ - e & extracts a file from a content (*2) \\ - C-c C-p & prints a content (*2) \\ \hline - \end{tabular} -\end{center} -\medskip - -\bigskip - -\newcounter{asteriskcount} -\noindent{\bf $B!N(BNote$B!O(B} -\vspace{-1ex} -{\list{(*\arabic{asteriskcount})}{\usecounter{asteriskcount}\leftmargin=8ex} -\item Not return to the Summary mode unless tm-view has been setup using -tm-mh-e, tm-gnus, tm-rmail etc. -\item Actual playback/extract/print will be performed by a method. -\endlist} - - -\section{Customizing tm-gnus} - -\subsection{saving articles without decoding} - -By default, The articles will be saved as they appear in the buffer -at that time. - -You can save the articles always without decoding by setting a -tm-gnus/set-mime-header-decoding-mode variable to nil then call a -function which saves the articles. - -The following example shows how you can save an article without -decoding, preserving the current MIME header decoding mode. - -\begin{verbatim} - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (article save function) - (tm-gnus/set-mime-header-decoding-mode mm) - ) -\end{verbatim} - -The following is an example that saves the articles to a folder -of mh-e. - -\begin{verbatim} -(add-hook 'gnus-Startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-Subject-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -(add-hook 'gnus-startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-summary-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -\end{verbatim} - -\subsection{replying with encoded subject to an article with encoded subject} - -When you reply to an article, you may want to encode the Subject field only -when the original article has an encoded Subject. It can be done by -defining a hook as shown below. - -\begin{verbatim} -(add-hook 'gnus-article-prepare-hook - (function - (lambda () - (if (mime/exist-encoded-word-in-subject) - (setq mime/no-encoding-header-fields '("X-Nsubject")) - (setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) - )))) -\end{verbatim} - - -\chapter{tm-view} - -tm-view is a module which is used to examine the MIME messages. -It provides a mime/viewer-mode for that purpose. - -Regarding the functions of mime/viewer-mode, refer to -\ref{sec:mime/viewer-mode} section. - -\section{Defining Conditions of Decoding} - -A mime/content-decoding-condition variable is used to define the methods -which will be called at decoding. It replaces a -mime/content-decoding-method-alist variable of tm-view version 4.x. - -A mime/content-decoding-method-alist only allowed you to define a -method used for each content-type/subtype. Now a -mime/content-decoding-condition variable allows you to write more -complicated statements to describe the more detailed conditions to determine -which method is to be use. - -A mime/content-decoding-condition variable is defined as a list with the -following syntax. - -\begin{eqnarray*} - (condition_1 \;\; condition_2 \;\; ...) -\end{eqnarray*} - -\noindent Each condition is an association list with the following -syntax. - -\begin{eqnarray*} - ((field-type_1 \; . \; value_1) \;\; - (field-type_2 \; . \; value_2) \;\; ...) -\end{eqnarray*} - -\noindent - -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 - -\begin{quote} - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)) -\end{quote} - -\noindent As you notice, now you can define the arguments to pass to a -external method. Refer to \ref{sec:method-arguments} section for more -explanation. - -This condition definition will match all contents whose types are text/plain. -Here is an another example. - -\begin{quote} - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name) - (mode . "play")) -\end{quote} - -\noindent This will match the content whose type is text/plain and -the mode is play. - - -\begin{quote} - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file) - (mode . "play")) -\end{quote} - -\noindent 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. - - -\subsection{arguments of method} -\label{sec:method-arguments} - -You can specify the method field of the condition definition in two -different ways. - -\begin{eqnarray*} - (method \; . \; SYMBOL) -\end{eqnarray*} - -\noindent or - -\begin{eqnarray*} - (method \; STRING \; FLAG \; ARGUMENT_1 \; ARGUMENT_2 \; ...) -\end{eqnarray*} - -\noindent can be accepted. - -When a symbol is specified in the method field, it 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. - -\begin{description} -\item [STRING] name of an external method -\item [FLAG] if 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 [ARGUMENT$_x$] list of arguments passed to an external method -\end{description} - -An argument passed to an external method can be in one of the following -formats. - -\begin{quote} - \begin{tabular}{lcl} - STRING&:&string itself \\ - 'SYMBOL&:&value gotten using SYMBOL as a key (see below) \\ - 'STRING&:&value gotten using STRING as a key (see below) - \end{tabular} -\end{quote} - -'SYMBOL can be one of the following. - -\begin{quote} - \begin{tabular}{lcl} - 'file&:&name of a file holding the original content \\ - 'type&:&content-type/sub-type \\ - 'encoding&:&content-transfer-encoding \\ - 'mode&:&decoding mode \\ - 'name&:&name of a file created by decode operation - \end{tabular} -\end{quote} - -\noindent '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. - - -\subsection{examples} - -The default definition of a mime/content-decoding-condition variable is -shown below. - -\begin{verbatim} -(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{verbatim} - -For example, if you want to use metamail to decode any contents, - -\begin{verbatim} -(setq mime/content-decoding-condition - '( - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)) - )) -\end{verbatim} - -\noindent 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. - - -\section{Method Script} -\label{sec:method} - -The methods are written in shell script. The arguments passed from tm-view.el -to each method can be customized using mime/content-decoding-condition -variable. If you use the tm-provided setting of -mime/content-decoding-condition variable, the following arguments are -passed to the method. - -\medskip -\begin{center} - \begin{tabular}{|c|l|} \hline - argument & \multicolumn{1}{|c|}{ meaning }\\ \hline - \$1 & file name before decoded \\ - \$2 & Content-Type (type/sub-type) \\ - \$3 & encoding - \{7bit / quoted-printable / base64 / 8bit / binary / ...\}\\ - \$4 & decoding-mode \{play / extract / print\} \\ - \$5 & file name after decoded \\ \hline - \end{tabular} -\end{center} -\medskip - -Exceptionally, no method is used to restore message/partial messages -into one message. It is done by tm-view.el itself. - - -\section{Changing Appearance} - -Each content in the preview buffer is shown in the following format. - -\begin{verbatim} -[1 (text/plain)] - -body -\end{verbatim} - -\noindent tm-view shows one content in three separate portions. - -\begin{itemize} -\item content subject -\item content header -\item content body -\end{itemize} - -\noindent - - -\subsection{content subject} - -A content subject indicates the beginning of a content in the preview -buffer. By default, it will be shown as below. - -\begin{quote} - [cid title (type)] -\end{quote} - -\noindent The cid field shows the position of a content in the message. -It can be considered as the chapter number in the message. The title -field is composed of the text string from the Subject and the -Content-Description field. The type field is a copy of a -text string specified in the type/subtype field of the content. - -You can customize how the content subject appears in the preview -buffer by modifying a definition of mime/make-content-subject-function -variable. The tm-view provides a following definition as a default. - -\begin{verbatim} -(defvar mime/make-content-subject-function - (function - (lambda (cid subj ctype) - (insert - (format "[%s %s (%s)]\n" - (if (listp cid) - (mapconcat (function - (lambda (num) - (format "%s" (+ num 1)) - )) - cid ".") - "0") - subj (car ctype))) - ))) -\end{verbatim} - -\noindent The following is an example of the customization. - -\begin{verbatim} -(setq mime/make-content-subject-function - (function - (lambda (cid subj ctype) - (if (not (member (car ctype) mime/default-showing-Content-Type-list)) - (insert - (format "[%s %s (%s)]\n" - (if (listp cid) - (mapconcat (function - (lambda (num) - (format "%s" (+ num 1)) - )) - cid ".") - "0") - subj (car ctype)))) - ))) -\end{verbatim} - -\noindent This will show the content subjects only for the contents whose body -portions are to be hidden. - - -\subsection{content header} - -A content header shows the header portion of a content in the preview -buffer. The default setup will show no content headers. - -You can customize how the content header appears in the preview -buffer by modifying a definition of mime/make-content-header-filter -variable. The tm-view provides a following default definition. - - -\begin{verbatim} -(defvar mime/make-content-header-filter - (function - (lambda (cid) - (if (listp cid) - (delete-region (goto-char (point-min)) - (or (and (re-search-forward "^$" nil t) - (match-end 0)) - (point-max)) - ) - ) - ))) -\end{verbatim} - -\noindent The default setting removes all content headers -until it detects a blank line delimiting the headers and the body. -If you change a mime/make-content-header-filter variable like - -\begin{verbatim} -(setq mime/make-content-header-filter - (function - (lambda (cid) - ))) -\end{verbatim} - -\noindent you will see all headers in the content header portion. - - -\subsection{content body} - -According to the type of content, the body portion of the content -is managed by tm-view using - -\begin{enumerate} -\item Hide -\item Process -\end{enumerate} - -\noindent techniques before it is put in the preview buffer. - -'Hide' is performed to prevent showing the non-text type content body -in the preview buffer. A mime/default-showing-Content-Type-list -variable defines which type of contents will NOT be hidden. It has -the following default value. - -\begin{verbatim} -(defvar mime/default-showing-Content-Type-list - '("text/plain" "text/richtext" "text/enriched" "text/x-latex" nil)) -\end{verbatim} - -\noindent All contents are hidden except text/plain, text/richtext, -text/enriched, text/x-latex, and non-MIME contents. - -A content body which was not "hidden" is then "processed". A list -in a mime/content-filter-alist variable will be searched looking up -an entry which matches with the content-type of a content. If a matching -entry is found, the function defined in that entry will be called -to "process" a content body. - -A mime/content-filter-alist variable has nil as a default value. It -will have non-nil after loading tm-rich.el which contains the following -lines. - -\begin{verbatim} -(aput 'mime/content-filter-alist - "text/enriched" (function mime/decode-text/enriched-body)) -\end{verbatim} - -\noindent This is defining a process to be done to the text/enriched -type content body. A function mime/decode-text/enriched-body will -be called if a text/enriched body need to be "processed". - - -\section{Restrictions} - -A decode-b.c file in the tm package is the source of the BASE64 -decoder. As it was not thoroughly tested, it may not work for you. -But at least you can see what it wants to do so that you can correct -errors in the source code. (\verb+^+\_\verb+^+; - -Or you can use mmencode in the metamail package to decode the BASE64 -encoded messages. - -Use mmencode to decode the Quoted-Printable messages. The tm package -does not include the decoder for Quoted-Printable. - - -\chapter{tiny-mime} - -tiny-mime is a multi-lingual MIME style message header -encoder/decoder based on RFC 1522 for Mule, NEmacs, and NEpoch. It -is based on Mr. Enami's ISO-2022-JP Base64 MIME header decoder which -could decode only ISO-2022-JP Base64-encoded headers. The following list -shows some of the functional enhancemets I made in tiny-mime. - -\begin{itemize} -\item unfolding at decoding -\item encoding/decoding multilingual character sets, such as, - ISO-2022-JP, ISO-2022-JP-2, ISO-2022-CN, ISO-2022-KR, ISO-8859-*, - US-ASCII, EUC-KR -\item Q-encoding -\item compliance with RFC 1522 -\end{itemize} - -\noindent and more. - -tiny-mime is a MIME headers encoder/decoder in the tm package and used -by tm-view and tm-MUAs. - - -\section{mime/decode-message-header} - -{\tt mime/decode-message-header} is a command to decode the MIME headers. -You need to load tiny-mime before you can use this command. - -{\list{}{\leftmargin=8ex}\item[] -\par -M-x {\tt mime/decode-message-header} -\endlist} - -\noindent will decode the MIME headers in the current buffer. - -tm-MUAs and tm-view use this command to decode the MIME headers. -Therefore, it may not be required to explicitly execute this command if -you are using them. - - -\section{mime/decode-region} - -You can decode the MIME messages within the specified region by executing - -{\list{}{\leftmargin=8ex}\item[] -\par -M-x {\tt mime/decode-region} -\endlist} - -\noindent This is useful when you want to decode the MIME headers -which are yanked from the referenced article. - - -\chapter{Reporting Bugs} - -Please report tm bugs you find to fj.editor.emacs or send a mail to -tm ML, $<$tm@@chamonix.jaist.ac.jp$>$. - -Via tm ML, You can report bugs of tm, obtain the latest release of tm -package, and discuss the future enhancements to tm. To join tm ML, -send a mail to - -\begin{center} - tm-admin@@chamonix.jaist.ac.jp -\end{center} - -\noindent Since the user registration is manually done, please write -the mail body in human-recognizable language (\verb+^+\_\verb+^+). - -\end{document} -@ - - -5.2 -log -@*** empty log message *** -@ -text -@d10 1 -a10 1 -\date{\verb$Id: tm-eng.tex,v 5.2 1994/10/11 17:17:05 morioka Exp $} -d44 1 -d147 9 -@ diff --git a/doc/tm-head-jp.texi b/doc/tm-head-jp.texi deleted file mode 100644 index 7b0c6a7..0000000 --- a/doc/tm-head-jp.texi +++ /dev/null @@ -1,212 +0,0 @@ -\input texinfo.tex -@c{-*-tiny-mime manual-*-} -@setfilename tm-head-jp.info -@settitle{tiny-mime manual} - -@titlepage -@sp{5} -@center{@titlefont{tiny-mime}} -@sp{15} -@center{@titlefont{$BZ$7$^$;$s!#$7$+$7$J$,$i!"(BUS-ASCII $B$NHO0O$G$OF0:n$9$k$H;W$o$l(B -$B$^$9!#!J$"$^$j0UL#$,$J$$$+$bCN$l$^$;$s$,!K(B - -@section{NEmacs, NEpoch} - -ISO-2022-JP, US-ASCII $B$N(B encoding/decoding $B$r%5%]!<%H$7$^$9!#(B - -$B$^$?!"(BISO-8859-*$B$G$"$C$F$b!"(Bencoded-text $B$K4^$^$l$kJ8;zNs$,e$G!"(B - -@example - M-x mime/decode-message-header -@end example - -$B$re$G!"(B - -@example - M-x mime/encode-message-header -@end example - -$B$rl9g!"(Btiny-mime.el $B$,(B encode $B$7$J$/$F$b!"(B -mime.el $B$,(B encode $B$9$k$N$G!"(Bmime.el $B$N(B message header encoder $B$,F/$+$J(B -$B$$$h$&$K$K@_Dj$7$^$9!#(B -@end defvr - -@defvr{Variable} mime/use-X-Nsubject - -$B$3$NJQ?t$NCM$,(B t $B$N>l9g!"(Bmessage header $B$r(B encode $B$9$k;~!"(Bencode $B$7$?(B -$B7k2L!"(BSubject $B$K(B encoded-word $B$,4^$^$l$k>l9g!"(BSubject $B$r(B decode $B$7$?$b(B -$B$N$rF~$l$?(B X-Nsubject $B$r:n@.$7$^$9!#(B - -default $B$G$O(B nil $B$,;XDj$5$l$F$$$^$9!#(B - -$B!NCm0U!O(BMule $B$G(B ISO-2022-JP $B$K4^$^$l$k$b$N0J30$NJ8;z=89g$r;H$&>l9g$O!"(B -$B$3$l$r;XDj$7$J$$J}$,8-L@$G$9!#(B -@end defvr - - -@node Customize, Integrate-into-MUA, Variable, Top -@comment node-name, next, previous, up -@chapter{$B%+%9%?%^%$%:(B} -@cindex{$B%+%9%?%^%$%:(B} - -@menu -* Customize-for-charset:: -@end menu - -@node Customize-for-charset, Customize, Customize, Customize -@comment node-name, next, previous, up -@section{charset $B$NDI2C!&JQ99(B} -@cindex{charset $B$NDI2C!&JQ99(B} - -Mule $B$G$O!"4X?t(B mime/set-charset-and-encoding $B$G!"(Bcharset $B$NDI2C!&JQ99(B -$B$,$G$-$^$9!#(B - -@deffn{Function} mime/set-charset-and-encoding LC CS CHARSET ENCODING - -@table @var -@item LC -charset $B$KBP1~$9$k(B leading-char $B$r;XDj$9$k!#(B - -@item CS -charset $B$KBP1~$9$k(B coding-system $B$r;XDj$9$k!#(B1 octet $BJ8;z=89g$G(B -coding-system $B$r:n$i$J$$>l9g$O!"(Bnil $B$r;XDj$9$k!#(B - -@item CHARSET -MIME $B$N(B charset. - -@item ENCODING -encode $B$9$k:]$N(B encoding. -@end table - -@end deffn - - -@node Integrate-into-MUA, Integrate-into-MUA, Customize, Top -@comment node-name, next, previous, up -@chapter{MUA $B$X$NAH$_9~$_(B} -@cindex{MUA $B$X$NAH$_9~$_(B} - -$BF|>oE*$K!"L50U<1$K(B MIME header $B$rK\Mh$N8@8l$G8+$?$$$H$$$&$N$OEvA3$N(B -$BM_5a$G$9!#$=$3$G!"(Btiny-mime.el $B$r(B mailer $B$d(B news reader $B$KAH$_9~$`$H<+(B -$BF0E*$K(B MIME header $B$N(B encode/decode $B$,$G$-$^$9!#(B - -$B$3$NL\E*$r$ ¤Ë mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ - -tm ML ¤Ç¤Ï tm ¤Î¥Ð¥°¾ðÊó¤Î¸ò´¹¤äºÇ¿·ÈǤÎÇÛÉÛ¡¢tm ¤Î²þÎɤ˴ؤ¹¤ëµÄÏÀ¤ò -¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£tm ML ¤Ë»²²Ã¤·¤¿¤¤Êý¤Ï - -\begin{center} - tm-admin@chamonix.jaist.ac.jp -\end{center} - -\noindent ¤Þ¤Ç mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ÅÐÏ¿¤Ï¼êÆ°¤Ç¤¹¤Î¤Ç¡¢¤Ç¤­¤ì¤Ð¡¢¼«Á³ -¸À¸ì¤Ç½ñ¤¤¤Æ²¼¤µ¤¤¡£(\verb+^+\_\verb+^+) - -\end{document} diff --git a/doc/tm-jp.tex,v b/doc/tm-jp.tex,v deleted file mode 100644 index fd7bd89..0000000 --- a/doc/tm-jp.tex,v +++ /dev/null @@ -1,1195 +0,0 @@ -head 5.4; -access; -symbols; -locks; strict; -comment @% @; - - -5.4 -date 94.10.17.02.58.20; author morioka; state Exp; -branches; -next 5.3; - -5.3 -date 94.10.17.02.54.15; author morioka; state Exp; -branches; -next 5.2; - -5.2 -date 94.10.11.17.17.05; author morioka; state Exp; -branches; -next 5.1; - -5.1 -date 94.09.26.14.52.00; author morioka; state Exp; -branches; -next 5.0; - -5.0 -date 94.09.26.14.46.30; author morioka; state Exp; -branches; -next 2.1; - -2.1 -date 94.09.02.09.41.08; author morioka; state Exp; -branches; -next 2.0; - -2.0 -date 94.09.02.07.42.01; author morioka; state Exp; -branches; -next 1.2; - -1.2 -date 94.09.01.02.11.05; author morioka; state Exp; -branches; -next 1.1; - -1.1 -date 94.08.31.11.18.40; author morioka; state Exp; -branches; -next ; - - -desc -@@ - - -5.4 -log -@vm ¤Ë´Ø¤¹¤ëµ­½Ò¤òÄɲä·¤¿¡£ -@ -text -@\documentstyle[a4j]{jreport} - -\title{tm ÀâÌÀ½ñ} -\author{¼é²¬ ÃÎɧ\\ - morioka@@jaist.ac.jp} -\date{\verb$Id: tm-jp.tex,v 5.3 1994/10/17 02:54:15 morioka Exp morioka $} - -\begin{document} - -\maketitle -\tableofcontents - -\chapter{¤Ï¤¸¤á¤Ë} - -tm ¤Ï GNU Emacs ¤Ç MIME ¤ò³Ú¤·¤à¤¿¤á¤Î package ¤Ç¤¹¡£tm ¤ò»È¤¦¤È¡¢ - -\begin{itemize} -\item mime/viewer-mode ¤ò»È¤Ã¤¿ MIME message ¤Î±ÜÍ÷¡¦ºÆÀ¸ -\item ¿¸À¸ì header ¤Î encode/decode -\item mh-e, GNUS, RMAIL ¤Ç¤Î MIME µ¡Ç½¤Î¶¯²½ -\end{itemize} - -\noindent ¤¬¹Ô¤Ê¤¨¤Þ¤¹¡£ - - -\section{Module °ìÍ÷} - -tm ¤Ï°Ê²¼¤Î module ¤«¤é¤Ê¤ê¤Þ¤¹¡£ - -\begin{itemize} -\item {\bf tiny-mime} : MIME header encoder/decoder -\item {\bf tm-view} : MIME viewer -\item {\bf tm-misc} : tm-MUA ¤Î¶¦ÄÌ module -\item {\bf tm-MUAs} : MUA ¤Î MIME µ¡Ç½¶¯²½ module - \begin{itemize} - \item {\bf tm-mh-e} : mh-e ÍѤΠtm-MUA - \item {\bf tm-gnus} : GNUS ÍѤΠtm-MUA - \item {\bf tm-rmail} : RMAIL ÍѤΠtm-MUA - \item {\bf tm-vm} : vm ÍѤΠtm-MUA - \end{itemize} -\item {\bf tm-setup} tm-MUA ¤ÎÀßÄê module -\item {\bf mime-setup} MIME ´Ø·¸¤ÎÀßÄê module -\end{itemize} - - -\chapter{Emacs version Ê̤ε¡Ç½¤ª¤è¤ÓÀ©¸Â} - -\section{Emacs (original)} - -Original ¤Î Emacs ¤Ç¤Ï¡¢ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é¡¢Ã±°ìʸ»ú½¸¹ç¤·¤«»È¤¨¤Þ¤»¤ó¡£ - - -\section{NEmacs, NEpoch} - -NEmacs ¤Ç¤Ï¡¢ISO-2022-JP ¤ª¤è¤Ó US-ASCII ¤¬»È¤¨¤Þ¤¹¡£ - - -\section{Mule} - -ISO-2022-JP, ISO-2022-JP-2, US-ASCII, ISO-8859-1..9, ISO-2022-CN, -ISO-2022-KR, EUC-KR ¤Ê¤É¤Î¿¸À¸ì header ¤¬»È¤¨¤Þ¤¹¡£¤Þ¤¿¡¢´Ø¿ô -mime/set-charset-and-encoding ¤ÇÄɲá¦Êѹ¹¤¬¤Ç¤­¤Þ¤¹¡£ - - -\chapter{Install ¤ÈÀßÄê} - -\section{Install} - -Install ¤Ï¼¡¤Î¼ê½ç¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£ - -\begin{enumerate} -\item Makefile ¤Î bindir ¤ò¼«Ê¬¤Î´Ä¶­¤Ë¹ç¤ï¤»¤Æ½ñ¤­´¹¤¨¤ë¡£ -\item methods/ °Ê²¼¤Ë¤¢¤ë method script ¤ò \ref{sec:method} Àá¤ò»²¾È¤· - ¤Æ¡¢¼«Ê¬¤Î´Ä¶­¤Ë¹ç¤¦¤è¤¦¤Ë½ñ¤­´¹¤¨¤ë¡£ -\item make all ¤¹¤ë¡£ -\item make install ¤¹¤ë¡£ -\item *.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»ØÄꤵ¤ì¤¿ directory ¤Ë copy ¤¹¤ë¡£ -\end{enumerate} - -\noindent{\bf [Ãí°Õ]} -\begin{itemize} -\item tm-mh-e3.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢mh-e version 3.* ¤ò load - ¤·¤¿¾õÂ֤ǹԤʤäƲ¼¤µ¤¤¡£ -\item tm-gnus3.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢GNUS 3 ¤¬ load ¤µ¤ì¤¿¾õ - Â֤ǹԤʤäƲ¼¤µ¤¤¡£ -\item tl-18.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢Emacs 18 ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£ -\item tl-orig.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢original Emacs ¤Ç¹Ô¤Ê¤Ã¤Æ - ²¼¤µ¤¤¡£ -\item tl-nemacs.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢NEmacs ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£ -\item tl-mule.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢Mule ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£ -\item Emacs 19 ¤Ç byte-compile ¤·¤¿ module ¤Ï Emacs 18 ¤Ç¤ÏÆ°¤­¤Þ¤»¤ó¡£ -\end{itemize} - - -\section{ÀßÄê} - -¤³¤Î package ¤Ë¤Ï mime-setup.el ¤È tm-setup.el ¤È¤¤¤¦´Ê°×ÀßÄê file ¤¬ -Éí°¤·¤Æ¤¤¤Þ¤¹¡£mime-setup.el ¤Ç¤Ï encoding ¤â´Þ¤á¤¿ÀßÄê¤ò¹Ô¤Ê¤¤¡¢ -tm-setup ¤Ç¤Ï tm-MUA ¤Ë´Ø¤¹¤ëÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ - -\subsection{mime-setup} - -\begin{verbatim} -(load "mime-setup") -\end{verbatim} - -\noindent ¤È¤¹¤ë¤È MIME ¤Ë´Ø¤¹¤ë³Æ¼ïÀßÄê¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£mime-setup ¤Ï -tm-setup ¤òÆɤó¤Ç¤¤¤ë¤Î¤Ç¡¢mime-setup ¤ò»È¤¦¾ì¹ç¡¢tm-setup ¤ò load ¤¹ -¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ - -mime-setup ¤Ç¤Ï signature ¤Î¼«Æ°ÀÚÂؤ¨ tool ¤âÉí°¤·¤Æ¤¤¤Þ¤¹¡£ -message header ¤Î field ¤Ë¹ç¤ï¤»¤Æ signature ¤Î¼«Æ°ÀÚÂؤò¹Ô¤Ê¤¤¤¿¤¤¾ì -¹ç¤Ï .emacs ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£¡Ê¾Ü¤·¤¯¤Ï signature.el -¤ÎÀâÌÀ½ñ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡Ë - -\begin{verbatim} -(setq signature-file-alist - '((("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) -\end{verbatim} - -mime-setup ¤ò»È¤¦¾ì¹ç¤Ï¡¢mime.el ¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢SuperCite ¤ò»È¤¦¾ì -¹ç¤Ï¡¢SuperCite ¤âɬÍפǤ¹¡£ - - -\subsection{tm-setup} - -tm-setup ¤Ï tm-MUA ¤ÎÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¦ module ¤Ç¤¹¡£mime-setup ¤ò load -¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤ì¤òÍÛ¤Ë load ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤¬¡¢mime-setup ¤ò»È -¤¤¤¿¤¯¤Ê¤¤¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤³¤ì¤ò load ¤·¤Æ²¼¤µ¤¤¡£ - -\begin{verbatim} -(load "tm-setup") -\end{verbatim} - - -\subsection{vm} - -vm ¤ò»È¤¦¾ì¹ç¤Ï .vm ¤« .emacs ¤Ë - -\begin{verbatim} -(load "tm-vm") -\end{verbatim} - -\noindent ¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ - - -\subsection{ÀßÄê file ¤ò»È¤ï¤Ê¤¤¾ì¹ç} - -tm-setup.el ¤ò»²¹Í¤Ë¤·¤Æ²¼¤µ¤¤¡£ - - -\subsection{MH ¤ÎÀßÄê} - -¤Þ¤¿¡¢MH ¤¬ MH-6.8JP2 ¤Î¾ì¹ç¡¢.mh\_profile ¤Ë - -\begin{verbatim} -scan: -form scan.mime -inc: -form inc.mime -repl: -form replcomps.mime -showproc: mhl -\end{verbatim} - -\noindent ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¤½¤ì°Ê³°¤Î MH ¤Î½èÍý¤Ï Emacs ¤Î¦ -¤Ç¼è¤ê»ÅÀÚ¤ë¤Î¤Ç¡¢MH ¤ÎÀßÄê¤Ï¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ - - -\chapter{tm-MUA} - -``tm-MUA'' ¤È¤¤¤¦¤Î¤Ï¡¢mh-e, GNUS, RMAIL ¤Ê¤É¤Î MUA ¤Î¤¿¤á¤Î MIME µ¡Ç½ -¶¯²½ module ¤ÎÁí¾Î¤Ç¤¹¡£ - -¸½ºß¡¢tm-MUA ¤Ë¤Ï¡¢ - -\begin{itemize} -\item {\bf tm-mh-e} : mh-e ÍѤΠtm-MUA -\item {\bf tm-gnus} : GNUS ÍѤΠtm-MUA -\item {\bf tm-rmail} : RMAIL ÍѤΠtm-MUA -\item {\bf tm-vm} : VM ÍѤΠtm-MUA -\end{itemize} - -\noindent ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾Ï¤Ç¤Ï¤³¤ì¤é¤Î module ¤Ë´Ø¤·¤ÆÀâÌÀ¤·¤Þ¤¹¡£ - - -\section{Summary mode} - -tm-MUA ¤ò»È¤¦¤È¡¢¸µ¤Î MUA ¤Î Summary mode ¤ËÂФ·¤Æ°Ê²¼¤Îµ¡Ç½¤¬Äɲ䵤ì -¤Þ¤¹¡£ - -\medskip -\begin{center} - \begin{tabular}{|l|l|}\hline - key & µ¡Ç½ \\ \hline - M-t & MIME header ¤Î decode ¤Ë´Ø¤¹¤ë toggle \\ - v & ËÜʸ¤ËÆþ¤ê¡¢mime/view-mode ¤Ë°Ü¤ë \\ \hline - \end{tabular} -\end{center} -\medskip - - -\section{mime/viewer-mode} -\label{sec:mime/viewer-mode} - -tm-MUA ¤ò»È¤¦¤È¡¢Summary mode ¤Ç {\bf v} ¡Êvm ¤Ç¤Ï {\bf Z}¡Ë¤ò²¡¤¹¤³¤È -¤Ë¤è¤Ã¤Æ¡¢mime/viewer-mode ¤È¤¤¤¦ MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î mode -¤ËÆþ¤ê¤Þ¤¹¡£mime/viewer-mode ¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£ - -\medskip -\begin{center} - \begin{tabular}{|l|l|}\hline - key & µ¡Ç½ \\ \hline - u & ¾å¤Î content ¤ËÌá¤ë \\ - & message ¤Î°ìÈÖ¾å¤Î content ¤Ç¤³¤ì¤ò¹Ô¤Ê¤¦¤È Summary mode - ¤ËÌá¤ë (*1) \\ - p & Á°¤Î content ¤Ë°ÜÆ°¤¹¤ë \\ - n & ¼¡¤Î content ¤Ë°ÜÆ°¤¹¤ë \\ - SPC & scroll up ¤¹¤ë \\ - M-SPC & scroll down ¤¹¤ë \\ - DEL & scroll down ¤¹¤ë \\ - RET & ¼¡¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë \\ - M-RET & Á°¤Î¹Ô¤Ë°ÜÆ°¤¹¤ë \\ - v & content ¤òºÆÀ¸¤¹¤ë (*2) \\ - e & content ¤«¤é file ¤ò¼è¤ê½Ð¤¹ (*2) \\ - C-c C-p & content ¤ò°õºþ¤¹¤ë (*2) \\ \hline - \end{tabular} -\end{center} -\medskip - -\bigskip - -\newcounter{asteriskcount} -\noindent{\bf ¡ÎÃí°Õ¡Ï} -\vspace{-1ex} -{\list{(*\arabic{asteriskcount})}{\usecounter{asteriskcount}\leftmargin=8ex} -\item tm-mh-e, tm-gnus, tm-rmail ¤Ê¤É¤Ç tm-view ¤ÎÀßÄê¤ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ - Summary mode ¤Ë¤ÏÌá¤ê¤Þ¤»¤ó¡£ -\item ¼ÂºÝ¤ÎÆ°ºî¤ÏÂбþ¤¹¤ë method ¤Ë°Í¤ê¤Þ¤¹¡£ -\endlist} - - -\section{tm-gnus ¤Î customize} - -\subsection{article ¤ò save ¤¹¤ë»þ decoding ¤·¤Ê¤¤} - -article ¤ò save ¤¹¤ë»þ¡¢Êݸ¤µ¤ì¤ë message ¤Ï¤½¤Î»þɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦ -¤Ë¡¢¤½¤Î»þ¤Î MIME header decoding mode ¤Ë±þ¤¸¤Æ save ¤µ¤ì¤Þ¤¹¡£ - -¤·¤«¤·¡¢article ¤ò save ¤¹¤ë»þ¡¢¾ï¤Ë¡¢MIME header decoding ¤ò¹Ô¤Ê¤ï¤Ê -¤¤¡¢À¸¤Î message ¤ÇÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢ÊÑ¿ô -tm-gnus/set-mime-header-decoding-mode ¤ÎÃͤò nil ¤Ë¤·¤Æ¡¢MIME header -decoding ¤ò¹Ô¤Ê¤ï¤Ê¤¤ mode ¤Ë¤·¤Æ¡¢article save ´Ø¿ô¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀß -Äꤷ¤Æ²¼¤µ¤¤¡£ - -Save ¤Î¼Â¹Ô¸å¡¢MIME header decoding mode ¤òÁ°¤Î¾õÂÖ¤ËÌᤷ¤¿¤¤¾ì¹ç¤Ï¡¢ -°Ê²¼¤Î¤è¤¦¤Ë¡¢°ì»þÊÑ¿ô¤Ë MIME header decoding mode ¤òÊݸ¤·¤Æ¤ª¤±¤Ð OK -¤Ç¤¹¡£ - -\begin{verbatim} - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (article save ´Ø¿ô) - (tm-gnus/set-mime-header-decoding-mode mm) - ) -\end{verbatim} - -°Ê²¼¤Ë¡¢mh-e ¤Î folder ¤Ë save ¤¹¤ë¾ì¹ç¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ - -\begin{verbatim} -(add-hook 'gnus-Startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-Subject-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -(add-hook 'gnus-startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-summary-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -\end{verbatim} - -\subsection{reply ¤¹¤ë»þ Subject ¤Î encoding Ë¡¤ò reply ¸µ¤Ë¹ç¤ï¤»¤ë} - -Reply ¤¹¤ë»þ¡¢reply ¸µ¤Î Subject ¤Ë ASCII °Ê³°¤Îʸ»ú½¸¹ç¤ÎÆþ¤Ã¤Æ¤¤¤ë -¾ì¹ç¡¢reply ¸µ¤¬ MIME encode ¤µ¤ì¤Æ¤¤¤¿¤é encode ¤·¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¤é -À¸¤ÇÆþ¤ì¤¿¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ - -\begin{verbatim} -(add-hook 'gnus-article-prepare-hook - (function - (lambda () - (if (mime/exist-encoded-word-in-subject) - (setq mime/no-encoding-header-fields '("X-Nsubject")) - (setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) - )))) -\end{verbatim} - - -\chapter{tm-view} - -tm-view ¤Ï MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Îµ¡Ç½¤òÄ󶡤¹¤ë module ¤Ç¤¹¡£ -tm-view ¤Ï mime/viewer-mode ¤È¤¤¤¦ mode ¤òÄ󶡤·¤Þ¤¹¡£ - -mime/viewer-mode ¤Îµ¡Ç½¤Ë´Ø¤·¤Æ¤Ï¡¢\ref{sec:mime/viewer-mode} Àá¤ò»²¾È -¤·¤Æ²¼¤µ¤¤¡£ - -\section{content ¤Î decode ¾ò·ï¤ÎÀßÄê} - -ÊÑ¿ô mime/content-decoding-condition ¤Ï decode »þ¤Î method ¤ò»ØÄꤹ¤ë -¤¿¤á¤ÎÊÑ¿ô¤Ç¡¢tm-view 4 ¤ÎÊÑ¿ô mime/content-decoding-method-alist ¤ËÁê -Åö¤·¤Þ¤¹¡£ - -ÊÑ¿ô mime/content-decoding-method-alist ¤Ç¤Ï¡¢Ã±¤Ë -content-type/subtype ¤ËÂФ¹¤ë method ¤ò»ØÄꤹ¤ë¤³¤È¤·¤«¤Ç¤­¤Þ¤»¤ó¤Ç¤· -¤¿¤¬¡¢ÊÑ¿ô mime/content-decoding-condition ¤Ç¤Ï decode »þ¤ÎÀ©Ìó¾ò·ï¤ò -½ñ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ - -ÊÑ¿ô mime/content-decoding-condition ¤Ï¡¢ - -\begin{eqnarray*} - (¾ò·ï_1 \;\; ¾ò·ï_2 \;\; ...) -\end{eqnarray*} - -\noindent ¤È¤¤¤¦·Á¤ò¤·¤¿ list ¤Ç¡¢³Æ¾ò·ï¤Ï - -\begin{eqnarray*} - ((field-type_1 \; . \; value_1) \;\; - (field-type_2 \; . \; value_2) \;\; ...) -\end{eqnarray*} - -\noindent ¤È¤¤¤¦·Á¤ÎÏ¢ÁÛ list ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ - -Î㤨¤Ð¡¢text/plain ¤Î»þ¡¢tm-plain ¤òµ¯Æ°¤¹¤ë»þ¡¢ - -\begin{quote} - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)) -\end{quote} - -\noindent ¤È¤¤¤¦¾ò·ï¤ò½ñ¤­¤Þ¤¹¡£¸«¤Æ¤ÎÄ̤ꡢ³°Éô method ¤Î°ú¿ô¤¬½ñ¤±¤ë -¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¾Ü¤·¤¯¤Ï \ref{sec:method-arguments} Àá¤Ç½Ò¤Ù¤Þ¤¹¡£ - -¤³¤Î¾ò·ï¤Ï text/plain ¤Ç¤¢¤ë content ¤Ê¤éÁ´¤Æ¤Î decoding-mode ¤ÇÍ­¸ú¤Ç -¤¹¡£¤·¤«¤·¡¢ - -\begin{quote} - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name) - (mode . "play")) -\end{quote} - -\noindent ¤Ê¤é¡¢play mode °Ê³°¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ - -µÕ¤Ë¡¢ - -\begin{quote} - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file) - (mode . "play")) -\end{quote} - -\noindent ¤Ê¤é¡¢Á´¤Æ¤Î content-type ¤Î play mode ¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ - -¤³¤¦¤·¤Æ³Æ¾ò·ï¤òÁ°¤«¤é¸«¤Æ¹Ô¤­¡¢ºÇ½é¤ËÍ­¸ú¤Ë¤Ê¤Ã¤¿¾ò·ï¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ - - -\subsection{method ¤Î°ú¿ô¤Î»ØÄê¤Î»ÅÊý} -\label{sec:method-arguments} - -¾ò·ï¤Î method field ¤Ï - -\begin{eqnarray*} - (method \; . \; SYMBOL) -\end{eqnarray*} - -\noindent ¤« - -\begin{eqnarray*} - (method \; ʸ»úÎó \; FLAG \; °ú¿ô_1 \; °ú¿ô_2 \; ...) -\end{eqnarray*} - -\noindent ¤È¤¤¤¦·Á¤ò¤·¤Æ¤¤¤Þ¤¹¡£ - -method field ¤ÎÃͤ¬ symbol ¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ÆâÉô method ¤È¤·¤Æµ¯Æ°¤µ¤ì¤Þ -¤¹¡£ - -method field ¤ÎÃͤ¬ list ¤Ç¤¢¤ë¾ì¹ç¡¢³°Éô method ¤È¤·¤Æµ¯Æ°¤µ¤ì¤Þ¤¹¡£ -¤³¤Î¾ì¹ç¡¢ - -\begin{quote} - \begin{tabular}{lcl} - ʸ»úÎó&:&³°Éô method ¤Î̾Á° \\ - FLAG&:& t ¤Ê¤é content header ¤â³°Éô method ¤ËÅϤ¹¡£ - nil ¤Ê¤é content body ¤Î¤ß¤òÅϤ¹¡£\\ - °ú¿ôÎó&:&³°Éô method ¤Î°ú¿ô - \end{tabular} -\end{quote} - -\noindent ¤È²ò¼á¤µ¤ì¤Þ¤¹¡£ - -¤Þ¤¿¡¢³°Éô method ¤Î°ú¿ô¤Ï¼¡¤Î¤è¤¦¤Ê·Á¼°¤Ç½ñ¤­¤Þ¤¹¡£ - -\begin{quote} - \begin{tabular}{lcl} - ʸ»úÎó&:&¤½¤Îʸ»úÎó¤òÅϤ¹ \\ - 'SYMBOL&:&SYMBOL ¤ò key ¤È¤·¤¿ÃͤòÅϤ¹\\ - 'ʸ»úÎó&:&ʸ»úÎó¤ò key ¤È¤·¤¿ÃͤòÅϤ¹ - \end{tabular} -\end{quote} - -'SYMBOL ¤Ç»ØÄê¤Ç¤­¤ë¤â¤Î¤Ë¤Ï¡¢ - -\begin{quote} - \begin{tabular}{lcl} - 'file&:&content ¤òÅϤ¹¤¿¤á¤Î file ̾ \\ - 'type&:&content-type/sub-type ̾ \\ - 'encoding&:&content-transfer-encoding \\ - 'mode&:&decoding mode \\ - 'name&:&file ¤ËÍ¾ì¹ç¤Î file ̾ - \end{tabular} -\end{quote} - -\noindent ¤Ê¤É¤¬¤¢¤ê¡¢'ʸ»úÎó ¤Ç¤Ï Content-Type field ¤Î parameter ¤Î -Ãͤ¬»ØÄê¤Ç¤­¤Þ¤¹¡£ - - -\subsection{Îã} - -½é´üÃͤϰʲ¼¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ - -\begin{verbatim} -(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{verbatim} - -Î㤨¤Ð¡¢¡ÖÁ´Éô metamail »È¤¦¤ó¤ä¡×¤È¤¤¤¦¾ì¹ç¡¢ - -\begin{verbatim} -(setq mime/content-decoding-condition - '( - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)) - )) -\end{verbatim} - -\noindent ¤È¤¹¤ì¤Ð OK ¤Ç¤¹¡£ - -¹©Éפ¹¤ì¤Ð¡¢¤«¤Ê¤êÊ£»¨¤Ê¾ò·ï¤¬½ñ¤±¤ë¤Ç¤·¤ç¤¦¡£ - - -\section{method script} -\label{sec:method} - -³Æ method ¤Ï shell script ¤Ç½ñ¤­¤Þ¤¹¡£tm-verw.el ¤«¤éÅϤµ¤ì¤ë°ú¿ô¤Ï¡¢ -ÊÑ¿ô mime/content-decoding-condition ¤Ç»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢É¸½àŪ¤Ê°ú¿ôÎó -¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ - -\medskip -\begin{center} - \begin{tabular}{|c|l|} \hline - °ú¿ô & \multicolumn{1}{|c|}{ ÃÍ }\\ \hline - \$1 & decode Á°¤Î file ̾ \\ - \$2 & Content-Type (type/sub-type) \\ - \$3 & encoding - \{7bit / quoted-printable / base64 / 8bit / binary / ...\}\\ - \$4 & decoding-mode \{play / extract / print\} \\ - \$5 & file ̾ \\ \hline - \end{tabular} -\end{center} -\medskip - -¤Þ¤¿¡¢message/partial ¤À¤±¤Ï tm-view.el ¼«¿È¤ÇÉü¸µ¤·¤Þ¤¹¡£ - - -\section{ɽ¼¨} - -mime/viewer-mode ¤ËÆþ¤ë¤È¡¢³Æ content ¤Ï preview buffer ¤Ë - -\begin{verbatim} -[1 (text/plain)] - -ËÜʸ -\end{verbatim} - -\noindent ¤Î¤è¤¦¤Ë²Ã¹©¤µ¤ì¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£tm-view ¤Ç¤Ï content ¤òɽ¼¨ -¤¹¤ëºÝ¡¢ - -\begin{itemize} -\item content subject -\item content header -\item content body -\end{itemize} - -\noindent ¤È¤¤¤¦£³¤Ä¤ÎÉôʬ¤Ëʬ¤±¤Æ°·¤ï¤ì¤Þ¤¹¡£ - - -\subsection{content subject} - -content subject ¤Ï preview buffer ¤Ç content ¤ÎÀèƬ¤òɽ¤¹¤¿¤á¤ÎÉôʬ¤Ç¡¢ -ɸ½à¤Ç¤Ï¡¢ - -\begin{quote} - [cid Âê̾ (·¿)] -\end{quote} - -\noindent ¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£cid ¤Ï message ¤ÎÃæ¤Ç¤Î content ¤Î°ÌÃÖ -¤òɽ¤¹¤â¤Î¤Ç¡¢ÀáÈÖ¹æ¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£Âê̾¤Ï¡¢Subject ¤ä -Content-Description ¤Ê¤É¤Ë½ñ¤«¤ì¤¿Ê¸»úÎ󤫤éºî¤é¤ì¤Þ¤¹¡£·¿¤Ï -Content-Type ¤Ë½ñ¤«¤ì¤¿ type/subtype ¤Î¤³¤È¤Ç¤¹¡£ - -¤³¤Î content subject ¤Îɽ¼¨¤ÏÊÑ¿ô mime/make-content-subject-function -¤Ë¤è¤Ã¤ÆÀßÄê¤Ç¤­¤Þ¤¹¡£´ûÄêÃͤϡ¢ - -\begin{verbatim} -(defvar mime/make-content-subject-function - (function - (lambda (cid subj ctype) - (insert - (format "[%s %s (%s)]\n" - (if (listp cid) - (mapconcat (function - (lambda (num) - (format "%s" (+ num 1)) - )) - cid ".") - "0") - subj (car ctype))) - ))) -\end{verbatim} - -\noindent ¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢Î㤨¤Ð¡¢ - -\begin{verbatim} -(setq mime/make-content-subject-function - (function - (lambda (cid subj ctype) - (if (not (member (car ctype) mime/default-showing-Content-Type-list)) - (insert - (format "[%s %s (%s)]\n" - (if (listp cid) - (mapconcat (function - (lambda (num) - (format "%s" (+ num 1)) - )) - cid ".") - "0") - subj (car ctype)))) - ))) -\end{verbatim} - -\noindent ¤È¤¹¤ì¤Ð±£¤µ¤ì¤¿ content ¤À¤± content subject ¤òɽ¼¨¤¹¤ë¤è¤¦ -¤Ë¤Ç¤­¤Þ¤¹¡£ - - -\subsection{content header} - -content header ¤Ï preview buffer ¤Ç content header ¤òɽ¼¨¤¹¤ë¤¿¤á¤ÎÉô -ʬ¤Ç¤¹¡£É¸½à¤Ç¤Ï¶õ¹Ô¤Ë¤Ê¤ê¤Þ¤¹¡£ - -¤³¤Î content header ¤Îɽ¼¨¤ÏÊÑ¿ô mime/make-content-header-filter ¤Ë¤è¤Ã -¤ÆÀßÄê¤Ç¤­¤Þ¤¹¡£´ûÄêÃͤϡ¢ - -\begin{verbatim} -(defvar mime/make-content-header-filter - (function - (lambda (cid) - (if (listp cid) - (delete-region (goto-char (point-min)) - (or (and (re-search-forward "^$" nil t) - (match-end 0)) - (point-max)) - ) - ) - ))) -\end{verbatim} - -\noindent ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢content header ¤ò body ¤È¤Î¶­¤Î¶õ¹Ô¤Þ¤Çºï½ü¤¹ -¤ë¤È¤¤¤¦É÷¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Î㤨¤Ð¡¢ - -\begin{verbatim} -(setq mime/make-content-header-filter - (function - (lambda (cid) - ))) -\end{verbatim} - -\noindent ¤È¤¹¤ì¤Ð¡¢Á´¤Æ¤Î content header field ¤òɽ¼¨¤Ç¤­¤Þ¤¹¡£ - - -\subsection{content body} - -preview buffer ¤Ë content body ¤òɽ¼¨¤¹¤ëºÝ¡¢content-type Ëè¤Ë - -\begin{enumerate} -\item ±£Êà -\item ²Ã¹© -\end{enumerate} - -\noindent ¤È¤¤¤¦½èÍý¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£ - -±£ÊäÏÈó text part ¤ò±£¤¹¤¿¤á¤Î½èÍý¤Ç¡¢ÊÑ¿ô -mime/default-showing-Content-Type-list ¤ËÀßÄꤵ¤ì¤¿ content-type °Ê³° -¤Î content ¤¬±£Ê䵤ì¤Þ¤¹¡£¤³¤ÎÊÑ¿ô¤Î´ûÄêÃͤϡ¢ - -\begin{verbatim} -(defvar mime/default-showing-Content-Type-list - '("text/plain" "text/richtext" "text/enriched" "text/x-latex" nil)) -\end{verbatim} - -\noindent ¤Ç¡¢text/plain, text/richtext, text/enriched, text/x-latex, -µÚ¤Ó¡¢Èó MIME content ¤Î¤ß¤¬É½¼¨¤µ¤ì¡¢¤½¤ì°Ê³°¤Ï¡¢±£Ê䵤ì¤Þ¤¹¡£ - -±£Ê䵤ì¤Ê¤«¤Ã¤¿ content ¤ËÂФ·¤Æ¡¢²Ã¹©½èÍý¤¬¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£¤½¤Î -content ¤Î content-type ¤ò key ¤Ë¤·¤ÆÊÑ¿ô mime/content-filter-alist ¤ò -°ú¤­¡¢¤½¤ÎÃÍÉô¤Ë½ñ¤«¤ì¤¿´Ø¿ô¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ - -ÊÑ¿ô mime/content-filter-alist ¤Î´ûÄêÃÍ¤Ï nil ¤Ç¤¹¤¬¡¢tm-rich.el ¤ò -load ¤¹¤ë¤È¡¢ - -\begin{verbatim} -(aput 'mime/content-filter-alist - "text/enriched" (function mime/decode-text/enriched-body)) -\end{verbatim} - -\noindent ¤Î¤è¤¦¤Ë text/enriched ¤ËÂФ¹¤ë²Ã¹©½èÍý¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£ - - -\section{À©¸Â} - -Éí°¤Î BASE64 decoder ¤Ç¤¢¤ë decode-b.c ¤Ï¤¤¤¤²Ã¸º¤Êºî¤ê¤Ê¤Î¤Ç¡¢Æ°¤«¤Ê -¤«¤Ã¤¿¤é¡¢Ã»¤¤¥×¥í¥°¥é¥à¤Ê¤Î¤Ç¡¢°Õ¤òµâ¤ó¤Ç½¤Àµ¤·¤Æ²¼¤µ¤¤¡£ -(\verb+^+\_\verb+^+; - -¤Þ¤¿¡¢metamail Éí°¤Î mmencode ¤ò»È¤Ã¤Æ decode ¤·¤Æ¤âÎɤ¤¤Ç¤·¤ç¤¦¡£ - -¤Þ¤¿¡¢Quoted-Printable ¤Î decoder ¤ÏÉí°¤·¤Þ¤»¤ó¤Î¤Ç¡¢mmencode ¤ò»È¤Ã -¤Æ²¼¤µ¤¤¡£ - - -\chapter{tiny-mime} - -tiny-mime ¤Ï Mule, NEmacs, NEpoch ¾å¤ÇÆ°ºî¤¹¤ë MIME header ¤Î -encoder/decoder ¤Ç¤¹¡£tiny-mime ¤Ï¡¢ÀΡ¢¤¨¤Ê¤ß ¤Ä¤°¤È¤â ¤µ¤ó¤¬ -fj.editor.emacs ¤ËÅê¹Æ¤µ¤ì¤¿ ISO-2022-JP MIME header decoder ¤ò¸µ¤Ë¤· -¤Æ¤¤¤Þ¤¹¡£ - -¸½ºß¤Ç¤Ï¡¢Åö»þ¤Î¤â¤Î¤ËÈæ¤Ù¡¢ - -\begin{itemize} -\item decoding »þ¤Ë¤ª¤±¤ë unfolding µ¡Ç½¤ÎÄɲà -\item ISO-2022-JP ¤Ë²Ã¤¨¡¢ISO-2022-KR, ISO-8859-*, US-ASCII ¤Ê¤É¤Î¿¸À - ¸ì header ¤Î encode/decode µ¡Ç½¤ÎÄɲà -\item Q-encoding ¤ÎÄɲà -\item RFC 1522 ¤Ø¤ÎÂбþ -\end{itemize} - -\noindent ¤È¤¤¤Ã¤¿µ¡Ç½¶¯²½¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ - -tiny-mime ¤Ï tm ¤Ë¤ª¤±¤ë MIME header encoder/decoder ¤Ç¤¢¤ê¡¢tm-view, -tm-MUA ¤¬¤³¤ì¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£ - - -\section{mime/decode-message-header} - -{\tt mime/decode-message-header} ¤Ï MIME header ¤ò decode ¤¹¤ë¤¿¤á¤ÎÌ¿ -Îá¤Ç¤¹¡£tiny-mime ¤¬ load ¤µ¤ì¤Æ¤¤¤ë¾õÂ֤ǡ¢decode ¤·¤¿¤¤ buffer ¤Î¾å -¤Ç¡¢ - -{\list{}{\leftmargin=8ex}\item[] -\par -M-x {\tt mime/decode-message-header} -\endlist} - -\noindent ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¤½¤Î buffer ¾å¤Î MIME header ¤¬ decode ¤µ¤ì¤Þ -¤¹¡£ - -tm-MUA ¤ä tm-view ¤Ï¤³¤ÎÌ¿Îá¤ò¸Æ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤é¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ -Íۤˤ³¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëɬÍפÏ̵¤¤¤Ç¤·¤ç¤¦¡£ - - -\section{mime/decode-region} - -region ¤ËÂФ·¤Æ¡¢ - -{\list{}{\leftmargin=8ex}\item[] -\par -M-x {\tt mime/decode-region} -\endlist} - -\noindent ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢°úÍÑ¤Ê¤É¤Ç buffer ¤Ë»Ä¤Ã¤¿ MIME header ¤ò -decode ¤Ç¤­¤Þ¤¹¡£ - - -\chapter{¥Ð¥°Êó¹ð¤Î»ÅÊý} - -tm ¤Î¥Ð¥°¤ò¸«¤Ä¤±¤¿¤é fj.editor.emacs ¤Ë post ¤¹¤ë¤«¡¢tm ML -$<$tm@@chamonix.jaist.ac.jp$>$ ¤Ë mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ - -tm ML ¤Ç¤Ï tm ¤Î¥Ð¥°¾ðÊó¤Î¸ò´¹¤äºÇ¿·ÈǤÎÇÛÉÛ¡¢tm ¤Î²þÎɤ˴ؤ¹¤ëµÄÏÀ¤ò -¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£tm ML ¤Ë»²²Ã¤·¤¿¤¤Êý¤Ï - -\begin{center} - tm-admin@@chamonix.jaist.ac.jp -\end{center} - -\noindent ¤Þ¤Ç mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ÅÐÏ¿¤Ï¼êÆ°¤Ç¤¹¤Î¤Ç¡¢¤Ç¤­¤ì¤Ð¡¢¼«Á³ -¸À¸ì¤Ç½ñ¤¤¤Æ²¼¤µ¤¤¡£(\verb+^+\_\verb+^+) - -\end{document} -@ - - -5.3 -log -@tm-vm ¤Ë´Ø¤¹¤ëµ­½Ò¤òÄɲä·¤¿¡£ -@ -text -@d6 1 -a6 1 -\date{\verb$Id: tm-jp.tex,v 1.1 1994/10/17 02:38:18 morioka Exp morioka $} -d39 1 -@ - - -5.2 -log -@content ¤Îɽ¼¨¤ÎºÝ¤Î filter ÊÑ¿ô¤Ë´Ø¤¹¤ëµ­½Ò¤òÄɲä·¤¿¡£ -@ -text -@d6 1 -a6 1 -\date{\verb$Id: tm-jp.tex,v 5.1 1994/09/26 14:52:00 morioka Exp morioka $} -d140 11 -d182 1 -d207 3 -a209 4 -tm-MUA ¤ò»È¤¦¤È¡¢Summary mode ¤Ç {\bf v} ¤ò²¡¤¹¤³¤È¤Ë¤è¤Ã¤Æ¡¢ -mime/viewer-mode ¤È¤¤¤¦ MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î mode ¤ËÆþ¤ê¤Þ¤¹ -¡Ê⤷¡¢vm ¤Ç¤Ï°ã¤¦ key ¤Ë bind ¤·¤Æ¤¤¤ë¤½¤¦¤Ç¤¹¡Ë¡£mime/viewer-mode -¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£ -@ - - -5.1 -log -@mime/view-mode ¤È¤Ê¤Ã¤Æ¤¤¤ëÉôʬ¤ò mime/viewer-mode ¤Ë½¤Àµ¤·¤¿¡£ -@ -text -@d6 1 -a6 1 -\date{\verb$Id: tm-jp.tex,v 5.0 1994/09/26 14:46:30 morioka Exp morioka $} -d18 1 -a19 1 -\item mime/viewer-mode ¤ò»È¤Ã¤¿ MIME message ¤Î±ÜÍ÷¡¦ºÆÀ¸ -d51 1 -a55 13 -\begin{description} -\item[¡ÎÃí°Õ¡Ï] outline.el ¤Ï NEmacs Éí°¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢outln-18.el - ¤ò»È¤¦¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡£outln-18.el ¤ò»È¤¦¾ì¹ç¤Ï¡¢¤³¤ì¤ò outline.el - ¤Ë link ¤òÄ¥¤ë¤«¡¢rename ¤·¤Æ²¼¤µ¤¤¡£ - - outln-18.el ¤ò»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢outline.el ¤Ë - -\begin{verbatim} -(provide 'outline) -\end{verbatim} - - \noindent ¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -\end{description} -a56 1 - -a62 15 -\begin{description} -\item[¡ÎÃí°Õ¡Ï] Emacs 18 base ¤Î Mule (Mule 1.1 ¤Ê¤É¡Ë¤Ç¤Ï¡¢Mule Éí° - ¤Î outline.el ¤ÎÂå¤ï¤ê¤Ëoutln-18.el ¤ò»È¤¦¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡£ - outln-18.el ¤ò»È¤¦¾ì¹ç¤Ï¡¢¤³¤ì¤ò outline.el ¤Ë link ¤òÄ¥¤ë¤«¡¢rename - ¤·¤Æ²¼¤µ¤¤¡£ - - outln-18.el ¤ò»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢outline.el ¤Ë - -\begin{verbatim} -(provide 'outline) -\end{verbatim} - - \noindent ¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -\end{description} - -a109 7 -mime-setup.el ¤Ïɸ½à¤Ç¤Ï SuperCite ¤ÎÀßÄê¤â¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤ò¤ä¤á¤ë¾ì -¹ç .emacs ¤Ë°Ê²¼¤Î¤â¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ - -\begin{verbatim} -(setq mime-setup-use-sc nil) -\end{verbatim} - -d211 3 -d502 153 -@ - - -5.0 -log -@tm-view 5.1 ¤ËÂбþ¤·¤¿ÀâÌÀʸ¤ÎÊѹ¹¤ò¹Ô¤Ê¤Ã¤¿¡£ -@ -text -@d6 1 -a6 1 -\date{\verb$Id: tm-jp.tex,v 2.1 1994/09/02 09:41:08 morioka Exp morioka $} -d19 1 -a19 1 -\item mime/view-mode ¤ò»È¤Ã¤¿ MIME message ¤Î±ÜÍ÷¡¦ºÆÀ¸ -@ - - -2.1 -log -@scroll-up, scroll-down ¤òÉÕ¤±²Ã¤¨¤¿¡£ -@ -text -@d6 1 -a6 1 -\date{\verb$Id: tm-jp.tex,v 2.0 1994/09/02 07:42:01 morioka Exp morioka $} -d227 2 -a228 2 -\section{mime/view-mode} -\label{sec:mime/view-mode} -d231 3 -a233 2 -mime/view-mode ¤È¤¤¤¦ MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î minor-mode ¤ËÆþ¤ê -¤Þ¤¹¡£mime/view-mode ¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£ -a252 3 -mime/view-mode ¤Ï minor-mode ¤Ê¤Î¤Ç¡¢¸µ¤Î MUA ¤Î Article mode ¤Î -mime/view-mode ¤È¤Ö¤Ä¤«¤Ã¤Æ¤¤¤Ê¤¤µ¡Ç½¤Ï¡¢¸µ¤Î MUA ¤Îµ¡Ç½¤¬»È¤¨¤Þ¤¹¡£ - -d339 60 -a398 2 -tm-view ¤Ï minor-mode ¤Î mime/view-mode ¤È major-mode ¤Î -mime/show-message-mode ¤òÄ󶡤·¤Þ¤¹¡£ -d400 1 -a400 3 -mime/view-mode ¤Îµ¡Ç½¤Ë´Ø¤·¤Æ¤Ï¡¢\ref{sec:mime/view-mode} Àá¤ò»²¾È¤·¤Æ -²¼¤µ¤¤¡£mime/show-message-mode ¤Ï mime/view-mode ¤ò¸Æ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢¤½ -¤ì¤¬ major-mode ¤Ç¤¢¤ë¤³¤È¤ò½ü¤±¤Ð¡¢mime/view-mode ¤ÈƱ¤¸¤Ç¤¹¡£ -d403 2 -a404 1 -\section{tm-view ¤Î customize} -d406 1 -a406 1 -\subsection{Emacs ¤ÎÀßÄê} -d408 3 -a410 1 -\subsubsection{method ¤Î»ØÄê} -d412 1 -a412 2 -.emacs ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆþ¤ì¤Æ¡¢³Æ Content-Type ¤ËÂбþ¤¹¤ë method¤ò -»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -d414 32 -a445 11 -\begin{verbatim} -(setq mime/content-decoding-method-alist - '(("audio/basic" . "tm-au") - ("image/gif" . "tm-image") - ("image/jpeg" . "tm-image") - ("image/x-pic" . "tm-image") - ("video/mpeg" . "tm-mpeg") - ("application/octet-stream" . "tm-file") - ("text/x-latex" . "tm-latex") - )) -\end{verbatim} -d447 1 -d449 9 -a457 1 -\subsubsection{content header ¤Îɽ¼¨} -d459 2 -a460 4 -mime/view-minor-mode ¤Ç¤Ï¡¢MIME ·Á¼°¤Î content ¤ÎÆâ¡¢¤½¤Î content ¤Î -content-type ¤¬ÊÑ¿ô -mime/default-showing-Content-Type-list ¤Ç»ØÄꤵ¤ì¤¿¤â¤Î¤Ç¤Ê¤±¤ì¤Ð±£¤· -¤Þ¤¹¡£ -a461 4 -¤³¤Î¤è¤¦¤Ë¡¢content ¤¬±£¤µ¤ì¤ë¾ì¹ç¤Ç¤â¡¢ÉáÄÌ¤Ï content header ¤È -content body ¤Î£±¹ÔÌܤÏɽ¼¨¤µ¤ì¤Þ¤¹¤¬¡¢ÊÑ¿ô mime/hide-content-header -¤ò t ¤Ë¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢content header ¤Î£±¹ÔÌܤΤߤòɽ¼¨¤¹¤ë¤è¤¦¤Ë¤Ç -¤­¤Þ¤¹¡£ -d463 1 -d465 32 -a496 1 -\subsubsection{ÆâÉô decoder ¤Î»ÈÍÑ} -d498 1 -a498 2 -°Ê²¼¤Î¤è¤¦¤ËÊÑ¿ô mime/use-internal-decoder ¤ò t ¤Ë¤¹¤ë¤È¡¢Base64 ¤Î -decode ¤òÆâÉô decoder ¤ò»È¤Ã¤Æ¹Ô¤Ê¤¤¤Þ¤¹¡£ -d501 4 -a504 1 -(setq mime/use-internal-decoder t) -d507 1 -a507 3 -¤·¤«¤·¤Ê¤¬¤é¡¢ÆâÉô decoder ¤Ï¤¹¤´¤¯ÃÙ¤¤¤Î¤Ç (\verb+^+\_\verb+^+; -decode-b ¤¬Æ°¤«¤Ê¤¤¤« mmencode ¤¬¤Ê¤¤¾ì¹ç°Ê³°¤Ï»ØÄꤷ¤Ê¤¤Êý¤¬Îɤ¤¤Ç¤·¤ç -¤¦¡£ -d509 1 -d511 2 -a512 1 -\subsection{method script} -d515 3 -a517 2 -³Æ method ¤Ï shell script ¤Ç½ñ¤­¤Þ¤¹¡£tm-body.el ¤«¤éÅϤµ¤ì¤ë°ú¿ô¤Ï°Ê -²¼¤ÎÄ̤ê¤Ç¤¹¡£ -d533 1 -a533 1 -¤Þ¤¿¡¢message/partial ¤À¤±¤Ï tm-body.el ¼«¿È¤ÇÉü¸µ¤·¤Þ¤¹¡£ -a536 2 - -message/external-body ¤Ë´Ø¤·¤Æ¤Ï¸½ºß¤Î¤È¤³¤í¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£ -@ - - -2.0 -log -@¹½À®¤òÊѤ¨¤¿¡£ -@ -text -@d6 1 -a6 1 -\date{\verb$Id: tm-jp.tex,v 1.2 1994/09/01 02:11:05 morioka Exp morioka $} -d243 2 -d255 1 -a255 4 -\noindent{\bf [Ãí°Õ]} - -(*1) tm-mh-e, tm-gnus, tm-rmail ¤Ê¤É¤Ç tm-view ¤ÎÀßÄê¤ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ -Summary mode ¤Ë¤ÏÌá¤ê¤Þ¤»¤ó¡£ -d257 8 -a264 1 -(*2) ¼ÂºÝ¤ÎÆ°ºî¤ÏÂбþ¤¹¤ë method ¤Ë°Í¤ê¤Þ¤¹¡£ -@ - - -1.2 -log -@̾Á°¤Î¤È¤³¤í¤Ë E-mail address ¤òÉÕ¤±²Ã¤¨¤¿¡£ -@ -text -@d6 1 -a6 1 -\date{\verb$Id: tm-jp.tex,v 1.1 1994/08/31 11:18:40 morioka Exp morioka $} -d55 15 -d76 15 -d195 6 -a200 1 -\chapter{»È¤¤Êý} -d202 7 -a208 1 -\section{tm-MUA} -a209 1 -tm-mh-e, tm-gnus, tm-rmail ¤Ê¤É¤Î tm-MUA ¤Î´ðËÜŪ¤Ê»È¤¤Êý¤òÀâÌÀ¤·¤Þ¤¹¡£ -d211 1 -a211 1 -\subsection{Summary mode} -d213 2 -a214 2 -tm-MUA ¤ò»È¤¦¤È¸µ¤Î MUA ¤Î Summary mode ¤ËÂФ·¤Æ°Ê²¼¤Îµ¡Ç½¤¬Äɲ䵤ì¤Þ -¤¹¡£ -d226 3 -a228 1 -\subsection{mime/view-mode} -d230 3 -a232 2 -mime/view-mode ¤Ï¡¢MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î minor-mode ¤Ç¤¹¡£¸µ¤Î -MUA ¤Î Article mode ¤ËÂФ·¤Æ°Ê²¼¤Îµ¡Ç½¤¬Äɲ䵤ì¤Þ¤¹¡£ -d250 3 -d261 72 -a332 1 -\section{tiny-mime} -d334 3 -a336 3 -mime/decode-region ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢°úÍÑ¤Ê¤É¤Ç buffer ¤Ë»Ä¤Ã¤¿ MIME -header ¤ò decode ¤Ç¤­¤Þ¤¹¡£¡Ê¾Ü¤·¤¯¤Ï tiny-mime ¤ÎÀâÌÀ½ñ¤ò»²¾È¤·¤Æ²¼¤µ -¤¤¡Ë -d338 3 -a341 1 -\chapter{Customize} -d343 1 -a343 1 -\section{tm-view} -d347 2 -d364 16 -d381 1 -a381 3 -decode ¤òÆâÉô decoder ¤ò»È¤Ã¤Æ¹Ô¤Ê¤¤¤Þ¤¹¡£¡Ê¤¹¤´¤¯ÃÙ¤¤¤Ç¤¹ -(\verb+^+\_\verb+^+; decode-b ¤¬Æ°¤«¤Ê¤¤¤« mmencode ¤¬¤Ê¤¤¾ì¹ç°Ê³°¤Ï»Ø -Äꤷ¤Ê¤¤Êý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡Ë -d387 4 -d392 1 -a392 1 -\subsection{method script ¤ÎÀßÄê} -d415 1 -a415 1 -\subsection{À©¸Â} -d429 21 -a449 1 -\section{tm-gnus} -d451 2 -a452 1 -\subsection{article ¤ò save ¤¹¤ë»þ decoding ¤·¤Ê¤¤} -d454 3 -a456 2 -article ¤ò save ¤¹¤ë»þ¡¢Êݸ¤µ¤ì¤ë message ¤Ï¤½¤Î»þɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦ -¤Ë¡¢¤½¤Î»þ¤Î MIME header decoding mode ¤Ë±þ¤¸¤Æ save ¤µ¤ì¤Þ¤¹¡£ -d458 4 -a461 5 -¤·¤«¤·¡¢article ¤ò save ¤¹¤ë»þ¡¢¾ï¤Ë¡¢MIME header decoding ¤ò¹Ô¤Ê¤ï¤Ê -¤¤¡¢À¸¤Î message ¤ÇÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢ÊÑ¿ô -tm-gnus/set-mime-header-decoding-mode ¤ÎÃͤò nil ¤Ë¤·¤Æ¡¢MIME header -decoding ¤ò¹Ô¤Ê¤ï¤Ê¤¤ mode ¤Ë¤·¤Æ¡¢article save ´Ø¿ô¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀß -Äꤷ¤Æ²¼¤µ¤¤¡£ -d463 2 -a464 3 -Save ¤Î¼Â¹Ô¸å¡¢MIME header decoding mode ¤òÁ°¤Î¾õÂÖ¤ËÌᤷ¤¿¤¤¾ì¹ç¤Ï¡¢ -°Ê²¼¤Î¤è¤¦¤Ë¡¢°ì»þÊÑ¿ô¤Ë MIME header decoding mode ¤òÊݸ¤·¤Æ¤ª¤±¤Ð OK -¤Ç¤¹¡£ -d466 2 -a467 7 -\begin{verbatim} - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (article save ´Ø¿ô) - (tm-gnus/set-mime-header-decoding-mode mm) - ) -\end{verbatim} -a468 1 -°Ê²¼¤Ë¡¢mh-e ¤Î folder ¤Ë save ¤¹¤ë¾ì¹ç¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ -d470 1 -a470 26 -\begin{verbatim} -(add-hook 'gnus-Startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-Subject-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -(add-hook 'gnus-startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-summary-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -\end{verbatim} -d472 1 -a472 1 -\subsection{reply ¤¹¤ë»þ Subject ¤Î encoding Ë¡¤ò reply ¸µ¤Ë¹ç¤ï¤»¤ë} -d474 4 -a477 3 -Reply ¤¹¤ë»þ¡¢reply ¸µ¤Î Subject ¤Ë ASCII °Ê³°¤Îʸ»ú½¸¹ç¤ÎÆþ¤Ã¤Æ¤¤¤ë -¾ì¹ç¡¢reply ¸µ¤¬ MIME encode ¤µ¤ì¤Æ¤¤¤¿¤é encode ¤·¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¤é -À¸¤ÇÆþ¤ì¤¿¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ -d479 2 -a480 9 -\begin{verbatim} -(add-hook 'gnus-article-prepare-hook - (function - (lambda () - (if (mime/exist-encoded-word-in-subject) - (setq mime/no-encoding-header-fields '("X-Nsubject")) - (setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) - )))) -\end{verbatim} -@ - - -1.1 -log -@Initial revision -@ -text -@d4 3 -a6 2 -\author{¼é²¬ ÃÎɧ} -\date{\verb$Id$} -@ diff --git a/doc/tm-jp.texi b/doc/tm-jp.texi deleted file mode 100644 index e2be40f..0000000 --- a/doc/tm-jp.texi +++ /dev/null @@ -1,334 +0,0 @@ -\input texinfo.tex -@c{-*-tm manual-*-} -@setfilename tm-jp.info -@settitle{tm manual} - -@titlepage -@sp{5} -@center{@titlefont{tm}} -@sp{15} -@center{@titlefont{$BZ$7$^$;$s!#$7$+$7$J$,$i!"(BUS-ASCII $B$NHO0O$G$OF0:n$9$k$H;W$o$l(B -$B$^$9!#(B - -@section{NEmacs, NEpoch} - -ISO-2022-JP, US-ASCII $B$,;H$($^$9!#(B - -@section{original GNU Emacs 19} - -US-ASCII $B$*$h$S(B ISO-8859-1 $B$r%5%]!<%H$7$^$9!#(B - -$B$^$?!"(BX window $B>e$NFHN)$7$?(B window $B$H$7$FF0:n$5$;$k>l9g!"(Btm-rich $B$K$h(B -$B$k(B multi face $BI=<($,9T$J$($^$9!#(B - -@section{Mule} - -ISO-2022-JP, US-ASCII, ISO-8859-1..9, ISO-2022-CN, ISO-2022-KR, EUC-KR -$B$J$I$NB?$/$N(B charset $B$r%5%]!<%H$7$^$9!#$^$?!"4X?t(B -mime/set-charset-and-encoding $B$GDI2C!&JQ99$,$G$-$^$9!#(B - -$B$^$?!"(BMule 2.* $B$r(B X window $B>e$NFHN)$7$?(B window $B$H$7$FF0:n$5$;$k>l9g!"(B -tm-rich $B$K$h$k(B multi face $BI=<($,9T$J$($^$9!#(B - -@section{XEmacs} - -US-ASCII $B$*$h$S(B ISO-8859-1 $B$r%5%]!<%H$7$^$9!#(B - -$B:#$N$H$3$m!"(Btm-rich $B$K$h$k(B multi face $BI=<($O%5%]!<%H$5$l$F$$$^$;$s$,!"(B -$B>-MhE*$K$O!"(Bmulti face $BI=<($H(B inline image $B$NI=<($,%5%]!<%H$5$l$kM=Dj(B -$B$G$9!#(B - - -@node Install, How-to-use, Emacs-Versions, Top -@comment node-name, next, previous, up -@chapter{Install} -@cindex{Install} - -Install $B$O$N;XDj(B} - -Emacs $B$N$r;XDj$7$F2<$5$$!#(B - -@itemize -@item NEMACS = for NEMACS (or NEpoch) -@item MULE1 = for Mule 1.* (based on Emacs 18.*) -@item ORIG19 = for Emacs 19.* (FSF original or XEmacs) -@item MULE2 = for MULE 2.* (based on Emacs 19.*) -@end itemize - -@subsection{load-path $B$N;XDj(B} - -Emacs Lisp program $B$r(B install $B$9$k(B directory $B$r;XDj$7$F2<$5$$!#(B - -@itemize -@item TLDIR18 = for Emacs 18.* (NEMACS, NEpoch or MULE 1) -@item TLDIR19 = for Emacs 19.* (FSF original, XEmacs or MULE 2) -@end itemize - - -@section{$B30It(B method} - -methods/ $B0J2<$K$"$k(B method script $B$r(B sec:method $B@a$r;2>H$7$F!"<+J,$N4D(B -$B6-$K9g$&$h$&$K=q$-49$($F2<$5$$!#(B - - -@section{make} - -`make all' $B$7$F2<$5$$!#(B - - -@section{install} - -`make install' $B$7$F2<$5$$!#(B - - -@section{Emacs Lisp program $B$N(B install} - -NEmacs $B$b$7$/$O(B NEpoch $B$r;H$C$F$$$k>l9g!"(B`make install-nemacs' $B$rl9g!"(B`install-mule1' $B$rl9g!"(B`make -install-orig19' $B$rl9g!"(B`make install-mule2' $B$rl9g$G$b!"(B*.el $B$r(B load-path $B$G;XDj(B -$B$5$l$?(B directory $B$K(B copy $B$9$l$P(B OK $B$G$9!#(B - - -@node Setting, tm-MUA, Install, Top -@comment node-name, next, previous, up -@chapter{$B@_Dj(B} -@cindex{$B@_Dj(B} - -$B$3$N(B package $B$K$O(B mime-setup.el $B$H(B tm-setup.el $B$H$$$&4J0W@_Dj(B file $B$,(B -$BImB0$7$F$$$^$9!#(Bmime-setup.el $B$G$O(B encoding $B$b4^$a$?(B MIME $BA4HL$N@_Dj$r(B -$B9T$J$$!"(Btm-setup $B$G$O(B tm-MUA $B$K4X$9$k@_Dj$N$_$r9T$J$$$^$9!#(B - -@section{mime-setup} - -@example -(load "mime-setup") -@end example -$B$H$9$k$H(B MIME $B$K4X$9$k3Fl9g!"(Btm-setup $B$r(B load $B$9$kI,MW$O$"$j(B -$B$^$;$s!#(B - -mime-setup $B$G$O(B signature $B$N<+F0@ZBX$((B tool $B$bImB0$7$F$$$^$9!#(B -message header $B$N(B field $B$K9g$o$;$F(B signature $B$N<+F0@ZBX$r9T$J$$$?$$>l(B -$B9g$O(B .emacs $B$K0J2<$N$h$&$J$b$N$rF~$l$F2<$5$$!#!J>\$7$/$O(B signature.el -$B$N@bL@=q$r;2>H$7$F2<$5$$!K(B - -@example -(setq signature-file-alist - '((("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) -@end example - -mime-setup $B$r;H$&>l9g$O!"(Bmime.el $B$,I,MW$G$9!#$^$?!"(BSuperCite $B$r;H$&>l(B -$B9g$O!"(BSuperCite $B$bI,MW$G$9!#(B - - -@section{tm-setup} - -tm-setup $B$O(B tm-MUA $B$N@_Dj$N$_$r9T$J$&(B module $B$G$9!#(Bmime-setup $B$r(B load -$B$7$F$$$k>l9g!"$3$l$rM[$K(B load $B$9$kI,MW$O$"$j$^$;$s$,!"(Bmime-setup $B$r;H(B -$B$$$?$/$J$$>l9g!"0J2<$N$h$&$K$3$l$r(B load $B$7$F2<$5$$!#(B - -@example -(load "tm-setup") -@end example - - -@section{vm} - -vm $B$r;H$&>l9g$O(B .vm $B$+(B .emacs $B$K(B -@example -(load "tm-vm") -@end example -$B$rF~$l$F2<$5$$!#(B - - -@section{$B@_Dj(B file $B$r;H$o$J$$>l9g(B} - -tm-setup.el $B$r;29M$K$7$F2<$5$$!#(B - - -@node tm-MUA, Concept Index, Setting, Top -@comment node-name, next, previous, up -@chapter{tm-MUA} -@cindex{tm-MUA} - -``tm-MUA'' $B$H$$$&$N$O!"(Bmh-e, GNUS, RMAIL $B$J$I$N(B MUA $B$N$?$a$N(B MIME $B5!G=(B -$B6/2=(B module $B$NAm>N$G$9!#(B - -$B8=:_!"(Btm-MUA $B$K$O!"(B -@itemize -@item @emph{tm-mh-e:} mh-e $BMQ$N(B tm-MUA -@item @emph{tm-gnus:} GNUS $BMQ$N(B tm-MUA -@item @emph{tm-rmail:} RMAIL $BMQ$N(B tm-MUA -@item @emph{tm-vm:} VM $BMQ$N(B tm-MUA -@end itemize -$B$,$"$j$^$9!#$3$N>O$G$O$3$l$i$N(B module $B$K4X$7$F@bL@$7$^$9!#(B - -@section{Summary mode} - -tm-MUA $B$r;H$&$H!"85$N(B MUA $B$N(B Summary mode $B$KBP$7$F0J2<$N5!G=$,DI2C$5$l(B -$B$^$9!#(B - -@table @kbd -@item @key{M-t} - RFC 1522 MIME encoded-word $B$N(B decode $B$K4X$9$k(B toggle -@item v - mime/viewer-mode $B$KF~$j!"(Bmessage $B$r1\Mw$9$k(B -@end table - - -@section{mime/viewer-mode} - -tm-MUA $B$r;H$&$H!"(BSummary mode $B$G(B @kbd{v}$B!J(Bvm $B$G$O(B @kbd{Z}$B!K$r2!$9$3$H(B -$B$K$h$C$F!"(Bmime/viewer-mode $B$H$$$&(B MIME message $B$r1\Mw$9$k$?$a$N(B mode -$B$KF~$j$^$9!#(Bmime/viewer-mode $B$K$O0J2<$N5!G=$,$"$j$^$9!#(B - -@table @kbd -@item u - $B>e$N(B content $B$KLa$k!J(Bmessage $B$N0lHV>e$N(B content $B$G$3$l$r9T$J$&(B - $B$H(B Summary mode $B$KLa$k(B (*1)$B!K(B -@item p - $BA0$N(B content $B$K0\F0$9$k(B -@item n - $Bl9g!"(BSummary mode $B$K$OLa$j$^$;$s!#(B - -@item -$B loadpath -echo " (nconc '("'"."' >> loadpath -echo ' "'`pwd`'"' >> loadpath -echo ' "'`(cd ../tl; pwd)`'"' >> loadpath -echo ' "'`(cd ../mel; pwd)`'"' >> loadpath -foreach i ($argv) -echo ' "'$i'"' >> loadpath -end -echo ' ) load-path))' >> loadpath diff --git a/methods/csh/tm-au b/methods/csh/tm-au deleted file mode 100755 index 7e3b7eb..0000000 --- a/methods/csh/tm-au +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/csh -f - -if (! $?TM_TMP_DIR) then - setenv TM_TMP_DIR /tmp -endif - -switch( $4 ) -case "play": - set filename = /dev/audio - breaksw -case "extract": - if( $5 == "" ) then - set filename = "$TM_TMP_DIR/mime$$.au" - else - set filename = "$TM_TMP_DIR/$5" - endif - breaksw -default: - exit -1 -endsw - -echo "$2; $3 -> $filename" - -tmdecode $3 $1 $filename diff --git a/methods/csh/tm-file b/methods/csh/tm-file deleted file mode 100755 index 4433fab..0000000 --- a/methods/csh/tm-file +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/csh -f - -if (! $?TM_TMP_DIR) then - setenv TM_TMP_DIR /tmp -endif - -if( $5 == "" ) then - set filename="$TM_TMP_DIR/mime$$" -else - set filename = $TM_TMP_DIR/$5 -endif - -echo "$2; $3 -> $filename" - -tmdecode $3 $1 $filename diff --git a/methods/csh/tm-image b/methods/csh/tm-image deleted file mode 100755 index 325a982..0000000 --- a/methods/csh/tm-image +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/csh -f - -if (! $?TM_TMP_DIR) then - setenv TM_TMP_DIR /tmp -endif - -if( $5 == "" ) then - switch ( $2 ) - case "image/gif": - set filename="$TM_TMP_DIR/mime$$.gif" - breaksw - case "image/jpeg": - set filename="$TM_TMP_DIR/mime$$.jpg" - breaksw - case "image/tiff": - case "image/x-tiff": - set filename="$TM_TMP_DIR/mime$$.tif" - breaksw - case "image/x-xwd": - set filename="$TM_TMP_DIR/mime$$.xwd" - breaksw - case "image/x-xbm": - set filename="$TM_TMP_DIR/mime$$.xbm" - breaksw - case "image/x-pic": - set filename="$TM_TMP_DIR/mime$$.pic" - breaksw - default: - set filename="$TM_TMP_DIR/mime$$.img" - endsw -else - set filename = $TM_TMP_DIR/$5 -endif - -echo "$2; $3 -> $filename" - -tmdecode $3 $1 $filename - -switch( $4 ) -case "play": - xv -geometry +1+1 $filename - /bin/rm $filename - breaksw -case "extract": - echo "extract to $filename" - breaksw -endsw diff --git a/methods/csh/tm-mpeg b/methods/csh/tm-mpeg deleted file mode 100755 index 08c623a..0000000 --- a/methods/csh/tm-mpeg +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/csh -f - -if (! $?TM_TMP_DIR) then - setenv TM_TMP_DIR /tmp -endif - -if( $5 == "" ) then - set filename = $TM_TMP_DIR/mime$$.mpg -else - set filename = $TM_TMP_DIR/$5 -endif - -echo "$2; $3 -> $filename" - -tmdecode $3 $1 $filename - -switch( $4 ) -case "play": - if (! $?VIDEO_DITHER) then - setenv VIDEO_DITHER gray - endif - - mpeg_play -dither $VIDEO_DITHER $filename >& /dev/null - /bin/rm $filename - breaksw -case "extract": - echo "extrtact to $filename" - breaksw -endsw diff --git a/methods/csh/tm-plain b/methods/csh/tm-plain deleted file mode 100755 index 88c5304..0000000 --- a/methods/csh/tm-plain +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/csh -f - -if (! $?TM_TMP_DIR) then - setenv TM_TMP_DIR /tmp -endif - -if( $5 == "" ) then - set filename = "$TM_TMP_DIR/mime$$.pln" -else - set filename = $TM_TMP_DIR/$5 -endif - -echo "$2; $3 -> $filename" - -tmdecode $3 $1 $filename - -switch( $4 ) -case "play": - cat $filename - /bin/rm $filename - breaksw -case "extract": - echo "extract to $filename" - breaksw -case "print": - txt2ps -n $filename | lpr - /bin/rm $filename - breaksw -endsw diff --git a/methods/csh/tmdecode b/methods/csh/tmdecode deleted file mode 100755 index 9fbb0a9..0000000 --- a/methods/csh/tmdecode +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/csh -f - -switch ( $1 ) -case "7bit": -case "8bit": -case "binary": - /bin/cp $2 $3 - breaksw -case "base64": - #decode-b < $2 > $3 - mmencode -u $2 > $3 - breaksw -case "quoted-printable": - mmencode -q -u $2 > $3 - breaksw -case "x-uue": -case "x-uuencode": - pushd $TM_TMP_DIR - uudecode $2 - popd - breaksw -default: - echo "unknown encoding" - exit -1 -endsw - -/bin/rm $2 -echo "$2 was removed." diff --git a/methods/tm-latex b/methods/tm-latex deleted file mode 100755 index 278ad38..0000000 --- a/methods/tm-latex +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/csh -f -# -# tm-latex: method for LaTeX -# - -set filename="/tmp/mime$$" - -switch ( $3 ) -case "7bit": -case "8bit": -case "binary": - /bin/cp $1 $filename.tex - breaksw -case "base64": - decode-b < $1 > $filename.tex - breaksw -case "quoted-printable": - mmencode -q -u $1 > $filename - breaksw -default: - echo "unknown encoding" - exit -1 -endsw - -/bin/rm $1 - -echo "$2; $3 -> $filename.tex" - -switch ( $4 ) -case "play": - pushd /tmp - jlatex $filename.tex - jlatex $filename.tex - xdvi $filename.dvi - popd - /bin/rm $filename.* - breaksw -case "extract": - if($5 != "") then - set name=/tmp/$5 - /bin/cp $filename.tex $name - /bin/rm $filename.tex - echo "extract to $name" - else - echo "extract to $filename.tex" - endif - breaksw -case "print": - pushd /tmp - jlatex $filename.tex - jlatex $filename.tex - dvi2ps $filename.dvi|lpr - popd - /bin/rm $filename.* - breaksw -endsw diff --git a/mh-e/Makefile.bc b/mh-e/Makefile.bc deleted file mode 100644 index 00b9069..0000000 --- a/mh-e/Makefile.bc +++ /dev/null @@ -1,20 +0,0 @@ -# -# $Id: Makefile.bc,v 6.1 1995/05/16 12:20:36 morioka Exp $ -# - -.SUFFIXES: .el .elc - -BATCH = $(EMACS) -batch ../loadpath -f eval-current-buffer . - -.el.elc: - $(BATCH) -l mh-e -f batch-byte-compile $< - - -mh-e3: tm-mh-e.elc tm-mh-e3.elc - -mh-e4: tm-mh-e.elc - - -tm-mh-e.elc: tm-mh-e.el - -tm-mh-e3.elc: tm-mh-e3.el diff --git a/qprint.el b/qprint.el deleted file mode 100644 index c43486c..0000000 --- a/qprint.el +++ /dev/null @@ -1,139 +0,0 @@ -;;; -;;; $Id$ -;;; - -(require 'tl-num) - -;;; @ Quoted-Printable (Q-encode) encoder/decoder -;;; - -(defun quoted-printable-quote-char (chr) - (concat "=" - (char-to-string (number-to-hex-char (ash chr -4))) - (char-to-string (number-to-hex-char (logand chr 15))) - )) - -(defun quoted-printable-encode-string-for-body (str) - (mapconcat (function - (lambda (chr) - (cond ((or (< chr 32) (< 126 chr) (eq chr ?=)) - (quoted-printable-quote-char chr) - ) - (t (char-to-string chr)) - ))) - str "")) - -(defun quoted-printable-encode-string-for-text (str) - (mapconcat (function - (lambda (chr) - (cond ((eq chr 32) "_") - ((or (< chr 32) (< 126 chr) (eq chr ?=)) - (quoted-printable-quote-char chr) - ) - (t (char-to-string chr)) - ))) - str "")) - -(defun quoted-printable-encode-string-for-comment (str) - (mapconcat (function - (lambda (chr) - (cond ((eq chr 32) "_") - ((or (< chr 32) (< 126 chr) - (memq chr '(?= ?\( ?\) ?\\)) - ) - (quoted-printable-quote-char chr) - ) - (t (char-to-string chr)) - ))) - str "")) - -(defun quoted-printable-encode-string-for-phrase (str) - (mapconcat (function - (lambda (chr) - (cond ((or (and (<= ?A chr)(<= chr ?Z)) - (and (<= ?a chr)(<= chr ?z)) - (and (<= ?0 chr)(<= chr ?9)) - (memq chr '(?! ?* ?+ ?- ?/)) - ) - (char-to-string chr) - ) - (t (quoted-printable-quote-char chr)) - ))) - str "")) - -(defun quoted-printable-encode-string (str &optional mode) - (cond ((eq mode 'text) - (quoted-printable-encode-string-for-text str) - ) - ((eq mode 'comment) - (quoted-printable-encode-string-for-comment str) - ) - ((eq mode 'phrase) - (quoted-printable-encode-string-for-phrase str) - ) - (t (quoted-printable-encode-string-for-body str)) - )) - -(defun quoted-printable-decode-string-for-body (str) - (let (q h l) - (mapconcat (function - (lambda (chr) - (cond ((eq chr ?=) - (setq q t) - "") - (q (setq h (hex-char-to-number chr)) - (setq q nil) - "") - (h (setq l (hex-char-to-number chr)) - (prog1 - (char-to-string (logior (ash h 4) l)) - (setq h nil) - ) - ) - (t (char-to-string chr)) - ))) - str ""))) - -(defun quoted-printable-decode-string-for-header (str) - (let (q h l) - (mapconcat (function - (lambda (chr) - (cond ((eq chr ?_) " ") - ((eq chr ?=) - (setq q t) - "") - (q (setq h (hex-char-to-number chr)) - (setq q nil) - "") - (h (setq l (hex-char-to-number chr)) - (prog1 - (char-to-string (logior (ash h 4) l)) - (setq h nil) - ) - ) - (t (char-to-string chr)) - ))) - str ""))) - -(defun quoted-printable-decode-string (str &optional mode) - (if (eq mode 'header) - (quoted-printable-decode-string-for-header str) - (quoted-printable-decode-string-for-body str) - )) - - -;;; @ etc -;;; - -(defun quoted-printable-encoded-length (string &optional mode) - (let ((l 0)(i 0)(len (length string)) chr) - (while (< i len) - (setq chr (elt string i)) - (if (string-match "[A-Za-z0-9!*+/=_---]" (char-to-string chr)) - (setq l (+ l 1)) - (setq l (+ l 3)) - ) - (setq i (+ i 1)) ) - l)) - -(provide 'qprint) diff --git a/rel-6eng.ol b/rel-6eng.ol deleted file mode 100644 index f0a07db..0000000 --- a/rel-6eng.ol +++ /dev/null @@ -1,179 +0,0 @@ -* tm/Makefile - - Not only do `make mule2' or `make orig19' compile normal tm modules -but also tm-mh-e and tm-gnus. - - Similarly, not only do `make install-mule2' or `make install-orig19' -install normal tm modules but also tm-mh-e and tm-gnus. - - -* tm-comp - -** message/rfc822 - - We add a message/rfc822 style message inserting command. Its -function name is `tm-comp/insert-message', standard key bind is `C-c -C-x m'. - - Function `tm-comp/insert-message' requires message-inserter function -for your MUA. message-inserter functions are registerd at variable -`tm-comp/message-inserter-alist' which is a assoc-list whose element -is a pair that major-mode is key and message-inserter function is value. - - Now, tm-mh-e is a only implementation for this function. - - -* changed points of tm-view - - Internal structure of tm-view 6.* is changed from tm-view 5.21, such -as, data structures, symbol names. I write main differences between tm -5.21. - -** internal structure - -*** content-info - - Buffer local variable of article buffer `mime/content-list', which -memorizes content structres of message in article buffer, is renamed -to `mime::article/content-info', and data structure is changed. - - Old data structure ``content-list'' used in buffer local variable -`mime/content-list' was a following list: - - content-list = (Ba Ea children) - - Ba: point-min of this content in article buffer - Ea: point-max of this content in article buffer - children: content-list's list of contents included in - this content. nil when this content is not - multipart - - - New data structure ``content-info'' used in buffer local variable -`mime::article/content-info' is following vector: - - content-info - = [point-min point-max type parameters encoding children] - - point-min: point-min of this content in article buffer - point-max: point-max of this content in article buffer - (This value is not equal Ea. - point-max = Ea + 1) - type: content-type/subtype of this content - parameters: assoc-list which represents parameters of - Content-Type field of this content - encoding: Content-Transfer-Encoding of this content - children: content-info's list of contents included - in this content. nil when this content is - not multipart - - - In tm-view 5.21, this data structure was generated and referenced by -list processing functions (basic lisp functions) dynamically. In -tm-view 6.*, however, it is generated by generator function -`mime::make-content-info', and it is referenced by reference functions -mime::content-info/FOO (FOO = { point-min | point-max | type | -parameters | encoding | children }). - - -*** preview-content-info - - Buffer local variable of preview buffer -`mime/preview-flat-content-list', which memorizes content structres of -message in preview buffer, is renamed to `mime::preview/content-list, -and data structure is changed. - - Old data structure used in buffer local variable -`mime/preview-flat-content-list' was a list which elements are -following list: - - (Bp Ep buf Ba Ea) - - Bp: point-min of this content in preview buffer - Ep: point-max of this content in preview buffer - buf: article buffer for this content - Ba: point-min of this content in article buffer - Ea: point-max of this content in article buffer - - - New data structure ``preview-content-info'' used in buffer local -variable `mime::preview/content-list'' is a list which elements are -following vector: - - [Bp Ep buf cinfo] - - Bp: point-min of this content in preview buffer - Ep: point-max of this content in preview buffer - buf: article buffer for this content - cinfo: content-info which represents this content - - - In tm-view 5.21, this data structure was generated and referenced by -list processing functions (basic lisp functions) dynamically. In -tm-view 6.*, however, it is generated by generator function -`mime::make-preview-content-info', and it is referenced by reference -functions mime::preview-content-info/FOO (FOO = { Bp | Ep | buf | -cinfo }). - - -*** etc - -- parser is changed - -- naming rule is changed - -- buffer local variable in article buffer `mime/preview-buffer' is - renamed to `mime::article/preview-buffer' - -- function `mime/exit-view-mode' is renamed to `mime-viewer/kill-buffer' - -- command functions of mime/viewer-mode are renamed from mime/FOO to - mime-viewer/FOO. (ex. `mime/up-content' --> `mime-viewer/up-content') - -- command function `mime/quit-view-mode' is renamed to `mime-viewer/quit' - -- etc... - - -** variables - -(1) variable `mime/content-filter-alist' is renamed to - `mime-viewer/content-filter-alist' - -(2) variable `mime/make-content-subject-function' is renamed to - `mime-viewer/content-subject-function' and arguments are changed - -(3) variable `mime/make-content-header-filter' is renamed to - `mime-viewer/content-header-filter-function' - -(4) variable `mime/default-showing-Content-Type-list' is renamed to - `mime-viewer/default-showing-Content-Type-list' - -(5) variable `mime/go-to-top-node-method-alist' is renamed to - `mime-viewer/quitting-method-alist' and changed initial value - because of changes between tm-view 5.21 and tm-view 6.*. - - -** new variables - -*** mime-viewer/childrens-header-showing-Content-Type-list - - list of content-type/subtype whose children's header should be -displayed. - - This variable is used in function -`mime-viewer/default-content-header-filter-function' which defined as -default value of variable -`mime-viewer/content-header-filter-function'. Therefore if you set -another function, it may not work this variable. - - -*** mime-viewer/ignored-field-list - - list of field-name which is not displayed when header is displayed. - - This variable is used in function -`mime-viewer/default-content-header-filter-function' which defined as -default value of variable -`mime-viewer/content-header-filter-function'. Therefore if you set -another function, it may not work this variable. diff --git a/rel-6jp.ol b/rel-6jp.ol deleted file mode 100644 index dca39f1..0000000 --- a/rel-6jp.ol +++ /dev/null @@ -1,171 +0,0 @@ -* tm/Makefile - - Emacs 19.* (Mule 2.*) $B$G$O!"(Btm $B$N(B {byte-compile | install} $B$r9T$&:](B -$B$K!"(Btm-mh-e, tm-gnus $B$N(B {byte-compile | install} $B$b9T$$$^$9!#(B - - -* tm-comp - -** message/rfc822 - - MUA $B$,J]B8$7$F$$$k(B message $B$r(B message/rfc822 $B7A<0$G$O(B tm-comp/insert-message $B$G!"I8=`$N(B key bind $B$O(B C-c -C-x m $B$G$9!#(B - - $B4X?t(B tm-comp/insert-message $B$O(B MUA $BKh$N(B message-inserter $B4X?t$rI,MW(B -$B$H$7$^$9!#(Bmessage-inserter $B$OJQ?t(B tm-comp/message-inserter-alist $B$KEP(B -$BO?$5$l$^$9!#$3$NJQ?t$O!"(Bmajor-mode $B$,(B key $B$G!"$=$l$KBP$9$kCM$,(B -message-inserter $B4X?t$G$"$kO"A[%j%9%H9=B$$r$7$F$$$^$9!#(B - - $B8=:_$N$H$3$m!"(Btm-mh-e $B$N$_!"$3$N5!G=$r$J$I$,JQ99(B -$B$5$l$F$$$^$9!#0J2<$G$O!"(Btm-view 5.21 $B$+$i$N$7!"%G!<%?9=B$$rJQ99$7$?!#6qBNE*$K$O!"=>Mh!"(B - - content-list = (Ba Ea Children) - - $BC"$7!"(B - Ba: article buffer $B$G$N$3$N(B content $B$N@hF,(B point - Ea: article buffer $B$G$N$3$N(B content $B$NKvHx(B point - Children: $B$3$N(B content $B$K4^$^$l$k(B content $B$N>pJs!#(B - content-list $B$rMWAG$H$9$k(B list $B$GI=$7!"(B - multipart $B$N(B content $B$G$J$$>l9g$O(B nil $B$,F~$k(B - -$B$H$$$&(B list $B$GI=8=$7$F$$$?$N$r!"(B - - content-info - = [point-min point-max type parameters encoding children] - - $BC"$7!"(B - point-min: article buffer $B$G$N$3$N(B content $B$N@hF,(B - point - point-max: article buffer $B$G$N$3$N(B content $B$NKvHx(B - point$B!J(BEa $B$H$O0[$J$j!"(Bpoint-min $B$H(B - point-max $B$G:n$i$l$k(B region $B$,$=$N(B content - $B$K$J$k$h$&$K$J$C$F$$$k!#(Bpoint-max = Ea + 1 - $B$N4X78$,@.$jN)$D!K(B - type: $B$3$N(B content $B$N(B content-type/subtype - parameters: $B$3$N(B content $B$N(B Content-Type field $B$N(B - paraeter $B$rI=$9O"A[%j%9%H(B - encoding: $B$3$N(B content $B$N(B Content-Transfer-Encoding. - children: $B$3$N(B content $B$K4^$^$l$k(B content $B$N>pJs!#(B - content-info $B$rMWAG$H$9$k(B list $B$GI=$7!"(B - multipart $B$N(B content $B$G$J$$>l9g$O(B nil $B$,F~$k(B - -$B$H$$$&(B vector $B$GI=8=$9$k$h$&$K$7$?!#(B - - $B$^$?!"=>Mh!"(Blist $B=hM}4X?t$r;H$C$FD>@\(B list $B$r@8@.!&;2>H$7$F$$$?$N$r!"(B -$B@8@.4X?t(B mime::make-content-info, $B;2>H4X?t(B mime::content-info/FOO (FOO -= {point-min|point-max|type|parameters|encoding|children}) $B$r;H$&$h$&(B -$B$K$7$?!#(B - - $B$^$?!"=>Mh!"(BContent-Type, Content-Transfer-Encoding field $B$N>pJs$r$$(B -$B$A$$$A(B buffer $B$r8!:w$7$F5a$a$F$$$?$N$r!"(Bcontent-info $B$r;2>H$9$k$h$&$K(B -$B$7$?!#(B - -*** preview-content-info - - preview buffer $B$K$*$$$F!"(Bmessage $B$K4^$^$l$k(B content $B$N9=B$$r5-21$9$k(B -buffer local $BJQ?t(B mime/preview-flat-content-list $B$r(B -mime::preview/content-list $B$K2~L>$7!"%G!<%?9=B$$rJQ99$7$?!#6qBNE*$K$O!"(B -$B=>Mh!"(B - - (Bp Ep buf Ba Ea) - - $BC"$7!"(B - Bp: preview buffer $B$G$N$3$N(B content $B$N@hF,(B point - Ep: preview buffer $B$G$N$3$N(B content $B$NKvHx(B point - buf: $B$3$N(B content $B$KBP1~$9$k(B article buffer - Ba: article buffer $B$G$N$3$N(B content $B$N@hF,(B point - Ea: article buffer $B$G$N$3$N(B content $B$NKvHx(B point - -$B$H$$$&(B list $B$GI=8=$7$F$$$?$N$r!"(B - - [Bp Ep buf cinfo] - - $BC"$7!"(B - Bp: preview buffer $B$G$N$3$N(B content $B$N@hF,(B point - Ep: preview buffer $B$G$N$3$N(B content $B$NKvHx(B point - buf: $B$3$N(B content $B$KBP1~$9$k(B article buffer - cinfo: $B$3$N(B content $B$rI=$9(B content-info - -$B$H$$$&(B vector $B$GI=8=$9$k$h$&$K$7$?!#(B - - $B$^$?!"=>Mh!"(Blist $B=hM}4X?t$r;H$C$FD>@\(B list $B$r@8@.!&;2>H$7$F$$$?$N$r!"(B -$B@8@.4X?t(B mime::make-preview-content-info, $B;2>H4X?t(B -mime::preview-content-info/FOO (FOO = {Bp|Ep|buf|cinfo}) $B$r;H$&$h$&$K(B -$B$7$?!#(B - - -*** $B$=$NB>(B - -$B!&(Bparser $B$rJQ99$7$?(B - -$B!&L?L>5,B'$rJQ99$7$?(B - -$B!&(Barticle buffer $B$N(B buffer local $BJQ?t(B mime/preview-buffer $B$r(B - mime::article/preview-buffer $B$K2~L>$7$?!#(B - -$B!&4X?t(B mime/exit-view-mode $B$r(B mime-viewer/kill-buffer $B$K2~L>$7$?!#(B - -$B!&(Bmime/viewer-mode $B$N3F4X?t$r(B mime/FOO $B$+$i(B mime-viewer/FOO $B$K2~L>$7$?!#(B - $B!JNc!'(Bmime/up-content $B"*(B mime-viewer/up-content$B!K(B - -$B!&4X?t(B mime/quit-view-mode $B$r(B mime-viewer/quit $B$K2~L>$7$?!#(B - -$B!&$=$NB>(B - - -** $B$NJQ99(B - -(1) $BJQ?t(B mime/content-filter-alist $B$r(B mime-viewer/content-filter-alist - $B$K2~L>$7$?!#(B - -(2) $BJQ?t(B mime/make-content-subject-function $B$r(B - mime-viewer/content-subject-function $B$K2~L>$7!"0z?t$rJQ99$7$?!#(B - -(3) $BJQ?t(B mime/make-content-header-filter $B$r(B - mime-viewer/content-header-filter-function $B$K2~L>$7!"0z?t$rJQ99$7(B - $B$?!#(B - -(4) $BJQ?t(B mime/default-showing-Content-Type-list $B$r(B - mime-viewer/default-showing-Content-Type-list $B$K2~L>$7$?!#(B - -(5) $BJQ?t(B mime/go-to-top-node-method-alist $B$r(B - mime-viewer/quitting-method-alist $B$K2~L>$7$?!#$^$?!"(Bsymbol $BL>$d;E(B - $BMM$NJQ99$K$H$b$J$$!"=i4|@_Dj$rJQ99$7$?!#(B - - -** $B?7$7$$JQ?t(B - -*** $BJQ?t(B mime-viewer/childrens-header-showing-Content-Type-list - - $B;R6!$N(B header $B$rI=<($9$Y$-(B content-type/subtype $B$N(B list. - - $B$3$NJQ?t$O!"JQ?t(B mime-viewer/content-header-filter-function $B$N4{DjCM(B -$B$H$7$FDj5A$5$l$F$$$k4X?t(B -mime-viewer/default-content-header-filter-function $B$,;2>H$7$F$$$k$N$G!"(B -$B$b$7!"JQ?t(B mime-viewer/content-header-filter-function $B$NCM$rJL$N4X?t$K(B -$B$9$l$PL58z$K$J$k!#(B - - -*** $BJQ?t(B mime-viewer/ignored-field-list - - header $B$rI=<($9$k>l9g$G$bI=<($7$J$$(B field $B$N(B field-name $B$N(B list. - - $B$3$NJQ?t$O!"JQ?t(B mime-viewer/content-header-filter-function $B$N4{DjCM(B -$B$H$7$FDj5A$5$l$F$$$k4X?t(B -mime-viewer/default-content-header-filter-function $B$,;2>H$7$F$$$k$N$G!"(B -$B$b$7!"JQ?t(B mime-viewer/content-header-filter-function $B$NCM$rJL$N4X?t$K(B -$B$9$l$PL58z$K$J$k!#(B diff --git a/signature-jp.ol b/signature-jp.ol deleted file mode 100644 index 795362b..0000000 --- a/signature-jp.ol +++ /dev/null @@ -1,35 +0,0 @@ -$B!X(Bsignature.el $B@bL@=q!Y(B -by. $B2,It(B $Bl9g$O(B .emacs $B$K0J2<$N$h$&$J$b(B -$B$N$rF~$l$F2<$5$$!#(B - -[[E ----------------------------------------------------------------------- -(setq signature-file-alist - '( - (("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) ----------------------------------------------------------------------- -]]E - - $B$^$?!"(B*insert-signature* $B$K?t0z?t$rM?$($k$3$H$K$h$j!"BPOCE*$K(B -`signature-file-name'-DISTRIBUTION $B$N7A$NL>A0$r;}$D%U%!%$%k$r;XDj(B -$B$9$k$3$H$,$G$-$^$9!#Nc$($P(B `C-u C-c C-s'(*insert-signature*) $B$H(B -$BF~NO$9$k$H!"%_%K%P%C%U%!$G(B - - Insert your signature: ~/.signature- - -$B$HJ9$$$F$-$^$9$N$G!"@ZBXMQ$KMQ0U$5$l$?%U%!%$%k$N$J$+$+$i!"5a$a$k$b$N$r(B -$B%3%s%W%j!<%7%g%s$r;H$C$FMQ0U$KA*Br$9$k$3$H$,$G$-$^$9!#6uJ8;zNs$r(B -$BF~NO$9$l$P!"(B`signature-file-name' $B$G;XDj$5$l$k%U%!%$%k$,FI$_9~$^$l$^$9!#(B diff --git a/signature-jp.tex b/signature-jp.tex deleted file mode 100644 index ed7b800..0000000 --- a/signature-jp.tex +++ /dev/null @@ -1,56 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{ -signature.el ÀâÌÀ½ñ} -\author{ -²¬Éô ¼÷ÃË\\ -} -\date{ -1994ǯ8·î1Æü} -\maketitle -\medskip -\par -signature.el ¤Ï signature ¤Î¼«Æ°ÀÚÂؤ¨ tool ¤Ç¤¹¡£*insert-signature* -¤ò¹Ô¤¦¤³¤È¤Ë¤è¤ê¡¢`signature-insert-at-eof' ¤ÎÃͤ¬ non-nil ¤Î¤È¤­¥Ð¥Ã -¥Õ¥¡¤ÎËöÈø¤Ë¡¢nil ¤Î¤È¤­¤Ï¥«¥ì¥ó¥È¥Ý¥¤¥ó¥È¤Ë¡¢signature ¥Õ¥¡¥¤¥ë¤¬ÆÉ¤ß -¹þ¤Þ¤ì¤Þ¤¹¡£É¸½àŪ¤Êsignature ¤Ï¡¢ÊÑ¿ô `signature-file-name' ¤Ç»ØÄꤷ -¤Æ²¼¤µ¤¤(¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ï "\verb+~+/.signature")¡£message header ¤Î field ¤Ë¹ç -¤ï¤»¤Æ signature ¤Î¼«Æ°ÀÚÂؤò¹Ô¤Ê¤¤¤¿¤¤¾ì¹ç¤Ï .emacs ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¤â -¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(setq signature-file-alist - '( - (("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -¤Þ¤¿¡¢*insert-signature* ¤Ë¿ô°ú¿ô¤òÍ¿¤¨¤ë¤³¤È¤Ë¤è¤ê¡¢ÂÐÏÃŪ¤Ë -`signature-file-name'-DISTRIBUTION ¤Î·Á¤Î̾Á°¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤ò»ØÄê -¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Î㤨¤Ð `C-u C-c C-s'(*insert-signature*) ¤È -ÆþÎϤ¹¤ë¤È¡¢¥ß¥Ë¥Ð¥Ã¥Õ¥¡¤Ç -\medskip -{\list{}{\leftmargin=4ex}\item[] -\begin{description} -\item[Insert your signature:]\verb+~+/.signature- -\medskip -\end{description} -\endlist} -\par -¤Èʹ¤¤¤Æ¤­¤Þ¤¹¤Î¤Ç¡¢ÀÚÂØÍѤËÍÑ°Õ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¤Ê¤«¤«¤é¡¢µá¤á¤ë¤â¤Î¤ò -¥³¥ó¥×¥ê¡¼¥·¥ç¥ó¤ò»È¤Ã¤ÆÍÑ°Õ¤ËÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¶õʸ»úÎó¤ò -ÆþÎϤ¹¤ì¤Ð¡¢`signature-file-name' ¤Ç»ØÄꤵ¤ì¤ë¥Õ¥¡¥¤¥ë¤¬Æɤ߹þ¤Þ¤ì¤Þ¤¹¡£ -\end{document} diff --git a/tiny-mime-eng.ol b/tiny-mime-eng.ol deleted file mode 100644 index 47421ab..0000000 --- a/tiny-mime-eng.ol +++ /dev/null @@ -1,104 +0,0 @@ -[[R -\title{tiny-mime manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/8/4} -\maketitle -]]R - -* Overview - - tiny-mime is a multilingual MIME style message header -encoder/decoder based on RFC 1522 for Mule, NEmacs, and NEpoch. I -modified Mr.Enami's ISO-2022-JP Base64 MIME header decoder and make -it. Mr.Enami's program can decode only ISO-2022-JP Base64 header. But, -current tiny-mime has following functions: - - - unfolding at decoding - - encoding/decoding multilingual character sets, such as, - ISO-2022-JP, ISO-2022-JP-2, ISO-2022-CN, ISO-2022-KR, ISO-8859-*, - US-ASCII, EUC-KR - - B and Q-encoding - - -* character set and encoding - -** Mule - - Mule can use multilingual text, so in Mule, tiny-mime supports -ISO-2022-JP, ISO-2022-JP-2, US-ASCII, ISO-8859-1..9, ISO-2022-CN, -ISO-2022-KR, EUC-KR, et al. - - Additionally, you can add or change encoding/decoding for character -sets by function mime/set-charset-and-encoding. - -** NEmacs and NEpoch - - NEmacs can use Japanese and English only, so in NEmacs, tiny-mime -supports encoding/decoding only ISO-2022-JP and US-ASCII. - - And decoding ISO-8859-* encoded-words if they includes only ASCII. - - -* How to use tiny-mime.el (simple way) - -** decoding - - Please load tiny-mime.el, and do following command on the buffer -which you want to decode. - - M-x mime/decode-message-header - - And you can decode region by - - M-x mime/decode-region - -** encoding - - Please load tiny-mime.el, and do following command on the buffer -which you want to encode. - - M-x mime/encode-message-header - - - -* variables - -** mime/no-encoding-header-fields - - You can specify list of fields which you don't want to -encode. Default value is ("X-Nsubject"). - -example: don't encode Subject and X-Nsubject fields - -[[E ----------------------------------------------------------------------- -(setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) ----------------------------------------------------------------------- -]]E - - -* How to add or change character sets - - In Mule, you can add or change character sets by function -mime/set-charset-and-encoding. - - Function: mime/set-charset-and-encoding lc cs charset encoding - - lc: leading-char - cs: coding-system. Please specify nil if you don't want to use - coding-system for 1 octet character. - charset: MIME character set - encoding: encoding method for encoder - - -example 1: encode EUC-KR B encoding for KS C5601-1987 characters - - (mime/set-charset-and-encoding lc-kr *euc-kr* "EUC-KR" "B") - - -example 2: encode/decode koi8-r Q encoding - - (mime/set-charset-and-encoding lc-prv11 nil "KOI8-R" "Q") - -[WARNING] In this version, handling for private character is very ad -hoc. (^_^; I want to improve. diff --git a/tiny-mime-eng.tex b/tiny-mime-eng.tex deleted file mode 100644 index 2fbb020..0000000 --- a/tiny-mime-eng.tex +++ /dev/null @@ -1,158 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{tiny-mime manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/8/4} -\maketitle -\medskip - -\section{Overview} -\medskip -\par -tiny-mime is a multilingual MIME style message header -encoder/decoder based on RFC 1522 for Mule, NEmacs, and NEpoch. I -modified Mr.Enami's ISO-2022-JP Base64 MIME header decoder and make -it. Mr.Enami's program can decode only ISO-2022-JP Base64 header. But, -current tiny-mime has following functions: -\medskip -\begin{itemize} -\item unfolding at decoding -\item encoding/decoding multilingual character sets, such as, -ISO-2022-JP, ISO-2022-JP-2, ISO-2022-CN, ISO-2022-KR, ISO-8859-*, -US-ASCII, EUC-KR -\item B and Q-encoding -\medskip -\medskip -\end{itemize} - -\section{character set and encoding} -\medskip - -\subsection{Mule} -\medskip -\par -Mule can use multilingual text, so in Mule, tiny-mime supports -ISO-2022-JP, ISO-2022-JP-2, US-ASCII, ISO-8859-1..9, ISO-2022-CN, -ISO-2022-KR, EUC-KR, et al. -\medskip -\par -Additionally, you can add or change encoding/decoding for character -sets by function mime/set-charset-and-encoding. -\medskip - -\subsection{NEmacs and NEpoch} -\medskip -\par -NEmacs can use Japanese and English only, so in NEmacs, tiny-mime -supports encoding/decoding only ISO-2022-JP and US-ASCII. -\medskip -\par -And decoding ISO-8859-* encoded-words if they includes only ASCII. -\medskip -\medskip - -\section{How to use tiny-mime.el (simple way)} -\medskip - -\subsection{decoding} -\medskip -{\baselineskip=10pt -\begin{verbatim} - Please load tiny-mime.el, and do following command on the buffer -which you want to decode. -\end{verbatim}} -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -M-x mime/decode-message-header -\endlist} -\medskip -{\baselineskip=10pt -\begin{verbatim} - And you can decode region by -\end{verbatim}} -\medskip -{\baselineskip=10pt -\begin{verbatim} - M-x mime/decode-region -\end{verbatim}} -\medskip - -\subsection{encoding} -\medskip -{\baselineskip=10pt -\begin{verbatim} - Please load tiny-mime.el, and do following command on the buffer -which you want to encode. -\end{verbatim}} -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -M-x mime/encode-message-header -\endlist} -\medskip -\medskip -\medskip - -\section{variables} -\medskip - -\subsection{mime/no-encoding-header-fields} -\medskip -\par -You can specify list of fields which you don't want to -encode. Default value is ("X-Nsubject"). -\medskip -\begin{description} -\item[example:]don't encode Subject and X-Nsubject fields -\medskip -\end{description} -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\medskip - -\section{How to add or change character sets} -\medskip -\par -In Mule, you can add or change character sets by function -mime/set-charset-and-encoding. -\medskip -\begin{description} -\item[Function:]mime/set-charset-and-encoding lc cs charset encoding -\medskip -\begin{description} -\item[lc:]leading-char -\item[cs:]coding-system. Please specify nil if you don't want to use -coding-system for 1 octet character. -\item[charset:]MIME character set -\item[encoding:]encoding method for encoder -\medskip -\medskip -\end{description} -\end{description} -\begin{description} -\item[example 1:]encode EUC-KR B encoding for KS C5601-1987 characters -\medskip -\par -(mime/set-charset-and-encoding lc-kr *euc-kr* "EUC-KR" "B") -\medskip -\medskip -\item[example 2:]encode/decode koi8-r Q encoding -\medskip -\par -(mime/set-charset-and-encoding lc-prv11 nil "KOI8-R" "Q") -\medskip -\item[{[}WARNING{]}]In this version, handling for private character is very ad -hoc. (\verb+^+\_\verb+^+; I want to improve. -\end{description} -\end{document} diff --git a/tiny-mime-jp.ol b/tiny-mime-jp.ol deleted file mode 100644 index 2b5368d..0000000 --- a/tiny-mime-jp.ol +++ /dev/null @@ -1,260 +0,0 @@ -$B!X(Btiny-mime.el $B@bL@=q!Y(B -by. $Be$GF0:n$9$k(B MIME message -header $B$N(B encoder/decoder $B$G$9!#%*%j%8%J%k$O!"@N!"$($J$_(B $B$D$0$H$b(B $B$5$s(B -$B$,(B fj.editor.emacs $B$KEj9F$5$l$?(B MIME message header $B$N(B decoder $B$G$9!#(B - - $B8=:_$G$O!"Ev;~$N$b$N$KHf$Y!"(B - - $B!&(Bdecoding $B;~$K$*$1$k(B unfolding $B5!G=(B - $B!&(BISO-2022-JP $B$K2C$(!"(BISO-8859-*, US-ASCII $B$J$I$N(B encoding/decoding - $B!&(BQ-encoding $B$N(B decoding - -$B$H$$$C$?5!G=$r;}$C$F$$$^$9!#(B - - -* tiny-mime.el $B$N%5%]!<%H$9$k(B character set, encoding - - tiny-mime.el $B$O!"e$G!"(B - - M-x mime/decode-message-header - -$B$re$G!"(B - - M-x mime/encode-message-header - -$B$rl9g!"(Btiny-mime.el $B$,(B encode $B$7$J$/$F$b!"(B -mime.el $B$,(B encode $B$9$k$N$G!"(Bmime.el $B$N(B message header encoder $B$,F/$+$J(B -$B$$$h$&$K$K@_Dj$7$^$9!#(B - -** mime/use-X-Nsubject - - $B$3$NJQ?t$NCM$,(B t $B$N>l9g!"(Bmessage header $B$r(B encode $B$9$k;~!"(Bencode $B$7(B -$B$?7k2L!"(BSubject $B$K(B encoded-word $B$,4^$^$l$k>l9g!"(BSubject $B$r(B decode $B$7$?(B -$B$b$N$rF~$l$?(B X-Nsubject $B$r:n@.$7$^$9!#(B - - default $B$G$O(B nil $B$,;XDj$5$l$F$$$^$9!#(B - -$B!NCm0U!O(BMule $B$G(B ISO-2022-JP $B$K4^$^$l$k$b$N0J30$NJ8;z=89g$r;H$&>l9g$O!"(B -$B$3$l$r;XDj$7$J$$J}$,8-L@$G$9!#(B - -** mail-header-separator - - $B4X?t(B mime/encode-message-header $B$K$*$1$k(B message header $B$H(B body part -$B$N6h@Z$j$rI=$9JQ?t$G$9!#Nc$($P!"(BGNUS $B$G$O(B "--text follows this line--" -$B$,;XDj$5$l$^$9!#(B - -$B!NCm0U!O$3$NJQ?t$NJ8;zNs$O!"(Bversion 2.6 $B$h$j@55,I=8=$G$O$J$/$J$j$^$7$?!#(B - - -* mailer, news reader $B$X$NAH$_9~$_(B - - $BF|>oE*$K!"L50U<1$K(B MIME header $B$rK\Mh$N8@8l$G8+$?$$$H$$$&$N$OEvA3$N(B -$BM_5a$G$9!#$=$3$G!"(Btiny-mime.el $B$r(B mailer $B$d(B news reader $B$KAH$_9~$`$H<+(B -$BF0E*$K(B MIME header $B$N(B encode/decode $B$,$G$-$^$9!#(B - - $B$^$?!"(Bmetamail $B$r;H$C$F$*$i$l$kJ}$G$b!"IaCJ$O(B message header $B$N(B -decode $B$@$1$GNI$/$F!"3($d2;$J$I$r:F@8$9$k;~$@$1(B metamail $B$r;H$&$H$$$&(B -$B$h$&$J;H$$J}$b$G$-$^$9!#(B - - $B$3$NL\E*$rl9g$N$?$a$K!"(B - - (mime/decode-string $BJ8;zNs(B) - -$B$H$$$&4X?t$bMQ0U$7$F$$$^$9!#(B - - GNUS $B$H(B mh-e $B$K4X$7$F$O!"(Btm-gnus, tm-mh-e $B$H$$$&(B MIME $BBP1~2=%b%8%e!<(B -$B%k$rMQ0U$7$F$$$^$9!#(B - - $B$3$l$i$N!"3F(B MUA $B$KBP1~$9$k%b%8%e!<%k$r(B load $B$9$k$H(B tiny-mime.el $B$K(B -$B$h$k(B MIME header $B$NI|85$H(B tm-body $B$rMxMQ$7$?(B MIME body $B$N:F@8$,9T$J$((B -$B$^$9!#(B - - $B>\$7$/$O!"$=$l$>$l$N@bL@=q$r$*FI$_2<$5$$!#(B - - -* mime.el $B$H$NJ;MQ(B - - mime.el $B$HJ;MQ$9$kNc$r<($7$^$9!#$3$NNc$N>l9g!"(BISO-2022-JP $BJ8;zNs$N(B -encode $B$O(B tiny-mime.el $B$,9T$J$$!"$=$l0J30$NJ8;z=89g$KB0$9$kJ8;zNs$O(B -mime.el $B$,(B encode $B$7$^$9!#(B - - $B$^$?!"(Btiny-mime.el $B$,(B encode $B$7$J$+$C$?J8;zNs$b(B mime.el $B$,(B encode $B$9(B -$B$k$N$G!"7k2LE*$K!"I,$:A4$F$N(B field $B$,(B encode $B$5$l$k$3$H$KCm0U$7$F2<$5(B -$B$$!#(B - -[[E ----------------------------------------------------------------------- -;;; -;;; for Edit MIME mode -;;; -(autoload 'mime-mode "mime" "Edit MIME message." t) -(autoload 'mime-convert-buffer "mime" "convert to MIME." t) -(autoload 'insert-signature "signature" "Insert signature" t) -(add-hook 'mime-mode-hook - (function - (lambda () - (define-key (current-local-map) - "\C-c\C-s" (function insert-signature)) - ))) - -;; MIME header $B$N(B encoder $B$r(B tiny-mime $B$N$b$N$r;H$&!#(B -(setq mime-translate-hook 'mime/encode-message-header) - -;;; -;;; for GNUS -;;; -(add-hook 'news-reply-mode-hook (function mime-mode)) -(setq gnus-signature-file nil) - -;;; -;;; for mh-e -;;; -(add-hook 'mh-letter-mode-hook - (function - (lambda () - (mime/decode-message-header) - (mime-mode) - (make-local-variable 'mail-header-separator) - (setq mail-header-separator "--------")) - )) ----------------------------------------------------------------------- -]]E - -** $BFCDj$N(B field $B$r(B encode $B$7$?$/$J$$>l9g(B - - $BFCDj$N(B field $B$r(B encode $B$7$?$/$J$$>l9g!"(Btiny-mime.el $B$NJQ?t(B -mime/no-encoding-header-fields $B$K$h$C$F!"(Btiny-mime.el $B$K$h$k(B encode $B$r(B -$B$d$a$k$3$H$,$G$-$^$9$,!"(Bmime.el $B$,(B encode $B$9$k$N$G$O0UL#$,$"$j$^$;$s!#(B -$B$=$3$G!"l9g$O!"(Bnil $B$r;XDj$9$k!#(B - charset: MIME $B$N(B charset. - encoding: encode $B$9$k:]$N(B encoding. - - - $BNc!'(B KS C5601-1987 $B$r(B EUC-KR $B$N(B B encoding $B$9$k$h$&$K@_Dj$9$k(B - - (mime/set-charset-and-encoding lc-kr *euc-kr* "EUC-KR" "B") - - - $BNc!'(B koi8-r $B$r(B Q encoding $B$9$k$h$&$K@_Dj$9$k!#(B - - (mime/set-charset-and-encoding lc-prv11 nil "KOI8-R" "Q") - - -$B!NCm0U!O8=:_$N$H$3$m!"(Bprivate character $B$N@_Dj$OFq$"$j$G$9!#(B(^_^; diff --git a/tiny-mime-jp.tex b/tiny-mime-jp.tex deleted file mode 100644 index 3beb18b..0000000 --- a/tiny-mime-jp.tex +++ /dev/null @@ -1,353 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{ -tiny-mime.el ÀâÌÀ½ñ} -\author{ -¼é²¬ ÃÎɧ\\ -} -\date{ -1994ǯ7·î27Æü} -\maketitle -\medskip -\par -¤³¤ÎÀâÌÀ½ñ¤Ï ol2 ¤È plain2 ¤òÍѤ¤¤ë¤³¤È¤Ë¤è¤Ã¤Æ LaTeX ·Á¼°¤ËÊÑ´¹¤¹¤ë -¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip -\medskip - -\section{tiny-mime.el ¤È¤Ï} -\medskip -\par -tiny-mime.el ¤Ï Mule, NEmacs, NEpoch ¾å¤ÇÆ°ºî¤¹¤ë MIME message -header ¤Î encoder/decoder ¤Ç¤¹¡£¥ª¥ê¥¸¥Ê¥ë¤Ï¡¢ÀΡ¢¤¨¤Ê¤ß ¤Ä¤°¤È¤â ¤µ¤ó -¤¬ fj.editor.emacs ¤ËÅê¹Æ¤µ¤ì¤¿ MIME message header ¤Î decoder ¤Ç¤¹¡£ -\medskip -\par -¸½ºß¤Ç¤Ï¡¢Åö»þ¤Î¤â¤Î¤ËÈæ¤Ù¡¢ -\medskip -\begin{itemize} -\item decoding »þ¤Ë¤ª¤±¤ë unfolding µ¡Ç½ -\item ISO-2022-JP ¤Ë²Ã¤¨¡¢ISO-8859-*, US-ASCII ¤Ê¤É¤Î encoding/decoding -\item Q-encoding ¤Î decoding -\medskip -\end{itemize} -\par -¤È¤¤¤Ã¤¿µ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ -\medskip -\medskip - -\section{tiny-mime.el ¤Î¥µ¥Ý¡¼¥È¤¹¤ë character set, encoding} -\medskip -\par -tiny-mime.el ¤Ï¡¢¼¡¤Î character set, encoding ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ -\medskip - -\subsection{Mule} -\medskip -\par -ISO-2022-JP, US-ASCII, ISO-8859-1..9, ISO-2022-CN, ISO-2022-KR, -EUC-KR ¤Ê¤É¤Î encoding/decoding ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¤Þ¤¿¡¢´Ø¿ô -mime/set-charset-and-encoding ¤ÇÄɲá¦Êѹ¹¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip - -\subsection{NEmacs, NEpoch} -\medskip -\par -ISO-2022-JP, US-ASCII ¤Î encoding/decoding ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ -\medskip -\par -¤Þ¤¿¡¢ISO-8859-*¤Ç¤¢¤Ã¤Æ¤â¡¢encoded-text ¤Ë´Þ¤Þ¤ì¤ëʸ»úÎó¤¬¼ÂºÝ¤Ë¤Ï -ASCII ¤Çɽ¤»¤ëÈϰϤʤéɽ¼¨¤·¤Þ¤¹¡£ -\medskip -\medskip - -\section{tiny-mime.el ¤Î´Êñ¤Ê»È¤¤Êý} -\medskip - -\subsection{decode} -\medskip -\par -tiny-mime.el ¤ò load ¤·¤Æ¡¢decode ¤·¤¿¤¤ buffer ¾å¤Ç¡¢ -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -M-x mime/decode-message-header -\endlist} -\medskip -\par -¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -\medskip -\par -¤Þ¤¿¡¢decode ¤·¤¿¤¤ region ¤ò -\medskip -{\baselineskip=10pt -\begin{verbatim} - M-x mime/decode-region -\end{verbatim}} -\medskip -\par -¤Ç decode ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£°úÍÑ¤Ê¤É¤Ç body-part ¤Ë»Ä¤Ã¤¿ -encoded-word ¤ò decode ¤¹¤ë¤Î¤ËÊØÍø¤Ç¤·¤ç¤¦¡£ -\medskip - -\subsection{encode} -\medskip -\par -tiny-mime.el ¤ò load ¤·¤Æ¡¢encode ¤·¤¿¤¤ buffer ¾å¤Ç¡¢ -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -M-x mime/encode-message-header -\endlist} -\medskip -\par -¤ò¼Â¹Ô¤·¤Þ¤¹¡£ -\medskip -\medskip - -\section{tiny-mime.el ¤ÎÊÑ¿ô} -\medskip - -\subsection{mime/no-encoding-header-fields} -\medskip -\par -tiny-mime.el ¤Ç encode ¤·¤Ê¤¤ message header ¤Î field ¤ò»ØÄꤷ¤Þ¤¹¡£ -\medskip -\par -default ¤Ç¤Ï X-Nsubject ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -\medskip -\par -Î㡧 X-Nsubject ¤È Subject ¤ò encode ¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -¡ÎÃí°Õ¡Ï mime.el ¤ÈÊ»ÍѤ¹¤ë¾ì¹ç¡¢tiny-mime.el ¤¬ encode ¤·¤Ê¤¯¤Æ¤â¡¢ -mime.el ¤¬ encode ¤¹¤ë¤Î¤Ç¡¢mime.el ¤Î message header encoder ¤¬Æ¯¤«¤Ê -¤¤¤è¤¦¤Ë¤ËÀßÄꤷ¤Þ¤¹¡£ -\medskip - -\subsection{mime/use-X-Nsubject} -\medskip -\par -¤³¤ÎÊÑ¿ô¤ÎÃͤ¬ t ¤Î¾ì¹ç¡¢message header ¤ò encode ¤¹¤ë»þ¡¢encode ¤· -¤¿·ë²Ì¡¢Subject ¤Ë encoded-word ¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢Subject ¤ò decode ¤·¤¿ -¤â¤Î¤òÆþ¤ì¤¿ X-Nsubject ¤òºîÀ®¤·¤Þ¤¹¡£ -\medskip -\par -default ¤Ç¤Ï nil ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ -\medskip -\par -¡ÎÃí°Õ¡ÏMule ¤Ç ISO-2022-JP ¤Ë´Þ¤Þ¤ì¤ë¤â¤Î°Ê³°¤Îʸ»ú½¸¹ç¤ò»È¤¦¾ì¹ç¤Ï¡¢ -¤³¤ì¤ò»ØÄꤷ¤Ê¤¤Êý¤¬¸­ÌÀ¤Ç¤¹¡£ -\medskip - -\subsection{mail-header-separator} -\medskip -\par -´Ø¿ô mime/encode-message-header ¤Ë¤ª¤±¤ë message header ¤È body part -¤Î¶èÀÚ¤ê¤òɽ¤¹ÊÑ¿ô¤Ç¤¹¡£Î㤨¤Ð¡¢GNUS ¤Ç¤Ï "--text follows this line--" -¤¬»ØÄꤵ¤ì¤Þ¤¹¡£ -\medskip -\par -¡ÎÃí°Õ¡Ï¤³¤ÎÊÑ¿ô¤Îʸ»úÎó¤Ï¡¢version 2.6 ¤è¤êÀµµ¬É½¸½¤Ç¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£ -\medskip -\medskip - -\section{mailer, news reader ¤Ø¤ÎÁȤ߹þ¤ß} -\medskip -\par -Æü¾ïŪ¤Ë¡¢Ìµ°Õ¼±¤Ë MIME header ¤òËÜÍè¤Î¸À¸ì¤Ç¸«¤¿¤¤¤È¤¤¤¦¤Î¤ÏÅöÁ³¤Î -Íßµá¤Ç¤¹¡£¤½¤³¤Ç¡¢tiny-mime.el ¤ò mailer ¤ä news reader ¤ËÁȤ߹þ¤à¤È¼« -ưŪ¤Ë MIME header ¤Î encode/decode ¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip -\par -¤Þ¤¿¡¢metamail ¤ò»È¤Ã¤Æ¤ª¤é¤ì¤ëÊý¤Ç¤â¡¢ÉáÃÊ¤Ï message header ¤Î -decode ¤À¤±¤ÇÎɤ¯¤Æ¡¢³¨¤ä²»¤Ê¤É¤òºÆÀ¸¤¹¤ë»þ¤À¤± metamail ¤ò»È¤¦¤È¤¤¤¦ -¤è¤¦¤Ê»È¤¤Êý¤â¤Ç¤­¤Þ¤¹¡£ -\medskip -\par -¤³¤ÎÌÜŪ¤ò¼Â¸½¤¹¤ë¤Ë¤Ï¡¢mailer ¤ä news reader ¤ÎŬÀÚ¤Ê hook ¤Ë -mime/decode-message-header ¤òÆþ¤ì¤ì¤ÐÎɤ¤¤Ç¤·¤ç¤¦¡£¤Þ¤¿¡¢Ê¸»úÎó¤Î -decode ¤ò¤·¤¿¤¤¾ì¹ç¤Î¤¿¤á¤Ë¡¢ -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -(mime/decode-string ʸ»úÎó) -\endlist} -\medskip -\par -¤È¤¤¤¦´Ø¿ô¤âÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£ -\medskip -\par -GNUS ¤È mh-e ¤Ë´Ø¤·¤Æ¤Ï¡¢tm-gnus, tm-mh-e ¤È¤¤¤¦ MIME Âбþ²½¥â¥¸¥å¡¼ -¥ë¤òÍÑ°Õ¤·¤Æ¤¤¤Þ¤¹¡£ -\medskip -\par -¤³¤ì¤é¤Î¡¢³Æ MUA ¤ËÂбþ¤¹¤ë¥â¥¸¥å¡¼¥ë¤ò load ¤¹¤ë¤È tiny-mime.el ¤Ë -¤è¤ë MIME header ¤ÎÉü¸µ¤È tm-body ¤òÍøÍѤ·¤¿ MIME body ¤ÎºÆÀ¸¤¬¹Ô¤Ê¤¨ -¤Þ¤¹¡£ -\medskip -\par -¾Ü¤·¤¯¤Ï¡¢¤½¤ì¤¾¤ì¤ÎÀâÌÀ½ñ¤ò¤ªÆɤ߲¼¤µ¤¤¡£ -\medskip -\medskip - -\section{mime.el ¤È¤ÎÊ»ÍÑ} -\medskip -\par -mime.el ¤ÈÊ»ÍѤ¹¤ëÎã¤ò¼¨¤·¤Þ¤¹¡£¤³¤ÎÎã¤Î¾ì¹ç¡¢ISO-2022-JP ʸ»úÎó¤Î -encode ¤Ï tiny-mime.el ¤¬¹Ô¤Ê¤¤¡¢¤½¤ì°Ê³°¤Îʸ»ú½¸¹ç¤Ë°¤¹¤ëʸ»úÎó¤Ï -mime.el ¤¬ encode ¤·¤Þ¤¹¡£ -\medskip -\par -¤Þ¤¿¡¢tiny-mime.el ¤¬ encode ¤·¤Ê¤«¤Ã¤¿Ê¸»úÎó¤â mime.el ¤¬ encode ¤¹ -¤ë¤Î¤Ç¡¢·ë²ÌŪ¤Ë¡¢É¬¤ºÁ´¤Æ¤Î field ¤¬ encode ¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Æ²¼¤µ -¤¤¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -;;; -;;; for Edit MIME mode -;;; -(autoload 'mime-mode "mime" "Edit MIME message." t) -(autoload 'mime-convert-buffer "mime" "convert to MIME." t) -(autoload 'insert-signature "signature" "Insert signature" t) -(add-hook 'mime-mode-hook - (function - (lambda () - (define-key (current-local-map) - "\C-c\C-s" (function insert-signature)) - ))) - -;; MIME header ¤Î encoder ¤ò tiny-mime ¤Î¤â¤Î¤ò»È¤¦¡£ -(setq mime-translate-hook 'mime/encode-message-header) - -;;; -;;; for GNUS -;;; -(add-hook 'news-reply-mode-hook (function mime-mode)) -(setq gnus-signature-file nil) - -;;; -;;; for mh-e -;;; -(add-hook 'mh-letter-mode-hook - (function - (lambda () - (mime/decode-message-header) - (mime-mode) - (make-local-variable 'mail-header-separator) - (setq mail-header-separator "--------")) - )) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip - -\subsection{ÆÃÄê¤Î field ¤ò encode ¤·¤¿¤¯¤Ê¤¤¾ì¹ç} -\medskip -\par -ÆÃÄê¤Î field ¤ò encode ¤·¤¿¤¯¤Ê¤¤¾ì¹ç¡¢tiny-mime.el ¤ÎÊÑ¿ô -mime/no-encoding-header-fields ¤Ë¤è¤Ã¤Æ¡¢tiny-mime.el ¤Ë¤è¤ë encode ¤ò -¤ä¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢mime.el ¤¬ encode ¤¹¤ë¤Î¤Ç¤Ï°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó¡£ -¤½¤³¤Ç¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤Ç¡¢mime.el ¤Ç¤â encode ¤·¤Ê¤¤¤è¤¦¤Ë¤Ç¤­ -¤Þ¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(if (boundp 'MULE) - (progn - (defun mime-header-charset-chooser-for-mule-no-encode-ISO-2022-JP (begin end) - (let ((lclist (find-charset-region begin end))) - (cond ((null lclist) nil) ;US-ASCII requres no encoding. - ((memq lc-ltn1 lclist) - '("ISO-8859-1" . "Q")) - ((memq lc-ltn2 lclist) - '("ISO-8859-2" . "Q")) - ((memq lc-ltn3 lclist) - '("ISO-8859-3" . "Q")) - ((memq lc-ltn4 lclist) - '("ISO-8859-4" . "Q")) - ((memq lc-crl lclist) - '("ISO-8859-5" . "Q")) - ;;((memq lc-arb lclist) - ;; '("ISO-8859-6" . "Q")) - ((memq lc-grk lclist) - '("ISO-8859-7" . "Q")) - ((memq lc-hbw lclist) - '("ISO-8859-8" . "Q")) - ((memq lc-ltn5 lclist) - '("ISO-8859-9" . "Q")) - ((memq lc-jp lclist) nil) - (t ;Unknown charset. It must be Mule! - '("ISO-2022-JP-2" . "B")) - ))) - (setq mime-header-charset-chooser - 'mime-header-charset-chooser-for-mule-no-encode-ISO-2022-JP) - ) - (progn - (defun mime-header-charset-chooser-for-nemacs-no-encode-ISO-2022-JP (begin end)) - (setq mime-header-charset-chooser - 'mime-header-charset-chooser-for-nemacs-no-encode-ISO-2022-JP) - )) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -Íפ¹¤ë¤Ë¡¢ISO-2022-JP ʸ»úÎó¤Î encode ¤ò mime.el ¤Ë¤µ¤»¤Ê¤¯¤¹¤ëÌõ¤Ç -¤¹¡£ -\medskip -\medskip - -\section{charset ¤ÎÄɲá¦Êѹ¹} -\medskip -\par -Mule ¤Ç¤Ï¡¢´Ø¿ô mime/set-charset-and-encoding ¤Ç¡¢charset ¤ÎÄɲá¦ÊÑ -¹¹¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip -\begin{description} -\item[´Ø¿ô:]mime/set-charset-and-encoding lc cs charset encoding -\medskip -\begin{description} -\item[lc:]charset ¤ËÂбþ¤¹¤ë leading-char ¤ò»ØÄꤹ¤ë¡£ -\item[cs:]charset ¤ËÂбþ¤¹¤ë coding-system ¤ò»ØÄꤹ¤ë¡£1 octet ʸ»ú -½¸¹ç¤Ç coding-system ¤òºî¤é¤Ê¤¤¾ì¹ç¤Ï¡¢nil ¤ò»ØÄꤹ¤ë¡£ -\item[charset:]MIME ¤Î charset. -\item[encoding:]encode ¤¹¤ëºÝ¤Î encoding. -\medskip -\medskip -\end{description} -\end{description} -\par -Î㡧 KS C5601-1987 ¤ò EUC-KR ¤Î B encoding ¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -(mime/set-charset-and-encoding lc-kr *euc-kr* "EUC-KR" "B") -\endlist} -\medskip -\medskip -\par -Î㡧 koi8-r ¤ò Q encoding ¤¹¤ë¤è¤¦¤ËÀßÄꤹ¤ë¡£ -\medskip -{\list{}{\leftmargin=8ex}\item[] -\par -(mime/set-charset-and-encoding lc-prv11 nil "KOI8-R" "Q") -\endlist} -\medskip -\medskip -\par -¡ÎÃí°Õ¡Ï¸½ºß¤Î¤È¤³¤í¡¢private character ¤ÎÀßÄê¤ÏÆñ¤¢¤ê¤Ç¤¹¡£(\verb+^+\_\verb+^+; -\end{document} diff --git a/tl-18.el b/tl-18.el deleted file mode 100644 index 52b33d7..0000000 --- a/tl-18.el +++ /dev/null @@ -1,46 +0,0 @@ -;;; -;;; $Id: tl-18.el,v 0.6 1994/08/01 05:07:03 morioka Exp $ -;;; - -(provide 'tl-18) - -(defun add-hook (hook function &optional append) - "Add to the value of HOOK the function FUNCTION. -FUNCTION is not added if already present. -FUNCTION is added (if necessary) at the beginning of the hook list -unless the optional argument APPEND is non-nil, in which case -FUNCTION is added at the end. - -HOOK should be a symbol, and FUNCTION may be any valid function. If -HOOK is void, it is first set to nil. If HOOK's value is a single -function, it is changed to a list of functions." - (or (boundp hook) - (set hook nil) - ) - ;; If the hook value is a single function, turn it into a list. - (let ((old (symbol-value hook))) - (if (or (not (listp old)) - (eq (car old) 'lambda)) - (set hook (list old)) - )) - (or (if (consp function) - ;; Clever way to tell whether a given lambda-expression - ;; is equal to anything in the hook. - (let ((tail (assoc (cdr function) (symbol-value hook)))) - (equal function tail) - ) - (memq function (symbol-value hook)) - ) - (set hook - (if append - (nconc (symbol-value hook) (list function)) - (cons function (symbol-value hook)) - )) - )) - -(defun member (elt list) - "Return non-nil if ELT is an element of LIST. Comparison done with EQUAL. -The value is actually the tail of LIST whose car is ELT." - (while (and list (not (equal elt (car list)))) - (setq list (cdr list))) - list) diff --git a/tl-header.el b/tl-header.el deleted file mode 100644 index fe37fec..0000000 --- a/tl-header.el +++ /dev/null @@ -1,164 +0,0 @@ -;;; -;;; $Id: tl-header.el,v 5.2 1994/12/07 07:29:33 morioka Exp $ -;;; - -(provide 'tl-header) - -(defconst message/quoted-string-regexp "\"[^\"]*\"") -(defconst message/field-name-regexp "^[!-9;-~]+:") -(defconst message/field-body-regexp ".*\\(\n[ \t].*\\)*") -(defconst message/field-regexp - (concat message/field-name-regexp - message/field-body-regexp)) -(defconst message/word-regexp "[!#-'*+0-9=?A-Z^-~---]+") -(defconst message/local-part-regexp - (concat message/word-regexp "\\(\\." message/word-regexp "\\)*")) -(defconst message/domain-regexp (concat "@" message/local-part-regexp)) -(defconst message/addr-spec-regexp - (concat message/local-part-regexp "\\(" message/domain-regexp "\\)?")) - -(defun message/get-field-body (name) - (save-excursion - (save-restriction - (goto-char (point-min)) - (if (re-search-forward (concat "^" name ":[ \t]*") nil t) - (buffer-substring - (match-end 0) - (and (re-search-forward message/field-body-regexp nil t) - (match-end 0)) - ))))) - -(defun message/divide-field (str) - (let (field-name field-body) - (if (string-match message/field-name-regexp str) - (progn - (setq field-name (substring str 0 (match-end 0))) - (setq field-body (substring str (match-end 0))) - (if (string-match "^[ \t]+" field-body) - (setq field-body (substring field-body (match-end 0))) - ) - (list field-name field-body) - )))) - -(defun message/parse-addr-spec (str) - (if (string-match "^\\s +" str) - (setq str (substring str (match-end 0))) - ) - (if (eq (string-match message/addr-spec-regexp str) 0) - (list (list (substring str 0 (match-end 0))) - (substring str (match-end 0)) - ) - )) - -(defun message/parse-phrase-route-addr (str) - (let ((p (and (string-match "^\\(\".*\"\\|[^,]\\)*<" str) - (match-end 0))) - phrase ad) - (if (and p - (setq ad (message/parse-addr-spec (substring str p))) - (eq (elt (nth 1 ad) 0) ?>)) - (list (list (substring str 0 (- p 1)) - "<" - (car (car ad)) - ">") - (substring (nth 1 ad) 1) - ) - nil) - )) - -(defun message::match-ctexts (str) - (if (string-match "^[^()\\\\]+" str) - (let ((e (match-end 0))) - (list (substring str 0 e)(substring str e)) - ))) - -(defun message::match-comment (str) - (catch 'tag - (if (and (>= (length str) 2) - (= (elt str 0) ?\() - ) - (let ((dest "") ret) - (setq str (substring str 1)) - (while (cond ((string= str "") - (throw 'tag nil) - ) - ((not (= (elt str 0) ?\))) - (setq ret (or (message::match-ctexts str) - (message::match-comment str) - )) - )) - (setq dest (concat dest (car ret))) - (setq str (nth 1 ret)) - ) - (if (= (elt str 0) ?\)) - (list (concat "(" dest ")") (substring str 1)) - ) - )))) - -(defun message/parse-comment (str) - (if (string-match "^\\s +" str) - (setq str (substring str (match-end 0))) - ) - (let ((ret (message::match-comment str))) - (if ret - (list (list "(" (substring (car ret) 1 (- (length (car ret)) 1)) - ")") - (nth 1 ret) - ) - ))) - -(defun message/parse-address (str) - (let ((ret (or - (message/parse-phrase-route-addr str) - (message/parse-addr-spec str) - )) - n rest type cret) - (if ret - (progn - (setq rest (cdr ret)) - (setq cret (message/parse-comment (car rest))) - (if cret - (list (append (car ret) (car cret)) - (cdr cret)) - (list (car ret) rest) - ) - )) - )) - -(defun message/parse-addresses (str) - (let (dest - (ret (message/parse-address str)) - rs) - (if ret - (progn - (setq dest (list (car ret))) - (setq rs (car (nth 1 ret))) - (while (and (string-match "^\\s *,\\s *" rs) - (setq ret (message/parse-address - (substring rs (match-end 0)))) - ) - (setq dest (append dest (list (car ret)))) - (setq rs (car (nth 1 ret))) - ) - (if (string-match "^\\s *$" rs) - dest) - )) - )) - -(defun message/unfolding-string (str) - (let ((dest "")) - (while (string-match "\n\\s +" str) - (setq dest (concat dest (substring str 0 (match-beginning 0)) " ")) - (setq str (substring str (match-end 0))) - ) - (concat dest str) - )) - -(defun message/strip-quoted-string (str) - (let ((max (- (length str) 1)) - ) - (if (and (eq (elt str 0) ?\") - (eq (elt str max) ?\") - ) - (substring str 1 max) - str))) diff --git a/tl-list.el b/tl-list.el deleted file mode 100644 index 4c2a538..0000000 --- a/tl-list.el +++ /dev/null @@ -1,225 +0,0 @@ -;;; -;;; $Id: tl-list.el,v 2.5 1994/12/27 01:49:41 morioka Exp $ -;;; - -(provide 'tl-list) - -(require 'tl-str) - - -;;; @ list -;;; - -(defun last (list) - "Returns the last element in the list . -[mol's Common Lisp emulating function]" - (nthcdr (- (length list) 1) list) - ) - -(defun butlast (x &optional n) - "Returns a copy of LIST with the last N elements removed. -[tl-list.el: imported from cl.el]" - (if (and n (<= n 0)) x - (nbutlast (copy-sequence x) n))) - -(defun nbutlast (x &optional n) - "Modifies LIST to remove the last N elements. -[tl-list.el: imported from cl.el]" - (let ((m (length x))) - (or n (setq n 1)) - (and (< n m) - (progn - (if (> n 0) (setcdr (nthcdr (- (1- m) n) x) nil)) - x)))) - - -(defun nth-prev (n ls) - "Return elements of LS until N - 1 th. [tl-list.el]" - (butlast ls (- (length ls) n)) - ) - -(defun except-nth (n ls) - "Return elements of LS except N th. [tl-list.el]" - (append (nth-prev n ls) (nthcdr (+ 1 n) ls)) - ) - -(defun last-element (ls) - "Return last element. [tl-list.el]" - (car (last ls)) - ) - - -;;; @ set -;;; -(fset 'is-member 'member) - - -;;; @ alist -;;; - -(defun put-alist (item value alist) - "If there is a pair whose car is , replace its cdr by . -If there is not such pair, create new pair ( . ) and -return new alist whose car is the new pair and cdr is . -[mol's ELIS emulating function]" - (if (assoc item alist) - (progn - (rplacd (assoc item alist) value) - alist) - (cons (cons item value) alist) - )) - -(defun del-alist (item alist) - "If there is a pair whose key is , delete it from . -[mol's ELIS emulating function]" - (if (equal item (car (car alist))) - (cdr alist) - (let ((pr alist) - (r (cdr alist)) - ) - (catch 'tag - (while (not (null r)) - (if (equal item (car (car r))) - (progn - (rplacd pr (cdr r)) - (throw 'tag alist))) - (setq pr r) - (setq r (cdr r)) - ) - alist)))) - -(defun set-alist (sym item value) - (if (not (boundp sym)) - (set sym nil) - ) - (set sym (put-alist item value (eval sym))) - ) - - -;;; @ field -;;; - -(defun fetch-field (key alist) - (assoc key alist) - ) - -(defun fetch-field-value (key alist) - (cdr (assoc key alist)) - ) - -(fset 'put-field 'put-alist) -(fset 'delete-field 'del-alist) - -(defun put-fields (tp c) - (catch 'tag - (let ((r tp) f ret) - (while r - (setq f (car r)) - (if (not (if (setq ret (fetch-field (car f) c)) - (equal (cdr ret)(cdr f)) - (setq c (cons f c)) - )) - (throw 'tag 'error)) - (setq r (cdr r)) - )) - c)) - - -;;; @ field unifier -;;; - -(defun field-unifier-for-default (a b) - (let ((ret - (cond ((equal a b) a) - ((null (cdr b)) a) - ((null (cdr a)) b) - ))) - (if ret - (list nil ret nil) - ))) - -(defun field-unify (a b) - (let ((sym (symbol-concat "field-unifier-for-" (car a)))) - (if (not (fboundp sym)) - (setq sym (function field-unifier-for-default)) - ) - (funcall sym a b) - )) - - -;;; @ type unifier -;;; - -(defun assoc-unify (class instance) - (catch 'tag - (let ((cla (copy-alist class)) - (ins (copy-alist instance)) - (r class) - cell aret ret prev rest) - (while r - (setq cell (car r)) - (setq aret (fetch-field (car cell) ins)) - (if aret - (if (setq ret (field-unify cell aret)) - (progn - (if (car ret) - (setq prev (put-field (car (car ret)) - (cdr (car ret)) - prev)) - ) - (if (nth 2 ret) - (setq rest (put-field (car (nth 2 ret)) - (cdr (nth 2 ret)) - rest)) - ) - (setq cla (put-field (car cell)(cdr (nth 1 ret)) cla)) - (setq ins (delete-field (car cell) ins)) - ) - (throw 'tag nil) - )) - (setq r (cdr r)) - ) - (setq r (copy-alist ins)) - (while r - (setq cell (car r)) - (setq aret (fetch-field (car cell) cla)) - (if aret - (if (setq ret (field-unify cell aret)) - (progn - (if (car ret) - (setq prev (put-field (car (car ret)) - (cdr (car ret)) - prev)) - ) - (if (nth 2 ret) - (setq rest (put-field (car (nth 2 ret)) - (cdr (nth 2 ret)) - rest)) - ) - (setq cla (delete-field (car cell) cla)) - (setq ins (put-field (car cell)(cdr (nth 1 ret)) ins)) - ) - (throw 'tag nil) - )) - (setq r (cdr r)) - ) - (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/tl-mule.el b/tl-mule.el deleted file mode 100644 index 9ae62fe..0000000 --- a/tl-mule.el +++ /dev/null @@ -1,11 +0,0 @@ -;;; -;;; $Id$ -;;; - -(provide 'tl-mule) - -(defun get-lc (chr) - "Return leading character of CHAR or LEADING-CHARACTER." - (if (< chr 128) - lc-ascii - chr)) diff --git a/tl-nemacs.el b/tl-nemacs.el deleted file mode 100644 index 78bd3b8..0000000 --- a/tl-nemacs.el +++ /dev/null @@ -1,98 +0,0 @@ -;;; -;;; $Id: tl-nemacs.el,v 2.0 1994/10/29 18:31:55 morioka Exp $ -;;; - -(provide 'tl-nemacs) - - -;;; @ constants -;;; - -(defconst *junet* 2) -(defconst *internal* 3) -(defconst *euc-japan* 3) - -(defconst lc-ascii 0) -(defconst lc-jp 146) - -;; by mol. 1993/9/26 -(defun string-width (str) - "Return number of columns STRING will occupy. - [Mule compatible function in tm-nemacs]" - (length str)) - -(defun char-bytes (chr) - "Return number of bytes CHAR will occupy in a buffer. - [Mule compatible function in tm-nemacs]" - (if (< chr 128) 1 2)) - -(defun char-width (chr) - "Return number of columns CHAR will occupy when displayed. - [Mule compatible function in tm-nemacs]" - (if (< chr 128) 1 2)) - -(defun code-convert-string (str ic oc) - "Convert code in STRING from SOURCE code to TARGET code, -On successful converion, returns the result string, -else returns nil. [Mule compatible function in tm-nemacs]" - (if (not (eq ic oc)) - (convert-string-kanji-code str ic oc) - str)) - -(defun check-ASCII-string (str) - (let ((i 0) - len) - (setq len (length str)) - (catch 'label - (while (< i len) - (if (>= (elt str i) 128) - (throw 'label nil)) - (setq i (+ i 1)) - ) - str))) - -(defun get-lc (chr) - "Return leading character of CHAR or LEADING-CHARACTER." - (if (< chr 128) - lc-ascii - lc-jp)) - - -;; by YAMATE Keiichirou 1994/10/28 -(defun attribute-add-narrow-attribute (attr from to) - (or (consp (symbol-value attr)) - (set attr (list 1))) - (let* ((attr-value (symbol-value attr)) - (len (car attr-value)) - (posfrom 1) - posto) - (while (and (< posfrom len) - (> from (nth posfrom attr-value))) - (setq posfrom (1+ posfrom))) - (setq posto posfrom) - (while (and (< posto len) - (> to (nth posto attr-value))) - (setq posto (1+ posto))) - (if (= posto posfrom) - (if (= (% posto 2) 1) - (if (and (< to len) - (= to (nth posto attr-value))) - (set-marker (nth posto attr-value) from) - (setcdr (nthcdr (1- posfrom) attr-value) - (cons (set-marker-type (set-marker (make-marker) - from) - 'point-type) - (cons (set-marker-type (set-marker (make-marker) - to) - nil) - (nthcdr posto attr-value)))) - (setcar attr-value (+ len 2)))) - (if (= (% posfrom 2) 0) - (setq posfrom (1- posfrom)) - (set-marker (nth posfrom attr-value) from)) - (if (= (% posto 2) 0) - nil - (setq posto (1- posto)) - (set-marker (nth posto attr-value) to)) - (setcdr (nthcdr posfrom attr-value) - (nthcdr posto attr-value))))) diff --git a/tl-orig.el b/tl-orig.el deleted file mode 100644 index 47535c3..0000000 --- a/tl-orig.el +++ /dev/null @@ -1,25 +0,0 @@ -;;; -;;; $Id: tl-orig.el,v 1.2 1994/10/20 00:37:48 morioka Exp $ -;;; - -(provide 'tl-orig) - - -;;; @ constants -;;; -(defconst lc-ascii 0) -(defconst lc-ltn1 129) - - -;;; @ functions -;;; - -(defun get-lc (chr) - "Return leading character of CHAR or LEADING-CHARACTER." - (if (< chr 128) - lc-ascii - lc-ltn1)) - -(defun string-width (str) (length str)) -(defun char-bytes (chr) 1) -(defun char-width (chr) 1) diff --git a/tl-str.el b/tl-str.el deleted file mode 100644 index e4f60b3..0000000 --- a/tl-str.el +++ /dev/null @@ -1,138 +0,0 @@ -;;; -;;; $Id: tl-str.el,v 3.2 1994/12/19 10:03:57 morioka Exp $ -;;; - -(provide 'tl-str) - - -;;; @@ about rightful dividing for multi-octet string -;;; -;; by mol. 1993/9/26 -(defun rightful-boundary-short-string (str width) - (substring str 0 - (let ((i 0) (w 0) chr (len (length str))) - (catch 'label - (while (< i len) - (setq chr (elt str i)) - (setq w (+ w (char-width chr))) - (if (> w width) - (throw 'label i)) - (setq i (+ i (char-bytes chr))) - ) - i)) - )) - - -;;; @@ RCS version -;;; - -(defun get-version-string (id) - (and (string-match "[0-9][0-9.]*" id) - (substring id (match-beginning 0)(match-end 0)) - )) - - -;;; @@ file name -;;; -(defun replace-as-filename (str) - (let ((dest "") - (i 0)(len (length str)) - chr) - (while (< i len) - (setq chr (elt str i)) - (if (or (and (<= ?+ chr)(<= chr ?.)) - (and (<= ?0 chr)(<= chr ?:)) - (= chr ?=) - (and (<= ?@ chr)(<= chr ?\[)) - (and (<= ?\] chr)(<= chr ?_)) - (and (<= ?a chr)(<= chr ?{)) - (and (<= ?} chr)(<= chr ?~)) - ) - (setq dest (concat dest - (char-to-string chr))) - ) - (setq i (+ i 1)) - ) - dest)) - - -;;; @@ message editing utilities -;;; -(defvar cited-prefix-regexp "^[^ \t>]*[>|]+[ \t#]*") - -(defun fill-cited-region (beg end) - (interactive "*r") - (save-excursion - (save-restriction - (goto-char end) - (while (not (eolp)) - (backward-char) - ) - (setq end (point)) - (narrow-to-region beg end) - (goto-char (point-min)) - (let* ((fill-prefix - (and (re-search-forward cited-prefix-regexp nil t) - (or (re-search-forward cited-prefix-regexp nil t) - t) - (buffer-substring (match-beginning 0) - (match-end 0) - ))) - (pat (concat "\n" fill-prefix)) - ) - (goto-char (point-min)) - (while (search-forward pat nil t) - (replace-match "") - ) - (goto-char (point-min)) - (fill-region (point-min) (point-max)) - )))) - -(defun replace-top-string (&optional old new) - (interactive) - (if (null old) - (setq old (read-string "old string is ? ")) - ) - (if (null new) - (setq new (read-string "new string is ? ")) - ) - (while (re-search-forward (concat "^" (regexp-quote old)) nil t) - (replace-match new) - )) - - -;;; @@ jinn compatible functions -;;; - -(defun symbol-concat (&rest args) - (intern (apply (function concat) - (mapcar (function - (lambda (s) - (cond ((symbolp s) (symbol-name s)) - ((stringp s) s) - ) - )) - args))) - ) - -(defun top-string-match (pat str) - (if (string-match - (concat "^" (regexp-quote pat)) - str) - (list pat (substring str (match-end 0))) - )) - -(defun middle-string-match (pat str) - (if (equal pat str) - (list nil pat nil) - (if (string-match (regexp-quote pat) str) - (let ((b (match-beginning 0)) - (e (match-end 0)) ) - (list (if (not (= b 0)) - (substring str 0 b) - ) - pat - (if (> (length str) e) - (substring str e) - ) - ))))) diff --git a/tm-body-eng.ol b/tm-body-eng.ol deleted file mode 100644 index b6a09d1..0000000 --- a/tm-body-eng.ol +++ /dev/null @@ -1,93 +0,0 @@ -[[R -\title{tm-body manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/7/22} -\maketitle -]]R - -* Install - - Installing method is written in README-eng.ol. Please read it and -install. - -** tiny-mime.el - - Please copy tiny-mime.el to your Emacs lisp directory. - - -** tm-body - -*** *.el - - Please copy tm-body.el, tl-list.el and tl-header.el to your Emacs -lisp directory. - -*** methods - - Please edit methods for your environment, and copy to your -executable directory. - - -*** decode-b.c - - Please compile decode-b.c by gcc or another ANSI C. - -[[E - % gcc -O decode-b.c -o decode-b -]]E - - And please copy decode-b to your executable directory. - - However, if you have another decoder (e.g. mmencode in metamail), -you can replace decode-b (e.g. You can replace `decode-b <' by -`mmencode -b -u' in methods). - - -* Customize - - You can designate methods of Content-Types if you set variable -`mime/content-decoding-method-alist' in .emacs. - -[[E ----------------------------------------------------------------------- -(setq mime/content-decoding-method-alist - '(("audio/basic" . "tm-au") - ("image/gif" . "tm-image") - ("image/jpeg" . "tm-image") - ("image/x-pic" . "tm-image") - ("video/mpeg" . "tm-mpeg") - ("application/octet-stream" . "tm-file") - ("text/x-latex" . "tm-latex") - )) ----------------------------------------------------------------------- -]]E - - Each methods are shell scripts. Arguments of methods are written in -following table. - ----------------------------------------------------------------------------- -|argument| value | -============================================================================ -| $1 |temporary file name of encoded content | -| $2 |Content-Type (type/sub-type) | -| $3 |encoding {7bit / quoted-printable / base64 / 8bit / binary / ...}| -| $4 |decoding-mode {play / extract / print} | -| $5 |original file name of content | ----------------------------------------------------------------------------- - - Each Content-Types are decoded by methods. Exceptionally, -message/partial is decoded by tm-body.el. - - -* Limitation or bug - - In this version, message/external-body is not supported. - - Attached base64 decoder `decode-b.c' is not good program, so if it -can run normally, please correct it. But It is easy because decode-b.c -is too small, so please...(^_^; - - Or you can use mmencode attached in metamail as decoder. - - In this package, there is no Quoted-Printable decoder, so please use -mmencode. diff --git a/tm-body-eng.tex b/tm-body-eng.tex deleted file mode 100644 index bb161bf..0000000 --- a/tm-body-eng.tex +++ /dev/null @@ -1,130 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{tm-body manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/7/22} -\maketitle -\medskip - -\section{Install} -\medskip -{\baselineskip=10pt -\begin{verbatim} - Installing method is written in README-eng.ol. Please read it and -install. -\end{verbatim}} -\medskip - -\subsection{tiny-mime.el} -\medskip -\par -Please copy tiny-mime.el to your Emacs lisp directory. -\medskip -\medskip - -\subsection{tm-body} -\medskip - -\subsubsection{$*$.el} -\medskip -\par -Please copy tm-body.el, tl-list.el and tl-header.el to your Emacs -lisp directory. -\medskip - -\subsubsection{methods} -\medskip -\par -Please edit methods for your environment, and copy to your -executable directory. -\medskip -\medskip - -\subsubsection{decode-b.c} -\medskip -\par -Please compile decode-b.c by gcc or another ANSI C. -\medskip -{\baselineskip=10pt -\begin{verbatim} - % gcc -O decode-b.c -o decode-b -\end{verbatim}} -\medskip -\par -And please copy decode-b to your executable directory. -\medskip -\par -However, if you have another decoder (e.g. mmencode in metamail), -you can replace decode-b (e.g. You can replace `decode-b $<$' by -`mmencode -b -u' in methods). -\medskip -\medskip - -\section{Customize} -\medskip -\par -You can designate methods of Content-Types if you set variable -`mime/content-decoding-method-alist' in .emacs. -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(setq mime/content-decoding-method-alist - '(("audio/basic" . "tm-au") - ("image/gif" . "tm-image") - ("image/jpeg" . "tm-image") - ("image/x-pic" . "tm-image") - ("video/mpeg" . "tm-mpeg") - ("application/octet-stream" . "tm-file") - ("text/x-latex" . "tm-latex") - )) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -Each methods are shell scripts. Arguments of methods are written in -following table. -\medskip -~\\ -\begin{center} -\begin{tabular}{|c|l|} -\hline -argument & \multicolumn{1}{|c|}{ value }\\ -\hline\hline - \$1 & temporary file name of encoded content \\ - \$2 & Content-Type (type/sub-type) \\ - \$3 & encoding \{7bit / quoted-printable / base64 / 8bit / binary / ...\}\\ - \$4 & decoding-mode \{play / extract / print\} \\ - \$5 & original file name of content \\ -\hline -\end{tabular}\\ -\end{center} -\medskip -\par -Each Content-Types are decoded by methods. Exceptionally, -message/partial is decoded by tm-body.el. -\medskip -\medskip - -\section{Limitation or bug} -\medskip -\par -In this version, message/external-body is not supported. -\medskip -\par -Attached base64 decoder `decode-b.c' is not good program, so if it -can run normally, please correct it. But It is easy because decode-b.c -is too small, so please...(\verb+^+\_\verb+^+; -\medskip -\par -Or you can use mmencode attached in metamail as decoder. -\medskip -\par -In this package, there is no Quoted-Printable decoder, so please use -mmencode. -\end{document} diff --git a/tm-body-jp.ol b/tm-body-jp.ol deleted file mode 100644 index 2e0ed5f..0000000 --- a/tm-body-jp.ol +++ /dev/null @@ -1,90 +0,0 @@ -$B!X(Btm-body $B@bL@=q!Y(B -by. $B$C$F(B install $B$r9T$J$C$F2<$5$$!#(B - -** tiny-mime $B$N(B install - - tiny-mime.el $B$r(B Emacs $B$NJQ?t(B load-path $B$G;XDj$5$l$?(B directory $B$K(B -copy $B$7$^$9!#(B - - -** tm-body $B$N(B install - -*** *.el $B$r(B copy $B$9$k(B - - tm-body.el, tl-list.el, tl-header.el $B$r(B Emacs $B$NJQ?t(B load-path $B$G;X(B -$BDj$5$l$?(B directory $B$K(B copy $B$7$^$9!#(B - - -*** method $B$r(B copy $B$9$k(B - - methods/ $B$KF~$C$F$$$k!"3F(B Content-Type $B$KBP1~$9$k(B method $B$r!"<+J,$N(B -$B4D6-$K9g$o$;$F=$@5$7!"(Bpath $B$NDL$C$?(B directory $B$K(B copy $B$7$^$9!#(B - - -*** decode-b.c $B$r(B compile $B$9$k(B - - Base64 decoder $B$G$"$k(B decode-b.c $B$r(B gcc $B$G(B compile $B$7$^$9!#(B - -[[E - % gcc -O decode-b.c -o decode-b -]]E - - $B$=$7$F!"=PMh>e$,$C$?(B decode-b $B$r(B path $B$NDL$C$?(B directory $B$K(B copy $B$7(B -$B$^$9!#(B - - $BC"$7!"B>$N(B decoder$B!JNc$($P!"(Bmetamail $BImB0$N(B mmencode $B$J$I!K$,$"$l$P!"(B -method $BCf$N(B decode-b $B$r$=$N(B decoder $B$GCV$-49$($F$b9=$$$^$;$s!#Nc$($P!"(B -decode-b < $B$r(B mmencode -b -u $B$GCV$-49$($F$_$F(B$B2<$5$$!#(B - - -* $B%+%9%?%^%$%:(B - - .emacs $B$K0J2<$N$h$&$J$b$N$rF~$l$F!"3F(B Content-Type $B$KBP1~$9$k(B method -$B$r;XDj$9$k$3$H$,$G$-$^$9!#(B - -[[E ----------------------------------------------------------------------- -(setq mime/content-decoding-method-alist - '(("audio/basic" . "tm-au") - ("image/gif" . "tm-image") - ("image/jpeg" . "tm-image") - ("image/x-pic" . "tm-image") - ("video/mpeg" . "tm-mpeg") - ("application/octet-stream" . "tm-file") - ("text/x-latex" . "tm-latex") - )) ----------------------------------------------------------------------- -]]E - - $B3F(B method $B$O(B shell script $B$G=q$-$^$9!#(Btm-body.el $B$+$iEO$5$l$k0z?t$O(B -$B0J2<$NDL$j$G$9!#(B - ------------------------------------------------------------------------- -|$B0z?t(B| $BCM(B | -======================================================================== -| $1 |decode $BA0$N(B file $BL>(B | -| $2 |Content-Type (type/sub-type) | -| $3 |encoding {7bit / quoted-printable / base64 / 8bit / binary / ...}| -| $4 |decoding-mode {play / extract / print} | -| $5 |file $BL>(B | ------------------------------------------------------------------------- - - $B$^$?!"(Bmessage/partial $B$@$1$O(B tm-body.el $B<+?H$GI|85$7$^$9!#(B - - -* $B@)8B(B - - message/external-body $B$K4X$7$F$O8=:_$N$H$3$m%5%]!<%H$7$F$$$^$;$s!#(B - - $BImB0$N(B BASE64 decoder $B$G$"$k(B decode-b.c $B$O$$$$2C8:$J:n$j$J$N$G!"F0$+(B -$B$J$+$C$?$i!"C;$$%W%m%0%i%`$J$N$G!"0U$r5b$s$G=$@5$7$F2<$5$$!#(B(^_^; - - $B$^$?!"(Bmetamail $BImB0$N(B mmencode $B$r;H$C$F(B decode $B$7$F$bNI$$$G$7$g$&!#(B - - $B$^$?!"(BQuoted-Printable $B$N(B decoder $B$OImB0$7$^$;$s$N$G!"(Bmmencode $B$r;H$C(B -$B$F2<$5$$!#(B diff --git a/tm-body-jp.tex b/tm-body-jp.tex deleted file mode 100644 index 0d5b212..0000000 --- a/tm-body-jp.tex +++ /dev/null @@ -1,132 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{ -tm-body ÀâÌÀ½ñ} -\author{ -¼é²¬ ÃÎɧ\\ -} -\date{ -1994ǯ7·î14Æü} -\maketitle -\medskip - -\section{install} -\medskip -\par -README ¤Ë½¾¤Ã¤Æ install ¤ò¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£ -\medskip - -\subsection{tiny-mime ¤Î install} -\medskip -\par -tiny-mime.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»ØÄꤵ¤ì¤¿ directory ¤Ë -copy ¤·¤Þ¤¹¡£ -\medskip -\medskip - -\subsection{tm-body ¤Î install} -\medskip - -\subsubsection{$*$.el ¤ò copy ¤¹¤ë} -\medskip -\par -tm-body.el, tl-list.el, tl-header.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»Ø -Äꤵ¤ì¤¿ directory ¤Ë copy ¤·¤Þ¤¹¡£ -\medskip -\medskip - -\subsubsection{method ¤ò copy ¤¹¤ë} -\medskip -\par -methods/ ¤ËÆþ¤Ã¤Æ¤¤¤ë¡¢³Æ Content-Type ¤ËÂбþ¤¹¤ë method ¤ò¡¢¼«Ê¬¤Î -´Ä¶­¤Ë¹ç¤ï¤»¤Æ½¤Àµ¤·¡¢path ¤ÎÄ̤ä¿ directory ¤Ë copy ¤·¤Þ¤¹¡£ -\medskip -\medskip - -\subsubsection{decode-b.c ¤ò compile ¤¹¤ë} -\medskip -\par -Base64 decoder ¤Ç¤¢¤ë decode-b.c ¤ò gcc ¤Ç compile ¤·¤Þ¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} - % gcc -O decode-b.c -o decode-b -\end{verbatim}} -\medskip -\par -¤½¤·¤Æ¡¢½ÐÍè¾å¤¬¤Ã¤¿ decode-b ¤ò path ¤ÎÄ̤ä¿ directory ¤Ë copy ¤· -¤Þ¤¹¡£ -\medskip -\par -⤷¡¢Â¾¤Î decoder¡ÊÎ㤨¤Ð¡¢metamail Éí°¤Î mmencode ¤Ê¤É¡Ë¤¬¤¢¤ì¤Ð¡¢ -method Ãæ¤Î decode-b ¤ò¤½¤Î decoder ¤ÇÃÖ¤­´¹¤¨¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£Î㤨¤Ð¡¢ -decode-b $<$ ¤ò mmencode -b -u ¤ÇÃÖ¤­´¹¤¨¤Æ¤ß¤Æ²¼¤µ¤¤¡£ -\medskip -\medskip - -\section{¥«¥¹¥¿¥Þ¥¤¥º} -\medskip -\par -.emacs ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆþ¤ì¤Æ¡¢³Æ Content-Type ¤ËÂбþ¤¹¤ë method -¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(setq mime/content-decoding-method-alist - '(("audio/basic" . "tm-au") - ("image/gif" . "tm-image") - ("image/jpeg" . "tm-image") - ("image/x-pic" . "tm-image") - ("video/mpeg" . "tm-mpeg") - ("application/octet-stream" . "tm-file") - ("text/x-latex" . "tm-latex") - )) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -³Æ method ¤Ï shell script ¤Ç½ñ¤­¤Þ¤¹¡£tm-body.el ¤«¤éÅϤµ¤ì¤ë°ú¿ô¤Ï -°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ -\medskip -~\\ -\begin{center} -\begin{tabular}{|c|l|} -\hline -°ú¿ô & \multicolumn{1}{|c|}{ ÃÍ }\\ -\hline\hline - \$1 & decode Á°¤Î file ̾ \\ - \$2 & Content-Type (type/sub-type) \\ - \$3 & encoding \{7bit / quoted-printable / base64 / 8bit / binary / ...\}\\ - \$4 & decoding-mode \{play / extract / print\} \\ - \$5 & file ̾ \\ -\hline -\end{tabular}\\ -\end{center} -\medskip -\par -¤Þ¤¿¡¢message/partial ¤À¤±¤Ï tm-body.el ¼«¿È¤ÇÉü¸µ¤·¤Þ¤¹¡£ -\medskip -\medskip - -\section{À©¸Â} -\medskip -\par -message/external-body ¤Ë´Ø¤·¤Æ¤Ï¸½ºß¤Î¤È¤³¤í¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£ -\medskip -\par -Éí°¤Î BASE64 decoder ¤Ç¤¢¤ë decode-b.c ¤Ï¤¤¤¤²Ã¸º¤Êºî¤ê¤Ê¤Î¤Ç¡¢Æ°¤« -¤Ê¤«¤Ã¤¿¤é¡¢Ã»¤¤¥×¥í¥°¥é¥à¤Ê¤Î¤Ç¡¢°Õ¤òµâ¤ó¤Ç½¤Àµ¤·¤Æ²¼¤µ¤¤¡£(\verb+^+\_\verb+^+; -\medskip -\par -¤Þ¤¿¡¢metamail Éí°¤Î mmencode ¤ò»È¤Ã¤Æ decode ¤·¤Æ¤âÎɤ¤¤Ç¤·¤ç¤¦¡£ -\medskip -\par -¤Þ¤¿¡¢Quoted-Printable ¤Î decoder ¤ÏÉí°¤·¤Þ¤»¤ó¤Î¤Ç¡¢mmencode ¤ò»È¤Ã -¤Æ²¼¤µ¤¤¡£ -\end{document} diff --git a/tm-body.el b/tm-body.el deleted file mode 100644 index ad1d61d..0000000 --- a/tm-body.el +++ /dev/null @@ -1,326 +0,0 @@ -;;; -;;; $Id: tm-body.el,v 0.16 1994/08/20 12:38:07 morioka Exp $ -;;; - -(provide 'tm-body) - -(require 'tl-list) -(require 'tl-header) -(require 'tiny-mime) - -(defun replace-as-filename (str) - (let ((dest "") - (i 0)(len (length str)) - chr) - (while (< i len) - (setq chr (elt str i)) - (if (or (and (<= ?+ chr)(<= chr ?.)) - (and (<= ?0 chr)(<= chr ?:)) - (= chr ?=) - (and (<= ?@ chr)(<= chr ?\[)) - (and (<= ?\] chr)(<= chr ?_)) - (and (<= ?a chr)(<= chr ?{)) - (and (<= ?} chr)(<= chr ?~)) - ) - (setq dest (concat dest - (char-to-string chr))) - ) - (setq i (+ i 1)) - ) - dest)) - -(defconst mime/tspecials "\000-\040()<>@,;:\\\"/[\093?.=") -(defconst mime/token-regexp - (concat "[^" mime/tspecials "]*")) -(defconst mime/content-type-subtype-regexp - (concat mime/token-regexp "/" mime/token-regexp)) -(defconst mime/content-parameter-value-regexp - (concat "\\(" - message/quoted-string-regexp - "\\|[^; \t\n]\\)*")) - -(defconst mime/output-buffer-name "*MIME-out*") -(defconst mime/decoding-buffer-name "*MIME-decoding*") - -(defvar mime/content-decoding-method-alist - '(("text/plain" . "tm-plain") - ("text/x-latex" . "tm-latex") - ("audio/basic" . "tm-au") - ("image/gif" . "tm-image") - ("image/jpeg" . "tm-image") - ("image/tiff" . "tm-image") - ("image/x-tiff" . "tm-image") - ("image/x-xbm" . "tm-image") - ("image/x-pic" . "tm-image") - ("video/mpeg" . "tm-mpeg") - ("application/octet-stream" . "tm-file") - )) - -(defvar mime/use-internal-decoder nil) -;;; (setq mime/use-internal-decoder t) - -(defun mime/decode-body () - (interactive) - (if (get-buffer mime/output-buffer-name) - (kill-buffer mime/output-buffer-name)) - (save-excursion - (save-restriction - (goto-char (point-min)) - (let ((ctype (mime/Content-Type "^$")) - (encoding (mime/Content-Transfer-Encoding "^$" "7bit")) - ) - (if ctype - (cond ((equal (car ctype) "multipart/mixed") - (mime/decode-multipart/mixed ctype encoding) - ) - ((equal (car ctype) "message/partial") - (mime/decode-message/partial ctype encoding) - ) - (t - (mime/decode-content nil (car ctype) encoding - (mime/get-name ctype)) - )) - ))))) - -(defun mime/decode-multipart/mixed (ctype default-encoding) - (let ((boundary (cdr (assoc "boundary" (cdr ctype)))) - encoding b) - (if (eq (elt boundary 0) ?\") - (setq boundary - (substring boundary 1 (- (length boundary) 1)) - )) - (setq boundary (concat "^--" (regexp-quote boundary) "\\(--\\)?$")) - (while (re-search-forward boundary nil t) - (goto-char (point-min)) - (setq b (+ (match-end 0) 1)) - (goto-char b) - (and (setq ctype (mime/Content-Type)) - (setq encoding - (mime/Content-Transfer-Encoding boundary - default-encoding)) - (mime/decode-content boundary - (car ctype) encoding - (mime/get-name ctype boundary) - ) - ) - ))) - -(defun mime/decode-message/partial (ctype default-encoding) - (let ((root-dir (concat "/tmp/m-prts-" (user-login-name))) - (id (cdr (assoc "id" (cdr ctype)))) - (number (cdr (assoc "number" (cdr ctype)))) - (total (cdr (assoc "total" (cdr ctype)))) - file - (the-buf (current-buffer)) - ) - (if (not (file-exists-p root-dir)) - (shell-command (concat "mkdir " root-dir)) - ) - (setq id (replace-as-filename id)) - (setq root-dir (concat root-dir "/" id)) - (if (not (file-exists-p root-dir)) - (shell-command (concat "mkdir " root-dir)) - ) - (setq file (concat root-dir "/FULL")) - (if (not (file-exists-p file)) - (progn - (setq file (concat root-dir "/CT")) - (if (not (file-exists-p file)) - (progn - (if (get-buffer "*MIME-temp*") - (kill-buffer "*MIME-temp*") - ) - (switch-to-buffer "*MIME-temp*") - (insert (concat total "\n")) - (write-file file) - (switch-to-buffer the-buf) - )) - (re-search-forward "^$") - (goto-char (+ (match-end 0) 1)) - (setq file (concat root-dir "/" number)) - (write-region (point) - (point-max) - file) - (if (get-buffer "*MIME-temp*") - (kill-buffer "*MIME-temp*") - ) - (switch-to-buffer "*MIME-temp*") - (let ((i 1) - (max (string-to-int total)) - ) - (catch 'tag - (while (<= i max) - (setq file (concat root-dir "/" - (int-to-string i) - )) - (if (not (file-exists-p file)) - (throw 'tag nil)) - (insert-file-contents file) - (goto-char (point-max)) - (setq i (+ i 1)) - ) - (write-file (concat root-dir "/FULL")) - (mime/decode-body) - (kill-buffer "FULL") - )) - (switch-to-buffer the-buf) - ) - (progn - (find-file file) - (mime/decode-body) - (kill-buffer "FULL") - )) - )) - -(defun mime/narrow-to-content (boundary) - (if boundary - (progn - (narrow-to-region (point) - (progn - (re-search-forward boundary nil t) - (match-beginning 0) - )) - (goto-char (point-min)) - ))) - -(defun mime/get-name (ctype &optional boundary) - (save-excursion - (save-restriction - (mime/narrow-to-content boundary) - (replace-as-filename - (or (cdr (assoc "name" (cdr ctype))) - (cdr (assoc "x-name" (cdr ctype))) - (message/get-field-body "Content-Description") - "")) - ))) - -(defun mime/Content-Type (&optional boundary) - (save-excursion - (save-restriction - (mime/narrow-to-content boundary) - (if (and (re-search-forward "^Content-Type:[ \t]*" nil t) - (progn - (narrow-to-region - (point) - (and (re-search-forward ".*\\(\n[ \t].*\\)*" nil t) - (match-end 0)) - ) - (goto-char (point-min)) - (re-search-forward mime/content-type-subtype-regexp nil t) - )) - (let ((ctype - (downcase - (buffer-substring (match-beginning 0) (match-end 0)) - )) - dest attribute value) - (while (and (re-search-forward "[ \t\n]*;[ \t\n]*" nil t) - (re-search-forward mime/token-regexp nil t) - ) - (setq attribute - (downcase - (buffer-substring (match-beginning 0) (match-end 0)) - )) - (if (and (re-search-forward "=[ \t\n]*" nil t) - (re-search-forward mime/content-parameter-value-regexp - nil t) - ) - (setq dest - (put-alist attribute - (buffer-substring (match-beginning 0) - (match-end 0)) - dest)) - ) - ) - (cons ctype dest) - ))))) - -(defun mime/Content-Transfer-Encoding (&optional boundary default-encoding) - (save-excursion - (save-restriction - (mime/narrow-to-content boundary) - (or - (if (and (re-search-forward "^Content-Transfer-Encoding:[ \t]*" nil t) - (re-search-forward mime/token-regexp nil t) - ) - (downcase (buffer-substring (match-beginning 0) (match-end 0))) - ) - default-encoding) - ))) - -(defun mime/base64-decode-region (beg end &optional buf filename) - (let ((the-buf (current-buffer)) ret) - (if (null buf) - (setq buf (get-buffer-create mime/decoding-buffer-name)) - ) - (save-excursion - (save-restriction - (switch-to-buffer buf) - (erase-buffer) - (switch-to-buffer the-buf) - (narrow-to-region beg end) - (goto-char (point-min)) - (while (re-search-forward - (concat "^" - mime/Base64-encoded-text-regexp - "$") nil t) - (setq ret (mime/base64-decode-string - (buffer-substring (match-beginning 0) - (match-end 0) - ))) - (switch-to-buffer buf) - (insert ret) - (switch-to-buffer the-buf) - ))) - (if filename - (progn - (switch-to-buffer buf) - (let ((kanji-flag nil) - (mc-flag nil) - (file-coding-system - (if (featurep 'mule) *noconv*)) - ) - (write-file filename) - (kill-buffer buf) - (switch-to-buffer the-buf) - ))) - )) - -(defun mime/decode-content (boundary ctype encoding name) - (let ((method (cdr (assoc ctype mime/content-decoding-method-alist)))) - (if method - (save-excursion - (save-restriction - (re-search-forward "^$") - (goto-char (+ (match-end 0) 1)) - (let ((file (make-temp-name "/tmp/TM")) - (b (point)) e - ) - (setq e (if boundary - (and (re-search-forward boundary nil t) - (match-beginning 0)) - (point-max) - )) - (if (and (string= encoding "base64") - mime/use-internal-decoder) - (progn - (mime/base64-decode-region b e nil file) - (setq encoding "binary") - ) - (write-region b e file) - ) - (start-process method mime/output-buffer-name method file - ctype (if encoding - encoding - "7bit") - (if mime/body-decoding-mode - mime/body-decoding-mode - "decode") - (replace-as-filename name)) - )))))) - -(defun mime/show-body-decoded-result () - (interactive) - (if (get-buffer mime/output-buffer-name) - (set-window-buffer (get-largest-window) - mime/output-buffer-name) - )) diff --git a/tm-comp-jp.pln b/tm-comp-jp.pln deleted file mode 100644 index e5d1457..0000000 --- a/tm-comp-jp.pln +++ /dev/null @@ -1,62 +0,0 @@ -$B2,It!w5~Bg$G$9!#(B - -In article <199408221831.DAA24174@melon.jaist.ac.jp>, - $B writes: - -$B $B8= $B7A<0$KJ,3d$7$F$/$l$k$b$N$r=q$-$^$7$?!#(B - -$BJXMx$J$N$G!"$9$3$72~NI(B($B2~0-!)(B)$B$7$F$_$^$7$?!#(B - -1. mime-mode-exit $B$r>r7oIU$-$G8F$V$h$&$K$7!"(Bmime-mode $B0J30$G$b(B - $B;H$($k$h$&$K$7$?!#(B - - $B:G6a(B mh-e 4.1 $B$N(B mh-edit-mhn $B$b;H$C$F$_$F$$$k$N$G!"(Bmime-mode $B0J30$G$b(B - $B;H$($k$h$&$K$7$?$H$$$&$N$,F05!$G$9!#6KC<$K8@$($PIaCJ$O(B MIME $B$rA4A3;H$C$F(B - $B$$$J$$?M$G$b!"<+F0J,3d$K$O;H$($k$H;W$$$^$9!#(B - -$B!t(B mh-edit-mhn $B$GJQ49$7$?8e(B mime/view-mode $B$KF~$C$F%W%l%S%e!<$7!"(B - $B$&$^$/$$$C$F$J$+$C$?$i(B mh-revert-mhn-edit $B$G$d$jD>$9!"$H$$$&(B - $Bl9g$K$bBP1~$7$?!#(B - - mh-edit-mhn $B$N=PNO$O$3$N7A<0$J$N$G!"$d$`$rF@$:$=$&$7$^$7$?!#(B - -3. mime/draft-file-name $B$,(B nil $B$N$H$-$K;H$&%U%!%$%kL>$r0J2<$N$h$&$K$7$?!#(B - - (make-temp-name (expand-file-name "tm-draft" mime/tmp-dir)) - -4. $BJ,3d$7$?%a%C%;!<%8$K$O!"$b$H$N(B Subject $B$N$&$7$m$K(B (1/3) $B$J$I$H$D$/(B - $B$h$&$K$7$?!#(B - - $B6a$$>-Mh!"(Bsuper-pipe $B$d(B gnus-uu $B$N$h$&$K!"(Bmessage/partial $B$N$H$-$O$I(B - $B$l$+$R$H$D$N5-;v$r$_$l$PB>$N$rC5$7$K9T$/5!G=$,(B tm-view.el $B$Kl9g!"(BBcc:, Dcc: Fcc: $B$J$IK\MhAw$C$?;~$K>C$($k(B - $B$O$:$N$b$N$,FO$$$F$7$^$&(B($B$H$/$K(B Bcc: $B$,8+$($k$N$OLdBj(B)$B!#(B - $B1#$9%U%#!<%k%I$r;XDj$G$-$k$h$&$K$9$Y$-!#(B - -2. $B@8@.$5$l$k(B id $B$,D9$C$?$i$7$/$F$+$C$30-$$!#(B - ($BNc$($P(B GNUS $B$N(B message-id $B@8@.%k!<%A%s$rE>MQ$7$F$O$I$&$+(B) - -$B$J$I$,$"$j$^$9!#(B - -$B $B$^$?!"(Bmessage $B$N:GBg9T?t$rJQ?t(B mime/message-max-length $B$G;XDj$G$-$^(B -$B $B$9!#$H$j$"$($:!"(Bdefault $B$G$O(B 1000 $B9T$K$7$F$"$j$^$9$,!"$3$l$K4X$9$k0lHL(B -$B $BE*$JCM$O$"$k$s$G$7$g$&$+!)(B - -$B9T?t$h$j$O%P%$%H?t$,Bg;v$J$O$:$G!"$h$/8@$o$l$k$N$O(B1$BDL$"$?$j(B50KB$B$rD6$((B -$B$J$$$h$&$K$H$$$&@)Ls$G$9$M(B($B$&$A$N%;%s%?!<$NMxMQ$NAw$G!"Cf?H$O(B base64 -$B$G0l9T(B80$B;zDj$9$k$H!"(B600 $B9T6/$K$"$?$j$^$9!#$7$+$7(B50KB -$B0J>e$N$b$N$ODL$i$J$$$h$&$K$J$C$F$$$k$H$$$&$o$1$G$O$J$/C1$K0BA4$d8zN($r(B -$B9M$($F$NCM$G$7$g$&$+$i!"(Bsplit $B$NI8=`CM$G$b$"$k(B 1000 $B$GLdBj$J$$$H;W$$$^$9!#(B ------ -$B2,It -;;; modified by YAMATE Keiichirou -;;; - -(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 "" 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 "") 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-evs.el b/tm-evs.el deleted file mode 100644 index fb96726..0000000 --- a/tm-evs.el +++ /dev/null @@ -1,172 +0,0 @@ -;;; -;;; $Id: tm-evs.el,v 2.0 1995/06/10 19:33:26 morioka Exp $ -;;; -;;; a tm-view internal method -;;; for JAIST-Course-Evaluation questionnaire -;;; - -(require 'tm-view) - -(defvar questionnaire-result-alist nil) - -(defun mime-viewer/filter-questionnaire (ctype params &optional encoding) - (goto-char (point-min)) - (while (re-search-forward "^(" nil t) - (replace-match " (") - )) - -(set-alist 'mime-viewer/content-filter-alist - "application/x-selection" - (function mime-viewer/filter-questionnaire)) - -(defun mime-preview/reset-mark (cnum) - (let* ((cinfo (mime::preview-content-info/content-info - (car mime::preview/content-list))) - (ccinfo (mime-article/cnum-to-cinfo cnum cinfo)) - (pcinfo (mime-preview/cinfo-to-pcinfo ccinfo)) - (p (mime::preview-content-info/point-min pcinfo)) - ) - (save-excursion - (let (buffer-read-only) - (goto-char p) - (delete-char 1) - (insert " ") - )))) - -(defun mime-preview/set-mark (cnum) - (let* ((cinfo (mime::preview-content-info/content-info - (car mime::preview/content-list))) - (ccinfo (mime-article/cnum-to-cinfo cnum cinfo)) - (pcinfo (mime-preview/cinfo-to-pcinfo ccinfo)) - (p (mime::preview-content-info/point-min pcinfo)) - ) - (save-excursion - (let (buffer-read-only) - (goto-char p) - (delete-char 1) - (insert "*") - )))) - -(defun mime-viewer/questionnaire-select (beg end cal) - (let* ((cnum (mime::get-point-content-number beg)) - (rcinfo mime::article/content-info) - (mother-cnum (butlast cnum)) - (mother-cinfo (mime-article/cnum-to-cinfo mother-cnum)) - (mother-params (mime::content-info/parameters mother-cinfo)) - (number (assoc-value "x-part-number" mother-params)) - ) - (if number - (setq number (string-to-int number)) - ) - (save-window-excursion - (switch-to-buffer mime::article/preview-buffer) - (let ((pa (assoc number questionnaire-result-alist))) - (if pa - (progn - (setq pa (nth 1 pa)) - (mime-preview/reset-mark (list (car cnum) pa)) - ))) - (mime-preview/set-mark cnum) - ) - (set-alist 'questionnaire-result-alist - number - (list (nth 1 cnum) - (save-restriction - (narrow-to-region - (mime::content-info/point-min mother-cinfo) - (mime::content-info/point-max mother-cinfo)) - (message/get-field-body "Content-Description") - ))) - (let ((nc (append (butlast mother-cnum) - (list (1+ (last-element mother-cnum)) 0))) - (the-buf (current-buffer)) - next-cinfo) - (setq next-cinfo (mime-article/cnum-to-cinfo nc)) - (setq mime-preview/after-decoded-position - (save-window-excursion - (if next-cinfo - (progn - (switch-to-buffer mime::article/preview-buffer) - (mime::preview-content-info/point-min - (mime-preview/cinfo-to-pcinfo next-cinfo)) - ) - (point-max) - ))) - ))) - -(set-atype 'mime/content-decoding-condition - '((type . "application/x-selection") - (method . mime-viewer/questionnaire-select) - )) - -(defvar evs-course-id nil) -(defvar evs-teachers-name nil) -(defvar evs-message-buffer nil) - -(defun jaist-evs-send-message () - (interactive) - (if (not (equal (sort (mapcar (function car) questionnaire-result-alist) - (function <)) - '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38))) - (message "$BA4$F$NA*Br;h$KEz$($F2<$5$$(B") - (mail nil "evs-answer@jaist.ac.jp") - (goto-char (point-max)) - (let ((rest (sort questionnaire-result-alist - (function - (lambda (a b) - (< (car a)(car b)) - )))) - ret) - (insert (format "%s %s \n" evs-course-id evs-teachers-name)) - (while rest - (setq ret (car rest)) - (insert (format "[%d] %s\n %d\n" - (car ret) - (or (nth 2 ret) "") - (or (nth 1 ret) 0) - )) - (setq rest (cdr rest)) - ) - (insert "[39] $B$3$N ")) - (setq evs-teachers-name - (read-string "Please input teacher's name > ")) - (setq evs-message-buffer - (get-buffer "questionnaire.mime")) - (if (null evs-message-buffer) - (progn - (setq evs-message-buffer - (get-buffer-create "questionnaire.mime")) - (switch-to-buffer evs-message-buffer) - ) - (progn - (switch-to-buffer evs-message-buffer) - (erase-buffer) - )) - (insert-file "/usr/local/lecture/EVS/questionnaire.mime") - (goto-char (point-min)) - (re-search-forward "^=+\n") - (insert (format "%s %s\n" evs-course-id evs-teachers-name)) - (mime/viewer-mode) - ) - -(provide 'tm-evs) diff --git a/tm-eword.el b/tm-eword.el deleted file mode 100644 index fcedc33..0000000 --- a/tm-eword.el +++ /dev/null @@ -1,699 +0,0 @@ -;;; -;;; A multilingual MIME message header encoder/decoder. -;;; by Morioka Tomohiko (morioka@jaist.ac.jp) -;;; -;;; original MIME decoder is -;;; mime.el,v 1.5 1992/07/18 07:52:08 by Enami Tsugutomo -;;; - -;;; @ require modules -;;; -(require 'tl-misc) -(require 'tl-822) -(require 'tl-num) -(require 'base64) -(require 'qprint) - - -;;; @ version -;;; -(defconst mime/RCS-ID - "$Id: tm-eword.el,v 5.12 1995/05/21 16:06:27 morioka Exp morioka $") - -(defconst mime/tiny-mime-version (get-version-string mime/RCS-ID)) - - -;;; @ MIME encoded-word definition -;;; - -(defconst mime/charset-regexp "[A-Za-z0-9!#$%&'*+---^_`{}|~]") -(defconst mime/encoded-text-regexp "[!->@-~]+") - -(defconst mime/Base64-token-regexp "[A-Za-z0-9+/=]") -(defconst mime/Base64-encoded-text-regexp - (concat "\\(" - mime/Base64-token-regexp - mime/Base64-token-regexp - mime/Base64-token-regexp - mime/Base64-token-regexp - "\\)+")) -(defconst mime/Base64-encoding-and-encoded-text-regexp - (concat "\\(B\\)\\?" mime/Base64-encoded-text-regexp)) - -(defconst mime/Quoted-Printable-hex-char-regexp "[0123456789ABCDEF]") -(defconst mime/Quoted-Printable-octet-regexp - (concat "=" - mime/Quoted-Printable-hex-char-regexp - mime/Quoted-Printable-hex-char-regexp)) -(defconst mime/Quoted-Printable-encoded-text-regexp - (concat "\\([^=?]\\|" mime/Quoted-Printable-octet-regexp "\\)+")) -(defconst mime/Quoted-Printable-encoding-and-encoded-text-regexp - (concat "\\(Q\\)\\?" mime/Quoted-Printable-encoded-text-regexp)) - -(defconst mime/encoded-word-regexp (concat (regexp-quote "=?") - "\\(" - mime/charset-regexp - "+\\)" - (regexp-quote "?") - "\\(B\\|Q\\)" - (regexp-quote "?") - "\\(" - mime/encoded-text-regexp - "\\)" - (regexp-quote "?="))) - -(defun mime/nth-string (s n) - (if (stringp s) - (substring s (match-beginning n) (match-end n)) - (buffer-substring (match-beginning n) (match-end n)))) - -(defun mime/encoded-word-charset (str) - (mime/nth-string str 1)) - -(defun mime/encoded-word-encoding (str) - (mime/nth-string str 2)) - -(defun mime/encoded-word-encoded-text (str) - (mime/nth-string str 3)) - -(defun mime/rest-of-string (str) - (if (stringp str) - (substring str (match-end 0)) - (buffer-substring (match-end 0)(point-max)) - )) - - -;;; @ variables -;;; - -(defvar mime/no-encoding-header-fields '("X-Nsubject")) - -(defvar mime/use-X-Nsubject nil) - - -;;; @ compatible module among Mule, NEmacs and NEpoch -;;; -(cond ((boundp 'MULE) (require 'tm-mule)) - ((boundp 'NEMACS)(require 'tm-nemacs)) - (t (require 'tm-orig)) - ) - - -;;; @ Application Interface -;;; - -;;; @@ MIME header decoders -;;; - -;; by mol. 1993/10/4 -(defun mime/decode-encoded-word (word) - (if (string-match mime/encoded-word-regexp word) - (let ((charset (upcase (mime/encoded-word-charset word))) - (encoding (mime/encoded-word-encoding word)) - (text (mime/encoded-word-encoded-text word))) - (mime/decode-encoded-text charset encoding text)) - word)) - -(defun mime/decode-region (beg end) - (interactive "*r") - (save-excursion - (save-restriction - (narrow-to-region beg end) - (goto-char (point-min)) - (let (charset encoding text) - (while (re-search-forward mime/encoded-word-regexp nil t) - (insert (mime/decode-encoded-word - (prog1 - (buffer-substring (match-beginning 0) (match-end 0)) - (delete-region (match-beginning 0) (match-end 0)) - ) - )) - )) - ))) - -(defun mime/decode-message-header () - (interactive "*") - (save-excursion - (save-restriction - (narrow-to-region (goto-char (point-min)) - (progn (re-search-forward "^$" nil t) (point))) - (mime/prepare-decode-message-header) - (mime/decode-region (point-min) (point-max)) - ))) - -(defun mime/decode-string (str) - (let ((dest "")(ew nil) - beg end) - (while (setq beg (string-match mime/encoded-word-regexp str)) - (if (> beg 0) - (if (not (and (eq ew t) (string= (substring str 0 beg) " "))) - (setq dest (concat dest (substring str 0 beg) - )) - ) - ) - (setq end (match-end 0)) - (setq dest (concat dest (mime/decode-encoded-word (substring str beg end)) - )) - (setq str (substring str end)) - (setq ew t) - ) - (concat dest str) - )) - -;;; @@ MIME header encoders -;;; - -(defun mime/encode-string (string encoding &optional mode) - (cond ((equal encoding "B") - (base64-encode-string string) - ) - ((equal encoding "Q") - (quoted-printable-encode-string string (or mode 'phrase)) - ) - )) - -(defun mime/encode-field (str) - (setq str (rfc822/unfolding-string str)) - (let ((ret (message/divide-field str)) - field-name field-body) - (setq field-name (car ret)) - (setq field-body (nth 1 ret)) - (concat field-name " " - (cond ((string= field-body "") "") - ((or (string-match "^Reply-To:$" field-name) - (string-match "^From:$" field-name) - (string-match "^Sender:$" field-name) - (string-match "^Resent-Reply-To:$" field-name) - (string-match "^Resent-From:$" field-name) - (string-match "^Resent-Sender:$" field-name) - (string-match "^To:$" field-name) - (string-match "^Resent-To:$" field-name) - (string-match "^cc:$" field-name) - (string-match "^Resent-cc:$" field-name) - (string-match "^bcc:$" field-name) - (string-match "^Resent-bcc:$" field-name) - ) - (mime/encode-address-list - (+ (length field-name) 1) field-body) - ) - (t - (catch 'tag - (let ((r mime/no-encoding-header-fields) fn) - (while r - (setq fn (car r)) - (if (string-match (concat "^" fn ":$") field-name) - (throw 'tag field-body) - ) - (setq r (cdr r)) - )) - (nth 1 (mime/encode-header-string - (+ (length field-name) 1) field-body)) - )) - )) - )) - -(defun mime/encode-message-header () - (interactive "*") - (save-excursion - (save-restriction - (narrow-to-region (goto-char (point-min)) - (progn - (re-search-forward - (concat "^" (regexp-quote mail-header-separator) "$") - nil t) - (match-beginning 0) - )) - (goto-char (point-min)) - (let (beg end field) - (while (re-search-forward "^.+:.*\\(\n\\s +.*\\)*" nil t) - (setq beg (match-beginning 0)) - (setq end (match-end 0)) - (setq field (buffer-substring beg end)) - (insert (mime/encode-field - (prog1 - (buffer-substring beg end) - (delete-region beg end) - ))) - )) - (if mime/use-X-Nsubject - (progn - (goto-char (point-min)) - (if (re-search-forward "^Subject:.*\\(\n\\s +.*\\)*" nil t) - (let ((str (buffer-substring (match-beginning 0)(match-end 0)))) - (if (string-match mime/encoded-word-regexp str) - (insert (concat - "\nX-Nsubject: " - (nth 1 (message/divide-field - (mime/decode-string - (rfc822/unfolding-string str)) - )))) - )) - ))) - ))) - - -;;; @ functions for message header encoding -;;; - -(defun mime/encode-and-split-string (n string charset encoding) - (let ((i 0) (j 0) - (len (length string)) - (js (mime/convert-string-from-emacs string charset)) - (cesl (+ (length charset) (length encoding) 6 )) - ewl m rest) - (setq ewl (mime/encoded-word-length js encoding)) - (if (null ewl) nil - (progn - (setq m (+ n ewl cesl)) - (if (> m 76) - (progn - (while (and (< i len) - (setq js (mime/convert-string-from-emacs - (substring string 0 i) charset)) - (setq m (+ n (mime/encoded-word-length js encoding) cesl)) - (< m 76)) - (setq j i) - (setq i (+ i (char-bytes (elt string i)))) - ) - (setq js (mime/convert-string-from-emacs - (substring string 0 j) charset)) - (setq m (+ n (mime/encoded-word-length js encoding) cesl)) - (setq rest (substring string j)) - ) - (setq rest nil)) - (if (string= js "") - (list 1 "" string) - (list m (concat "=?" charset "?" encoding "?" - (mime/encode-string js encoding) - "?=") rest)) - )) - )) - -(defun mime/encode-header-word (n string charset encoding) - (let (dest str ret m) - (if (null (setq ret (mime/encode-and-split-string n string charset encoding))) - nil - (progn - (setq dest (nth 1 ret)) - (setq m (car ret)) - (setq str (nth 2 ret)) - (while (and (stringp str) - (setq ret (mime/encode-and-split-string 1 str charset encoding)) - ) - (setq dest (concat dest "\n " (nth 1 ret))) - (setq m (car ret)) - (setq str (nth 2 ret)) - ) - (list m dest) - )) - )) - -(defun mime/encode-header-string (n string &optional mode) - (if (string= string "") - (list n "") - (let ((ssl (mime/separate-string-for-encoder string)) - i len cell et w ew (dest "") b l) - (setq len (length ssl)) - (setq cell (nth 0 ssl)) - (setq et (car cell)) - ;; string-width crashes when the argument is nil, - ;; so replace the argument - ;; (original modification by Kenji Rikitake 9-JAN-1995) - (setq w (or (cdr cell) "")) - (if (eq et nil) - (progn - (if (> (+ n (string-width w)) 76) - (progn - (setq dest (concat dest "\n ")) - (setq b 1) - ) - (setq b n)) - (setq dest (concat dest w)) - (setq b (+ b (string-width w))) - ) - (progn - (setq ew (mime/encode-header-word n (cdr cell) (car et) (cdr et))) - (setq dest (nth 1 ew)) - (setq b (car ew)) - )) - (setq i 1) - (while (< i len) - (setq cell (nth i ssl)) - (setq et (car cell)) - (setq w (cdr cell)) - (cond ((string-match "^[ \t]*$" w) - (setq b (+ b (string-width (cdr cell)))) - (setq dest (concat dest (cdr cell))) - ) - ((eq et nil) - (if (> (+ b (string-width w)) 76) - (progn - (if (eq (elt dest (- (length dest) 1)) 32) - (setq dest (substring dest 0 (- (length dest) 1))) - ) - (setq dest (concat dest "\n " w)) - (setq b (+ (length w) 1)) - ) - (setq l (length dest)) - (if (and (>= l 2) - (eq (elt dest (- l 2)) ?\?) - (eq (elt dest (- l 1)) ?=) - ) - (progn - (setq dest (concat dest " ")) - (setq b (+ b 1)) - )) - (setq dest (concat dest w)) - (setq b (+ b (string-width w))) - )) - (t - (if (not (eq (elt dest (- (length dest) 1)) 32)) - (progn - (setq dest (concat dest " ")) - (setq b (+ b 1)) - )) - (setq ew - (mime/encode-header-word b (cdr cell) (car et) (cdr et))) - (setq b (car ew)) - (if (string-match "^\n" (nth 1 ew)) - (setq dest (concat (substring dest 0 (- (length dest) 1)) - (nth 1 ew))) - (setq dest (concat dest (nth 1 ew))) - ) - )) - (setq i (+ i 1)) - ) - (list b dest) - ))) - -(defun mime/encode-address-list (n str) - (let* ((ret (message/parse-addresses str)) - (r ret) cell en-ret j cl (dest "") s) - (while r - (setq cell (car r)) - (cond ((string= (nth 1 cell) "<") - (setq en-ret (mime/encode-header-string n (nth 0 cell) 'phrase)) - (setq dest (concat dest (nth 1 en-ret))) - (setq n (car en-ret)) - (if (> (length r) 1) - (setq en-ret - (mime/encode-header-string - n (concat (nth 1 cell)(nth 2 cell)(nth 3 cell) ", "))) - (setq en-ret (mime/encode-header-string - n (concat (nth 1 cell)(nth 2 cell)(nth 3 cell)))) - ) - (if (and (eq (elt (nth 1 en-ret) 0) ?\n) - (eq (elt dest (- (length dest) 1)) 32)) - (setq dest (substring dest 0 (- (length dest) 1))) - ) - (setq dest (concat dest (nth 1 en-ret))) - (setq n (car en-ret)) - ) - ((= (length cell) 4) - (setq en-ret (mime/encode-header-string n (nth 0 cell))) - (setq dest (concat dest (nth 1 en-ret))) - (setq n (car en-ret)) - - (setq en-ret (mime/encode-header-string (+ n 2) (nth 2 cell) - 'comment)) - (if (eq (elt (nth 1 en-ret) 0) ?\n) - (progn - (setq dest (concat dest "\n (")) - (setq en-ret (mime/encode-header-string 2 (nth 2 cell) - 'comment)) - ) - (progn - (setq dest (concat dest " (")) - )) - (setq dest (concat dest (nth 1 en-ret))) - (setq n (car en-ret)) - (if (> (length r) 1) - (setq en-ret - (mime/encode-header-string n (concat (nth 3 cell) ", ")) - ) - (setq en-ret (mime/encode-header-string n (nth 3 cell))) - ) - (setq dest (concat dest (nth 1 en-ret))) - (setq n (car en-ret)) - ) - (t - (if (> (length r) 1) - (setq en-ret - (mime/encode-header-string n (concat (nth 0 cell) ", ")) - ) - (setq en-ret (mime/encode-header-string n (nth 0 cell))) - ) - (setq dest (concat dest (nth 1 en-ret))) - (setq n (car en-ret)) - )) - (setq r (cdr r)) - ) - dest)) - - -;;; @ utility for encoder -;;; - -;;; @@ encoded-word length -;;; - -(defun mime/encoded-word-length (string encoding) - (cond ((equal encoding "B") (base64-encoded-length string)) - ((equal encoding "Q") (quoted-printable-encoded-length string)) - )) - -;;; @@ separate by character set -;;; - -;; by mol. 1993/11/2 -(defconst LC-space 2) - -;; by mol. 1993/10/16 -(defun mime/char-type (chr) - (if (or (= chr 32)(= chr ?\t)) - LC-space - (get-lc chr) - )) - -(defun mime/separate-string-by-chartype (string) - (let ((len (length string)) - (dest nil) (ds "") s - pcs i j cs chr) - (if (= len 0) nil - (progn - (setq chr (elt string 0)) - (setq pcs (mime/char-type chr)) - (setq i (char-bytes chr)) - (setq ds (substring string 0 i)) - (while (< i len) - (setq chr (elt string i)) - (setq cs (mime/char-type chr)) - (setq j (+ i (char-bytes chr))) - (setq s (substring string i j)) - (setq i j) - (if (= cs pcs) - (setq ds (concat ds s)) - (progn (setq dest (append dest (list (cons pcs ds)))) - (setq pcs cs) - (setq ds s) - )) - ) - (if (not (string= ds "")) - (setq dest (append dest (list (cons pcs ds))))) - dest) - ))) - -(defun mime/separate-string-by-charset (str) - (let ((rl (mime/separate-string-by-chartype str)) - (i 1) len (pcell nil) cell ncell dpcell (dest nil) LC) - (setq len (length rl)) - (setq dpcell (list (nth 0 rl))) - (setq cell (nth 1 rl)) - (setq ncell (nth 2 rl)) - (while (< i len) - (setq LC (car (car dpcell))) - (cond ((and (not (eq LC lc-ascii)) - (eq (car cell) LC-space) - (not (eq (car ncell) lc-ascii))) - (setq dpcell (list (cons LC - (concat (cdr (car dpcell)) (cdr cell)) - ))) - ) - ((and (not (eq LC lc-ascii)) - (eq LC (car cell))) - (setq dpcell (list (cons LC - (concat (cdr (car dpcell)) (cdr cell)) - ))) - ) - ((and (eq LC lc-ascii) - (member (car cell) mime/latin-lc-list)) - (setq dpcell (list (cons (car cell) - (concat (cdr (car dpcell)) (cdr cell)) - ))) - ) - ((and (member LC mime/latin-lc-list) - (eq (car cell) lc-ascii)) - (setq dpcell (list (cons LC - (concat (cdr (car dpcell)) (cdr cell)) - ))) - ) - (t - (setq dest (append dest dpcell)) - (setq dpcell (list cell)) - )) - (setq i (+ i 1)) - (setq cell ncell) - (setq ncell (nth (+ i 1) rl)) - ) - (setq dest (append dest dpcell)) - )) - -(defun mime/separate-string-for-encoder (string) - (let (lastspace) - (if (string-match "[ \t]+$" string) - (progn - (setq lastspace (substring string - (match-beginning 0) - (match-end 0))) - (setq string (substring string 0 (match-beginning 0))) - )) - (let ((rl (mime/separate-string-by-charset string)) - (i 0) len cell0 cell1 cell2 (dest nil)) - (setq len (length rl)) - (setq cell0 (nth 0 rl)) - (setq cell1 (nth 1 rl)) - (setq cell2 (nth 2 rl)) - (while (< i len) - (cond ((and (not (eq (car cell0) lc-ascii)) - (eq (car cell1) LC-space) - (not (eq (car cell2) lc-ascii)) - ) - (setq dest - (append dest (list - (cons - (cdr (assoc (car cell0) - mime/lc-charset-and-encoding-alist)) - (concat (cdr cell0) (cdr cell1)) - )))) - (setq i (+ i 2)) - (setq cell0 (nth i rl)) - (setq cell1 (nth (+ i 1) rl)) - (setq cell2 (nth (+ i 2) rl)) - ) - (t - (setq dest - (append dest (list - (cons - (cdr (assoc (car cell0) - mime/lc-charset-and-encoding-alist)) - (cdr cell0))))) - (setq i (+ i 1)) - (setq cell0 cell1) - (setq cell1 cell2) - (setq cell2 (nth (+ i 2) rl)) - )) - ) - (append dest - (if lastspace - (list (cons nil lastspace)))) - ))) - - - -;;; -;;; basic functions for MIME header decoder -;;; - -;;; @ utility for decoder -;;; - -(defun mime/unfolding () - (goto-char (point-min)) - (let (field beg end) - (while (re-search-forward message/field-regexp nil t) - (setq beg (match-beginning 0)) - (setq end (match-end 0)) - (setq field (buffer-substring beg end)) - (if (string-match mime/encoded-word-regexp field) - (progn - (save-excursion - (save-restriction - (narrow-to-region (goto-char beg) end) - (while (re-search-forward "\n[ \t]+" nil t) - (replace-match " ") - ) - )) - )) - )) - ) - -(defun mime/prepare-decode-message-header () - (mime/unfolding) - (goto-char (point-min)) - (while (re-search-forward - (concat (regexp-quote "?=") - "\\s +" - (regexp-quote "=?")) - nil t) - (replace-match "?==?") - ) - ) - -(setq mime-charset-list - (list (list "US-ASCII" lc-ascii) - (list "ISO-8859-1" lc-ascii lc-ltn1) - (list "ISO-8859-2" lc-ascii lc-ltn2) - (list "ISO-8859-3" lc-ascii lc-ltn3) - (list "ISO-8859-4" lc-ascii lc-ltn4) - (list "ISO-8859-5" lc-ascii lc-crl) - (list "ISO-8859-7" lc-ascii lc-grk) - (list "ISO-8859-9" lc-ascii lc-ltn5) - (list "ISO-2022-JP" lc-ascii lc-jp) - (list "ISO-2022-KR" lc-ascii lc-kr) - (list "ISO-2022-JP-2" lc-ascii lc-ltn1 lc-grk - lc-jp lc-cn lc-kr lc-jp2) - (list "ISO-2022-INT-1" lc-ascii lc-ltn1 lc-grk - lc-jp lc-cn lc-kr lc-jp2 lc-cns1 lc-cns2) - )) - -(setq eword-field-body-separator-regexp " / ") - -(if (string-match eword-field-body-separator-regexp str) - (list (substring str 0 (match-beginning 0)) - (substring str (match-beginning 0)(match-end 0)) - (substring str (match-end 0)) - )) - -(defun find-lc-set-string (str) - (let (dest (len (length str))(i 0) chr lc) - (while (< i len) - (setq chr (elt str i)) - (setq lc (get-lc chr)) - (if (not (memq lc dest)) - (setq dest (cons lc dest)) - ) - (setq i (+ i (char-bytes chr))) - ) - dest)) - -(defun mime/lc-set-to-charset (lc-set) - (let ((rest mime-charset-list) cell) - (catch 'tag - (while rest - (setq cell (car rest)) - (if (subsetp lc-set (cdr cell)) - (throw 'tag (car cell)) - ) - (setq rest (cdr rest)) - )))) - -(run-hooks 'mime/tiny-mime-load-hook) - -(provide 'tiny-mime) - -;;; @ -;;; Local Variables: -;;; mode: emacs-lisp -;;; mode: outline-minor -;;; outline-regexp: ";;; @+\\|(......" -;;; End: diff --git a/tm-gnus-eng.ol b/tm-gnus-eng.ol deleted file mode 100644 index f5c74bc..0000000 --- a/tm-gnus-eng.ol +++ /dev/null @@ -1,93 +0,0 @@ -[[R -\title{tm-gnus manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/7/25} -\maketitle -]]R - -* Install - -** tiny-mime - - Please copy tiny-mime.el to your emacs lisp directory. - - -** tm-body - - Please copy tm-body.el, tl-list.el and tl-header.el to your emacs -lisp directory. - - -** tm-misc - - Please copy tm-misc.el and tl-hook.el to your emacs lisp directory. - - -** tm-gnus - - Please copy tm-gnus.el to your emacs lisp directory. - - - -* .emacs - - Please insert following list to .emacs. - -[[E ----------------------------------------------------------------------- -(if (not (fboundp 'add-hook)) - (require 'tl-hook) - ) - -(let ((le (function - (lambda () - (require 'tm-gnus) - ))) - ) - (if (boundp 'MULE) - (progn - (add-hook 'gnus-Group-mode-hook (function gnusutil-initialize)) - (add-hook 'gnus-group-mode-hook (function gnusutil-initialize)) - (autoload 'gnusutil-initialize "gnusutil") - (autoload 'gnusutil-add-group "gnusutil") - (add-hook 'gnusutil-initialize-hook le) - ) - (progn - (add-hook 'gnus-Startup-hook le) - (add-hook 'gnus-startup-hook le) - ))) ----------------------------------------------------------------------- -]]E - - -* How to use - -------------------------------------------------------- -| key | function | -======================================================= -| M-t |toggle switch of message header decoding mode | -------------------------------------------------------- -| v |MIME decode message body and play | -| e |MIME decode message body and extract to file(s)| -|C-c p|MIME decode message body and print | -------------------------------------------------------- - - -* How to use metamail - - In normal definition, tm-mh-e use tm-body as MIME body decoder. -However, you can use metamail. In this case, Of course, you need -metamail and metamail.el. - - Please insert following list to .emacs if you want to use metamail. - -[[E ----------------------------------------------------------------------- -(autoload 'metamail-buffer "metamail" nil t) -(setq mime/body-decoding-method (function metamail-buffer)) ----------------------------------------------------------------------- -]]E - - If you use metamail, there are no decoding mode of MIME body -decoding. Therefore, functions for `v', `e', `C-c p' are equally -`metamail-buffer', and decoding is sequentially. diff --git a/tm-gnus-eng.tex b/tm-gnus-eng.tex deleted file mode 100644 index e4815cb..0000000 --- a/tm-gnus-eng.tex +++ /dev/null @@ -1,120 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{tm-gnus manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/7/25} -\maketitle -\medskip - -\section{Install} -\medskip - -\subsection{tiny-mime} -\medskip -\par -Please copy tiny-mime.el to your emacs lisp directory. -\medskip -\medskip - -\subsection{tm-body} -\medskip -\par -Please copy tm-body.el, tl-list.el and tl-header.el to your emacs -lisp directory. -\medskip -\medskip - -\subsection{tm-misc} -\medskip -\par -Please copy tm-misc.el and tl-hook.el to your emacs lisp directory. -\medskip -\medskip - -\subsection{tm-gnus} -\medskip -\par -Please copy tm-gnus.el to your emacs lisp directory. -\medskip -\medskip -\medskip - -\section{.emacs} -\medskip -\par -Please insert following list to .emacs. -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(if (not (fboundp 'add-hook)) - (require 'tl-hook) - ) - -(let ((le (function - (lambda () - (require 'tm-gnus) - ))) - ) - (if (boundp 'MULE) - (progn - (add-hook 'gnus-Group-mode-hook (function gnusutil-initialize)) - (add-hook 'gnus-group-mode-hook (function gnusutil-initialize)) - (autoload 'gnusutil-initialize "gnusutil") - (autoload 'gnusutil-add-group "gnusutil") - (add-hook 'gnusutil-initialize-hook le) - ) - (progn - (add-hook 'gnus-Startup-hook le) - (add-hook 'gnus-startup-hook le) - ))) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\medskip - -\section{How to use} -\medskip -~\\ -\begin{tabular}{|c|r|} -\hline - key & function \\ -\hline\hline - M-t & toggle switch of message header decoding mode \\ -\hline - v & MIME decode message body and play \\ - e & MIME decode message body and extract to file(s)\\ -C-c p & MIME decode message body and print \\ -\hline -\end{tabular}\\ -\medskip -\medskip - -\section{How to use metamail} -\medskip -\par -In normal definition, tm-mh-e use tm-body as MIME body decoder. -However, you can use metamail. In this case, Of course, you need -metamail and metamail.el. -\medskip -\par -Please insert following list to .emacs if you want to use metamail. -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(autoload 'metamail-buffer "metamail" nil t) -(setq mime/body-decoding-method (function metamail-buffer)) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -If you use metamail, there are no decoding mode of MIME body -decoding. Therefore, functions for `v', `e', `C-c p' are equally -`metamail-buffer', and decoding is sequentially. -\end{document} diff --git a/tm-gnus-jp.ol b/tm-gnus-jp.ol deleted file mode 100644 index 8927a3f..0000000 --- a/tm-gnus-jp.ol +++ /dev/null @@ -1,182 +0,0 @@ -$B!X(Btm-gnus $B@bL@=q!Y(B -by. $B $B6&DL(B module), tm-gnus $B$N3F(B module $B$+$i(B -$B$J$j$^$9!#3F(B module $BKh$N(B install $BK!$O0J2<$NDL$j$G$9!#(B - - -** tiny-mime $B$N(B install - - tiny-mime.el $B$r(B Emacs $B$NJQ?t(B load-path $B$G;XDj$5$l$?(B directory $B$K(B -copy $B$7$^$9!#(B - - -** tm-body $B$N(B install - - tm-body.el, tl-list.el, tl-header.el $B$r(B Emacs $B$NJQ?t(B load-path $B$G;X(B -$BDj$5$l$?(B directory $B$K(B copy $B$7$^$9!#(B - - -** tm-misc $B$N(B install - - tm-misc.el, tl-hook.el $B$r(B Emacs $B$NJQ?t(B load-path $B$G;XDj$5$l$?(B -directory $B$K(B copy $B$7$^$9!#(B - - -** tm-gnus $B$N(B install - - tm-gnus.el $B$H(B tm-gnus3.el $B$r(B Emacs $B$NJQ?t(B load-path $B$G;XDj$5$l$?(B -directory $B$K(B copy $B$7$^$9!#(Btm-gnus3.el $B$r(B byte-compile $B$9$k>l9g$O!"(BGNUS -3 $B$,(B load $B$5$l$?>uBV$G9T$J$C$F2<$5$$!#(B - - - -* $B@_Dj(B - - .emacs $B$K0J2<$N$b$N$rF~$l$^$9!#(B - -[[E ----------------------------------------------------------------------- -(if (not (fboundp 'add-hook)) - (require 'tl-hook) - ) - -(let ((le (function - (lambda () - (require 'tm-gnus) - ))) - ) - (if (boundp 'MULE) - (progn - (add-hook 'gnus-Group-mode-hook (function gnusutil-initialize)) - (add-hook 'gnus-group-mode-hook (function gnusutil-initialize)) - (autoload 'gnusutil-initialize "gnusutil") - (autoload 'gnusutil-add-group "gnusutil") - (add-hook 'gnusutil-initialize-hook le) - ) - (progn - (add-hook 'gnus-Startup-hook le) - (add-hook 'gnus-startup-hook le) - ))) ----------------------------------------------------------------------- -]]E - - Mule $B$K$*$1$k>e5-$N@_Dj$O!"(Bgnusutil $B$rJ;MQ$9$k>l9g$N$b$N$G$9$,!"(B -gnusutil $B$rJ;MQ$7$J$$>l9g$O(B (require 'tm-gnus) $B$@$1$G7k9=$G$9!#(B - - -* $B;H$$J}(B - --------------------------------------------------------------------- -| key | $B5!G=(B | -==================================================================== -| M-t |message header $B$r(B decode $B$K4X$9$k(B toggle switch | --------------------------------------------------------------------- -| v |message body $B$r(B MIME decode $B$7$F!":F@8$9$k(B (play mode) | -| e |message body $B$r(B MIME decode $B$7$F!"(Bfile $B$KMn$9(B (extract mode)| -|C-c p|message body $B$r(B MIME decode $B$7$F!"0u:~$9$k(B (print mode) | --------------------------------------------------------------------- - - message body $B$N(B MIME decode $B$K$*$$$F!"l9g(B .emacs $B$K0J2<$N$b$N$rF~$l$F2<$5$$!#(B - -[[E ----------------------------------------------------------------------- -(autoload 'metamail-buffer "metamail" nil t) -(setq mime/body-decoding-method (function metamail-buffer)) ----------------------------------------------------------------------- -]]E - - metamail $B$r;H$&@_Dj$N>l9g!"(B`v', `e', `C-c p' $B$KBP1~$9$kF0:n$O(B -metamail $B$K$+$1$k$@$1$K$J$j!"F10l$NF0:n$K$J$j$^$9!#$^$?!"F0:n$OC`o$K!"(BMIME header decoding $B$r9T$J$o(B -$B$J$$!"@8$N(B message $B$GJ]B8$7$?$$>l9g$O(B -(tm-gnus/set-mime-header-decoding-mode nil) $B$r9T$J$C$F!"(BMIME header -decoding $B$r9T$J$o$J$$(B mode $B$K$7$F!"(Barticle save $B4X?t$ruBV$KLa$7$?$$>l9g$O!"(B -$B0J2<$N$h$&$K!"0l;~JQ?t$K(B MIME header decoding mode $B$rJ]B8$7$F$*$1$P(B OK -$B$G$9!#(B - -[[E - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (article save $B4X?t(B) - (tm-gnus/set-mime-header-decoding-mode mm) - ) -]]E - - $B0J2<$K!"(Bmh-e $B$N(B folder $B$K(B save $B$9$k>l9g$NNc$r<($7$^$9!#(B - -[[E ----------------------------------------------------------------------- -(add-hook 'gnus-Startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-Subject-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -(add-hook 'gnus-startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-summary-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) ----------------------------------------------------------------------- -]]E - - -** reply $B$9$k;~(B Subject $B$N(B encoding $BK!$r(B reply $B85$K9g$o$;$k(B - - Reply $B$9$k;~!"(Breply $B85$N(B Subject $B$K(B ASCII $B0J30$NJ8;z=89g$NF~$C$F$$$k(B -$B>l9g!"(Breply $B85$,(B MIME encode $B$5$l$F$$$?$i(B encode $B$7!"$=$&$G$J$+$C$?$i(B -$B@8$GF~$l$?$$>l9g$O!"$ ¶¦ÄÌ module), tm-gnus ¤Î³Æ module ¤«¤é -¤Ê¤ê¤Þ¤¹¡£³Æ module Ëè¤Î install Ë¡¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ -\medskip -\medskip - -\subsection{tiny-mime ¤Î install} -\medskip -\par -tiny-mime.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»ØÄꤵ¤ì¤¿ directory ¤Ë -copy ¤·¤Þ¤¹¡£ -\medskip -\medskip - -\subsection{tm-body ¤Î install} -\medskip -\par -tm-body.el, tl-list.el, tl-header.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»Ø -Äꤵ¤ì¤¿ directory ¤Ë copy ¤·¤Þ¤¹¡£ -\medskip -\medskip - -\subsection{tm-misc ¤Î install} -\medskip -\par -tm-misc.el, tl-hook.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»ØÄꤵ¤ì¤¿ -directory ¤Ë copy ¤·¤Þ¤¹¡£ -\medskip -\medskip - -\subsection{tm-gnus ¤Î install} -\medskip -\par -tm-gnus.el ¤È tm-gnus3.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»ØÄꤵ¤ì¤¿ -directory ¤Ë copy ¤·¤Þ¤¹¡£tm-gnus3.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢GNUS -3 ¤¬ load ¤µ¤ì¤¿¾õÂ֤ǹԤʤäƲ¼¤µ¤¤¡£ -\medskip -\medskip -\medskip - -\section{ÀßÄê} -\medskip -\par -.emacs ¤Ë°Ê²¼¤Î¤â¤Î¤òÆþ¤ì¤Þ¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(if (not (fboundp 'add-hook)) - (require 'tl-hook) - ) - -(let ((le (function - (lambda () - (require 'tm-gnus) - ))) - ) - (if (boundp 'MULE) - (progn - (add-hook 'gnus-Group-mode-hook (function gnusutil-initialize)) - (add-hook 'gnus-group-mode-hook (function gnusutil-initialize)) - (autoload 'gnusutil-initialize "gnusutil") - (autoload 'gnusutil-add-group "gnusutil") - (add-hook 'gnusutil-initialize-hook le) - ) - (progn - (add-hook 'gnus-Startup-hook le) - (add-hook 'gnus-startup-hook le) - ))) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -Mule ¤Ë¤ª¤±¤ë¾åµ­¤ÎÀßÄê¤Ï¡¢gnusutil ¤òÊ»ÍѤ¹¤ë¾ì¹ç¤Î¤â¤Î¤Ç¤¹¤¬¡¢ -gnusutil ¤òÊ»ÍѤ·¤Ê¤¤¾ì¹ç¤Ï (require 'tm-gnus) ¤À¤±¤Ç·ë¹½¤Ç¤¹¡£ -\medskip -\medskip - -\section{»È¤¤Êý} -\medskip -~\\ -\begin{tabular}{|c|c|} -\hline - key & µ¡Ç½ \\ -\hline\hline - M-t & message header ¤ò decode ¤Ë´Ø¤¹¤ë toggle switch \\ -\hline - v & message body ¤ò MIME decode ¤·¤Æ¡¢ºÆÀ¸¤¹¤ë (play mode) \\ - e & message body ¤ò MIME decode ¤·¤Æ¡¢file ¤ËÍ (extract mode)\\ -C-c p & message body ¤ò MIME decode ¤·¤Æ¡¢°õºþ¤¹¤ë (print mode) \\ -\hline -\end{tabular}\\ -\medskip -\par -message body ¤Î MIME decode ¤Ë¤ª¤¤¤Æ¡¢¼ÂºÝ¤Ë³ÆÆ°ºî¤¬¹Ô¤Ê¤ï¤ì¤ë¤«¤É¤¦ -¤«¤Ï¡¢³Æ Content-Type ¤ËÂбþ¤¹¤ë tm-body ¤Î mthod ¤Ë°Í¸¤·¤Þ¤¹¡£ -\medskip -\medskip - -\section{³Æ¼ïÀßÄê} -\medskip - -\subsection{metamail ¤ò»È¤¦ÊýË¡} -\medskip -\par -tm-mh-e ¤Ï MIME body ¤Î decode ¤Ë tm-body ¤ò»È¤¤¤Þ¤¹¤¬¡¢metamail ¤ò -»È¤¦¤è¤¦¤ËÀßÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£Ã¢¤·¡¢metamail ¤È metamail.el ¤¬É¬Í× -¤Ç¤¹¡£ -\medskip -\par -¤³¤Î¾ì¹ç .emacs ¤Ë°Ê²¼¤Î¤â¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(autoload 'metamail-buffer "metamail" nil t) -(setq mime/body-decoding-method (function metamail-buffer)) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -metamail ¤ò»È¤¦ÀßÄê¤Î¾ì¹ç¡¢`v', `e', `C-c p' ¤ËÂбþ¤¹¤ëÆ°ºî¤Ï -metamail ¤Ë¤«¤±¤ë¤À¤±¤Ë¤Ê¤ê¡¢Æ±°ì¤ÎÆ°ºî¤Ë¤Ê¤ê¤Þ¤¹¡£¤Þ¤¿¡¢Æ°ºî¤ÏÃ༡Ū -¤Ë¤Ê¤ê¤Þ¤¹¡£ -\medskip -\medskip - -\subsection{article ¤ò save ¤¹¤ë»þ decoding ¤·¤Ê¤¤} -\medskip -\par -article ¤ò save ¤¹¤ë»þ¡¢Êݸ¤µ¤ì¤ë message ¤Ï¤½¤Î»þɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤è -¤¦¤Ë¡¢¤½¤Î»þ¤Î MIME header decoding mode ¤Ë±þ¤¸¤Æ save ¤µ¤ì¤Þ¤¹¡£ -\medskip -\par -¤·¤«¤·¡¢article ¤ò save ¤¹¤ë»þ¡¢¾ï¤Ë¡¢MIME header decoding ¤ò¹Ô¤Ê¤ï -¤Ê¤¤¡¢À¸¤Î message ¤ÇÊݸ¤·¤¿¤¤¾ì¹ç¤Ï -(tm-gnus/set-mime-header-decoding-mode nil) ¤ò¹Ô¤Ê¤Ã¤Æ¡¢MIME header -decoding ¤ò¹Ô¤Ê¤ï¤Ê¤¤ mode ¤Ë¤·¤Æ¡¢article save ´Ø¿ô¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀß -Äꤷ¤Æ²¼¤µ¤¤¡£ -\medskip -\par -Save ¤Î¼Â¹Ô¸å¡¢MIME header decoding mode ¤òÁ°¤Î¾õÂÖ¤ËÌᤷ¤¿¤¤¾ì¹ç¤Ï¡¢ -°Ê²¼¤Î¤è¤¦¤Ë¡¢°ì»þÊÑ¿ô¤Ë MIME header decoding mode ¤òÊݸ¤·¤Æ¤ª¤±¤Ð OK -¤Ç¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (article save ´Ø¿ô) - (tm-gnus/set-mime-header-decoding-mode mm) - ) -\end{verbatim}} -\medskip -\par -°Ê²¼¤Ë¡¢mh-e ¤Î folder ¤Ë save ¤¹¤ë¾ì¹ç¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(add-hook 'gnus-Startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-Subject-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -(add-hook 'gnus-startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-summary-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\medskip - -\subsection{reply ¤¹¤ë»þ Subject ¤Î encoding Ë¡¤ò reply ¸µ¤Ë¹ç¤ï¤»¤ë} -\medskip -\par -Reply ¤¹¤ë»þ¡¢reply ¸µ¤Î Subject ¤Ë ASCII °Ê³°¤Îʸ»ú½¸¹ç¤ÎÆþ¤Ã¤Æ¤¤¤ë -¾ì¹ç¡¢reply ¸µ¤¬ MIME encode ¤µ¤ì¤Æ¤¤¤¿¤é encode ¤·¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¤é -À¸¤ÇÆþ¤ì¤¿¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(add-hook 'gnus-article-prepare-hook - (function - (lambda () - (if (mime/exist-encoded-word-in-subject) - (setq mime/no-encoding-header-fields '("X-Nsubject")) - (setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) - )))) ----------------------------------------------------------------------- -\end{verbatim}} -\end{document} diff --git a/tm-gnus.el b/tm-gnus.el deleted file mode 100644 index e2acfa5..0000000 --- a/tm-gnus.el +++ /dev/null @@ -1,98 +0,0 @@ -;;; -;;; A MIME extension for GNUS -;;; -;;; by Morioka Tomohiko, 1993/11/20 -;;; - -(provide 'tm-gnus) - - -;;; @ require modules -;;; -(require 'tm-misc) -(require 'tl-str) -(require 'gnus) - - -;;; @ version -;;; -(defconst tm-gnus/RCS-ID - "$Id: tm-gnus.el,v 5.1 1994/10/25 07:17:51 morioka Exp $") - -(defconst tm-gnus/version (get-version-string tm-gnus/RCS-ID)) - - -;;; @ variables -;;; -(defvar tm-gnus/startup-hook nil) - - -;;; @ to decode subjects in mode-line -;;; -;; This function imported from gnus.el. -;; -;; New implementation in gnus 3.14.3 -;; -(defun tm-gnus/article-set-mode-line () - "Set Article mode line string. -If you don't like it, define your own gnus-article-set-mode-line." - (let ((maxlen 15) ;Maximum subject length - (subject - (if gnus-current-headers - (mime/decode-string (nntp-header-subject gnus-current-headers)) - "") - )) - ;; The value must be a string to escape %-constructs because of subject. - (setq mode-line-buffer-identification - (format "GNUS: %s%s %s%s%s" - gnus-newsgroup-name - (if gnus-current-article - (format "/%d" gnus-current-article) "") - (rightful-boundary-short-string subject - (min (string-width subject) - maxlen)) - (if (> (string-width subject) maxlen) "..." "") - (make-string (max 0 (- 17 (string-width subject))) ? ) - ))) - (set-buffer-modified-p t)) - - -;;; @ to decode subjects in Summary buffer -;;; -(defun tm-gnus/decode-summary-subjects () - (mapcar (function - (lambda (header) - (nntp-set-header-subject - header - (mime/decode-string (gnus-header-subject header)) - ))) - gnus-newsgroup-headers) - ) - - -;;; @ change MIME header decoding mode, decoding or non decoding. -;;; - -(defun tm-gnus/set-mime-header-decoding-mode (arg) - "Set MIME header processing. -With arg, turn MIME processing on iff arg is positive." - (setq mime/header-decoding-mode arg) - (setq gnus-have-all-headers (not gnus-have-all-headers)) - (gnus-summary-select-article (not gnus-have-all-headers) t) - ) - -(defun tm-gnus/toggle-mime-header-decoding-mode () - "Toggle MIME header processing. -With arg, turn MIME processing on iff arg is positive." - (interactive) - (tm-gnus/set-mime-header-decoding-mode (not mime/header-decoding-mode)) - ) - -;;; @ set up -;;; -(if (string-match "^GNUS [0-3]" gnus-version) - (require 'tm-gnus3) - (require 'tm-gnus4) - ) - -(run-hooks 'tm-gnus/startup-hook) diff --git a/tm-gnus3.el b/tm-gnus3.el deleted file mode 100644 index 38ef4a4..0000000 --- a/tm-gnus3.el +++ /dev/null @@ -1,62 +0,0 @@ -;;; -;;; $Id: tm-gnus3.el,v 5.4 1994/10/25 08:29:17 morioka Exp $ -;;; - -(provide 'tm-gnus3) - -(require 'tm-gnus) -(require 'tm-view) -(require 'tl-list) - -(setq mime/go-to-top-node-method-alist - (put-alist 'gnus-Article-mode - (if (string-match (regexp-quote "3.14.4") gnus-version) - (function - (lambda () - (mime/exit-view-mode) - (delete-other-windows) - (gnus-Article-show-summary) - )) - (function - (lambda () - (mime/exit-view-mode) - (delete-other-windows) - (gnus-Article-show-subjects) - ))) - mime/go-to-top-node-method-alist)) - -(defun tm-gnus/view-message (arg) - "MIME decode and play this message." - (interactive "P") - (let ((gnus-break-pages nil)) - (gnus-Subject-select-article t t) - ) - (pop-to-buffer gnus-Article-buffer t) - (mime/viewer-mode) - ) - -(add-hook 'gnus-Select-group-hook (function tm-gnus/decode-summary-subjects)) - -(define-key gnus-Subject-mode-map - "\et" 'tm-gnus/toggle-mime-header-decoding-mode) -(define-key gnus-Subject-mode-map "v" 'tm-gnus/view-message) - -(fset 'gnus-summary-select-article 'gnus-Subject-select-article) - -(fset 'gnus-Article-set-mode-line 'tm-gnus/article-set-mode-line) -(add-hook 'gnus-Article-prepare-hook - (function mime/decode-message-header-if-you-need) t) - -(if (not (string-match "^GNUS 3\.14\.4" gnus-version)) - (progn - (add-hook 'gnus-Article-mode-hook - (function - (lambda () - (make-local-variable 'minor-mode-alist) - (mime/add-header-decoding-mode-to-mode-line) - ))) - ) - (progn - (add-hook 'gnus-Article-mode-hook - (function mime/add-header-decoding-mode-to-mode-line)) - )) diff --git a/tm-gnus4.el b/tm-gnus4.el deleted file mode 100644 index 4a1f6de..0000000 --- a/tm-gnus4.el +++ /dev/null @@ -1,39 +0,0 @@ -;;; -;;; $Id: tm-gnus4.el,v 5.4 1994/10/25 08:50:08 morioka Exp $ -;;; - -(provide 'tm-gnus4) - -(require 'tm-gnus) -(autoload 'mime/viewer-mode "tm-view" "View MIME message." t) - -(defun tm-gnus/view-message (arg) - "MIME decode and play this message." - (interactive "P") - (let ((gnus-break-pages nil)) - (gnus-summary-select-article t t) - ) - (pop-to-buffer gnus-article-buffer t) - (mime/viewer-mode) - ) - -(defun tm-gnus/summary-scroll-down () - "Scroll down one line current article." - (interactive) - (gnus-summary-scroll-up -1) - ) - -(add-hook 'gnus-select-group-hook (function tm-gnus/decode-summary-subjects)) - -(define-key gnus-summary-mode-map - "\et" (function tm-gnus/toggle-mime-header-decoding-mode)) -(define-key gnus-summary-mode-map "v" (function tm-gnus/view-message)) -(define-key gnus-summary-mode-map - "\e\r" (function tm-gnus/summary-scroll-down)) - -(fset 'gnus-article-set-mode-line 'tm-gnus/article-set-mode-line) -(add-hook 'gnus-article-mode-hook - (function mime/add-header-decoding-mode-to-mode-line)) - -(add-hook 'gnus-article-prepare-hook - (function mime/decode-message-header-if-you-need) t) diff --git a/tm-jp.tex b/tm-jp.tex deleted file mode 100644 index ec9aac5..0000000 --- a/tm-jp.tex +++ /dev/null @@ -1,617 +0,0 @@ -\documentstyle[a4j]{jreport} - -\title{tm ÀâÌÀ½ñ} -\author{¼é²¬ ÃÎɧ\\ - morioka@jaist.ac.jp} -\date{\verb$Id: tm-jp.tex,v 5.1 1994/09/26 14:52:00 morioka Exp $} - -\begin{document} - -\maketitle -\tableofcontents - -\chapter{¤Ï¤¸¤á¤Ë} - -tm ¤Ï GNU Emacs ¤Ç MIME ¤ò³Ú¤·¤à¤¿¤á¤Î package ¤Ç¤¹¡£tm ¤ò»È¤¦¤È¡¢ - -\begin{itemize} -\item ¿¸À¸ì header ¤Î encode/decode -\item mime/viewer-mode ¤ò»È¤Ã¤¿ MIME message ¤Î±ÜÍ÷¡¦ºÆÀ¸ -\item mh-e, GNUS, RMAIL ¤Ç¤Î MIME µ¡Ç½¤Î¶¯²½ -\end{itemize} - -\noindent ¤¬¹Ô¤Ê¤¨¤Þ¤¹¡£ - - -\section{Module °ìÍ÷} - -tm ¤Ï°Ê²¼¤Î module ¤«¤é¤Ê¤ê¤Þ¤¹¡£ - -\begin{itemize} -\item {\bf tiny-mime} : MIME header encoder/decoder -\item {\bf tm-view} : MIME viewer -\item {\bf tm-misc} : tm-MUA ¤Î¶¦ÄÌ module -\item {\bf tm-MUAs} : MUA ¤Î MIME µ¡Ç½¶¯²½ module - \begin{itemize} - \item {\bf tm-mh-e} : mh-e ÍѤΠtm-MUA - \item {\bf tm-gnus} : GNUS ÍѤΠtm-MUA - \item {\bf tm-rmail} : RMAIL ÍѤΠtm-MUA - \end{itemize} -\item {\bf tm-setup} tm-MUA ¤ÎÀßÄê module -\item {\bf mime-setup} MIME ´Ø·¸¤ÎÀßÄê module -\end{itemize} - - -\chapter{Emacs version Ê̤ε¡Ç½¤ª¤è¤ÓÀ©¸Â} - -\section{Emacs (original)} - -Original ¤Î Emacs ¤Ç¤Ï¡¢ÅöÁ³¤Î¤³¤È¤Ê¤¬¤é¡¢Ã±°ìʸ»ú½¸¹ç¤·¤«»È¤¨¤Þ¤»¤ó¡£ - -\section{NEmacs, NEpoch} - -NEmacs ¤Ç¤Ï¡¢ISO-2022-JP ¤ª¤è¤Ó US-ASCII ¤¬»È¤¨¤Þ¤¹¡£ - -\begin{description} -\item[¡ÎÃí°Õ¡Ï] outline.el ¤Ï NEmacs Éí°¤Î¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢outln-18.el - ¤ò»È¤¦¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡£outln-18.el ¤ò»È¤¦¾ì¹ç¤Ï¡¢¤³¤ì¤ò outline.el - ¤Ë link ¤òÄ¥¤ë¤«¡¢rename ¤·¤Æ²¼¤µ¤¤¡£ - - outln-18.el ¤ò»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢outline.el ¤Ë - -\begin{verbatim} -(provide 'outline) -\end{verbatim} - - \noindent ¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -\end{description} - - -\section{Mule} - -ISO-2022-JP, ISO-2022-JP-2, US-ASCII, ISO-8859-1..9, ISO-2022-CN, -ISO-2022-KR, EUC-KR ¤Ê¤É¤Î¿¸À¸ì header ¤¬»È¤¨¤Þ¤¹¡£¤Þ¤¿¡¢´Ø¿ô -mime/set-charset-and-encoding ¤ÇÄɲá¦Êѹ¹¤¬¤Ç¤­¤Þ¤¹¡£ - -\begin{description} -\item[¡ÎÃí°Õ¡Ï] Emacs 18 base ¤Î Mule (Mule 1.1 ¤Ê¤É¡Ë¤Ç¤Ï¡¢Mule Éí° - ¤Î outline.el ¤ÎÂå¤ï¤ê¤Ëoutln-18.el ¤ò»È¤¦¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡£ - outln-18.el ¤ò»È¤¦¾ì¹ç¤Ï¡¢¤³¤ì¤ò outline.el ¤Ë link ¤òÄ¥¤ë¤«¡¢rename - ¤·¤Æ²¼¤µ¤¤¡£ - - outln-18.el ¤ò»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢outline.el ¤Ë - -\begin{verbatim} -(provide 'outline) -\end{verbatim} - - \noindent ¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ -\end{description} - - -\chapter{Install ¤ÈÀßÄê} - -\section{Install} - -Install ¤Ï¼¡¤Î¼ê½ç¤Ç¹Ô¤Ê¤¤¤Þ¤¹¡£ - -\begin{enumerate} -\item Makefile ¤Î bindir ¤ò¼«Ê¬¤Î´Ä¶­¤Ë¹ç¤ï¤»¤Æ½ñ¤­´¹¤¨¤ë¡£ -\item methods/ °Ê²¼¤Ë¤¢¤ë method script ¤ò \ref{sec:method} Àá¤ò»²¾È¤· - ¤Æ¡¢¼«Ê¬¤Î´Ä¶­¤Ë¹ç¤¦¤è¤¦¤Ë½ñ¤­´¹¤¨¤ë¡£ -\item make all ¤¹¤ë¡£ -\item make install ¤¹¤ë¡£ -\item *.el ¤ò Emacs ¤ÎÊÑ¿ô load-path ¤Ç»ØÄꤵ¤ì¤¿ directory ¤Ë copy ¤¹¤ë¡£ -\end{enumerate} - -\noindent{\bf [Ãí°Õ]} -\begin{itemize} -\item tm-mh-e3.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢mh-e version 3.* ¤ò load - ¤·¤¿¾õÂ֤ǹԤʤäƲ¼¤µ¤¤¡£ -\item tm-gnus3.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢GNUS 3 ¤¬ load ¤µ¤ì¤¿¾õ - Â֤ǹԤʤäƲ¼¤µ¤¤¡£ -\item tl-18.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢Emacs 18 ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£ -\item tl-orig.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢original Emacs ¤Ç¹Ô¤Ê¤Ã¤Æ - ²¼¤µ¤¤¡£ -\item tl-nemacs.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢NEmacs ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£ -\item tl-mule.el ¤ò byte-compile ¤¹¤ë¾ì¹ç¤Ï¡¢Mule ¤Ç¹Ô¤Ê¤Ã¤Æ²¼¤µ¤¤¡£ -\item Emacs 19 ¤Ç byte-compile ¤·¤¿ module ¤Ï Emacs 18 ¤Ç¤ÏÆ°¤­¤Þ¤»¤ó¡£ -\end{itemize} - - -\section{ÀßÄê} - -¤³¤Î package ¤Ë¤Ï mime-setup.el ¤È tm-setup.el ¤È¤¤¤¦´Ê°×ÀßÄê file ¤¬ -Éí°¤·¤Æ¤¤¤Þ¤¹¡£mime-setup.el ¤Ç¤Ï encoding ¤â´Þ¤á¤¿ÀßÄê¤ò¹Ô¤Ê¤¤¡¢ -tm-setup ¤Ç¤Ï tm-MUA ¤Ë´Ø¤¹¤ëÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ - -\subsection{mime-setup} - -\begin{verbatim} -(load "mime-setup") -\end{verbatim} - -\noindent ¤È¤¹¤ë¤È MIME ¤Ë´Ø¤¹¤ë³Æ¼ïÀßÄê¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£mime-setup ¤Ï -tm-setup ¤òÆɤó¤Ç¤¤¤ë¤Î¤Ç¡¢mime-setup ¤ò»È¤¦¾ì¹ç¡¢tm-setup ¤ò load ¤¹ -¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ - -mime-setup.el ¤Ïɸ½à¤Ç¤Ï SuperCite ¤ÎÀßÄê¤â¹Ô¤Ê¤¤¤Þ¤¹¡£¤³¤ì¤ò¤ä¤á¤ë¾ì -¹ç .emacs ¤Ë°Ê²¼¤Î¤â¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£ - -\begin{verbatim} -(setq mime-setup-use-sc nil) -\end{verbatim} - -mime-setup ¤Ç¤Ï signature ¤Î¼«Æ°ÀÚÂؤ¨ tool ¤âÉí°¤·¤Æ¤¤¤Þ¤¹¡£ -message header ¤Î field ¤Ë¹ç¤ï¤»¤Æ signature ¤Î¼«Æ°ÀÚÂؤò¹Ô¤Ê¤¤¤¿¤¤¾ì -¹ç¤Ï .emacs ¤Ë°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤òÆþ¤ì¤Æ²¼¤µ¤¤¡£¡Ê¾Ü¤·¤¯¤Ï signature.el -¤ÎÀâÌÀ½ñ¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡Ë - -\begin{verbatim} -(setq signature-file-alist - '((("Newsgroups" . "jokes") . "~/.signature-jokes") - (("Newsgroups" . ("zxr" "nzr")) . "~/.signature-sun") - (("To" . ("ishimaru" "z-suzuki")) . "~/.signature-sun") - (("To" . "tea") . "~/.signature-jokes") - (("To" . ("sim" "oku" "takuo")) . "~/.signature-formal") - )) -\end{verbatim} - -mime-setup ¤ò»È¤¦¾ì¹ç¤Ï¡¢mime.el ¤¬É¬ÍפǤ¹¡£¤Þ¤¿¡¢SuperCite ¤ò»È¤¦¾ì -¹ç¤Ï¡¢SuperCite ¤âɬÍפǤ¹¡£ - - -\subsection{tm-setup} - -tm-setup ¤Ï tm-MUA ¤ÎÀßÄê¤Î¤ß¤ò¹Ô¤Ê¤¦ module ¤Ç¤¹¡£mime-setup ¤ò load -¤·¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤ì¤òÍÛ¤Ë load ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¤¬¡¢mime-setup ¤ò»È -¤¤¤¿¤¯¤Ê¤¤¾ì¹ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤³¤ì¤ò load ¤·¤Æ²¼¤µ¤¤¡£ - -\begin{verbatim} -(load "tm-setup") -\end{verbatim} - - -\subsection{ÀßÄê file ¤ò»È¤ï¤Ê¤¤¾ì¹ç} - -tm-setup.el ¤ò»²¹Í¤Ë¤·¤Æ²¼¤µ¤¤¡£ - - -\subsection{MH ¤ÎÀßÄê} - -¤Þ¤¿¡¢MH ¤¬ MH-6.8JP2 ¤Î¾ì¹ç¡¢.mh\_profile ¤Ë - -\begin{verbatim} -scan: -form scan.mime -inc: -form inc.mime -repl: -form replcomps.mime -showproc: mhl -\end{verbatim} - -\noindent ¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£¤Þ¤¿¡¢¤½¤ì°Ê³°¤Î MH ¤Î½èÍý¤Ï Emacs ¤Î¦ -¤Ç¼è¤ê»ÅÀÚ¤ë¤Î¤Ç¡¢MH ¤ÎÀßÄê¤Ï¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ - - -\chapter{tm-MUA} - -``tm-MUA'' ¤È¤¤¤¦¤Î¤Ï¡¢mh-e, GNUS, RMAIL ¤Ê¤É¤Î MUA ¤Î¤¿¤á¤Î MIME µ¡Ç½ -¶¯²½ module ¤ÎÁí¾Î¤Ç¤¹¡£ - -¸½ºß¡¢tm-MUA ¤Ë¤Ï¡¢ - -\begin{itemize} -\item {\bf tm-mh-e} : mh-e ÍѤΠtm-MUA -\item {\bf tm-gnus} : GNUS ÍѤΠtm-MUA -\item {\bf tm-rmail} : RMAIL ÍѤΠtm-MUA -\end{itemize} - -\noindent ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î¾Ï¤Ç¤Ï¤³¤ì¤é¤Î module ¤Ë´Ø¤·¤ÆÀâÌÀ¤·¤Þ¤¹¡£ - - -\section{Summary mode} - -tm-MUA ¤ò»È¤¦¤È¡¢¸µ¤Î MUA ¤Î Summary mode ¤ËÂФ·¤Æ°Ê²¼¤Îµ¡Ç½¤¬Äɲ䵤ì -¤Þ¤¹¡£ - -\medskip -\begin{center} - \begin{tabular}{|l|l|}\hline - key & µ¡Ç½ \\ \hline - M-t & MIME header ¤Î decode ¤Ë´Ø¤¹¤ë toggle \\ - v & ËÜʸ¤ËÆþ¤ê¡¢mime/view-mode ¤Ë°Ü¤ë \\ \hline - \end{tabular} -\end{center} -\medskip - - -\section{mime/viewer-mode} -\label{sec:mime/viewer-mode} - -tm-MUA ¤ò»È¤¦¤È¡¢Summary mode ¤Ç {\bf v} ¤ò²¡¤¹¤³¤È¤Ë¤è¤Ã¤Æ¡¢ -mime/viewer-mode ¤È¤¤¤¦ MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Î mode ¤ËÆþ¤ê¤Þ¤¹ -¡Ê⤷¡¢vm ¤Ç¤Ï°ã¤¦ key ¤Ë bind ¤·¤Æ¤¤¤ë¤½¤¦¤Ç¤¹¡Ë¡£mime/viewer-mode -¤Ë¤Ï°Ê²¼¤Îµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£ - -\medskip -\begin{center} - \begin{tabular}{|l|l|}\hline - key & µ¡Ç½ \\ \hline - u & ¾å¤Î content ¤ËÌá¤ë \\ - & message ¤Î°ìÈÖ¾å¤Î content ¤Ç¤³¤ì¤ò¹Ô¤Ê¤¦¤È Summary mode - ¤ËÌá¤ë (*1) \\ - p & Á°¤Î content ¤Ë°ÜÆ°¤¹¤ë \\ - n & ¼¡¤Î content ¤Ë°ÜÆ°¤¹¤ë \\ - SPC & scroll up ¤¹¤ë \\ - M-SPC & scroll down ¤¹¤ë \\ - v & content ¤òºÆÀ¸¤¹¤ë (*2) \\ - e & content ¤«¤é file ¤ò¼è¤ê½Ð¤¹ (*2) \\ - C-c C-p & content ¤ò°õºþ¤¹¤ë (*2) \\ \hline - \end{tabular} -\end{center} -\medskip - -\bigskip - -\newcounter{asteriskcount} -\noindent{\bf ¡ÎÃí°Õ¡Ï} -\vspace{-1ex} -{\list{(*\arabic{asteriskcount})}{\usecounter{asteriskcount}\leftmargin=8ex} -\item tm-mh-e, tm-gnus, tm-rmail ¤Ê¤É¤Ç tm-view ¤ÎÀßÄê¤ò¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ - Summary mode ¤Ë¤ÏÌá¤ê¤Þ¤»¤ó¡£ -\item ¼ÂºÝ¤ÎÆ°ºî¤ÏÂбþ¤¹¤ë method ¤Ë°Í¤ê¤Þ¤¹¡£ -\endlist} - - -\section{tm-gnus ¤Î customize} - -\subsection{article ¤ò save ¤¹¤ë»þ decoding ¤·¤Ê¤¤} - -article ¤ò save ¤¹¤ë»þ¡¢Êݸ¤µ¤ì¤ë message ¤Ï¤½¤Î»þɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤è¤¦ -¤Ë¡¢¤½¤Î»þ¤Î MIME header decoding mode ¤Ë±þ¤¸¤Æ save ¤µ¤ì¤Þ¤¹¡£ - -¤·¤«¤·¡¢article ¤ò save ¤¹¤ë»þ¡¢¾ï¤Ë¡¢MIME header decoding ¤ò¹Ô¤Ê¤ï¤Ê -¤¤¡¢À¸¤Î message ¤ÇÊݸ¤·¤¿¤¤¾ì¹ç¤Ï¡¢ÊÑ¿ô -tm-gnus/set-mime-header-decoding-mode ¤ÎÃͤò nil ¤Ë¤·¤Æ¡¢MIME header -decoding ¤ò¹Ô¤Ê¤ï¤Ê¤¤ mode ¤Ë¤·¤Æ¡¢article save ´Ø¿ô¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀß -Äꤷ¤Æ²¼¤µ¤¤¡£ - -Save ¤Î¼Â¹Ô¸å¡¢MIME header decoding mode ¤òÁ°¤Î¾õÂÖ¤ËÌᤷ¤¿¤¤¾ì¹ç¤Ï¡¢ -°Ê²¼¤Î¤è¤¦¤Ë¡¢°ì»þÊÑ¿ô¤Ë MIME header decoding mode ¤òÊݸ¤·¤Æ¤ª¤±¤Ð OK -¤Ç¤¹¡£ - -\begin{verbatim} - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (article save ´Ø¿ô) - (tm-gnus/set-mime-header-decoding-mode mm) - ) -\end{verbatim} - -°Ê²¼¤Ë¡¢mh-e ¤Î folder ¤Ë save ¤¹¤ë¾ì¹ç¤ÎÎã¤ò¼¨¤·¤Þ¤¹¡£ - -\begin{verbatim} -(add-hook 'gnus-Startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-Subject-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -(add-hook 'gnus-startup-hook - (function - (lambda () - (setq gnus-default-article-saver - (function - (lambda () - (interactive) - (let ((mm mime/header-decoding-mode)) - (tm-gnus/set-mime-header-decoding-mode nil) - (gnus-summary-save-in-folder) - (tm-gnus/set-mime-header-decoding-mode mm) - ))))))) -\end{verbatim} - -\subsection{reply ¤¹¤ë»þ Subject ¤Î encoding Ë¡¤ò reply ¸µ¤Ë¹ç¤ï¤»¤ë} - -Reply ¤¹¤ë»þ¡¢reply ¸µ¤Î Subject ¤Ë ASCII °Ê³°¤Îʸ»ú½¸¹ç¤ÎÆþ¤Ã¤Æ¤¤¤ë -¾ì¹ç¡¢reply ¸µ¤¬ MIME encode ¤µ¤ì¤Æ¤¤¤¿¤é encode ¤·¡¢¤½¤¦¤Ç¤Ê¤«¤Ã¤¿¤é -À¸¤ÇÆþ¤ì¤¿¤¤¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Þ¤¹¡£ - -\begin{verbatim} -(add-hook 'gnus-article-prepare-hook - (function - (lambda () - (if (mime/exist-encoded-word-in-subject) - (setq mime/no-encoding-header-fields '("X-Nsubject")) - (setq mime/no-encoding-header-fields '("X-Nsubject" "Subject")) - )))) -\end{verbatim} - - -\chapter{tm-view} - -tm-view ¤Ï MIME message ¤ò±ÜÍ÷¤¹¤ë¤¿¤á¤Îµ¡Ç½¤òÄ󶡤¹¤ë module ¤Ç¤¹¡£ -tm-view ¤Ï mime/viewer-mode ¤È¤¤¤¦ mode ¤òÄ󶡤·¤Þ¤¹¡£ - -mime/viewer-mode ¤Îµ¡Ç½¤Ë´Ø¤·¤Æ¤Ï¡¢\ref{sec:mime/viewer-mode} Àá¤ò»²¾È -¤·¤Æ²¼¤µ¤¤¡£ - -\section{content ¤Î decode ¾ò·ï¤ÎÀßÄê} - -ÊÑ¿ô mime/content-decoding-condition ¤Ï decode »þ¤Î method ¤ò»ØÄꤹ¤ë -¤¿¤á¤ÎÊÑ¿ô¤Ç¡¢tm-view 4 ¤ÎÊÑ¿ô mime/content-decoding-method-alist ¤ËÁê -Åö¤·¤Þ¤¹¡£ - -ÊÑ¿ô mime/content-decoding-method-alist ¤Ç¤Ï¡¢Ã±¤Ë -content-type/subtype ¤ËÂФ¹¤ë method ¤ò»ØÄꤹ¤ë¤³¤È¤·¤«¤Ç¤­¤Þ¤»¤ó¤Ç¤· -¤¿¤¬¡¢ÊÑ¿ô mime/content-decoding-condition ¤Ç¤Ï decode »þ¤ÎÀ©Ìó¾ò·ï¤ò -½ñ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ - -ÊÑ¿ô mime/content-decoding-condition ¤Ï¡¢ - -\begin{eqnarray*} - (¾ò·ï_1 \;\; ¾ò·ï_2 \;\; ...) -\end{eqnarray*} - -\noindent ¤È¤¤¤¦·Á¤ò¤·¤¿ list ¤Ç¡¢³Æ¾ò·ï¤Ï - -\begin{eqnarray*} - ((field-type_1 \; . \; value_1) \;\; - (field-type_2 \; . \; value_2) \;\; ...) -\end{eqnarray*} - -\noindent ¤È¤¤¤¦·Á¤ÎÏ¢ÁÛ list ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ - -Î㤨¤Ð¡¢text/plain ¤Î»þ¡¢tm-plain ¤òµ¯Æ°¤¹¤ë»þ¡¢ - -\begin{quote} - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name)) -\end{quote} - -\noindent ¤È¤¤¤¦¾ò·ï¤ò½ñ¤­¤Þ¤¹¡£¸«¤Æ¤ÎÄ̤ꡢ³°Éô method ¤Î°ú¿ô¤¬½ñ¤±¤ë -¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¾Ü¤·¤¯¤Ï \ref{sec:method-arguments} Àá¤Ç½Ò¤Ù¤Þ¤¹¡£ - -¤³¤Î¾ò·ï¤Ï text/plain ¤Ç¤¢¤ë content ¤Ê¤éÁ´¤Æ¤Î decoding-mode ¤ÇÍ­¸ú¤Ç -¤¹¡£¤·¤«¤·¡¢ - -\begin{quote} - ((type . "text/plain") - (method "tm-plain" nil 'file 'type 'encoding 'mode 'name) - (mode . "play")) -\end{quote} - -\noindent ¤Ê¤é¡¢play mode °Ê³°¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ - -µÕ¤Ë¡¢ - -\begin{quote} - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file) - (mode . "play")) -\end{quote} - -\noindent ¤Ê¤é¡¢Á´¤Æ¤Î content-type ¤Î play mode ¤ÇÍ­¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ - -¤³¤¦¤·¤Æ³Æ¾ò·ï¤òÁ°¤«¤é¸«¤Æ¹Ô¤­¡¢ºÇ½é¤ËÍ­¸ú¤Ë¤Ê¤Ã¤¿¾ò·ï¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ - - -\subsection{method ¤Î°ú¿ô¤Î»ØÄê¤Î»ÅÊý} -\label{sec:method-arguments} - -¾ò·ï¤Î method field ¤Ï - -\begin{eqnarray*} - (method \; . \; SYMBOL) -\end{eqnarray*} - -\noindent ¤« - -\begin{eqnarray*} - (method \; ʸ»úÎó \; FLAG \; °ú¿ô_1 \; °ú¿ô_2 \; ...) -\end{eqnarray*} - -\noindent ¤È¤¤¤¦·Á¤ò¤·¤Æ¤¤¤Þ¤¹¡£ - -method field ¤ÎÃͤ¬ symbol ¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢ÆâÉô method ¤È¤·¤Æµ¯Æ°¤µ¤ì¤Þ -¤¹¡£ - -method field ¤ÎÃͤ¬ list ¤Ç¤¢¤ë¾ì¹ç¡¢³°Éô method ¤È¤·¤Æµ¯Æ°¤µ¤ì¤Þ¤¹¡£ -¤³¤Î¾ì¹ç¡¢ - -\begin{quote} - \begin{tabular}{lcl} - ʸ»úÎó&:&³°Éô method ¤Î̾Á° \\ - FLAG&:& t ¤Ê¤é content header ¤â³°Éô method ¤ËÅϤ¹¡£ - nil ¤Ê¤é content body ¤Î¤ß¤òÅϤ¹¡£\\ - °ú¿ôÎó&:&³°Éô method ¤Î°ú¿ô - \end{tabular} -\end{quote} - -\noindent ¤È²ò¼á¤µ¤ì¤Þ¤¹¡£ - -¤Þ¤¿¡¢³°Éô method ¤Î°ú¿ô¤Ï¼¡¤Î¤è¤¦¤Ê·Á¼°¤Ç½ñ¤­¤Þ¤¹¡£ - -\begin{quote} - \begin{tabular}{lcl} - ʸ»úÎó&:&¤½¤Îʸ»úÎó¤òÅϤ¹ \\ - 'SYMBOL&:&SYMBOL ¤ò key ¤È¤·¤¿ÃͤòÅϤ¹\\ - 'ʸ»úÎó&:&ʸ»úÎó¤ò key ¤È¤·¤¿ÃͤòÅϤ¹ - \end{tabular} -\end{quote} - -'SYMBOL ¤Ç»ØÄê¤Ç¤­¤ë¤â¤Î¤Ë¤Ï¡¢ - -\begin{quote} - \begin{tabular}{lcl} - 'file&:&content ¤òÅϤ¹¤¿¤á¤Î file ̾ \\ - 'type&:&content-type/sub-type ̾ \\ - 'encoding&:&content-transfer-encoding \\ - 'mode&:&decoding mode \\ - 'name&:&file ¤ËÍ¾ì¹ç¤Î file ̾ - \end{tabular} -\end{quote} - -\noindent ¤Ê¤É¤¬¤¢¤ê¡¢'ʸ»úÎó ¤Ç¤Ï Content-Type field ¤Î parameter ¤Î -Ãͤ¬»ØÄê¤Ç¤­¤Þ¤¹¡£ - - -\subsection{Îã} - -½é´üÃͤϰʲ¼¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ - -\begin{verbatim} -(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{verbatim} - -Î㤨¤Ð¡¢¡ÖÁ´Éô metamail »È¤¦¤ó¤ä¡×¤È¤¤¤¦¾ì¹ç¡¢ - -\begin{verbatim} -(setq mime/content-decoding-condition - '( - ((method "metamail" t "-m" "tm" "-x" "-d" "-z" "-e" 'file)) - )) -\end{verbatim} - -\noindent ¤È¤¹¤ì¤Ð OK ¤Ç¤¹¡£ - -¹©Éפ¹¤ì¤Ð¡¢¤«¤Ê¤êÊ£»¨¤Ê¾ò·ï¤¬½ñ¤±¤ë¤Ç¤·¤ç¤¦¡£ - - -\section{method script} -\label{sec:method} - -³Æ method ¤Ï shell script ¤Ç½ñ¤­¤Þ¤¹¡£tm-verw.el ¤«¤éÅϤµ¤ì¤ë°ú¿ô¤Ï¡¢ -ÊÑ¿ô mime/content-decoding-condition ¤Ç»ØÄê¤Ç¤­¤Þ¤¹¤¬¡¢É¸½àŪ¤Ê°ú¿ôÎó -¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ - -\medskip -\begin{center} - \begin{tabular}{|c|l|} \hline - °ú¿ô & \multicolumn{1}{|c|}{ ÃÍ }\\ \hline - \$1 & decode Á°¤Î file ̾ \\ - \$2 & Content-Type (type/sub-type) \\ - \$3 & encoding - \{7bit / quoted-printable / base64 / 8bit / binary / ...\}\\ - \$4 & decoding-mode \{play / extract / print\} \\ - \$5 & file ̾ \\ \hline - \end{tabular} -\end{center} -\medskip - -¤Þ¤¿¡¢message/partial ¤À¤±¤Ï tm-view.el ¼«¿È¤ÇÉü¸µ¤·¤Þ¤¹¡£ - - -\section{À©¸Â} - -Éí°¤Î BASE64 decoder ¤Ç¤¢¤ë decode-b.c ¤Ï¤¤¤¤²Ã¸º¤Êºî¤ê¤Ê¤Î¤Ç¡¢Æ°¤«¤Ê -¤«¤Ã¤¿¤é¡¢Ã»¤¤¥×¥í¥°¥é¥à¤Ê¤Î¤Ç¡¢°Õ¤òµâ¤ó¤Ç½¤Àµ¤·¤Æ²¼¤µ¤¤¡£ -(\verb+^+\_\verb+^+; - -¤Þ¤¿¡¢metamail Éí°¤Î mmencode ¤ò»È¤Ã¤Æ decode ¤·¤Æ¤âÎɤ¤¤Ç¤·¤ç¤¦¡£ - -¤Þ¤¿¡¢Quoted-Printable ¤Î decoder ¤ÏÉí°¤·¤Þ¤»¤ó¤Î¤Ç¡¢mmencode ¤ò»È¤Ã -¤Æ²¼¤µ¤¤¡£ - - -\chapter{tiny-mime} - -tiny-mime ¤Ï Mule, NEmacs, NEpoch ¾å¤ÇÆ°ºî¤¹¤ë MIME header ¤Î -encoder/decoder ¤Ç¤¹¡£tiny-mime ¤Ï¡¢ÀΡ¢¤¨¤Ê¤ß ¤Ä¤°¤È¤â ¤µ¤ó¤¬ -fj.editor.emacs ¤ËÅê¹Æ¤µ¤ì¤¿ ISO-2022-JP MIME header decoder ¤ò¸µ¤Ë¤· -¤Æ¤¤¤Þ¤¹¡£ - -¸½ºß¤Ç¤Ï¡¢Åö»þ¤Î¤â¤Î¤ËÈæ¤Ù¡¢ - -\begin{itemize} -\item decoding »þ¤Ë¤ª¤±¤ë unfolding µ¡Ç½¤ÎÄɲà -\item ISO-2022-JP ¤Ë²Ã¤¨¡¢ISO-2022-KR, ISO-8859-*, US-ASCII ¤Ê¤É¤Î¿¸À - ¸ì header ¤Î encode/decode µ¡Ç½¤ÎÄɲà -\item Q-encoding ¤ÎÄɲà -\item RFC 1522 ¤Ø¤ÎÂбþ -\end{itemize} - -\noindent ¤È¤¤¤Ã¤¿µ¡Ç½¶¯²½¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤Þ¤¹¡£ - -tiny-mime ¤Ï tm ¤Ë¤ª¤±¤ë MIME header encoder/decoder ¤Ç¤¢¤ê¡¢tm-view, -tm-MUA ¤¬¤³¤ì¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£ - - -\section{mime/decode-message-header} - -{\tt mime/decode-message-header} ¤Ï MIME header ¤ò decode ¤¹¤ë¤¿¤á¤ÎÌ¿ -Îá¤Ç¤¹¡£tiny-mime ¤¬ load ¤µ¤ì¤Æ¤¤¤ë¾õÂ֤ǡ¢decode ¤·¤¿¤¤ buffer ¤Î¾å -¤Ç¡¢ - -{\list{}{\leftmargin=8ex}\item[] -\par -M-x {\tt mime/decode-message-header} -\endlist} - -\noindent ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¤½¤Î buffer ¾å¤Î MIME header ¤¬ decode ¤µ¤ì¤Þ -¤¹¡£ - -tm-MUA ¤ä tm-view ¤Ï¤³¤ÎÌ¿Îá¤ò¸Æ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤é¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢ -Íۤˤ³¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëɬÍפÏ̵¤¤¤Ç¤·¤ç¤¦¡£ - - -\section{mime/decode-region} - -region ¤ËÂФ·¤Æ¡¢ - -{\list{}{\leftmargin=8ex}\item[] -\par -M-x {\tt mime/decode-region} -\endlist} - -\noindent ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢°úÍÑ¤Ê¤É¤Ç buffer ¤Ë»Ä¤Ã¤¿ MIME header ¤ò -decode ¤Ç¤­¤Þ¤¹¡£ - - -\chapter{¥Ð¥°Êó¹ð¤Î»ÅÊý} - -tm ¤Î¥Ð¥°¤ò¸«¤Ä¤±¤¿¤é fj.editor.emacs ¤Ë post ¤¹¤ë¤«¡¢tm ML -$<$tm@chamonix.jaist.ac.jp$>$ ¤Ë mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ - -tm ML ¤Ç¤Ï tm ¤Î¥Ð¥°¾ðÊó¤Î¸ò´¹¤äºÇ¿·ÈǤÎÇÛÉÛ¡¢tm ¤Î²þÎɤ˴ؤ¹¤ëµÄÏÀ¤ò -¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£tm ML ¤Ë»²²Ã¤·¤¿¤¤Êý¤Ï - -\begin{center} - tm-admin@chamonix.jaist.ac.jp -\end{center} - -\noindent ¤Þ¤Ç mail ¤òÁ÷¤Ã¤Æ²¼¤µ¤¤¡£ÅÐÏ¿¤Ï¼êÆ°¤Ç¤¹¤Î¤Ç¡¢¤Ç¤­¤ì¤Ð¡¢¼«Á³ -¸À¸ì¤Ç½ñ¤¤¤Æ²¼¤µ¤¤¡£(\verb+^+\_\verb+^+) - -\end{document} diff --git a/tm-mh-e-eng.ol b/tm-mh-e-eng.ol deleted file mode 100644 index 67edfe5..0000000 --- a/tm-mh-e-eng.ol +++ /dev/null @@ -1,88 +0,0 @@ -[[R -\title{tm-mh-e manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/8/20} -\maketitle -]]R - -* Install - -** tiny-mime - - Please copy tiny-mime.el to your emacs lisp directory. - - -** tm-body - - Please copy tm-body.el, tl-list.el and tl-header.el to your emacs -lisp directory. - - -** tm-misc - - Please copy tm-misc.el and tl-hook.el to your emacs lisp directory. - - -** tm-mh-e - - Please copy tm-mh-e.el and tm-mh-e3.el to your emacs lisp directory. - - If you want to byte-compile tm-mh-e3.el, please do it after you did -load mh-e version 3.x. - - -* .emacs - - Please use mime-setup. - - If you do not want to use mime-setup, insert following list to . -emacs. - -[[E ----------------------------------------------------------------------- -(if (< (string-to-int emacs-version) 19) - (progn - (require 'tl-18) - (defvar buffer-undo-list nil) - )) - -(add-hook 'mh-folder-mode-hook - (function - (lambda () - (require 'tm-mh-e) - ))) ----------------------------------------------------------------------- -]]E - - -* How to use - -------------------------------------------------------- -| key | function | -======================================================= -| M-t |toggle switch of message header decoding mode | -------------------------------------------------------- -| v |MIME decode message body and play | -| e |MIME decode message body and extract to file(s)| -|C-c p|MIME decode message body and print | -------------------------------------------------------- - - -* How to use metamail - - In normal definition, tm-mh-e use tm-body as MIME body decoder. -However, you can use metamail. In this case, Of course, you need -metamail and metamail.el. - - Please insert following list to .emacs if you want to use metamail. - -[[E ----------------------------------------------------------------------- -(autoload 'metamail-buffer "metamail" nil t) -(setq mime/body-decoding-method (function metamail-buffer)) ----------------------------------------------------------------------- -]]E - - If you use metamail, there are no decoding mode of MIME body -decoding. Therefore, functions for `v', `e', `C-c p' are equally -`metamail-buffer', and decoding is sequentially. diff --git a/tm-mh-e-eng.tex b/tm-mh-e-eng.tex deleted file mode 100644 index dbb9d44..0000000 --- a/tm-mh-e-eng.tex +++ /dev/null @@ -1,123 +0,0 @@ -\documentstyle[a4j]{jarticle} -\setcounter{secnumdepth}{6} -\setcounter{tocdepth}{6} -\topsep=0.1cm -\parsep=0.1cm -\itemsep=0.0cm -\begin{document} -\title{tm-mh-e manual (English Version)} -\author{Morioka Tomohiko} -\date{1994/8/20} -\maketitle -\medskip - -\section{Install} -\medskip - -\subsection{tiny-mime} -\medskip -\par -Please copy tiny-mime.el to your emacs lisp directory. -\medskip -\medskip - -\subsection{tm-body} -\medskip -\par -Please copy tm-body.el, tl-list.el and tl-header.el to your emacs -lisp directory. -\medskip -\medskip - -\subsection{tm-misc} -\medskip -\par -Please copy tm-misc.el and tl-hook.el to your emacs lisp directory. -\medskip -\medskip - -\subsection{tm-mh-e} -\medskip -\par -Please copy tm-mh-e.el and tm-mh-e3.el to your emacs lisp directory. -\medskip -{\baselineskip=10pt -\begin{verbatim} - If you want to byte-compile tm-mh-e3.el, please do it after you did -load mh-e version 3.x. -\end{verbatim}} -\medskip -\medskip - -\section{.emacs} -\medskip -{\baselineskip=10pt -\begin{verbatim} - Please use mime-setup. -\end{verbatim}} -\medskip -{\baselineskip=10pt -\begin{verbatim} - If you do not want to use mime-setup, insert following list to . -emacs. -\end{verbatim}} -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(if (< (string-to-int emacs-version) 19) - (progn - (require 'tl-18) - (defvar buffer-undo-list nil) - )) - -(add-hook 'mh-folder-mode-hook - (function - (lambda () - (require 'tm-mh-e) - ))) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\medskip - -\section{How to use} -\medskip -~\\ -\begin{tabular}{|c|r|} -\hline - key & function \\ -\hline\hline - M-t & toggle switch of message header decoding mode \\ -\hline - v & MIME decode message body and play \\ - e & MIME decode message body and extract to file(s)\\ -C-c p & MIME decode message body and print \\ -\hline -\end{tabular}\\ -\medskip -\medskip - -\section{How to use metamail} -\medskip -\par -In normal definition, tm-mh-e use tm-body as MIME body decoder. -However, you can use metamail. In this case, Of course, you need -metamail and metamail.el. -\medskip -\par -Please insert following list to .emacs if you want to use metamail. -\medskip -{\baselineskip=10pt -\begin{verbatim} ----------------------------------------------------------------------- -(autoload 'metamail-buffer "metamail" nil t) -(setq mime/body-decoding-method (function metamail-buffer)) ----------------------------------------------------------------------- -\end{verbatim}} -\medskip -\par -If you use metamail, there are no decoding mode of MIME body -decoding. Therefore, functions for `v', `e', `C-c p' are equally -`metamail-buffer', and decoding is sequentially. -\end{document} diff --git a/tm-mh-e-jp.ol b/tm-mh-e-jp.ol deleted file mode 100644 index 1cc52c0..0000000 --- a/tm-mh-e-jp.ol +++ /dev/null @@ -1,104 +0,0 @@ -$B!X(Btm-mh-e $B@bL@=q!Y(B -by. $Bl9g$O!"(Bmh-e version 3.* $B$r(B load $B$7(B -$B$?>uBV$G9T$J$C$F2<$5$$!#(B - - -* $B@_Dj(B - - mime-setup $B$r;H$C$F2<$5$$!#(B - - mime-setup $B$r;H$o$J$$>l9g$O(B .emacs $B$K0J2<$N$b$N$rF~$l$^$9!#(B - -[[E ----------------------------------------------------------------------- -(if (< (string-to-int emacs-version) 19) - (progn - (require 'tl-18) - (defvar buffer-undo-list nil) - )) - -(add-hook 'mh-folder-mode-hook - (function - (lambda () - (require 'tm-mh-e) - ))) ----------------------------------------------------------------------- -]]E - - $B$^$?!"(BMH $B$,(B MH-6.8JP2 $B$N>l9g!"(B~/.mh_profile $B$K(B - -[[E ----------------------------------------------------------------------- -scan: -form scan.mime -inc: -form inc.mime -repl: -form replcomps.mime -showproc: mhl ----------------------------------------------------------------------- -]]E - -$B$rDI2C$7$F$/$@$5$$!#$^$?!"$=$l0J30$N(B MH $B$N=hM}$O(B Emacs $B$NB&$Gl9g(B .emacs $B$K0J2<$N$b$N$rF~$l$F2<$5$$!#(B - -[[E ----------------------------------------------------------------------- -(autoload 'metamail-buffer "metamail" nil t) -(setq mime/body-decoding-method (function metamail-buffer)) ----------------------------------------------------------------------- -]]E - - metamail $B$r;H$&@_Dj$N>l9g!"(B`v', `e', `C-c p' $B$KBP1~$9$kF0:n$O(B -metamail $B$K$+$1$k$@$1$K$J$j!"F10l$NF0:n$K$J$j$^$9!#$^$?!"F0:n$OC`