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