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
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.
56 ** `pgp-elkins' -> `pgp-mime'
58 Rename `pgp-elkins' -> `pgp-mime'. Variable
59 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
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
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.
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
87 ** mime-raw-representation-type and mime-raw-representation-type-alist
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
96 `mime-raw-representation-type-alist' is an alist of major-mode
97 vs. representation-type. Each element looks like
99 (SYMBOL . REPRESENTATION-TYPE).
101 SYMBOL is major-mode or t. t means default.
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'.
107 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
108 Because representation-type has enough information.
111 * Changes in SEMI 1.4
115 mailcap was supported to set up 'mime-acting-condition.
117 tm-external-method scripts written by born shell were abolished.
120 ** mime-add-condition
122 New function to set up 'mime-preview-condition and/or
123 'mime-acting-condition.
126 ** signature setting in semi-setup.el
128 Abolish MUA depended signature setting.
130 Setting for mail-mode were moved to mail-mime-setup.el.
133 * Changes in SEMI 1.3
135 ** mime-acting-condition
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.
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)
147 *** mime-view-find-every-acting-situation
149 Find every available acting-situation if non-nil.
151 *** mime-acting-situation-examples-file
153 File name of example about acting-situation demonstrated by
157 * Changes in SEMI 1.2
163 'mime-view-plain-text-preview-hook was renamed to
164 'mime-preview-text/plain-hook.
168 Variable 'mime-view-childrens-header-showing-Content-Type-list was
169 abolished. Please use 'mime-preview-condition instead.
171 *** API about visible-predicates were abolished
173 Following functions were abolished:
175 mime-view-header-visible-p (entity message-info)
177 mime-view-body-visible-p (entity message-info)
179 mime-view-entity-separator-visible-p (entity message-info)
181 Please use 'mime-preview-condition instead.
183 Function 'mime-view-entity-button-visible-p is not abolished, but it
186 *** mime-preview-condition
188 Following are added as pre-defined keys:
190 'childrens-situation default preview-situation for children
191 'message-button to specify to display message-button
192 nil: default (invisible)
194 'invisible: invisible
195 'entity-button to specify to display entity-button
196 nil: default (visible)
198 'invisible: invisible
199 'header to specify to display header
200 nil: default (invisible)
202 'invisible: invisible
206 *** Interface for body-filter
208 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
211 *** mime-text-decode-body
213 Function 'mime-decode-text-body was renamed to
214 'mime-text-decode-body and changed interface. New interface is
217 mime-text-decode-body (SITUATION)
219 SITUATION is preview-situation. Content-Transfer-Encoding and
220 MIME-charset are specified in field of it.
223 * Changes in SEMI 1.1
227 *** Setting variable about visible body
229 'mime-view-visible-media-type-list and
230 'mime-view-content-filter-alist were abolished. Please use
231 'mime-preview-condition instead.
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').
241 *** API about visible-predicates
243 Interface of visible-predicates for entity elements were changed.
244 New interfaces are following:
246 mime-view-entity-button-visible-p (entity message-info)
248 mime-view-header-visible-p (entity message-info)
250 mime-view-body-visible-p (entity message-info)
252 mime-view-entity-separator-visible-p (entity message-info)
257 *** entity representation
259 Structure 'mime-entity-info was renamed to 'mime-entity. So various
260 functions were renamed too.
263 *** Interface for entity-button generators
265 Interface of entity-button generators was changed. New interfaces
268 mime-view-insert-entity-button (entity message-info subject)
271 *** mime-preview-condition and preview-situation
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.
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)
282 Format of preview-situation is association-list. Following key is
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
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.
296 Body-filter function 'mime-view-filter-for-image refers 'image-format.
298 Setting for message/partial button is specified by
299 'mime-preview-condition instead of hard-coding.
302 *** Interface for body-filter
304 Interface of body-filter was changed. New interfaces is following:
306 <body-filter> (situation)
308 Current pre-defined filters are following:
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
315 'mime-view-filter-for-application/postscript was abolished.
318 *** Format of mime-acting-condition (acting-situation)
320 Format of `mime-acting-condition' were changed. `type' and
321 `subtype' are separated and changed to symbol.
326 - mime-view-buffer -> mime-preview-buffer
331 paragraph-separate: "[
\f]*$"