1 <!doctype sinfo system>
4 <author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
14 This file documents SEMI, a MIME user interface for GNU Emacs.
21 SEMI is a package for GNU Emacs to provide features related with MIME
24 SEMI
\e$B$,Ds6!$9$k
\e(B MIME user interface
\e$B$O
\e(B MIME-View
\e$B$H
\e(B MIME-Edit
\e$B$+$i$J$j$^
\e(B
27 MIME-View
\e$B$O
\e(B MIME
\e$B$d
\e(B STD 11
\e$B$*$h$S!XCO0h2=$5$l$?
\e(B RFC 822
\e$B!Y
\e(Bmessage
\e$B$rI=<(
\e(B
28 \e$B$7$?$j!"A`:n$7$?$j$9$k$?$a$N
\e(B user interface
\e$B$NCf3K$G$9!#
\e(B
30 MIME-Edit
\e$B$O
\e(B MIME message
\e$B$r@8@.$9$k$?$a$N
\e(B user interface
\e$B$G$9!#
\e(B
32 \e$B3F
\e(B MUA
\e$B$G$3$l$i$N5!G=$rMxMQ$9$k$3$H$K$h$j!"9bEY$J
\e(B MIME
\e$B5!G=$rMxMQ$9$k$3
\e(B
33 \e$B$H$,$G$-$^$9!#
\e(B
36 <h1> MIME message viewing
39 MIME-View
\e$B$O
\e(B GNU Emacs
\e$B$GF0:n$9$kHFMQE*$J
\e(B MIME viewer
\e$B$G$9!#
\e(B
41 MIME-View
\e$B$O
\e(B MIME message
\e$B$r1\Mw$9$k$?$a$NMxMQ<T3&LL
\e(B (user interface)
42 \e$B$N3K$G$"$j!"$3$N>e$G
\e(B presentation-method
\e$B$H8F$P$l$kI=<($r:n$k%W%m%0%i%`
\e(B
43 \e$B$rF0$+$7$?$j!"
\e(Bacting-method
\e$B$H8F$P$l$k
\e(B entity
\e$B$N=hM}%W%m%0%i%`$rF0$+$9
\e(B
44 \e$B$3$H$,2DG=$G!"$5$^$6$^$J<oN`$N
\e(B entity
\e$B$r07$&;v$,$G$-$k$h$&$K$J$C$F$$$^$9!#
\e(B
48 <node> Overview of MIME-View
50 Internet
\e$B$NEE;R=q4J!&%M%C%H%K%e!<%9$J$I$N=qLL
\e(B (message)
\e$B$NI=8=7A<0$O
\e(B
51 STD 11
\e$B$K4p$E$$$F$$$^$9!#
\e(BSTD 11
\e$B$N=qLLK\BN
\e(B (message body)
\e$B$O9T$rM#0l$N
\e(B
52 \e$B9=B$$H$9$k4J0WJ8LL
\e(B (plain text)
\e$B$G$"$j!"J8;zId9f$b
\e(B us-ascii
\e$B$HDj$a$i$l
\e(B
53 \e$B$F$$$^$9!#<B:]$K$O!"J8;zId9f$r
\e(B us-ascii
\e$B$NBe$o$j$K$=$N8@8l7w$GMQ$$$i$l
\e(B
54 \e$B$kJ8;zId9f$H$7$?!XCO0h2=$5$l$?
\e(B STD 11
\e$B!Y=qLL$bMQ$$$i$l$F$-$^$7$?$,!"$3
\e(B
55 \e$B$N>l9g$b=qLL$NJ8;zId9f$O#1$D$G$9!#$3$N$?$a!"MxMQ<T3&LL
\e(B (Message User
56 Agent)
\e$B$O!"$7$P$7$P!"
\e(Bbyte
\e$BNs
\e(B = us-ascii
\e$BJ8;zNs!"$J$$$7$O!"
\e(Bbyte
\e$BNs
\e(B =
\e$B$=
\e(B
57 \e$B$N8@8l7w$GMQ$$$kJ8;zId9f$NJ8;zNs$N$h$&$K8+Jo$7$F$-$^$7$?!#
\e(B
59 \e$B$7$+$7$J$,$i!"
\e(BMIME
\e$B$G$O=qLL$O
\e(B entity
\e$B$rC10L$H$9$kLZ9=B$$K$J$j!"$^$?!"
\e(B
60 \e$B#1$D$N=qLL$GJ#?t$NJ8;zId9f$rMQ$$$k$3$H$,$G$-$^$9!#$^$?!"
\e(Bentity
\e$B$NFbMF
\e(B
61 \e$B$OJ8LL$d3($N$h$&$JC1=c$KI=<(2DG=$J$b$N$@$1$G$J$/!"2;@<$dF02h$J$I$N0lDj
\e(B
62 \e$B;~4V:F@8$5$l$k$h$&$J$b$N$dFCDj$N%"%W%j%1!<%7%g%s$N%G!<%?$d%W%m%0%i%`$N
\e(B
63 \e$B%=!<%9!"$"$k$$$O!"
\e(Bftp
\e$B$d
\e(B mail service
\e$B$NMxMQK!$d
\e(B URL
\e$B$H$$$C$?7A$GI=$5
\e(B
64 \e$B$l$?30It;2>H$J$I$N$5$^$6$^$J$b$N$,9M$($i$^$9!#$3$N$?$a!"I=<($@$1$r9M$(
\e(B
65 \e$B$F$$$?
\e(B STD 11
\e$B$K$*$1$kMxMQ<T3&LL$NC1=c$J1dD9$G$O
\e(B MIME
\e$B$NA4$F$N5!G=$r07
\e(B
66 \e$B$&$3$H$O$G$-$^$;$s!#$D$^$j!"
\e(BMIME
\e$B$N7A<0$K9g$o$;$FI|9f$9$k$@$1$G$OIT==
\e(B
67 \e$BJ,$G$"$j!"MxMQ<T$H$NBPOCE*$J:F@8=hM}$r9MN8$9$kI,MW$,$"$j$^$9!#
\e(BMIME
\e$B=q
\e(B
68 \e$BLL$N7A<0$O<+F0=hM}$,$7$d$9$/@_7W$5$l$F$$$^$9$,!"
\e(BMIME
\e$B=qLL$K4^$^$l$kFb
\e(B
69 \e$BMF$NCf$K$O%;%-%e%j%F%#!<>e$NLdBj$+$i<+F0=hM}$r$9$k$Y$-$G$J$$$b$N$,$"$j!"
\e(B
70 \e$B$3$&$$$C$?$b$N$N:F@8$K4X$7$F$OMxMQ<T$NH=CG$r6D$0$h$&$K@_7W$5$l$k$Y$-$G
\e(B
71 \e$B$7$g$&!#7k6I!"
\e(BMIME
\e$B=qLL$r07$&$?$a$K$O
\e(B STD 11
\e$B$*$h$S
\e(B MIME
\e$B$N9=J8$G5-=R
\e(B
72 \e$B$5$l$?%a%C%;!<%8$N>pJs8r49MQI=8=$H$=$N2r<a7k2L$G$"$kI=<(2hLL$d:F@8Ey$N
\e(B
73 \e$B=hM}$r6hJL$7$F9M$($kI,MW$,$"$j$^$9!#$^$?!"MxMQ<T$H$NBPOCE*$J:F@8=hM}$,
\e(B
76 \e$B$3$N$?$a!"
\e(BMIME-View
\e$B$O#1$D$N=qLL$KBP$7$F!">pJs8r49MQI=8=$r3JG<$9$k
\e(B
77 mime-raw-buffer
\e$B$HI=<(MQI=8=$r3JG<$9$k
\e(B mime-preview-buffer
\e$B$N#2$D$N
\e(B
78 buffer
\e$B$rMQ$$$^$9!#
\e(B
80 MIME-View
\e$B$O
\e(B mime-preview-buffer
\e$B$KBP$7$F
\e(B mime-view-mode
\e$B$H$$$&
\e(B MIME
81 message
\e$B$r1\Mw$9$k$?$a$N
\e(B mode
\e$B$rDs6!$7$^$9!#MxMQ<T$O$3$3$G3F
\e(B entity
\e$B$K
\e(B
82 \e$BBP$7$FA`:n$r9T$&$3$H$,$G$-$^$9!#
\e(B
85 <h2> Presentation of mime-preview-buffer
88 mime-view-mode
\e$B$G$O3F
\e(B entity
\e$B$KBP$7$F
\e(B
99 \e$B$H$$$&>pJs$rI=<($7$^$9!#$3$l$i$O>r7o$K=>$C$F
\e(B design
\e$B$rJQ99$7$?$j!"I=<(
\e(B
100 \e$B$rM^@)$9$k$3$H$b$G$-$^$9!#
\e(B
102 \e$B0J2<$K!"I=<(Nc$r<($7$^$9!#
\e(B
106 From: morioka@jaist.ac.jp (
\e$B<i2,
\e(B
\e$BCNI'
\e(B / MORIOKA Tomohiko)
107 Subject: Re:
\e$B<ALd!)
\e(B
108 Newsgroups: zxr.message.mime
109 Date: 22 Oct 93 11:02:44
111 Organization: Japan Advanced Institute of Science and Technology,
115 MIME-Edit mode
\e$B$K$*$1$k!"
\e(BMIME message
\e$B$N:n$jJ}!#
\e(B
117 C-c C-x ?
\e$B$r2!$9$H
\e(B help
\e$B$,=P$F$/$k!#
\e(B
119 C-c C-x C-t insert a text message.
120 C-c C-x TAB insert a (binary) file.
121 C-c C-x C-e insert a reference to external body.
122 C-c C-x C-v insert a voice message.
123 C-c C-x C-y insert a mail or news message.
124 C-c C-x RET insert a mail message.
125 C-c C-x C-s insert a signature file at end.
126 C-c C-x t insert a new MIME tag.
127 C-c C-x a enclose as multipart/alternative.
128 C-c C-x p enclose as multipart/parallel.
129 C-c C-x m enclose as multipart/mixed.
130 C-c C-x d enclose as multipart/digest.
131 C-c C-x s enclose as PGP signed.
132 C-c C-x e enclose as PGP encrypted.
133 C-c C-x C-k insert PGP public key.
134 C-c C-x C-p preview editing MIME message.
137 \e$B$C$FLu$G!"
\e(BC-c C-x C-i
\e$B$r2!$7$F!"A^F~$7$?$$
\e(B binary file
\e$B$r;XDj$7$^$9!#
\e(B
139 binary file
\e$B$N
\e(B MIME encoding
\e$B$K$O!"IaDL!"
\e(BBase64
\e$B$r;XDj$7$^$9!#
\e(B
145 \e$B$3$s$JIw$K!"3(F~$j
\e(B message
\e$B$N$G$->e$,$j!#
\e(B
147 \e$B".".".".".".".".".".".
\e(B
\e$B%m%7%"%s!&%F%#!<$r0lGU!#
\e(B
\e$B".".".".".".".".".".".
\e(B
148 \e$B".".".".".
\e(B
\e$B!y
\e(B
\e$B%8%c%`$G$O$J$/%^!<%^%l!<%I$G$b$J$/K*L*$G
\e(B
\e$B!y
\e(B
\e$B".".".".".
\e(B
149 \e$B".".".".".
\e(B
\e$B'.'0'2$$'0','!
\e(B
\e$B'4'0'.'0'7'*','0
\e(B
\e$B".".".".".
\e(B
150 \e$B".".".".".".".
\e(B Internet E-mail: <morioka@jaist.ac.jp>
\e$B".".".".".".".
\e(B
157 <concept>entity-button</concept>
\e$B$O
\e(B entity
\e$B$N@hF,$K$"$C$F!"$=$N
\e(B entity
158 \e$B$K4X$9$kBg$^$+$J>pJs$rI=<($9$kItJ,$G$9!#
\e(B
163 [1.3 test (text/plain)]
167 \e$B$N$h$&$J46$8$KI=<($5$l$^$9!#
\e(B
169 \e$B:G=i$N?t;z$O
\e(B message
\e$BCf$N$3$N
\e(B entity
\e$B$N0LCV$r@aHV9f$N$h$&$KI=$7$?$b$N
\e(B
170 \e$B$G!"
\e(B<concept>entity-number</concept>
\e$B$H8F$S$^$9!#
\e(B
172 \e$B#2HVL\$NJ8;zNs$OI=Bj$rI=$7$^$9!#$3$N>pJs$O!"
\e(B
175 <li>Content-Description field
\e$B$b$7$/$O
\e(B Subject field
\e$B$K=q$+$l$?I=Bj
\e(B
176 <li>Content-Disposition field
\e$B$N
\e(B filename parameter
\e$B$K=q$+$l$?
\e(B file
\e$BL>
\e(B
177 <li>Content-Type field
\e$B$N
\e(B name parameter
\e$B$K=q$+$l$?
\e(B file
\e$BL>
\e(B
178 <li> uuencode
\e$B$N>l9g$N
\e(B file
\e$BL>
\e(B
182 \e$B$+$i:n$j$^$9!#$I$l$bB8:_$7$J$$>l9g$O6uGr$,I=<($5$l$^$9!#
\e(B
184 \e$B#3HVL\$N3g8L$NCf$N>pJs$O$=$N
\e(B entity
\e$B$N
\e(B media-type/subtype
\e$B$rI=$7$^$9!#
\e(B
185 \e$BHs
\e(B MIME entity
\e$B$N>l9g!"
\e(B<code>nil</code>
\e$B$,I=<($5$l$^$9!#
\e(B
187 \e$B$3$N
\e(B entity-button
\e$B$O
\e(B entity
\e$B$NFbMF$r>]D'$9$k
\e(B icon
\e$B$N$h$&$JLr3d$r2L$?
\e(B
188 \e$B$7$^$9!#Nc$($P!"
\e(B
195 \e$B$N>e$G
\e(B <kbd>v</kbd>
\e$B$r2!$;$P$3$3$KF~$C$F$$$k3($,I=<($5$l$^$9!#
\e(B
197 \e$B$^$?!"
\e(Bmouse
\e$BA`:n$,2DG=$J>l9g!"
\e(Bentity-button
\e$B$rBh#2%\%?%s!J
\e(B3 button
198 mouse
\e$B$N>l9g!"Cf1{$N%\%?%s!K$G2!$;$P!"F1MM$K$=$N3($,I=<($5$l$^$9!#
\e(B
204 <concept>entity-header</concept>
\e$B$O$"$k
\e(B entity
\e$B$N
\e(B header
\e$B$rI=<($9$kIt
\e(B
205 \e$BJ,$G$9!J!V$=$N$^$^$d$s$1!W$C$FE\$i$J$$$G!#$=$&$$$&$b$s$J$s$G$9!K!#
\e(B
211 <concept>entity-body</concept>
\e$B$O
\e(B part
\e$B$NFbMF$rI=<($9$kItJ,$G$9!#
\e(B
213 \e$B$3$l$b$R$M$j$,B-$j$J$$$G$9$,!"$^$"!"$=$&$$$&$b$s$G$9!#
\e(B
215 \e$B$H$O$$$(!"<B:]$K$O>/$7$R$M$C$F$^$9!#
\e(B
217 text entity
\e$B$N>l9g$O
\e(B charset
\e$B$K1~$8$F
\e(B code
\e$BJQ49$7$?$j$7$^$9$7!"
\e(BXEmacs
218 \e$B$G$O
\e(B image entity
\e$B$rJQ49$7$J$$$H$$$1$J$$$7!#
\e(B
220 \e$B>\$7$/$O$^$?8e$G!#
\e(B
223 <h2> Operation in mime-preview-buffer
224 <node> mime-view-mode
226 mime-preview-buffer
\e$B$K$O0J2<$N5!G=$,$"$j$^$9!#
\e(B
231 \e$B>e$N
\e(B part
\e$B$KLa$k!J
\e(Bmessage
\e$B$N0lHV>e$N
\e(B part
\e$B$G$3$l$r9T$J$&$H
\e(B Summary
232 mode
\e$B$KLa$k
\e(B (*1)
\e$B!K
\e(B
234 <kt>p<kd>
\e$BA0$N
\e(B part
\e$B$K0\F0$9$k
\e(B
236 <kt>M-TAB<kd>
\e$BA0$N
\e(B part
\e$B$K0\F0$9$k
\e(B
238 <kt>n<kd>
\e$B<!$N
\e(B part
\e$B$K0\F0$9$k
\e(B
240 <kt>TAB<kd>
\e$B<!$N
\e(B part
\e$B$K0\F0$9$k
\e(B
242 <kt>SPC<kd>scroll up
\e$B$9$k
\e(B
244 <kt>M-SPC<kd>scroll down
\e$B$9$k
\e(B
246 <kt>DEL<kd>scroll down
\e$B$9$k
\e(B
248 <kt>RET<kd>
\e$B<!$N9T$K0\F0$9$k
\e(B
250 <kt>M-RET<kd>
\e$BA0$N9T$K0\F0$9$k
\e(B
252 <kt>v<kd>part
\e$B$r:F@8$9$k
\e(B (*2)
254 <kt>e<kd>part
\e$B$+$i
\e(B file
\e$B$r<h$j=P$9
\e(B (*2)
256 <kt>C-c C-p<kd>part
\e$B$r0u:~$9$k
\e(B (*2)
260 preview-buffer
\e$BCf$N
\e(B mouse button
\e$B$r5/F0$9$k
\e(B
262 content-button
\e$B$r2!$;$P!"$=$N
\e(B part
\e$B$,:F@8$5$l$k
\e(B(*2)
264 URL-button
\e$B$r2!$;$P!"$=$N
\e(B WWW browser
\e$B$,5/F0$5$l$k
\e(B
268 <memo title="
\e$BCm0U
\e(B">
270 (*1) MUA
\e$B$G
\e(B mime-view
\e$B$N@_Dj$r$7$F$$$J$$>l9g!"
\e(BSummary mode
\e$B$K$OLa$j$^
\e(B
273 (*2)
\e$B<B:]$NF0:n$OBP1~$9$k
\e(B method
\e$B$K0M$j$^$9!#
\e(B
277 <h1> MIME message editing
280 <concept>MIME-Edit</concept> is a general MIME composer for GNU Emacs.
283 <h2> Minor-mode to edit MIME message
284 <node> mime-edit-mode
286 <concept>mime-edit-mode</concept> is a minor mode to compose MIME
287 message. In this mode, <concept>tag</concept> represents various
288 kinds of data, so you can edit multi part message consists of various
289 kinds of data, such as text, image, audio, etc.
291 There are 2 kinds of tags:
298 single-part tag represents single part, this form is following:
301 --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
305 TYPE/SUBTYPE and PARAMETERS indicates type/subtype and parameters of
306 <dref file="mime-en">Content-Type</dref> field. TYPE/SUBTYPE is
307 required, PARAMETERS is optional.
309 ENCODING indicates <dref
310 file="mime-ja">Content-Transfer-Encoding</dref> field. It is optional
313 OPTIONAL-FIELDS is to represent another fields except Content-Type
314 field and Content-Transfer-Encoding field.
316 multi-part tags represent <a file="mime-en" node="multipart">multi
317 part</a>. They consist of a pair of <concept>multi-part beginning
318 tag</concept> and <concept>multi-part ending tag</concept>.
320 multi-part beginning tag's form is following:
326 multi-part ending tag's form is following:
332 A region from multi-part beginning tag to multi-part ending tag is
333 called as <concept>enclosure</concept>.
336 <h2> Operations for single-part
337 <node> single-part tags
339 Operations to make single-part are following:
344 Insert single-part tag indicates text part.
348 Insert file as a MIME attachment. If <kbd>C-u</kbd> is followed by
349 it, it asks media-type, subtype or encoding even if their default
350 values are specified. <cf node="tag specification for inserted file">
354 Insert external part.
358 Record audio input until <kbd>C-g</kbd> is pressed, and insert as a
359 audio part. (It requires /dev/audio in default.)
363 Insert current (mail or news) message. (It is MUA depended.)
367 Insert mail message. (It is MUA depended.)
369 <dt><key>C-c C-x C-w</key>, <key>C-c C-x C-s</key>
375 Insert <dref>PGP</dref> public key. (It requires Mailcrypt package.)
379 Insert any single-part tag.
383 <h2> Operations for enclosure
384 <node> enclosure tags
386 Operations to make enclosure are following:
391 Enclose specified region as multipart/alternative.
395 Enclose specified region as multipart/parallel.
399 Enclose specified region as multipart/mixed.
403 Enclose specified region as multipart/digest.
407 Digital-sign to specified region. <cf node="PGP">
411 Encrypt to specified region. <cf node="PGP">
415 avoid to encode tags in specified region. In other words, tags is
416 interpreted as such string. (In current version, it may be
417 incomplete. Maybe PGP-signature does not work for this enclosure.)
421 <h2> Other operations
422 <node> other MIME-Edit operations
424 There are another operations in mime-edit-mode.
429 Send current editing message.
433 Preview current editing message. <cf node="MIME-View">
437 Exit mime-edit-mode without sending.
441 Set current editing message to enable automatic splitting or not.
442 Form of automatic split messages is message/partial.
446 Set <dref file="mime-en">7bit</dref> to <dref>transfer level</dref>.
450 Set <dref file="mime-en">8bit</dref> to <dref>transfer level</dref>.
454 Set current editing message to digital-sign or not. <cf node="PGP">
458 Set current editing message to encrypt or not. <cf node="PGP">
461 Display help message.
465 <h2> How to detect tag for inserted file
466 <node> file-type specification
468 When <kbd>C-c C-x C-i</kbd> (<code>mime-edit-insert-file</code>) is
469 pressed, tag parameters for inserted file, such as media-type or
470 encoding, are detected by variable <code>mime-file-types</code>.
472 When <kbd>C-u</kbd> is followed by it or parameter is not found from
473 the variable, it asks from user. (When <kbd>C-u</kbd> is followed by
474 it, detected value is used as default value)
476 If you want to change default value for file names, please change
477 variable <code>mime-file-types</code>.
479 <defvar name="mime-file-types">
481 Specification of default value of tag for file name of inserted file.
483 It is a list of following list:
486 (FILE_PAT TYPE SUBTYPE PARAMS ENCODING
487 DISPOSITION_TYPE DISPOSITION_PARAMS)
490 Each element of the list is following:
494 <dd>regular expression of file name
496 <dd>primary-type of media-type
498 <dd>subtype of media-type
500 <dd>parameters of Content-Type field
502 <dd>Content-Transfer-Encoding
505 <dt>DISPOSITION_PARAMS
506 <dd>parameters of Content-Disposition field
510 Example: Specify application/rtf as default media type for
516 '(set-alist 'mime-file-types
518 '("application" "rtf" nil nil
519 "attachment" (("filename" . file)))
526 <node> transfer level
528 Each content inserted in a message is represented by <dref
529 file="mime-en">7bit</dref>, <dref file="mime-en">8bit</dref> or <dref
530 file="mime-en">binary</dref>.
532 If a message is translated by 7bit-through <dref
533 file="mime-en">MTA</dref>, there is no need to encode 7bit data, but
534 8bit and binary data must be encoded to 7bit data.
536 Similarly, if a message is translated by 8bit-through MTA, there is no
537 need to encode 7bit or 8bit data, but binary data must be encoded to
541 EBCDIC MTA breaks 7bit data, so in this case, 7bit data must be
542 encoded by base64. But I don't know EBCDIC. (^_^;
544 Similarly, I wish ASCII-printable only MTA and code-conversion MTA
547 Maybe there are binary-through MTA, but I think it is not major.
550 <concept>transfer level</concept> represents how range data are
551 available. mime-edit has a variable <code>mime-transfer-level</code>
552 to represent transfer level.
555 <defvar name="mime-transfer-level">
559 If transfer level of a data is over it, a data is encoded to 7bit.
561 Currently, 7 or 8 is available. Default value is 7.
563 In extension plan, EBCDIC will be 5, ASCII printable only will be 6,
564 binary will be 9. But it will not be implemented.
569 transfer level is only for body, not for <a node="header">message
570 header</a>. MIME extends <dref file="mime-en">RFC 822</dref> to use
571 8bit data in body, but it requires to use <dref
572 file="mime-en">us-ascii</dref> in header.
577 <node> message/partial sending
579 <defvar name="mime-edit-split-message">
581 Split large message if it is non-nil.
584 <defvar name="mime-edit-message-default-max-lines">
586 Default maximum lines of a message.
589 <defvar name="mime-edit-message-max-lines-alist">
591 Alist of major-mode vs maximum lines of a message.
593 If it is not specified for a major-mode,
594 <code>mime-edit-message-default-max-lines</code> is used.
597 <defvar name="mime-edit-split-blind-field-regexp">
599 Regular expression to match field-name to be ignored when split
610 mime-edit provides PGP encryption, signature and inserting public-key
611 features based on <concept>PGP/MIME</concept> (RFC 2015) or
612 <concept>PGP-kazu</concept> (draft-kazu-pgp-mime-00.txt).
614 This feature requires pgp command and pgp interface package, such as
615 <a file="mailcrypt">Mailcrypt package</a>.
617 <defvar name="pgp-function-alist">
619 Alist of service names vs. corresponding functions and its filenames.
620 Each element looks like <code>(SERVICE FUNCTION FILE)</code>.
622 SERVICE is a symbol of PGP processing. It allows `verify', `decrypt',
623 `fetch-key', `snarf-keys', `mime-sign', `traditional-sign', `encrypt'
626 Function is a symbol of function to do specified SERVICE.
628 FILE is string of filename which has definition of corresponding
632 <defun name="pgp-function">
635 Return function to do service <var>method</var>.
642 <defvar name="mime-button-face">
644 Face used for content-button or URL-button of MIME-Preview buffer.
647 <defvar name="mime-button-mouse-face">
649 Face used for MIME-preview buffer mouse highlighting.
652 <defvar name="mime-browse-url-function">
654 Function to browse URL.
658 <h2> Utility for configuration
659 <node> Acting-condition configuration
661 <defun name="mime-add-condition">
662 <args> target-type condition <opts> mode file
664 Add <var>condition</var> to database specified by
665 <var>target-type</var>.
667 <var>target-type</var> must be <code>preview</code> or
670 If optional argument <var>mode</var> is <code>strict</code> or
671 <code>nil</code> (omitted), <var>condition</var> is added strictly.
673 If optional argument <var>mode</var> is <code>with-default</code>,
674 <var>condition</var> is added with default rule.
676 If optional argument <var>file</var> is specified, it is loaded when
677 <var>condition</var> is activate.
688 <node> Function Index
694 <node> Variable Index