1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
8 Now MIME-View chooses one entity to display body in
9 multipart/alternative. In this mechanism,
10 `mime-view-type-subtype-score-alist' is used to specify priority of
13 Variable `mime-view-type-subtype-score-alist' is alist of
14 TYPE-SUBTYPE vs. SCORE. TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
15 symbol TYPE or t. TYPE and SUBTYPE are symbol. `t' means default.
16 SCORE is integer. Larger number is larger priority.
21 Change text presentation mechanism. In anything older than SEMI
22 1.4, text presentation mechanism is based on filter model. However it
23 has design problem about conversion between byte representation and
24 text presentation. So SEMI was changed to use
25 body-presentation-method to display text entity. In this purpose, old
26 text decoding features were abolished and introduces news features
29 ** mime-raw-representation-type and mime-raw-representation-type-alist
31 Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
32 text presentation mechanism change (cf. previous section). Instead of
33 it, SEMI introduces variable about representation-type of
34 mime-raw-buffer. If it is `binary', mime-raw-buffer is as same as
35 network representation. If it is `cooked', mime-raw-buffer is
38 `mime-raw-representation-type-alist' is an alist of major-mode
39 vs. representation-type. Each element looks like
41 (SYMBOL . REPRESENTATION-TYPE).
43 SYMBOL is major-mode or t. t means default.
45 `mime-raw-representation-type' is a buffer local variable of
46 mime-raw-buffer. If it is non-nil, it overrides
47 `mime-raw-representation-type-alist'.
49 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
50 Because representation-type has enough information.
57 mailcap was supported to set up 'mime-acting-condition.
59 tm-external-method scripts written by born shell were abolished.
64 New function to set up 'mime-preview-condition and/or
65 'mime-acting-condition.
68 ** signature setting in semi-setup.el
70 Abolish MUA depended signature setting.
72 Setting for mail-mode were moved to mail-mime-setup.el.
77 ** mime-acting-condition
79 Format of variable 'mime-acting-condition was changed from `atype'
80 to `condition tree'. Its format is as same as
81 'mime-preview-condition.
83 If there are two or more conditions are found when matching, menu
84 pops up to select method to run. Selected situation will be added to
85 example database. (cf. mime-acting-situation-examples-file)
89 *** mime-view-find-every-acting-situation
91 Find every available acting-situation if non-nil.
93 *** mime-acting-situation-examples-file
95 File name of example about acting-situation demonstrated by
105 'mime-view-plain-text-preview-hook was renamed to
106 'mime-preview-text/plain-hook.
110 Variable 'mime-view-childrens-header-showing-Content-Type-list was
111 abolished. Please use 'mime-preview-condition instead.
113 *** API about visible-predicates were abolished
115 Following functions were abolished:
117 mime-view-header-visible-p (entity message-info)
119 mime-view-body-visible-p (entity message-info)
121 mime-view-entity-separator-visible-p (entity message-info)
123 Please use 'mime-preview-condition instead.
125 Function 'mime-view-entity-button-visible-p is not abolished, but it
128 *** mime-preview-condition
130 Following are added as pre-defined keys:
132 'childrens-situation default preview-situation for children
133 'message-button to specify to display message-button
134 nil: default (invisible)
136 'invisible: invisible
137 'entity-button to specify to display entity-button
138 nil: default (visible)
140 'invisible: invisible
141 'header to specify to display header
142 nil: default (invisible)
144 'invisible: invisible
148 *** Interface for body-filter
150 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
153 *** mime-text-decode-body
155 Function 'mime-decode-text-body was renamed to
156 'mime-text-decode-body and changed interface. New interface is
159 mime-text-decode-body (SITUATION)
161 SITUATION is preview-situation. Content-Transfer-Encoding and
162 MIME-charset are specified in field of it.
165 * Changes in SEMI 1.1
169 *** Setting variable about visible body
171 'mime-view-visible-media-type-list and
172 'mime-view-content-filter-alist were abolished. Please use
173 'mime-preview-condition instead.
175 Notice that 'mime-preview-condition is not list of
176 media-type/subtype string nor association-list. It uses new
177 data-structure `ctree' (condition-tree; it is introduced to replace
178 `atype'). Function 'ctree-set-calist-strictly and
179 'ctree-set-calist-with-default may be useful to modify it (`calist'
180 (condition-alist) is as same as `atype').
183 *** API about visible-predicates
185 Interface of visible-predicates for entity elements were changed.
186 New interfaces are following:
188 mime-view-entity-button-visible-p (entity message-info)
190 mime-view-header-visible-p (entity message-info)
192 mime-view-body-visible-p (entity message-info)
194 mime-view-entity-separator-visible-p (entity message-info)
199 *** entity representation
201 Structure 'mime-entity-info was renamed to 'mime-entity. So various
202 functions were renamed too.
205 *** Interface for entity-button generators
207 Interface of entity-button generators was changed. New interfaces
210 mime-view-insert-entity-button (entity message-info subject)
213 *** mime-preview-condition and preview-situation
215 Conditions about preview generation are unified to
216 'mime-preview-condition. Namely other variables, such as
217 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
218 'mime-view-image-converter-alist were abolished.
220 Preview-situation is generated from entity information, running
221 environment and 'mime-preview-condition. These elements are checked
222 to match with each other. (it is similar to acting-situation)
224 Format of preview-situation is association-list. Following key is
228 'subtype media-subtype
229 'encoding content-transfer-encoding
230 'major-mode major-mode of MUA
231 <STRING> attribute of Content-Type field.
232 'body-presentation-method body-presentation-method
234 If 'body-presentation-method is 'with-filter, 'body-filter is used to
235 specify body-filter function. If 'body-presentation-method is
236 function, it is called to generate presentation of entity body.
238 Body-filter function 'mime-view-filter-for-image refers 'image-format.
240 Setting for message/partial button is specified by
241 'mime-preview-condition instead of hard-coding.
244 *** Interface for body-filter
246 Interface of body-filter was changed. New interfaces is following:
248 <body-filter> (situation)
250 Current pre-defined filters are following:
252 mime-view-filter-for-text/plain (situation)
253 mime-view-filter-for-text/richtext (situation)
254 mime-view-filter-for-text/enriched (situation)
255 mime-view-filter-for-image (situation) ; if available
257 'mime-view-filter-for-application/postscript was abolished.
260 *** Format of mime-acting-condition (acting-situation)
262 Format of `mime-acting-condition' were changed. `type' and
263 `subtype' are separated and changed to symbol.
268 - mime-view-buffer -> mime-preview-buffer
273 paragraph-separate: "[
\f]*$"