(mime-entity-situation): Add information of Content-Disposition.
[elisp/semi.git] / NEWS
1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
3
4 * Changes in SEMI 1.6
5
6 ** Abolish tm-compatible external method support
7
8   Abolish tm-compatible external method support.  Please use mailcap
9 method instead of it.
10
11
12 ** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type'
13
14   C-c C-m C-s encloses as "pgp-signed" which means PGP/MIME signature.
15
16   C-c C-m C-e encloses as "pgp-encrypted" which means PGP/MIME
17 encryption.
18
19
20 ** New interface to display message
21
22 - Function `mime-view-buffer'
23 - Function `mime-view-display-message'
24
25
26 ** Change interface of internal playback method
27
28   Interface of internal playback method was changed to
29
30         (entity situation)
31
32 It is as same as interface of body-presentation-method.
33
34
35 ** Change interface of `mime-view-entity-button-visible-p'
36
37 ** Change interface of `mime-view-insert-entity-button'
38
39
40 ** `mime-preview-original-major-mode'
41
42   Abolish variable `mime-preview-original-major-mode'.
43
44   Please use function `mime-preview-original-major-mode' instead of
45 it.
46
47 \f
48 * Changes in SEMI 1.5
49
50 ** mime-w3
51
52   Add inline text/html preview feature using w3.  If
53 `mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it.
54
55
56 ** `pgp-elkins' -> `pgp-mime'
57
58   Rename `pgp-elkins' -> `pgp-mime'.  Variable
59 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
60 allow `pgp-elkins'.
61
62
63 ** type-subtype-score
64
65   Now MIME-View chooses one entity to display body in
66 multipart/alternative.  In this mechanism,
67 `mime-view-type-subtype-score-alist' is used to specify priority of
68 each entity.
69
70   Variable `mime-view-type-subtype-score-alist' is alist of
71 TYPE-SUBTYPE vs. SCORE.  TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
72 symbol TYPE or t.  TYPE and SUBTYPE are symbol.  `t' means default.
73 SCORE is integer.  Larger number is larger priority.
74
75
76 ** text presentation
77
78   Change text presentation mechanism.  In anything older than SEMI
79 1.4, text presentation mechanism is based on filter model.  However it
80 has design problem about conversion between byte representation and
81 text presentation.  So SEMI was changed to use
82 body-presentation-method to display text entity.  In this purpose, old
83 text decoding features were abolished and introduces news features
84 (cf. next section).
85
86
87 ** mime-raw-representation-type and mime-raw-representation-type-alist
88
89   Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
90 text presentation mechanism change (cf. previous section).  Instead of
91 it, SEMI introduces variable about representation-type of
92 mime-raw-buffer.  If it is `binary', mime-raw-buffer is as same as
93 network representation.  If it is `cooked', mime-raw-buffer is
94 code-converted.
95
96   `mime-raw-representation-type-alist' is an alist of major-mode
97 vs. representation-type.  Each element looks like
98
99     (SYMBOL . REPRESENTATION-TYPE).
100
101 SYMBOL is major-mode or t.  t means default.
102
103   `mime-raw-representation-type' is a buffer local variable of
104 mime-raw-buffer.  If it is non-nil, it overrides
105 `mime-raw-representation-type-alist'.
106
107   In addition, `mime-raw-buffer-coding-system-alist' was abolished.
108 Because representation-type has enough information.
109
110 \f
111 * Changes in SEMI 1.4
112
113 ** mailcap
114
115   mailcap was supported to set up 'mime-acting-condition.
116
117   tm-external-method scripts written by born shell were abolished.
118
119
120 ** mime-add-condition
121
122   New function to set up 'mime-preview-condition and/or
123 'mime-acting-condition.
124
125
126 ** signature setting in semi-setup.el
127
128   Abolish MUA depended signature setting.
129
130   Setting for mail-mode were moved to mail-mime-setup.el.
131
132 \f
133 * Changes in SEMI 1.3
134
135 ** mime-acting-condition
136
137   Format of variable 'mime-acting-condition was changed from `atype'
138 to `condition tree'.  Its format is as same as
139 'mime-preview-condition.
140
141   If there are two or more conditions are found when matching, menu
142 pops up to select method to run.  Selected situation will be added to
143 example database. (cf. mime-acting-situation-examples-file)
144
145 ** New variables
146
147 *** mime-view-find-every-acting-situation
148
149         Find every available acting-situation if non-nil.
150
151 *** mime-acting-situation-examples-file
152
153         File name of example about acting-situation demonstrated by
154         user.
155
156 \f
157 * Changes in SEMI 1.2
158
159 ** User setting
160
161 *** hooks
162
163   'mime-view-plain-text-preview-hook was renamed to
164 'mime-preview-text/plain-hook.
165
166 *** Variable
167
168   Variable 'mime-view-childrens-header-showing-Content-Type-list was
169 abolished.  Please use 'mime-preview-condition instead.
170
171 *** API about visible-predicates were abolished
172
173   Following functions were abolished:
174
175     mime-view-header-visible-p (entity message-info)
176
177     mime-view-body-visible-p (entity message-info)
178
179     mime-view-entity-separator-visible-p (entity message-info)
180
181 Please use 'mime-preview-condition instead.
182
183   Function 'mime-view-entity-button-visible-p is not abolished, but it
184 is obsoleted.
185
186 *** mime-preview-condition
187
188   Following are added as pre-defined keys:
189
190         'childrens-situation    default preview-situation for children
191         'message-button         to specify to display message-button
192                                     nil:        default (invisible)
193                                     'visible:   visible
194                                     'invisible: invisible
195         'entity-button          to specify to display entity-button
196                                     nil:        default (visible)
197                                     'visible:   visible
198                                     'invisible: invisible
199         'header                 to specify to display header
200                                     nil:        default (invisible)
201                                     'visible:   visible
202                                     'invisible: invisible
203
204 ** API
205
206 *** Interface for body-filter
207
208   'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
209
210
211 *** mime-text-decode-body
212
213   Function 'mime-decode-text-body was renamed to
214 'mime-text-decode-body and changed interface.  New interface is
215 following:
216
217         mime-text-decode-body (SITUATION)
218
219 SITUATION is preview-situation.  Content-Transfer-Encoding and
220 MIME-charset are specified in field of it.
221
222 \f
223 * Changes in SEMI 1.1
224
225 ** User setting
226
227 *** Setting variable about visible body
228
229   'mime-view-visible-media-type-list and
230 'mime-view-content-filter-alist were abolished.  Please use
231 'mime-preview-condition instead.
232
233   Notice that 'mime-preview-condition is not list of
234 media-type/subtype string nor association-list.  It uses new
235 data-structure `ctree' (condition-tree; it is introduced to replace
236 `atype').  Function 'ctree-set-calist-strictly and
237 'ctree-set-calist-with-default may be useful to modify it (`calist'
238 (condition-alist) is as same as `atype').
239
240
241 *** API about visible-predicates
242
243   Interface of visible-predicates for entity elements were changed.
244 New interfaces are following:
245
246     mime-view-entity-button-visible-p (entity message-info)
247
248     mime-view-header-visible-p (entity message-info)
249
250     mime-view-body-visible-p (entity message-info)
251
252     mime-view-entity-separator-visible-p (entity message-info)
253
254
255 ** API
256
257 *** entity representation
258
259   Structure 'mime-entity-info was renamed to 'mime-entity.  So various
260 functions were renamed too.
261
262
263 *** Interface for entity-button generators
264
265   Interface of entity-button generators was changed.  New interfaces
266 is following:
267
268     mime-view-insert-entity-button (entity message-info subject)
269
270
271 *** mime-preview-condition and preview-situation
272
273   Conditions about preview generation are unified to
274 'mime-preview-condition.  Namely other variables, such as
275 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
276 'mime-view-image-converter-alist were abolished.
277
278   Preview-situation is generated from entity information, running
279 environment and 'mime-preview-condition.  These elements are checked
280 to match with each other. (it is similar to acting-situation)
281
282   Format of preview-situation is association-list.  Following key is
283 pre-defined:
284
285         'type                     media-type
286         'subtype                  media-subtype
287         'encoding                 content-transfer-encoding
288         'major-mode               major-mode of MUA
289         <STRING>                  attribute of Content-Type field.
290         'body-presentation-method body-presentation-method
291
292 If 'body-presentation-method is 'with-filter, 'body-filter is used to
293 specify body-filter function.  If 'body-presentation-method is
294 function, it is called to generate presentation of entity body.
295
296 Body-filter function 'mime-view-filter-for-image refers 'image-format.
297
298 Setting for message/partial button is specified by
299 'mime-preview-condition instead of hard-coding.
300
301
302 *** Interface for body-filter
303
304   Interface of body-filter was changed.  New interfaces is following:
305
306     <body-filter> (situation)
307
308 Current pre-defined filters are following:
309
310         mime-view-filter-for-text/plain (situation)
311         mime-view-filter-for-text/richtext (situation)
312         mime-view-filter-for-text/enriched (situation)
313         mime-view-filter-for-image (situation) ; if available
314
315 'mime-view-filter-for-application/postscript was abolished.
316
317
318 *** Format of mime-acting-condition (acting-situation)
319
320   Format of `mime-acting-condition' were changed.  `type' and
321 `subtype' are separated and changed to symbol.
322
323
324 *** Renaming
325
326 - mime-view-buffer -> mime-preview-buffer
327
328 \f
329 Local variables:
330 mode: outline
331 paragraph-separate: "[  \f]*$"
332 end: