Add description about
[elisp/semi.git] / NEWS
1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998 Free Software Foundation, Inc.
3
4 * Changes in SEMI 1.6
5
6 ** Abolish tm-compatible external method support
7
8   Abolish tm-compatible external method support.  Please use mailcap
9 method instead of it.
10
11
12 ** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type'
13
14   C-c C-m C-s encloses as "pgp-signed" which means PGP/MIME signature.
15
16   C-c C-m C-e encloses as "pgp-encrypted" which means PGP/MIME
17 encryption.
18
19
20 ** New interface to display message
21
22 - Function `mime-view-buffer'
23 - Function `mime-view-display-message'
24
25
26 ** Change interface of internal playback method
27
28   Interface of internal playback method was changed to
29
30         (entity situation)
31
32 It is as same as interface of body-presentation-method.
33
34
35 ** Change interface of `mime-view-entity-button-visible-p'
36
37 ** Change interface of `mime-view-insert-entity-button'
38
39
40 ** `mime-preview-original-major-mode'
41
42   Abolish variable `mime-preview-original-major-mode'.
43
44   Please use function `mime-preview-original-major-mode' instead of
45 it.
46
47
48 ** mime-preview-over-to-{previous|next}-method-alist
49
50   `mime-preview-over-to-{previous|next}-method-alist' were renamed
51 from `mime-view-over-to-{previous|next}-method-alist'.
52
53 \f
54 * Changes in SEMI 1.5
55
56 ** mime-w3
57
58   Add inline text/html preview feature using w3.  If
59 `mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it.
60
61
62 ** `pgp-elkins' -> `pgp-mime'
63
64   Rename `pgp-elkins' -> `pgp-mime'.  Variable
65 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
66 allow `pgp-elkins'.
67
68
69 ** type-subtype-score
70
71   Now MIME-View chooses one entity to display body in
72 multipart/alternative.  In this mechanism,
73 `mime-view-type-subtype-score-alist' is used to specify priority of
74 each entity.
75
76   Variable `mime-view-type-subtype-score-alist' is alist of
77 TYPE-SUBTYPE vs. SCORE.  TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
78 symbol TYPE or t.  TYPE and SUBTYPE are symbol.  `t' means default.
79 SCORE is integer.  Larger number is larger priority.
80
81
82 ** text presentation
83
84   Change text presentation mechanism.  In anything older than SEMI
85 1.4, text presentation mechanism is based on filter model.  However it
86 has design problem about conversion between byte representation and
87 text presentation.  So SEMI was changed to use
88 body-presentation-method to display text entity.  In this purpose, old
89 text decoding features were abolished and introduces news features
90 (cf. next section).
91
92
93 ** mime-raw-representation-type and mime-raw-representation-type-alist
94
95   Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
96 text presentation mechanism change (cf. previous section).  Instead of
97 it, SEMI introduces variable about representation-type of
98 mime-raw-buffer.  If it is `binary', mime-raw-buffer is as same as
99 network representation.  If it is `cooked', mime-raw-buffer is
100 code-converted.
101
102   `mime-raw-representation-type-alist' is an alist of major-mode
103 vs. representation-type.  Each element looks like
104
105     (SYMBOL . REPRESENTATION-TYPE).
106
107 SYMBOL is major-mode or t.  t means default.
108
109   `mime-raw-representation-type' is a buffer local variable of
110 mime-raw-buffer.  If it is non-nil, it overrides
111 `mime-raw-representation-type-alist'.
112
113   In addition, `mime-raw-buffer-coding-system-alist' was abolished.
114 Because representation-type has enough information.
115
116 \f
117 * Changes in SEMI 1.4
118
119 ** mailcap
120
121   mailcap was supported to set up 'mime-acting-condition.
122
123   tm-external-method scripts written by born shell were abolished.
124
125
126 ** mime-add-condition
127
128   New function to set up 'mime-preview-condition and/or
129 'mime-acting-condition.
130
131
132 ** signature setting in semi-setup.el
133
134   Abolish MUA depended signature setting.
135
136   Setting for mail-mode were moved to mail-mime-setup.el.
137
138 \f
139 * Changes in SEMI 1.3
140
141 ** mime-acting-condition
142
143   Format of variable 'mime-acting-condition was changed from `atype'
144 to `condition tree'.  Its format is as same as
145 'mime-preview-condition.
146
147   If there are two or more conditions are found when matching, menu
148 pops up to select method to run.  Selected situation will be added to
149 example database. (cf. mime-acting-situation-examples-file)
150
151 ** New variables
152
153 *** mime-view-find-every-acting-situation
154
155         Find every available acting-situation if non-nil.
156
157 *** mime-acting-situation-examples-file
158
159         File name of example about acting-situation demonstrated by
160         user.
161
162 \f
163 * Changes in SEMI 1.2
164
165 ** User setting
166
167 *** hooks
168
169   'mime-view-plain-text-preview-hook was renamed to
170 'mime-preview-text/plain-hook.
171
172 *** Variable
173
174   Variable 'mime-view-childrens-header-showing-Content-Type-list was
175 abolished.  Please use 'mime-preview-condition instead.
176
177 *** API about visible-predicates were abolished
178
179   Following functions were abolished:
180
181     mime-view-header-visible-p (entity message-info)
182
183     mime-view-body-visible-p (entity message-info)
184
185     mime-view-entity-separator-visible-p (entity message-info)
186
187 Please use 'mime-preview-condition instead.
188
189   Function 'mime-view-entity-button-visible-p is not abolished, but it
190 is obsoleted.
191
192 *** mime-preview-condition
193
194   Following are added as pre-defined keys:
195
196         'childrens-situation    default preview-situation for children
197         'message-button         to specify to display message-button
198                                     nil:        default (invisible)
199                                     'visible:   visible
200                                     'invisible: invisible
201         'entity-button          to specify to display entity-button
202                                     nil:        default (visible)
203                                     'visible:   visible
204                                     'invisible: invisible
205         'header                 to specify to display header
206                                     nil:        default (invisible)
207                                     'visible:   visible
208                                     'invisible: invisible
209
210 ** API
211
212 *** Interface for body-filter
213
214   'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
215
216
217 *** mime-text-decode-body
218
219   Function 'mime-decode-text-body was renamed to
220 'mime-text-decode-body and changed interface.  New interface is
221 following:
222
223         mime-text-decode-body (SITUATION)
224
225 SITUATION is preview-situation.  Content-Transfer-Encoding and
226 MIME-charset are specified in field of it.
227
228 \f
229 * Changes in SEMI 1.1
230
231 ** User setting
232
233 *** Setting variable about visible body
234
235   'mime-view-visible-media-type-list and
236 'mime-view-content-filter-alist were abolished.  Please use
237 'mime-preview-condition instead.
238
239   Notice that 'mime-preview-condition is not list of
240 media-type/subtype string nor association-list.  It uses new
241 data-structure `ctree' (condition-tree; it is introduced to replace
242 `atype').  Function 'ctree-set-calist-strictly and
243 'ctree-set-calist-with-default may be useful to modify it (`calist'
244 (condition-alist) is as same as `atype').
245
246
247 *** API about visible-predicates
248
249   Interface of visible-predicates for entity elements were changed.
250 New interfaces are following:
251
252     mime-view-entity-button-visible-p (entity message-info)
253
254     mime-view-header-visible-p (entity message-info)
255
256     mime-view-body-visible-p (entity message-info)
257
258     mime-view-entity-separator-visible-p (entity message-info)
259
260
261 ** API
262
263 *** entity representation
264
265   Structure 'mime-entity-info was renamed to 'mime-entity.  So various
266 functions were renamed too.
267
268
269 *** Interface for entity-button generators
270
271   Interface of entity-button generators was changed.  New interfaces
272 is following:
273
274     mime-view-insert-entity-button (entity message-info subject)
275
276
277 *** mime-preview-condition and preview-situation
278
279   Conditions about preview generation are unified to
280 'mime-preview-condition.  Namely other variables, such as
281 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
282 'mime-view-image-converter-alist were abolished.
283
284   Preview-situation is generated from entity information, running
285 environment and 'mime-preview-condition.  These elements are checked
286 to match with each other. (it is similar to acting-situation)
287
288   Format of preview-situation is association-list.  Following key is
289 pre-defined:
290
291         'type                     media-type
292         'subtype                  media-subtype
293         'encoding                 content-transfer-encoding
294         'major-mode               major-mode of MUA
295         <STRING>                  attribute of Content-Type field.
296         'body-presentation-method body-presentation-method
297
298 If 'body-presentation-method is 'with-filter, 'body-filter is used to
299 specify body-filter function.  If 'body-presentation-method is
300 function, it is called to generate presentation of entity body.
301
302 Body-filter function 'mime-view-filter-for-image refers 'image-format.
303
304 Setting for message/partial button is specified by
305 'mime-preview-condition instead of hard-coding.
306
307
308 *** Interface for body-filter
309
310   Interface of body-filter was changed.  New interfaces is following:
311
312     <body-filter> (situation)
313
314 Current pre-defined filters are following:
315
316         mime-view-filter-for-text/plain (situation)
317         mime-view-filter-for-text/richtext (situation)
318         mime-view-filter-for-text/enriched (situation)
319         mime-view-filter-for-image (situation) ; if available
320
321 'mime-view-filter-for-application/postscript was abolished.
322
323
324 *** Format of mime-acting-condition (acting-situation)
325
326   Format of `mime-acting-condition' were changed.  `type' and
327 `subtype' are separated and changed to symbol.
328
329
330 *** Renaming
331
332 - mime-view-buffer -> mime-preview-buffer
333
334 \f
335 Local variables:
336 mode: outline
337 paragraph-separate: "[  \f]*$"
338 end: