1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
6 ** Abolish tm-compatible external method support
8 Abolish tm-compatible external method support. Please use mailcap
12 ** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type'
14 C-c C-m C-s encloses as "pgp-signed" which means PGP/MIME signature.
16 C-c C-m C-e encloses as "pgp-encrypted" which means PGP/MIME
20 ** New interface to display message
22 - Function `mime-view-buffer'
23 - Function `mime-view-display-message'
26 ** Change interface of internal playback method
28 Interface of internal playback method was changed to
32 It is as same as interface of body-presentation-method.
35 ** Change interface of `mime-view-entity-button-visible-p'
37 ** Change interface of `mime-view-insert-entity-button'
40 ** `mime-preview-original-major-mode'
42 Abolish variable `mime-preview-original-major-mode'.
44 Please use function `mime-preview-original-major-mode' instead of
48 ** mime-preview-over-to-{previous|next}-method-alist
50 `mime-preview-over-to-{previous|next}-method-alist' were renamed
51 from `mime-view-over-to-{previous|next}-method-alist'.
58 Add inline text/html preview feature using w3. If
59 `mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it.
62 ** `pgp-elkins' -> `pgp-mime'
64 Rename `pgp-elkins' -> `pgp-mime'. Variable
65 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
71 Now MIME-View chooses one entity to display body in
72 multipart/alternative. In this mechanism,
73 `mime-view-type-subtype-score-alist' is used to specify priority of
76 Variable `mime-view-type-subtype-score-alist' is alist of
77 TYPE-SUBTYPE vs. SCORE. TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
78 symbol TYPE or t. TYPE and SUBTYPE are symbol. `t' means default.
79 SCORE is integer. Larger number is larger priority.
84 Change text presentation mechanism. In anything older than SEMI
85 1.4, text presentation mechanism is based on filter model. However it
86 has design problem about conversion between byte representation and
87 text presentation. So SEMI was changed to use
88 body-presentation-method to display text entity. In this purpose, old
89 text decoding features were abolished and introduces news features
93 ** mime-raw-representation-type and mime-raw-representation-type-alist
95 Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
96 text presentation mechanism change (cf. previous section). Instead of
97 it, SEMI introduces variable about representation-type of
98 mime-raw-buffer. If it is `binary', mime-raw-buffer is as same as
99 network representation. If it is `cooked', mime-raw-buffer is
102 `mime-raw-representation-type-alist' is an alist of major-mode
103 vs. representation-type. Each element looks like
105 (SYMBOL . REPRESENTATION-TYPE).
107 SYMBOL is major-mode or t. t means default.
109 `mime-raw-representation-type' is a buffer local variable of
110 mime-raw-buffer. If it is non-nil, it overrides
111 `mime-raw-representation-type-alist'.
113 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
114 Because representation-type has enough information.
117 * Changes in SEMI 1.4
121 mailcap was supported to set up 'mime-acting-condition.
123 tm-external-method scripts written by born shell were abolished.
126 ** mime-add-condition
128 New function to set up 'mime-preview-condition and/or
129 'mime-acting-condition.
132 ** signature setting in semi-setup.el
134 Abolish MUA depended signature setting.
136 Setting for mail-mode were moved to mail-mime-setup.el.
139 * Changes in SEMI 1.3
141 ** mime-acting-condition
143 Format of variable 'mime-acting-condition was changed from `atype'
144 to `condition tree'. Its format is as same as
145 'mime-preview-condition.
147 If there are two or more conditions are found when matching, menu
148 pops up to select method to run. Selected situation will be added to
149 example database. (cf. mime-acting-situation-examples-file)
153 *** mime-view-find-every-acting-situation
155 Find every available acting-situation if non-nil.
157 *** mime-acting-situation-examples-file
159 File name of example about acting-situation demonstrated by
163 * Changes in SEMI 1.2
169 'mime-view-plain-text-preview-hook was renamed to
170 'mime-preview-text/plain-hook.
174 Variable 'mime-view-childrens-header-showing-Content-Type-list was
175 abolished. Please use 'mime-preview-condition instead.
177 *** API about visible-predicates were abolished
179 Following functions were abolished:
181 mime-view-header-visible-p (entity message-info)
183 mime-view-body-visible-p (entity message-info)
185 mime-view-entity-separator-visible-p (entity message-info)
187 Please use 'mime-preview-condition instead.
189 Function 'mime-view-entity-button-visible-p is not abolished, but it
192 *** mime-preview-condition
194 Following are added as pre-defined keys:
196 'childrens-situation default preview-situation for children
197 'message-button to specify to display message-button
198 nil: default (invisible)
200 'invisible: invisible
201 'entity-button to specify to display entity-button
202 nil: default (visible)
204 'invisible: invisible
205 'header to specify to display header
206 nil: default (invisible)
208 'invisible: invisible
212 *** Interface for body-filter
214 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
217 *** mime-text-decode-body
219 Function 'mime-decode-text-body was renamed to
220 'mime-text-decode-body and changed interface. New interface is
223 mime-text-decode-body (SITUATION)
225 SITUATION is preview-situation. Content-Transfer-Encoding and
226 MIME-charset are specified in field of it.
229 * Changes in SEMI 1.1
233 *** Setting variable about visible body
235 'mime-view-visible-media-type-list and
236 'mime-view-content-filter-alist were abolished. Please use
237 'mime-preview-condition instead.
239 Notice that 'mime-preview-condition is not list of
240 media-type/subtype string nor association-list. It uses new
241 data-structure `ctree' (condition-tree; it is introduced to replace
242 `atype'). Function 'ctree-set-calist-strictly and
243 'ctree-set-calist-with-default may be useful to modify it (`calist'
244 (condition-alist) is as same as `atype').
247 *** API about visible-predicates
249 Interface of visible-predicates for entity elements were changed.
250 New interfaces are following:
252 mime-view-entity-button-visible-p (entity message-info)
254 mime-view-header-visible-p (entity message-info)
256 mime-view-body-visible-p (entity message-info)
258 mime-view-entity-separator-visible-p (entity message-info)
263 *** entity representation
265 Structure 'mime-entity-info was renamed to 'mime-entity. So various
266 functions were renamed too.
269 *** Interface for entity-button generators
271 Interface of entity-button generators was changed. New interfaces
274 mime-view-insert-entity-button (entity message-info subject)
277 *** mime-preview-condition and preview-situation
279 Conditions about preview generation are unified to
280 'mime-preview-condition. Namely other variables, such as
281 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
282 'mime-view-image-converter-alist were abolished.
284 Preview-situation is generated from entity information, running
285 environment and 'mime-preview-condition. These elements are checked
286 to match with each other. (it is similar to acting-situation)
288 Format of preview-situation is association-list. Following key is
292 'subtype media-subtype
293 'encoding content-transfer-encoding
294 'major-mode major-mode of MUA
295 <STRING> attribute of Content-Type field.
296 'body-presentation-method body-presentation-method
298 If 'body-presentation-method is 'with-filter, 'body-filter is used to
299 specify body-filter function. If 'body-presentation-method is
300 function, it is called to generate presentation of entity body.
302 Body-filter function 'mime-view-filter-for-image refers 'image-format.
304 Setting for message/partial button is specified by
305 'mime-preview-condition instead of hard-coding.
308 *** Interface for body-filter
310 Interface of body-filter was changed. New interfaces is following:
312 <body-filter> (situation)
314 Current pre-defined filters are following:
316 mime-view-filter-for-text/plain (situation)
317 mime-view-filter-for-text/richtext (situation)
318 mime-view-filter-for-text/enriched (situation)
319 mime-view-filter-for-image (situation) ; if available
321 'mime-view-filter-for-application/postscript was abolished.
324 *** Format of mime-acting-condition (acting-situation)
326 Format of `mime-acting-condition' were changed. `type' and
327 `subtype' are separated and changed to symbol.
332 - mime-view-buffer -> mime-preview-buffer
337 paragraph-separate: "[
\f]*$"