1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
8 Add inline text/html preview feature using w3. If
9 `mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it.
12 ** `pgp-elkins' -> `pgp-mime'
14 Rename `pgp-elkins' -> `pgp-mime'. Variable
15 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
21 Now MIME-View chooses one entity to display body in
22 multipart/alternative. In this mechanism,
23 `mime-view-type-subtype-score-alist' is used to specify priority of
26 Variable `mime-view-type-subtype-score-alist' is alist of
27 TYPE-SUBTYPE vs. SCORE. TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
28 symbol TYPE or t. TYPE and SUBTYPE are symbol. `t' means default.
29 SCORE is integer. Larger number is larger priority.
34 Change text presentation mechanism. In anything older than SEMI
35 1.4, text presentation mechanism is based on filter model. However it
36 has design problem about conversion between byte representation and
37 text presentation. So SEMI was changed to use
38 body-presentation-method to display text entity. In this purpose, old
39 text decoding features were abolished and introduces news features
43 ** mime-raw-representation-type and mime-raw-representation-type-alist
45 Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
46 text presentation mechanism change (cf. previous section). Instead of
47 it, SEMI introduces variable about representation-type of
48 mime-raw-buffer. If it is `binary', mime-raw-buffer is as same as
49 network representation. If it is `cooked', mime-raw-buffer is
52 `mime-raw-representation-type-alist' is an alist of major-mode
53 vs. representation-type. Each element looks like
55 (SYMBOL . REPRESENTATION-TYPE).
57 SYMBOL is major-mode or t. t means default.
59 `mime-raw-representation-type' is a buffer local variable of
60 mime-raw-buffer. If it is non-nil, it overrides
61 `mime-raw-representation-type-alist'.
63 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
64 Because representation-type has enough information.
71 mailcap was supported to set up 'mime-acting-condition.
73 tm-external-method scripts written by born shell were abolished.
78 New function to set up 'mime-preview-condition and/or
79 'mime-acting-condition.
82 ** signature setting in semi-setup.el
84 Abolish MUA depended signature setting.
86 Setting for mail-mode were moved to mail-mime-setup.el.
91 ** mime-acting-condition
93 Format of variable 'mime-acting-condition was changed from `atype'
94 to `condition tree'. Its format is as same as
95 'mime-preview-condition.
97 If there are two or more conditions are found when matching, menu
98 pops up to select method to run. Selected situation will be added to
99 example database. (cf. mime-acting-situation-examples-file)
103 *** mime-view-find-every-acting-situation
105 Find every available acting-situation if non-nil.
107 *** mime-acting-situation-examples-file
109 File name of example about acting-situation demonstrated by
113 * Changes in SEMI 1.2
119 'mime-view-plain-text-preview-hook was renamed to
120 'mime-preview-text/plain-hook.
124 Variable 'mime-view-childrens-header-showing-Content-Type-list was
125 abolished. Please use 'mime-preview-condition instead.
127 *** API about visible-predicates were abolished
129 Following functions were abolished:
131 mime-view-header-visible-p (entity message-info)
133 mime-view-body-visible-p (entity message-info)
135 mime-view-entity-separator-visible-p (entity message-info)
137 Please use 'mime-preview-condition instead.
139 Function 'mime-view-entity-button-visible-p is not abolished, but it
142 *** mime-preview-condition
144 Following are added as pre-defined keys:
146 'childrens-situation default preview-situation for children
147 'message-button to specify to display message-button
148 nil: default (invisible)
150 'invisible: invisible
151 'entity-button to specify to display entity-button
152 nil: default (visible)
154 'invisible: invisible
155 'header to specify to display header
156 nil: default (invisible)
158 'invisible: invisible
162 *** Interface for body-filter
164 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
167 *** mime-text-decode-body
169 Function 'mime-decode-text-body was renamed to
170 'mime-text-decode-body and changed interface. New interface is
173 mime-text-decode-body (SITUATION)
175 SITUATION is preview-situation. Content-Transfer-Encoding and
176 MIME-charset are specified in field of it.
179 * Changes in SEMI 1.1
183 *** Setting variable about visible body
185 'mime-view-visible-media-type-list and
186 'mime-view-content-filter-alist were abolished. Please use
187 'mime-preview-condition instead.
189 Notice that 'mime-preview-condition is not list of
190 media-type/subtype string nor association-list. It uses new
191 data-structure `ctree' (condition-tree; it is introduced to replace
192 `atype'). Function 'ctree-set-calist-strictly and
193 'ctree-set-calist-with-default may be useful to modify it (`calist'
194 (condition-alist) is as same as `atype').
197 *** API about visible-predicates
199 Interface of visible-predicates for entity elements were changed.
200 New interfaces are following:
202 mime-view-entity-button-visible-p (entity message-info)
204 mime-view-header-visible-p (entity message-info)
206 mime-view-body-visible-p (entity message-info)
208 mime-view-entity-separator-visible-p (entity message-info)
213 *** entity representation
215 Structure 'mime-entity-info was renamed to 'mime-entity. So various
216 functions were renamed too.
219 *** Interface for entity-button generators
221 Interface of entity-button generators was changed. New interfaces
224 mime-view-insert-entity-button (entity message-info subject)
227 *** mime-preview-condition and preview-situation
229 Conditions about preview generation are unified to
230 'mime-preview-condition. Namely other variables, such as
231 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
232 'mime-view-image-converter-alist were abolished.
234 Preview-situation is generated from entity information, running
235 environment and 'mime-preview-condition. These elements are checked
236 to match with each other. (it is similar to acting-situation)
238 Format of preview-situation is association-list. Following key is
242 'subtype media-subtype
243 'encoding content-transfer-encoding
244 'major-mode major-mode of MUA
245 <STRING> attribute of Content-Type field.
246 'body-presentation-method body-presentation-method
248 If 'body-presentation-method is 'with-filter, 'body-filter is used to
249 specify body-filter function. If 'body-presentation-method is
250 function, it is called to generate presentation of entity body.
252 Body-filter function 'mime-view-filter-for-image refers 'image-format.
254 Setting for message/partial button is specified by
255 'mime-preview-condition instead of hard-coding.
258 *** Interface for body-filter
260 Interface of body-filter was changed. New interfaces is following:
262 <body-filter> (situation)
264 Current pre-defined filters are following:
266 mime-view-filter-for-text/plain (situation)
267 mime-view-filter-for-text/richtext (situation)
268 mime-view-filter-for-text/enriched (situation)
269 mime-view-filter-for-image (situation) ; if available
271 'mime-view-filter-for-application/postscript was abolished.
274 *** Format of mime-acting-condition (acting-situation)
276 Format of `mime-acting-condition' were changed. `type' and
277 `subtype' are separated and changed to symbol.
282 - mime-view-buffer -> mime-preview-buffer
287 paragraph-separate: "[
\f]*$"