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