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