1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
6 ** Abolish external X-Face viewer
9 ** Abolish obsolete utility for *-field-list and *-field-regexp
11 Abolish function `tm:set-fields', `tm:add-fields' and
15 ** Change MUA interface of automatic message/partial combining
17 Abolish variable `mime-view-partial-message-method-alist'.
19 Instead of it, `request-partial-message-method' in acting-situation
20 is available to specify MUA depended implementation.
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.
31 ** Header-presentation-method
33 Now MIME-View uses header-presentation-method instead of
36 - abolish variable `mime-view-content-header-filter-alist'
38 - abolish function `mime-view-cut-header'
40 - Rename `mime-view-content-header-filter-hook' to
41 `mime-display-header-hook'
44 ** Abolish `mime-view-ignored-field-regexp'
46 Now mime-view uses `mime-view-ignored-field-list' directly in
47 default header-presentation-method.
50 ** Abolish body filter support
52 Please use body-presentation-method.
57 - Rename `mime-view-following-method-alist' to
58 `mime-preview-following-method-alist'
60 - Rename `mime-method-to-combine-message/partial-pieces' to
61 `mime-combine-message/partial-pieces-automatically'
66 ** Abolish tm-compatible external method support
68 Abolish tm-compatible external method support. Please use mailcap
72 ** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type'
74 C-c C-m C-s encloses as "pgp-signed" which means PGP/MIME signature.
76 C-c C-m C-e encloses as "pgp-encrypted" which means PGP/MIME
80 ** New method to detect content of entity
82 Now MIME-View can detect content of entity for
83 application/octet-stream in default setting.
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.
94 ** New interface to display message
96 - Function `mime-view-buffer'
97 - Function `mime-view-display-message'
100 ** Change interface of internal playback method
102 Interface of internal playback method was changed to
106 It is as same as interface of body-presentation-method.
109 ** Change interface of `mime-view-entity-button-visible-p'
111 ** Change interface of `mime-view-insert-entity-button'
114 ** `mime-preview-original-major-mode'
116 Abolish variable `mime-preview-original-major-mode'.
118 Please use function `mime-preview-original-major-mode' instead of
122 ** mime-preview-over-to-{previous|next}-method-alist
124 `mime-preview-over-to-{previous|next}-method-alist' were renamed
125 from `mime-view-over-to-{previous|next}-method-alist'.
128 * Changes in SEMI 1.5
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.
136 ** `pgp-elkins' -> `pgp-mime'
138 Rename `pgp-elkins' -> `pgp-mime'. Variable
139 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
143 ** type-subtype-score
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
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.
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
167 ** mime-raw-representation-type and mime-raw-representation-type-alist
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
176 `mime-raw-representation-type-alist' is an alist of major-mode
177 vs. representation-type. Each element looks like
179 (SYMBOL . REPRESENTATION-TYPE).
181 SYMBOL is major-mode or t. t means default.
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'.
187 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
188 Because representation-type has enough information.
191 * Changes in SEMI 1.4
195 mailcap was supported to set up 'mime-acting-condition.
197 tm-external-method scripts written by born shell were abolished.
200 ** mime-add-condition
202 New function to set up 'mime-preview-condition and/or
203 'mime-acting-condition.
206 ** signature setting in semi-setup.el
208 Abolish MUA depended signature setting.
210 Setting for mail-mode were moved to mail-mime-setup.el.
213 * Changes in SEMI 1.3
215 ** mime-acting-condition
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.
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)
227 *** mime-view-find-every-acting-situation
229 Find every available acting-situation if non-nil.
231 *** mime-acting-situation-examples-file
233 File name of example about acting-situation demonstrated by
237 * Changes in SEMI 1.2
243 'mime-view-plain-text-preview-hook was renamed to
244 'mime-preview-text/plain-hook.
248 Variable 'mime-view-childrens-header-showing-Content-Type-list was
249 abolished. Please use 'mime-preview-condition instead.
251 *** API about visible-predicates were abolished
253 Following functions were abolished:
255 mime-view-header-visible-p (entity message-info)
257 mime-view-body-visible-p (entity message-info)
259 mime-view-entity-separator-visible-p (entity message-info)
261 Please use 'mime-preview-condition instead.
263 Function 'mime-view-entity-button-visible-p is not abolished, but it
266 *** mime-preview-condition
268 Following are added as pre-defined keys:
270 'childrens-situation default preview-situation for children
271 'message-button to specify to display message-button
272 nil: default (invisible)
274 'invisible: invisible
275 'entity-button to specify to display entity-button
276 nil: default (visible)
278 'invisible: invisible
279 'header to specify to display header
280 nil: default (invisible)
282 'invisible: invisible
286 *** Interface for body-filter
288 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
291 *** mime-text-decode-body
293 Function 'mime-decode-text-body was renamed to
294 'mime-text-decode-body and changed interface. New interface is
297 mime-text-decode-body (SITUATION)
299 SITUATION is preview-situation. Content-Transfer-Encoding and
300 MIME-charset are specified in field of it.
303 * Changes in SEMI 1.1
307 *** Setting variable about visible body
309 'mime-view-visible-media-type-list and
310 'mime-view-content-filter-alist were abolished. Please use
311 'mime-preview-condition instead.
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').
321 *** API about visible-predicates
323 Interface of visible-predicates for entity elements were changed.
324 New interfaces are following:
326 mime-view-entity-button-visible-p (entity message-info)
328 mime-view-header-visible-p (entity message-info)
330 mime-view-body-visible-p (entity message-info)
332 mime-view-entity-separator-visible-p (entity message-info)
337 *** entity representation
339 Structure 'mime-entity-info was renamed to 'mime-entity. So various
340 functions were renamed too.
343 *** Interface for entity-button generators
345 Interface of entity-button generators was changed. New interfaces
348 mime-view-insert-entity-button (entity message-info subject)
351 *** mime-preview-condition and preview-situation
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.
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)
362 Format of preview-situation is association-list. Following key is
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
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.
376 Body-filter function 'mime-view-filter-for-image refers 'image-format.
378 Setting for message/partial button is specified by
379 'mime-preview-condition instead of hard-coding.
382 *** Interface for body-filter
384 Interface of body-filter was changed. New interfaces is following:
386 <body-filter> (situation)
388 Current pre-defined filters are following:
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
395 'mime-view-filter-for-application/postscript was abolished.
398 *** Format of mime-acting-condition (acting-situation)
400 Format of `mime-acting-condition' were changed. `type' and
401 `subtype' are separated and changed to symbol.
406 - mime-view-buffer -> mime-preview-buffer
411 paragraph-separate: "[
\f]*$"