1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
8 Change text presentation mechanism. In anything older than SEMI
9 1.4, text presentation mechanism is based on filter model. However it
10 has design problem about conversion between byte representation and
11 text presentation. So SEMI was changed to use
12 body-presentation-method to display text entity. In this purpose, old
13 text decoding features were abolished and introduces news features
16 ** mime-raw-representation-type and mime-raw-representation-type-alist
18 Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
19 text presentation mechanism change (cf. previous section). Instead of
20 it, SEMI introduces variable about representation-type of
21 mime-raw-buffer. If it is `binary', mime-raw-buffer is as same as
22 network representation. If it is `cooked', mime-raw-buffer is
25 `mime-raw-representation-type-alist' is an alist of major-mode
26 vs. representation-type. Each element looks like
28 (SYMBOL . REPRESENTATION-TYPE).
30 SYMBOL is major-mode or t. t means default.
32 `mime-raw-representation-type' is a buffer local variable of
33 mime-raw-buffer. If it is non-nil, it overrides
34 `mime-raw-representation-type-alist'.
36 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
37 Because representation-type has enough information.
44 mailcap was supported to set up 'mime-acting-condition.
46 tm-external-method scripts written by born shell were abolished.
51 New function to set up 'mime-preview-condition and/or
52 'mime-acting-condition.
55 ** signature setting in semi-setup.el
57 Abolish MUA depended signature setting.
59 Setting for mail-mode were moved to mail-mime-setup.el.
64 ** mime-acting-condition
66 Format of variable 'mime-acting-condition was changed from `atype'
67 to `condition tree'. Its format is as same as
68 'mime-preview-condition.
70 If there are two or more conditions are found when matching, menu
71 pops up to select method to run. Selected situation will be added to
72 example database. (cf. mime-acting-situation-examples-file)
76 *** mime-view-find-every-acting-situation
78 Find every available acting-situation if non-nil.
80 *** mime-acting-situation-examples-file
82 File name of example about acting-situation demonstrated by
92 'mime-view-plain-text-preview-hook was renamed to
93 'mime-preview-text/plain-hook.
97 Variable 'mime-view-childrens-header-showing-Content-Type-list was
98 abolished. Please use 'mime-preview-condition instead.
100 *** API about visible-predicates were abolished
102 Following functions were abolished:
104 mime-view-header-visible-p (entity message-info)
106 mime-view-body-visible-p (entity message-info)
108 mime-view-entity-separator-visible-p (entity message-info)
110 Please use 'mime-preview-condition instead.
112 Function 'mime-view-entity-button-visible-p is not abolished, but it
115 *** mime-preview-condition
117 Following are added as pre-defined keys:
119 'childrens-situation default preview-situation for children
120 'message-button to specify to display message-button
121 nil: default (invisible)
123 'invisible: invisible
124 'entity-button to specify to display entity-button
125 nil: default (visible)
127 'invisible: invisible
128 'header to specify to display header
129 nil: default (invisible)
131 'invisible: invisible
135 *** Interface for body-filter
137 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
140 *** mime-text-decode-body
142 Function 'mime-decode-text-body was renamed to
143 'mime-text-decode-body and changed interface. New interface is
146 mime-text-decode-body (SITUATION)
148 SITUATION is preview-situation. Content-Transfer-Encoding and
149 MIME-charset are specified in field of it.
152 * Changes in SEMI 1.1
156 *** Setting variable about visible body
158 'mime-view-visible-media-type-list and
159 'mime-view-content-filter-alist were abolished. Please use
160 'mime-preview-condition instead.
162 Notice that 'mime-preview-condition is not list of
163 media-type/subtype string nor association-list. It uses new
164 data-structure `ctree' (condition-tree; it is introduced to replace
165 `atype'). Function 'ctree-set-calist-strictly and
166 'ctree-set-calist-with-default may be useful to modify it (`calist'
167 (condition-alist) is as same as `atype').
170 *** API about visible-predicates
172 Interface of visible-predicates for entity elements were changed.
173 New interfaces are following:
175 mime-view-entity-button-visible-p (entity message-info)
177 mime-view-header-visible-p (entity message-info)
179 mime-view-body-visible-p (entity message-info)
181 mime-view-entity-separator-visible-p (entity message-info)
186 *** entity representation
188 Structure 'mime-entity-info was renamed to 'mime-entity. So various
189 functions were renamed too.
192 *** Interface for entity-button generators
194 Interface of entity-button generators was changed. New interfaces
197 mime-view-insert-entity-button (entity message-info subject)
200 *** mime-preview-condition and preview-situation
202 Conditions about preview generation are unified to
203 'mime-preview-condition. Namely other variables, such as
204 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
205 'mime-view-image-converter-alist were abolished.
207 Preview-situation is generated from entity information, running
208 environment and 'mime-preview-condition. These elements are checked
209 to match with each other. (it is similar to acting-situation)
211 Format of preview-situation is association-list. Following key is
215 'subtype media-subtype
216 'encoding content-transfer-encoding
217 'major-mode major-mode of MUA
218 <STRING> attribute of Content-Type field.
219 'body-presentation-method body-presentation-method
221 If 'body-presentation-method is 'with-filter, 'body-filter is used to
222 specify body-filter function. If 'body-presentation-method is
223 function, it is called to generate presentation of entity body.
225 Body-filter function 'mime-view-filter-for-image refers 'image-format.
227 Setting for message/partial button is specified by
228 'mime-preview-condition instead of hard-coding.
231 *** Interface for body-filter
233 Interface of body-filter was changed. New interfaces is following:
235 <body-filter> (situation)
237 Current pre-defined filters are following:
239 mime-view-filter-for-text/plain (situation)
240 mime-view-filter-for-text/richtext (situation)
241 mime-view-filter-for-text/enriched (situation)
242 mime-view-filter-for-image (situation) ; if available
244 'mime-view-filter-for-application/postscript was abolished.
247 *** Format of mime-acting-condition (acting-situation)
249 Format of `mime-acting-condition' were changed. `type' and
250 `subtype' are separated and changed to symbol.
255 - mime-view-buffer -> mime-preview-buffer
260 paragraph-separate: "[
\f]*$"