1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
6 ** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type'
9 ** New interface to display message
11 - Function `mime-view-buffer'
13 - Function `mime-view-display-message'
16 ** Change interface of internal playback method
19 ** Change interface of `mime-view-entity-button-visible-p'
22 ** Change interface of `mime-view-insert-entity-button'
25 ** Abolish `mime-preview-original-major-mode'
32 Add inline text/html preview feature using w3. If
33 `mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it.
36 ** `pgp-elkins' -> `pgp-mime'
38 Rename `pgp-elkins' -> `pgp-mime'. Variable
39 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
45 Now MIME-View chooses one entity to display body in
46 multipart/alternative. In this mechanism,
47 `mime-view-type-subtype-score-alist' is used to specify priority of
50 Variable `mime-view-type-subtype-score-alist' is alist of
51 TYPE-SUBTYPE vs. SCORE. TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
52 symbol TYPE or t. TYPE and SUBTYPE are symbol. `t' means default.
53 SCORE is integer. Larger number is larger priority.
58 Change text presentation mechanism. In anything older than SEMI
59 1.4, text presentation mechanism is based on filter model. However it
60 has design problem about conversion between byte representation and
61 text presentation. So SEMI was changed to use
62 body-presentation-method to display text entity. In this purpose, old
63 text decoding features were abolished and introduces news features
67 ** mime-raw-representation-type and mime-raw-representation-type-alist
69 Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
70 text presentation mechanism change (cf. previous section). Instead of
71 it, SEMI introduces variable about representation-type of
72 mime-raw-buffer. If it is `binary', mime-raw-buffer is as same as
73 network representation. If it is `cooked', mime-raw-buffer is
76 `mime-raw-representation-type-alist' is an alist of major-mode
77 vs. representation-type. Each element looks like
79 (SYMBOL . REPRESENTATION-TYPE).
81 SYMBOL is major-mode or t. t means default.
83 `mime-raw-representation-type' is a buffer local variable of
84 mime-raw-buffer. If it is non-nil, it overrides
85 `mime-raw-representation-type-alist'.
87 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
88 Because representation-type has enough information.
95 mailcap was supported to set up 'mime-acting-condition.
97 tm-external-method scripts written by born shell were abolished.
100 ** mime-add-condition
102 New function to set up 'mime-preview-condition and/or
103 'mime-acting-condition.
106 ** signature setting in semi-setup.el
108 Abolish MUA depended signature setting.
110 Setting for mail-mode were moved to mail-mime-setup.el.
113 * Changes in SEMI 1.3
115 ** mime-acting-condition
117 Format of variable 'mime-acting-condition was changed from `atype'
118 to `condition tree'. Its format is as same as
119 'mime-preview-condition.
121 If there are two or more conditions are found when matching, menu
122 pops up to select method to run. Selected situation will be added to
123 example database. (cf. mime-acting-situation-examples-file)
127 *** mime-view-find-every-acting-situation
129 Find every available acting-situation if non-nil.
131 *** mime-acting-situation-examples-file
133 File name of example about acting-situation demonstrated by
137 * Changes in SEMI 1.2
143 'mime-view-plain-text-preview-hook was renamed to
144 'mime-preview-text/plain-hook.
148 Variable 'mime-view-childrens-header-showing-Content-Type-list was
149 abolished. Please use 'mime-preview-condition instead.
151 *** API about visible-predicates were abolished
153 Following functions were abolished:
155 mime-view-header-visible-p (entity message-info)
157 mime-view-body-visible-p (entity message-info)
159 mime-view-entity-separator-visible-p (entity message-info)
161 Please use 'mime-preview-condition instead.
163 Function 'mime-view-entity-button-visible-p is not abolished, but it
166 *** mime-preview-condition
168 Following are added as pre-defined keys:
170 'childrens-situation default preview-situation for children
171 'message-button to specify to display message-button
172 nil: default (invisible)
174 'invisible: invisible
175 'entity-button to specify to display entity-button
176 nil: default (visible)
178 'invisible: invisible
179 'header to specify to display header
180 nil: default (invisible)
182 'invisible: invisible
186 *** Interface for body-filter
188 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
191 *** mime-text-decode-body
193 Function 'mime-decode-text-body was renamed to
194 'mime-text-decode-body and changed interface. New interface is
197 mime-text-decode-body (SITUATION)
199 SITUATION is preview-situation. Content-Transfer-Encoding and
200 MIME-charset are specified in field of it.
203 * Changes in SEMI 1.1
207 *** Setting variable about visible body
209 'mime-view-visible-media-type-list and
210 'mime-view-content-filter-alist were abolished. Please use
211 'mime-preview-condition instead.
213 Notice that 'mime-preview-condition is not list of
214 media-type/subtype string nor association-list. It uses new
215 data-structure `ctree' (condition-tree; it is introduced to replace
216 `atype'). Function 'ctree-set-calist-strictly and
217 'ctree-set-calist-with-default may be useful to modify it (`calist'
218 (condition-alist) is as same as `atype').
221 *** API about visible-predicates
223 Interface of visible-predicates for entity elements were changed.
224 New interfaces are following:
226 mime-view-entity-button-visible-p (entity message-info)
228 mime-view-header-visible-p (entity message-info)
230 mime-view-body-visible-p (entity message-info)
232 mime-view-entity-separator-visible-p (entity message-info)
237 *** entity representation
239 Structure 'mime-entity-info was renamed to 'mime-entity. So various
240 functions were renamed too.
243 *** Interface for entity-button generators
245 Interface of entity-button generators was changed. New interfaces
248 mime-view-insert-entity-button (entity message-info subject)
251 *** mime-preview-condition and preview-situation
253 Conditions about preview generation are unified to
254 'mime-preview-condition. Namely other variables, such as
255 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
256 'mime-view-image-converter-alist were abolished.
258 Preview-situation is generated from entity information, running
259 environment and 'mime-preview-condition. These elements are checked
260 to match with each other. (it is similar to acting-situation)
262 Format of preview-situation is association-list. Following key is
266 'subtype media-subtype
267 'encoding content-transfer-encoding
268 'major-mode major-mode of MUA
269 <STRING> attribute of Content-Type field.
270 'body-presentation-method body-presentation-method
272 If 'body-presentation-method is 'with-filter, 'body-filter is used to
273 specify body-filter function. If 'body-presentation-method is
274 function, it is called to generate presentation of entity body.
276 Body-filter function 'mime-view-filter-for-image refers 'image-format.
278 Setting for message/partial button is specified by
279 'mime-preview-condition instead of hard-coding.
282 *** Interface for body-filter
284 Interface of body-filter was changed. New interfaces is following:
286 <body-filter> (situation)
288 Current pre-defined filters are following:
290 mime-view-filter-for-text/plain (situation)
291 mime-view-filter-for-text/richtext (situation)
292 mime-view-filter-for-text/enriched (situation)
293 mime-view-filter-for-image (situation) ; if available
295 'mime-view-filter-for-application/postscript was abolished.
298 *** Format of mime-acting-condition (acting-situation)
300 Format of `mime-acting-condition' were changed. `type' and
301 `subtype' are separated and changed to symbol.
306 - mime-view-buffer -> mime-preview-buffer
311 paragraph-separate: "[
\f]*$"