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