comparison man/tm/gnus-mime-en.texi @ 74:54cc21c15cbb r20-0b32

Import from CVS: tag r20-0b32
author cvs
date Mon, 13 Aug 2007 09:04:33 +0200
parents 4b173ad71786
children 49a24b4fd526
comparison
equal deleted inserted replaced
73:e2d7a37b7c8d 74:54cc21c15cbb
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