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