1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
6 ** Header-presentation-method
8 Now MIME-View uses header-presentation-method instead of
11 - abolish variable `mime-view-content-header-filter-alist'
13 - abolish function `mime-view-cut-header'
15 - Rename `mime-view-content-header-filter-hook' to
16 `mime-display-header-hook'
19 ** Abolish `mime-view-ignored-field-regexp'
21 Now mime-view uses `mime-view-ignored-field-list' directly in
22 default header-presentation-method.
25 ** Abolish body filter support
27 Please use body-presentation-method.
32 - Rename `mime-view-following-method-alist' to
33 `mime-preview-following-method-alist'
35 - Rename `mime-method-to-combine-message/partial-pieces' to
36 `mime-combine-message/partial-pieces-automatically'
41 ** Abolish tm-compatible external method support
43 Abolish tm-compatible external method support. Please use mailcap
47 ** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type'
49 C-c C-m C-s encloses as "pgp-signed" which means PGP/MIME signature.
51 C-c C-m C-e encloses as "pgp-encrypted" which means PGP/MIME
55 ** New method to detect content of entity
57 Now MIME-View can detect content of entity for
58 application/octet-stream in default setting.
60 It uses "file" command to detect. User can customize
61 `mime-file-content-type-alist' to specify media-type for output of
62 "file" command. It is an alist of "file" output patterns
63 vs. corresponding media-types. Each element looks like (REGEXP TYPE
64 SUBTYPE). REGEXP is pattern for "file" command output. TYPE is
65 symbol to indicate primary type of media-type. SUBTYPE is symbol to
66 indicate subtype of media-type.
69 ** New interface to display message
71 - Function `mime-view-buffer'
72 - Function `mime-view-display-message'
75 ** Change interface of internal playback method
77 Interface of internal playback method was changed to
81 It is as same as interface of body-presentation-method.
84 ** Change interface of `mime-view-entity-button-visible-p'
86 ** Change interface of `mime-view-insert-entity-button'
89 ** `mime-preview-original-major-mode'
91 Abolish variable `mime-preview-original-major-mode'.
93 Please use function `mime-preview-original-major-mode' instead of
97 ** mime-preview-over-to-{previous|next}-method-alist
99 `mime-preview-over-to-{previous|next}-method-alist' were renamed
100 from `mime-view-over-to-{previous|next}-method-alist'.
103 * Changes in SEMI 1.5
107 Add inline text/html preview feature using w3. If
108 `mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it.
111 ** `pgp-elkins' -> `pgp-mime'
113 Rename `pgp-elkins' -> `pgp-mime'. Variable
114 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
118 ** type-subtype-score
120 Now MIME-View chooses one entity to display body in
121 multipart/alternative. In this mechanism,
122 `mime-view-type-subtype-score-alist' is used to specify priority of
125 Variable `mime-view-type-subtype-score-alist' is alist of
126 TYPE-SUBTYPE vs. SCORE. TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
127 symbol TYPE or t. TYPE and SUBTYPE are symbol. `t' means default.
128 SCORE is integer. Larger number is larger priority.
133 Change text presentation mechanism. In anything older than SEMI
134 1.4, text presentation mechanism is based on filter model. However it
135 has design problem about conversion between byte representation and
136 text presentation. So SEMI was changed to use
137 body-presentation-method to display text entity. In this purpose, old
138 text decoding features were abolished and introduces news features
142 ** mime-raw-representation-type and mime-raw-representation-type-alist
144 Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
145 text presentation mechanism change (cf. previous section). Instead of
146 it, SEMI introduces variable about representation-type of
147 mime-raw-buffer. If it is `binary', mime-raw-buffer is as same as
148 network representation. If it is `cooked', mime-raw-buffer is
151 `mime-raw-representation-type-alist' is an alist of major-mode
152 vs. representation-type. Each element looks like
154 (SYMBOL . REPRESENTATION-TYPE).
156 SYMBOL is major-mode or t. t means default.
158 `mime-raw-representation-type' is a buffer local variable of
159 mime-raw-buffer. If it is non-nil, it overrides
160 `mime-raw-representation-type-alist'.
162 In addition, `mime-raw-buffer-coding-system-alist' was abolished.
163 Because representation-type has enough information.
166 * Changes in SEMI 1.4
170 mailcap was supported to set up 'mime-acting-condition.
172 tm-external-method scripts written by born shell were abolished.
175 ** mime-add-condition
177 New function to set up 'mime-preview-condition and/or
178 'mime-acting-condition.
181 ** signature setting in semi-setup.el
183 Abolish MUA depended signature setting.
185 Setting for mail-mode were moved to mail-mime-setup.el.
188 * Changes in SEMI 1.3
190 ** mime-acting-condition
192 Format of variable 'mime-acting-condition was changed from `atype'
193 to `condition tree'. Its format is as same as
194 'mime-preview-condition.
196 If there are two or more conditions are found when matching, menu
197 pops up to select method to run. Selected situation will be added to
198 example database. (cf. mime-acting-situation-examples-file)
202 *** mime-view-find-every-acting-situation
204 Find every available acting-situation if non-nil.
206 *** mime-acting-situation-examples-file
208 File name of example about acting-situation demonstrated by
212 * Changes in SEMI 1.2
218 'mime-view-plain-text-preview-hook was renamed to
219 'mime-preview-text/plain-hook.
223 Variable 'mime-view-childrens-header-showing-Content-Type-list was
224 abolished. Please use 'mime-preview-condition instead.
226 *** API about visible-predicates were abolished
228 Following functions were abolished:
230 mime-view-header-visible-p (entity message-info)
232 mime-view-body-visible-p (entity message-info)
234 mime-view-entity-separator-visible-p (entity message-info)
236 Please use 'mime-preview-condition instead.
238 Function 'mime-view-entity-button-visible-p is not abolished, but it
241 *** mime-preview-condition
243 Following are added as pre-defined keys:
245 'childrens-situation default preview-situation for children
246 'message-button to specify to display message-button
247 nil: default (invisible)
249 'invisible: invisible
250 'entity-button to specify to display entity-button
251 nil: default (visible)
253 'invisible: invisible
254 'header to specify to display header
255 nil: default (invisible)
257 'invisible: invisible
261 *** Interface for body-filter
263 'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
266 *** mime-text-decode-body
268 Function 'mime-decode-text-body was renamed to
269 'mime-text-decode-body and changed interface. New interface is
272 mime-text-decode-body (SITUATION)
274 SITUATION is preview-situation. Content-Transfer-Encoding and
275 MIME-charset are specified in field of it.
278 * Changes in SEMI 1.1
282 *** Setting variable about visible body
284 'mime-view-visible-media-type-list and
285 'mime-view-content-filter-alist were abolished. Please use
286 'mime-preview-condition instead.
288 Notice that 'mime-preview-condition is not list of
289 media-type/subtype string nor association-list. It uses new
290 data-structure `ctree' (condition-tree; it is introduced to replace
291 `atype'). Function 'ctree-set-calist-strictly and
292 'ctree-set-calist-with-default may be useful to modify it (`calist'
293 (condition-alist) is as same as `atype').
296 *** API about visible-predicates
298 Interface of visible-predicates for entity elements were changed.
299 New interfaces are following:
301 mime-view-entity-button-visible-p (entity message-info)
303 mime-view-header-visible-p (entity message-info)
305 mime-view-body-visible-p (entity message-info)
307 mime-view-entity-separator-visible-p (entity message-info)
312 *** entity representation
314 Structure 'mime-entity-info was renamed to 'mime-entity. So various
315 functions were renamed too.
318 *** Interface for entity-button generators
320 Interface of entity-button generators was changed. New interfaces
323 mime-view-insert-entity-button (entity message-info subject)
326 *** mime-preview-condition and preview-situation
328 Conditions about preview generation are unified to
329 'mime-preview-condition. Namely other variables, such as
330 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
331 'mime-view-image-converter-alist were abolished.
333 Preview-situation is generated from entity information, running
334 environment and 'mime-preview-condition. These elements are checked
335 to match with each other. (it is similar to acting-situation)
337 Format of preview-situation is association-list. Following key is
341 'subtype media-subtype
342 'encoding content-transfer-encoding
343 'major-mode major-mode of MUA
344 <STRING> attribute of Content-Type field.
345 'body-presentation-method body-presentation-method
347 If 'body-presentation-method is 'with-filter, 'body-filter is used to
348 specify body-filter function. If 'body-presentation-method is
349 function, it is called to generate presentation of entity body.
351 Body-filter function 'mime-view-filter-for-image refers 'image-format.
353 Setting for message/partial button is specified by
354 'mime-preview-condition instead of hard-coding.
357 *** Interface for body-filter
359 Interface of body-filter was changed. New interfaces is following:
361 <body-filter> (situation)
363 Current pre-defined filters are following:
365 mime-view-filter-for-text/plain (situation)
366 mime-view-filter-for-text/richtext (situation)
367 mime-view-filter-for-text/enriched (situation)
368 mime-view-filter-for-image (situation) ; if available
370 'mime-view-filter-for-application/postscript was abolished.
373 *** Format of mime-acting-condition (acting-situation)
375 Format of `mime-acting-condition' were changed. `type' and
376 `subtype' are separated and changed to symbol.
381 - mime-view-buffer -> mime-preview-buffer
386 paragraph-separate: "[
\f]*$"