1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
6 ** `pgp-elkins' -> `pgp-mime'
8 Rename `pgp-elkins' -> `pgp-mime'. Variable
9 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
15 Now MIME-View chooses one entity to display body in
16 multipart/alternative. In this mechanism,
17 `mime-view-type-subtype-score-alist' is used to specify priority of
20 Variable `mime-view-type-subtype-score-alist' is alist of
21 TYPE-SUBTYPE vs. SCORE. TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
22 symbol TYPE or t. TYPE and SUBTYPE are symbol. `t' means default.
23 SCORE is integer. Larger number is larger priority.
28 Change text presentation mechanism. In anything older than SEMI
29 1.4, text presentation mechanism is based on filter model. However it
30 has design problem about conversion between byte representation and
31 text presentation. So SEMI was changed to use
32 body-presentation-method to display text entity. In this purpose, old
33 text decoding features were abolished and introduces news features
36 ** mime-raw-representation-type and mime-raw-representation-type-alist
38 Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
39 text presentation mechanism change (cf. previous section). Instead of
40 it, SEMI introduces variable about representation-type of
41 mime-raw-buffer. If it is `binary', mime-raw-buffer is as same as
42 network representation. If it is `cooked', mime-raw-buffer is
45 `mime-raw-representation-type-alist' is an alist of major-mode
46 vs. representation-type. Each element looks like
48 (SYMBOL . REPRESENTATION-TYPE).
50 SYMBOL is major-mode or t. t means default.
52 `mime-raw-representation-type' is a buffer local variable of
53 mime-raw-buffer. If it is non-nil, it overrides
54 `mime-raw-representation-type-alist'.
56 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
57 Because representation-type has enough information.
64 mailcap was supported to set up 'mime-acting-condition.
66 tm-external-method scripts written by born shell were abolished.
71 New function to set up 'mime-preview-condition and/or
72 'mime-acting-condition.
75 ** signature setting in semi-setup.el
77 Abolish MUA depended signature setting.
79 Setting for mail-mode were moved to mail-mime-setup.el.
84 ** mime-acting-condition
86 Format of variable 'mime-acting-condition was changed from `atype'
87 to `condition tree'. Its format is as same as
88 'mime-preview-condition.
90 If there are two or more conditions are found when matching, menu
91 pops up to select method to run. Selected situation will be added to
92 example database. (cf. mime-acting-situation-examples-file)
96 *** mime-view-find-every-acting-situation
98 Find every available acting-situation if non-nil.
100 *** mime-acting-situation-examples-file
102 File name of example about acting-situation demonstrated by
106 * Changes in SEMI 1.2
112 'mime-view-plain-text-preview-hook was renamed to
113 'mime-preview-text/plain-hook.
117 Variable 'mime-view-childrens-header-showing-Content-Type-list was
118 abolished. Please use 'mime-preview-condition instead.
120 *** API about visible-predicates were abolished
122 Following functions were abolished:
124 mime-view-header-visible-p (entity message-info)
126 mime-view-body-visible-p (entity message-info)
128 mime-view-entity-separator-visible-p (entity message-info)
130 Please use 'mime-preview-condition instead.
132 Function 'mime-view-entity-button-visible-p is not abolished, but it
135 *** mime-preview-condition
137 Following are added as pre-defined keys:
139 'childrens-situation default preview-situation for children
140 'message-button to specify to display message-button
141 nil: default (invisible)
143 'invisible: invisible
144 'entity-button to specify to display entity-button
145 nil: default (visible)
147 'invisible: invisible
148 'header to specify to display header
149 nil: default (invisible)
151 'invisible: invisible
155 *** Interface for body-filter
157 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
160 *** mime-text-decode-body
162 Function 'mime-decode-text-body was renamed to
163 'mime-text-decode-body and changed interface. New interface is
166 mime-text-decode-body (SITUATION)
168 SITUATION is preview-situation. Content-Transfer-Encoding and
169 MIME-charset are specified in field of it.
172 * Changes in SEMI 1.1
176 *** Setting variable about visible body
178 'mime-view-visible-media-type-list and
179 'mime-view-content-filter-alist were abolished. Please use
180 'mime-preview-condition instead.
182 Notice that 'mime-preview-condition is not list of
183 media-type/subtype string nor association-list. It uses new
184 data-structure `ctree' (condition-tree; it is introduced to replace
185 `atype'). Function 'ctree-set-calist-strictly and
186 'ctree-set-calist-with-default may be useful to modify it (`calist'
187 (condition-alist) is as same as `atype').
190 *** API about visible-predicates
192 Interface of visible-predicates for entity elements were changed.
193 New interfaces are following:
195 mime-view-entity-button-visible-p (entity message-info)
197 mime-view-header-visible-p (entity message-info)
199 mime-view-body-visible-p (entity message-info)
201 mime-view-entity-separator-visible-p (entity message-info)
206 *** entity representation
208 Structure 'mime-entity-info was renamed to 'mime-entity. So various
209 functions were renamed too.
212 *** Interface for entity-button generators
214 Interface of entity-button generators was changed. New interfaces
217 mime-view-insert-entity-button (entity message-info subject)
220 *** mime-preview-condition and preview-situation
222 Conditions about preview generation are unified to
223 'mime-preview-condition. Namely other variables, such as
224 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
225 'mime-view-image-converter-alist were abolished.
227 Preview-situation is generated from entity information, running
228 environment and 'mime-preview-condition. These elements are checked
229 to match with each other. (it is similar to acting-situation)
231 Format of preview-situation is association-list. Following key is
235 'subtype media-subtype
236 'encoding content-transfer-encoding
237 'major-mode major-mode of MUA
238 <STRING> attribute of Content-Type field.
239 'body-presentation-method body-presentation-method
241 If 'body-presentation-method is 'with-filter, 'body-filter is used to
242 specify body-filter function. If 'body-presentation-method is
243 function, it is called to generate presentation of entity body.
245 Body-filter function 'mime-view-filter-for-image refers 'image-format.
247 Setting for message/partial button is specified by
248 'mime-preview-condition instead of hard-coding.
251 *** Interface for body-filter
253 Interface of body-filter was changed. New interfaces is following:
255 <body-filter> (situation)
257 Current pre-defined filters are following:
259 mime-view-filter-for-text/plain (situation)
260 mime-view-filter-for-text/richtext (situation)
261 mime-view-filter-for-text/enriched (situation)
262 mime-view-filter-for-image (situation) ; if available
264 'mime-view-filter-for-application/postscript was abolished.
267 *** Format of mime-acting-condition (acting-situation)
269 Format of `mime-acting-condition' were changed. `type' and
270 `subtype' are separated and changed to symbol.
275 - mime-view-buffer -> mime-preview-buffer
280 paragraph-separate: "[
\f]*$"