Mercurial > hg > xemacs-beta
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 |