8
|
1 \input texinfo.tex
|
|
2 @setfilename gnus-mime-en.info
|
|
3 @settitle{gnus-mime 0.10 reference manual (English Version)}
|
|
4 @titlepage
|
|
5 @title gnus-mime 0.10 reference manual (English Version)
|
|
6 @author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
|
|
7 @subtitle 1996/10/21
|
|
8 @end titlepage
|
|
9 @node Top, Introduction, (dir), (dir)
|
|
10 @top gnus-mime 0.10 reference manual (English Version)
|
|
11
|
|
12 @ifinfo
|
|
13
|
|
14 This file documents gnus-mime, a MIME extension for Gnus.
|
|
15 @end ifinfo
|
|
16
|
|
17 @menu
|
|
18 * Introduction:: What is gnus-mime?
|
|
19 * Automatic MIME Preview:: Inline display for MIME message
|
|
20 * mule:: Internationalization
|
|
21 * MIME-Edit:: Composing MIME messages
|
|
22 * Concept Index::
|
|
23 * Function Index::
|
|
24 * Variable Index::
|
|
25 @end menu
|
|
26
|
|
27 @node Introduction, Automatic MIME Preview, Top, Top
|
|
28 @chapter What is gnus-mime?
|
10
|
29 @cindex gnus-mime
|
8
|
30
|
10
|
31 @strong{gnus-mime} is a MIME (@ref{(tm-en)MIME}) extender for Gnus
|
|
32 (@ref{(gnus)}) using tm (@ref{(tm-en)tm-kernel}).
|
8
|
33
|
|
34 @noindent
|
|
35 @strong{[Notice]}
|
|
36 @quotation
|
|
37
|
|
38 gnus-mime is for only Gnus. Please use tm-gnus (@ref{(tm-gnus_en)}) for
|
|
39 GNUS.
|
|
40 @end quotation
|
|
41
|
|
42
|
|
43 gnus-mime supports automatic MIME preview in @code{"*Article*"} buffer
|
|
44 using tm-view (@ref{(tm-view-en)}). In particular, with XEmacs, it
|
|
45 decodes images as same as text.@refill
|
|
46
|
|
47 In addition, gnus-mime supports multilingual/internationalization
|
|
48 feature for mule such as MULE (@ref{(tm-en)mule}), XEmacs/mule and mule
|
|
49 merged Emacs. It supports code-conversion by MIME charset or depended
|
|
50 default MIME charset of newsgroups.@refill
|
|
51
|
|
52 For RFC 1522, original Gnus supports only Q-encoded iso-8859-1
|
|
53 (@ref{(tm-en)iso-8859-1}) encoded-word (@ref{(tm-en)encoded-word}). So
|
|
54 gnus-mime supports more MIME charsets, such as iso-8859-2
|
|
55 (@ref{(tm-en)iso-8859-2}), iso-8859-3 (@ref{(tm-en)iso-8859-3}), ...,
|
|
56 iso-2022-jp (@ref{(tm-en)iso-2022-jp}), euc-kr (@ref{(tm-en)euc-kr}),
|
|
57 iso-2022-kr (@ref{(tm-en)iso-2022-kr}), gb2312, hz-gb-2312
|
|
58 (@ref{(tm-en)hz-gb-2312}), cn-big5 (@ref{(tm-en)cn-big5}), and
|
|
59 B-encoding. In addition, original Gnus does not support unfolding or
|
|
60 space elimination rule of RFC 1522. gnus-mime is more rightful.
|
|
61
|
|
62
|
|
63 @node Automatic MIME Preview, mule, Introduction, Top
|
|
64 @chapter Inline display for MIME message
|
10
|
65 @cindex XEmacs
|
|
66 @cindex automatic MIME preview
|
8
|
67
|
10
|
68 @strong{automatic MIME preview} feature is available for gnus-mime. In
|
|
69 automatic MIME preview mode, when reading an article in summary mode,
|
|
70 gnus-mime displays preview buffer processed by tm-view instead of raw
|
|
71 article buffer. (cf. @ref{(tm-view-en)}) @refill
|
8
|
72
|
|
73 Therefore if an article is encoded by Base64 (@ref{(tm-en)Base64}) or
|
|
74 Quoted-Printable (@ref{(tm-en)Quoted-Printable}), a decoded article is
|
|
75 displayed. Or rich text article, such as text/enriched
|
|
76 (@ref{(tm-en)text/enriched}) format, is automatic formated. Of course,
|
|
77 multipart (@ref{(tm-en)multipart}) article is dealt with
|
|
78 correctly.@refill
|
|
79
|
10
|
80 In addition, in @strong{XEmacs}, images are displayed in preview buffer
|
|
81 as same as text.@refill
|
8
|
82
|
|
83 Different from using metamail, speaker does not roar just then read an
|
|
84 article includes audio content, video player does not play just then
|
|
85 read an article includes video content, it does not do anonymous ftp
|
|
86 (@ref{(tm-en)ftp}) or send mail when read an article includes
|
|
87 external-message. These contents are played when you do decoding
|
|
88 command in preview buffer.@refill
|
|
89
|
|
90 However if you use a slow machine, or are just really impatient, you
|
|
91 can stop automatic MIME preview.
|
|
92
|
|
93
|
|
94 @menu
|
|
95 * MIME processing:: How to process MIME in Article Buffer
|
|
96 * Two buffers for an article:: Mechanism of Automatic MIME preview
|
|
97 @end menu
|
|
98
|
|
99 @node MIME processing, Two buffers for an article, Automatic MIME Preview, Automatic MIME Preview
|
|
100 @section How to process MIME in Article Buffer
|
|
101
|
|
102 When @code{gnus-show-mime} is not @code{nil} and an article has
|
|
103 Mime-Version field in its message header, namely it is a MIME message,
|
|
104 Gnus calls @code{gnus-show-mime-method} to process MIME.@refill
|
|
105
|
|
106 When @code{gnus-strict-mime} is @code{nil} and @code{gnus-show-mime} is
|
|
107 not @code{nil}, Gnus calls @code{gnus-show-mime-method} even if an
|
|
108 message does not have Mime-Version field in its message header.@refill
|
|
109
|
|
110 Gnus 5.2 or later calls @code{gnus-show-mime-method} when
|
|
111 @code{gnus-strict-mime} is not @code{nil} and an article
|
|
112 does not have Mime-Version field. Notice that old Gnus does not have
|
|
113 it, so it may be better to set @code{gnus-strict-mime} to
|
|
114 @code{nil}.
|
|
115
|
|
116
|
|
117 @defvar gnus-show-mime
|
|
118
|
|
119 If it is not @code{nil}, Gnus do automatic MIME preview. Default value
|
|
120 is @code{t}.@refill
|
|
121
|
|
122 It is a variable of Gnus, so if gnus is loaded before gnus-mime is
|
|
123 loaded, default value is not guaranteed.
|
|
124
|
|
125 (cf. @ref{(gnus)Using MIME})
|
|
126 @end defvar
|
|
127
|
|
128
|
|
129 @defvar gnus-show-mime-method
|
|
130
|
|
131 Gnus calls function bound by it to process MIME. Default value is
|
|
132 @code{gnus-article-preview-mime-message}.@refill
|
|
133
|
|
134 It is a variable of Gnus, so if gnus is loaded before gnus-mime is
|
|
135 loaded, default value is not guaranteed.
|
|
136
|
|
137 (cf. @ref{(gnus)Using MIME})
|
|
138 @end defvar
|
|
139
|
|
140
|
|
141 @defvar gnus-decode-encoded-word-method
|
|
142
|
|
143 Gnus calls function bound by it to decode encoded-words. Default value
|
|
144 is @code{gnus-article-decode-encoded-word}.@refill
|
|
145
|
|
146 It is a variable of Gnus, so if gnus is loaded before gnus-mime is
|
|
147 loaded, default value is not guaranteed.@refill
|
|
148
|
|
149 In addition, it is not available at Gnus 5.0.* or Gnus 5.1.
|
|
150 @end defvar
|
|
151
|
|
152
|
|
153 @noindent
|
|
154 @strong{[Notice]}
|
|
155 @quotation
|
|
156
|
|
157 gnus-mime uses some variables of Gnus and defines different default
|
|
158 values by @code{defvar}. For example, gnus-mime's default value of
|
|
159 @code{gnus-show-mime} is @code{t} instead of @code{nil}. Or its default
|
|
160 value of @code{gnus-show-mime-method} is
|
|
161 @code{gnus-article-preview-mime-message} instead of
|
|
162 @code{metamail-buffer}. (cf. @ref{(gnus)Using MIME}) @refill
|
|
163
|
|
164 gnus-mime uses @code{defvar} instead of @code{setq}, because of respect
|
|
165 user's setting before gnus-mime is loaded, such as using
|
|
166 @file{~/.emacs}. But it has a problem. If gnus is loaded before
|
|
167 gnus-mime is loaded, features of gnus-mime is not available in default
|
|
168 even if gnus-mime is loaded. Therefore there is serious problem to load
|
|
169 gnus before gnus-mime is loaded. In other words, setting in
|
|
170 @file{~/.gnus}, such as to load @file{gnus-mime} or @file{mime-setup},
|
|
171 is not good way. If you want such way, please do setting for
|
|
172 @code{gnus-show-mime} and @code{gnus-show-mime-method}.
|
|
173 @end quotation
|
|
174
|
|
175
|
|
176
|
|
177 @node Two buffers for an article, , MIME processing, Automatic MIME Preview
|
|
178 @section Mechanism of Automatic MIME preview
|
10
|
179 @cindex preview buffer
|
|
180 @cindex raw article buffer
|
8
|
181
|
|
182 Gnus 5.2 or later has two buffers for an article,
|
|
183 @code{gnus-original-article-buffer} (@code{" *Original Article*"}) and
|
|
184 @code{gnus-article-buffer} (@code{"*Article*"}). The former is called
|
10
|
185 @strong{raw article buffer}, the latter is called @strong{preview buffer}.@refill
|
8
|
186
|
|
187 Content of raw article buffer is non-processed ``raw message''. In
|
|
188 particular, for emacs variants includes mule (@ref{(tm-en)mule})
|
|
189 features, message is not code-converted in it.@refill
|
|
190
|
|
191 Content of preview buffer is MIME processed message to display for user.
|
|
192 In particular, for emacs variants includes mule features, non-ASCII
|
|
193 message is code-converted in it by MIME charset or default MIME charset
|
|
194 (@ref{(tm-en)MIME charset}) for selected newsgroup.@refill
|
|
195
|
|
196 Gnus 5.0.* and Gnus 5.1 don't have distinction between raw article
|
|
197 buffer and preview buffer. So gnus-mime emulate raw article buffer. It
|
|
198 is unnatural, so it may be better to use Gnus 5.2 or later, which are
|
|
199 designed for tm-view.@refill
|
|
200
|
|
201 (cf. @ref{(tm-view-en)Two buffers for an article})
|
|
202
|
|
203
|
|
204
|
|
205 @node mule, MIME-Edit, Automatic MIME Preview, Top
|
|
206 @chapter Internationalization
|
|
207
|
|
208 For emacs variants includes mule feature, such as MULE
|
|
209 (@ref{(tm-en)MULE}), XEmacs/mule and Emacs/mule(*1), gnus-mime supports
|
|
210 code-conversion by MIME charset (@ref{(tm-en)MIME charset}) or
|
|
211 @code{default-mime-charset} of selected newsgroup.
|
|
212
|
|
213 @noindent
|
|
214 @strong{[Memo]}
|
|
215 @quotation
|
|
216 (*1) It means next generation of Emacs includes mule features. Now
|
|
217 (October 1996), HANDA Ken'ichi and RMS are developing it.
|
|
218 @end quotation
|
|
219
|
|
220
|
|
221 Detail of code conversion is following:
|
|
222
|
|
223 @enumerate
|
|
224 @item
|
|
225 If a newsgroup is selected, MIME charset for the newsgroup is
|
|
226 searched from @code{gnus-newsgroup-default-charset-alist}. If
|
|
227 it is found, it is set to buffer local variable
|
|
228 @code{default-mime-charset} of Summary Buffer. If not found,
|
|
229 global value of @code{default-mime-charset} is used.
|
|
230 @item
|
|
231 Non-ASCII characters in Summary Buffer are code-converted by
|
|
232 @code{default-mime-charset} in Summary Buffer.
|
|
233 @item
|
|
234 encoded-word (@ref{(tm-en)encoded-word}) are code-converted by their
|
|
235 specified MIME charset (@ref{(tm-en)MIME charset}).
|
|
236 @item
|
|
237 Code-conversion of articles are following:
|
|
238
|
|
239 @enumerate
|
|
240 @item
|
|
241 If a part of a MIME message has charset parameter of Content-Type field
|
|
242 (@ref{(tm-en)Content-Type field}), it is code-converted by the MIME
|
|
243 charset.
|
|
244 @item
|
|
245 When there are no specified MIME charset, such as message header
|
|
246 or non-MIME message, they are code-converted by
|
|
247 @code{default-mime-charset} in Summary Buffer.
|
|
248 @end enumerate
|
|
249 @end enumerate
|
|
250
|
|
251
|
|
252
|
|
253 @defvar gnus-newsgroup-default-charset-alist
|
|
254
|
|
255 Association-list regexp for newsgroup vs. symbol for default MIME
|
|
256 charset.@refill
|
|
257
|
|
258 Default setting are following:
|
|
259
|
|
260 @table @samp
|
|
261 @item alt.chinese.*
|
|
262 hz-gb-2312 (@ref{(tm-en)hz-gb-2312})@refill
|
|
263
|
|
264 @item alt.chinese.text.big5, hk.*, hkstar.*, tw.*
|
|
265 cn-big5 (@ref{(tm-en)cn-big5})@refill
|
|
266
|
|
267 @item fj.*
|
|
268 iso-2022-jp-2 (@ref{(tm-en)iso-2022-jp-2})@refill
|
|
269
|
|
270 @item han.*
|
|
271 euc-kr (@ref{(tm-en)euc-kr})@refill
|
|
272
|
|
273 @item relcom.*
|
|
274 koi8-r (@ref{(tm-en)koi8-r})@refill
|
|
275
|
|
276 @end table
|
|
277
|
|
278 If there is no MIME charsets for a newsgroup,
|
|
279 @code{default-mime-charset} is used as default MIME charset.
|
|
280 @end defvar
|
|
281
|
|
282
|
|
283 @defun gnus-set-newsgroup-default-charsetnewsgroup charset
|
|
284
|
|
285 Set default MIME @var{charset} of @var{newsgroup} to
|
|
286 @code{gnus-newsgroup-default-charset-alist}.@refill
|
|
287
|
|
288 @var{newsgroup} is string of newsgroup name or category, for
|
|
289 @code{"gnu.emacs.gnus"}, @code{"gnu.emacs"}, @code{"gnu"}.@refill
|
|
290
|
|
291 @var{charset} is symbol of MIME charset, for example @code{iso-8859-1},
|
|
292 @code{iso-2022-jp}.
|
|
293 @end defun
|
|
294
|
|
295
|
|
296
|
|
297 @node MIME-Edit, Concept Index, mule, Top
|
|
298 @chapter Composing MIME messages
|
|
299
|
|
300 If using mime-setup (@ref{(tm-en)mime-setup}), you can edit MIME message
|
|
301 in message-mode using tm-edit (@ref{(tm-edit-en)}).
|
|
302
|
|
303 @noindent
|
|
304 @strong{[Notice]}
|
|
305 @quotation
|
|
306
|
|
307 Default setting of mime-setup avoids automatic inserting signature
|
|
308 when sending a message.
|
|
309
|
|
310 (cf. @ref{(tm-en)mime-setup})
|
|
311 @end quotation
|
|
312
|
|
313
|
|
314 gnus-mime does not have implementation for @kbd{C-c C-x C-m}
|
|
315 (@code{mime-editor/insert-mail}). Because gnus-mime does not know which
|
|
316 mail-reader should be used. In addition, @kbd{C-c C-x C-y}
|
|
317 (@code{mime-editor/insert-message}) is enough to insert mail (namely to
|
|
318 select a mail group and select a message to insert, then it is available
|
|
319 to insert the mail message).@refill
|
|
320
|
|
321 However you can use @kbd{C-c C-x C-m} to specify an
|
|
322 implementation of @code{message-mode} to
|
|
323 @code{mime-editor/mail-inserter-alist}.
|
|
324
|
|
325
|
|
326 @section Example: same as @kbd{C-c C-x C-m}
|
|
327
|
|
328 @lisp
|
|
329 (set-alist 'mime-editor/mail-inserter-alist
|
|
330 'message-mode (function message-mime-insert-article))
|
|
331 @end lisp
|
|
332
|
|
333
|
|
334
|
|
335 @section Example: including from MH folder
|
|
336
|
|
337 @lisp
|
|
338 (autoload 'tm-mh-e/insert-mail "tm-mh-e")
|
|
339
|
|
340 (set-alist 'mime-editor/mail-inserter-alist
|
|
341 'message-mode (function tm-mh-e/insert-mail))
|
|
342 @end lisp
|
|
343
|
|
344
|
|
345
|
|
346 @node Concept Index, Function Index, MIME-Edit, Top
|
|
347 @chapter Concept Index
|
|
348
|
|
349 @printindex cp
|
|
350
|
|
351 @node Function Index, Variable Index, Concept Index, Top
|
|
352 @chapter Function Index
|
|
353
|
|
354 @printindex fn
|
|
355
|
|
356 @node Variable Index, , Function Index, Top
|
|
357 @chapter Variable Index
|
|
358
|
|
359 @printindex vr
|
|
360 @bye
|