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