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