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