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