* Fix some roman chars.
[elisp/semi.git] / NEWS
1 SEMI NEWS --- history of major-changes.
2 Copyright (C) 1998,1999 Free Software Foundation, Inc.
3
4 * Changes in SEMI 1.13
5
6 ** PGP 5.0i and GnuPG are now supported for PGP/MIME
7
8   You can select the various PGP or GnuPG commands by the user option
9 `pgp-version' or the command `mime-mc-setversion'. Note that Mailcrypt
10 3.5.3 or later is needed for PGP 5.0i or GnuPG.  A user interface for
11 editing or viewing has never changed.
12
13
14 ** Function `mime-play-entity'
15
16 Function `mime-play-entity' was renamed from `mime-raw-play-entity'
17 and changed interface.
18
19 Current interface is:
20
21     mime-play-entity (entity &optional situation ignored-method)
22
23 Please use `situation' if you would like to specify `mode' and
24 `ignore-examples'.
25
26
27 ** Now acting-method must not expect to run in raw-buffer
28
29 Function `mime-play-entity' was changed to permit to run in any buffer
30 (may be called in preview-buffer).  So each acting-method is called in
31 any buffer.
32
33
34 \f
35 * Changes in SEMI 1.12
36
37 There are no user-visible changes.
38
39 ** New function `eliminate-top-spaces'
40
41 Now mime-edit has it.
42
43 \f
44 * Changes in SEMI 1.11
45
46 ** New function `mime-edit-decode-message-in-buffer'
47
48 Add new function `mime-edit-decode-message-in-buffer'.  Function
49 `mime-edit-decode-buffer' was abolished.
50
51
52 ** Requires FLIM 1.12 API
53
54 \f
55 * Changes in SEMI 1.10
56
57 ** Abolish variable `mime-temp-directory'
58
59   FLIM 1.11 and SEMI 1.10 use variable `temporary-file-directory'
60 instead of `mime-temp-directory'.  So environment variable
61 "MIME_TMP_DIR" and "TM_TMP_DIR" are not effective to specify temporary
62 directory of FLIM and SEMI.
63
64
65 ** Abolish function `mime-text-insert-decoded-body'
66
67   SEMI 1.10 uses function `mime-insert-text-content' of FLIM 1.11 API
68 instead of `mime-text-insert-decoded-body'.
69
70   Now `mime-view-caesar' does not run `mime-text-decode-hook'.
71
72 \f
73 * Changes in SEMI 1.9
74
75 ** User option `mime-encoding-list'
76
77   SEMI 1.9 requires FLIM 1.10 API.  In FLIM 1.10 API, variable
78 `mime-file-encoding-method-alist' was abolished.  If you want to use
79 non-standard Content-Transfer-Encoding to insert a file into sending
80 message, please edit new user option `mime-encoding-list' instead of
81 `mime-file-encoding-method-alist'.
82
83
84 ** Constant `mime-user-interface-product'
85
86   Constant `mime-user-interface-version' was renamed to
87 `mime-user-interface-product'.  Notice that data format is changed
88 too.
89
90   FLIM 1.10 API provides following macros to access a slot of the new
91 data format:
92
93      mime-product-name (product)
94
95      mime-product-version (product)
96
97      mime-product-code-name (product)
98
99 Please use them to get elements of the constant
100 `mime-user-interface-product'.
101
102 \f
103 * Changes in SEMI 1.8
104
105 ** Don't use "file" command to detect content of entity
106
107   Acting-method to detect content of entity was modified not to use
108 "file" command.
109
110   Variable `mime-file-content-type-alist' was abolished.  Instead of
111 it, new variable `mime-magic-type-alist' is available to customize.
112 It is an alist of regexp about magic-number vs. corresponding
113 media-types.  Each element looks like (REGEXP TYPE SUBTYPE).  REGEXP
114 is a regular expression to match against the beginning of the content
115 of entity.  TYPE is symbol to indicate primary type of media-type.
116 SUBTYPE is symbol to indicate subtype of media-type.
117
118
119 ** Abolish external X-Face viewer
120
121
122 ** Abolish obsolete utility for *-field-list and *-field-regexp
123
124   Abolish function `tm:set-fields', `tm:add-fields' and
125 `tm:delete-fields'.
126
127
128 ** Change MUA interface of automatic message/partial combining
129
130   Abolish variable `mime-view-partial-message-method-alist'.
131
132   Instead of it, `request-partial-message-method' in acting-situation
133 is available to specify MUA depended implementation.
134
135   Each element of `mime-view-partial-message-method-alist' were
136 required to display message at current summary line, and its return
137 value were ignored.  On the other hand,
138 `request-partial-message-method' is required to return structure of
139 message at current summary line.  Format of it is mime-entity.
140
141
142 ** User-Agent field
143
144   MIME-Edit inserts User-Agent field instaed of X-Emacs field if
145 `mime-edit-insert-user-agent-field' is not nil.  Contents of
146 User-Agent is specified by mime-edit-user-agent-value'.
147
148   X-Emacs field related features were abolished.
149
150 \f
151 * Changes in SEMI 1.7
152
153 ** Header-presentation-method
154
155   Now MIME-View uses header-presentation-method instead of
156 header-filter.
157
158   - abolish variable `mime-view-content-header-filter-alist'
159
160   - abolish function `mime-view-cut-header'
161
162   - Rename `mime-view-content-header-filter-hook' to
163     `mime-display-header-hook'
164
165
166 ** Abolish `mime-view-ignored-field-regexp'
167
168   Now mime-view uses `mime-view-ignored-field-list' directly in
169 default header-presentation-method.
170
171
172 ** Abolish body filter support
173
174   Please use body-presentation-method.
175
176
177 ** Methods for MUAs
178
179   - Rename `mime-view-following-method-alist' to
180     `mime-preview-following-method-alist'
181
182   - Rename `mime-method-to-combine-message/partial-pieces' to
183     `mime-combine-message/partial-pieces-automatically'
184
185 \f
186 * Changes in SEMI 1.6
187
188 ** Abolish tm-compatible external method support
189
190   Abolish tm-compatible external method support.  Please use mailcap
191 method instead of it.
192
193
194 ** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type'
195
196   C-c C-m C-s encloses as "pgp-signed" which means PGP/MIME signature.
197
198   C-c C-m C-e encloses as "pgp-encrypted" which means PGP/MIME
199 encryption.
200
201
202 ** New method to detect content of entity
203
204   Now MIME-View can detect content of entity for
205 application/octet-stream in default setting.
206
207   It uses "file" command to detect.  User can customize
208 `mime-file-content-type-alist' to specify media-type for output of
209 "file" command.  It is an alist of "file" output patterns
210 vs. corresponding media-types.  Each element looks like (REGEXP TYPE
211 SUBTYPE).  REGEXP is pattern for "file" command output.  TYPE is
212 symbol to indicate primary type of media-type.  SUBTYPE is symbol to
213 indicate subtype of media-type.
214
215
216 ** New interface to display message
217
218 - Function `mime-view-buffer'
219 - Function `mime-view-display-message'
220
221
222 ** Change interface of internal playback method
223
224   Interface of internal playback method was changed to
225
226         (entity situation)
227
228 It is as same as interface of body-presentation-method.
229
230
231 ** Change interface of `mime-view-entity-button-visible-p'
232
233 ** Change interface of `mime-view-insert-entity-button'
234
235
236 ** `mime-preview-original-major-mode'
237
238   Abolish variable `mime-preview-original-major-mode'.
239
240   Please use function `mime-preview-original-major-mode' instead of
241 it.
242
243
244 ** mime-preview-over-to-{previous|next}-method-alist
245
246   `mime-preview-over-to-{previous|next}-method-alist' were renamed
247 from `mime-view-over-to-{previous|next}-method-alist'.
248
249 \f
250 * Changes in SEMI 1.5
251
252 ** mime-w3
253
254   Add inline text/html preview feature using w3.  If
255 `mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it.
256
257
258 ** `pgp-elkins' -> `pgp-mime'
259
260   Rename `pgp-elkins' -> `pgp-mime'.  Variable
261 `mime-edit-signing-type' and `mime-edit-encrypting-type' does not
262 allow `pgp-elkins'.
263
264
265 ** type-subtype-score
266
267   Now MIME-View chooses one entity to display body in
268 multipart/alternative.  In this mechanism,
269 `mime-view-type-subtype-score-alist' is used to specify priority of
270 each entity.
271
272   Variable `mime-view-type-subtype-score-alist' is alist of
273 TYPE-SUBTYPE vs. SCORE.  TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
274 symbol TYPE or t.  TYPE and SUBTYPE are symbol.  `t' means default.
275 SCORE is integer.  Larger number is larger priority.
276
277
278 ** text presentation
279
280   Change text presentation mechanism.  In anything older than SEMI
281 1.4, text presentation mechanism is based on filter model.  However it
282 has design problem about conversion between byte representation and
283 text presentation.  So SEMI was changed to use
284 body-presentation-method to display text entity.  In this purpose, old
285 text decoding features were abolished and introduces news features
286 (cf. next section).
287
288
289 ** mime-raw-representation-type and mime-raw-representation-type-alist
290
291   Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
292 text presentation mechanism change (cf. previous section).  Instead of
293 it, SEMI introduces variable about representation-type of
294 mime-raw-buffer.  If it is `binary', mime-raw-buffer is as same as
295 network representation.  If it is `cooked', mime-raw-buffer is
296 code-converted.
297
298   `mime-raw-representation-type-alist' is an alist of major-mode
299 vs. representation-type.  Each element looks like
300
301     (SYMBOL . REPRESENTATION-TYPE).
302
303 SYMBOL is major-mode or t.  t means default.
304
305   `mime-raw-representation-type' is a buffer local variable of
306 mime-raw-buffer.  If it is non-nil, it overrides
307 `mime-raw-representation-type-alist'.
308
309   In addition, `mime-raw-buffer-coding-system-alist' was abolished.
310 Because representation-type has enough information.
311
312 \f
313 * Changes in SEMI 1.4
314
315 ** mailcap
316
317   mailcap was supported to set up 'mime-acting-condition.
318
319   tm-external-method scripts written by born shell were abolished.
320
321
322 ** mime-add-condition
323
324   New function to set up 'mime-preview-condition and/or
325 'mime-acting-condition.
326
327
328 ** signature setting in semi-setup.el
329
330   Abolish MUA depended signature setting.
331
332   Setting for mail-mode were moved to mail-mime-setup.el.
333
334 \f
335 * Changes in SEMI 1.3
336
337 ** mime-acting-condition
338
339   Format of variable 'mime-acting-condition was changed from `atype'
340 to `condition tree'.  Its format is as same as
341 'mime-preview-condition.
342
343   If there are two or more conditions are found when matching, menu
344 pops up to select method to run.  Selected situation will be added to
345 example database. (cf. mime-acting-situation-examples-file)
346
347 ** New variables
348
349 *** mime-view-find-every-acting-situation
350
351         Find every available acting-situation if non-nil.
352
353 *** mime-acting-situation-examples-file
354
355         File name of example about acting-situation demonstrated by
356         user.
357
358 \f
359 * Changes in SEMI 1.2
360
361 ** User setting
362
363 *** hooks
364
365   'mime-view-plain-text-preview-hook was renamed to
366 'mime-preview-text/plain-hook.
367
368 *** Variable
369
370   Variable 'mime-view-childrens-header-showing-Content-Type-list was
371 abolished.  Please use 'mime-preview-condition instead.
372
373 *** API about visible-predicates were abolished
374
375   Following functions were abolished:
376
377     mime-view-header-visible-p (entity message-info)
378
379     mime-view-body-visible-p (entity message-info)
380
381     mime-view-entity-separator-visible-p (entity message-info)
382
383 Please use 'mime-preview-condition instead.
384
385   Function 'mime-view-entity-button-visible-p is not abolished, but it
386 is obsoleted.
387
388 *** mime-preview-condition
389
390   Following are added as pre-defined keys:
391
392         'childrens-situation    default preview-situation for children
393         'message-button         to specify to display message-button
394                                     nil:        default (invisible)
395                                     'visible:   visible
396                                     'invisible: invisible
397         'entity-button          to specify to display entity-button
398                                     nil:        default (visible)
399                                     'visible:   visible
400                                     'invisible: invisible
401         'header                 to specify to display header
402                                     nil:        default (invisible)
403                                     'visible:   visible
404                                     'invisible: invisible
405
406 ** API
407
408 *** Interface for body-filter
409
410   'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
411
412
413 *** mime-text-decode-body
414
415   Function 'mime-decode-text-body was renamed to
416 'mime-text-decode-body and changed interface.  New interface is
417 following:
418
419         mime-text-decode-body (SITUATION)
420
421 SITUATION is preview-situation.  Content-Transfer-Encoding and
422 MIME-charset are specified in field of it.
423
424 \f
425 * Changes in SEMI 1.1
426
427 ** User setting
428
429 *** Setting variable about visible body
430
431   'mime-view-visible-media-type-list and
432 'mime-view-content-filter-alist were abolished.  Please use
433 'mime-preview-condition instead.
434
435   Notice that 'mime-preview-condition is not list of
436 media-type/subtype string nor association-list.  It uses new
437 data-structure `ctree' (condition-tree; it is introduced to replace
438 `atype').  Function 'ctree-set-calist-strictly and
439 'ctree-set-calist-with-default may be useful to modify it (`calist'
440 (condition-alist) is as same as `atype').
441
442
443 *** API about visible-predicates
444
445   Interface of visible-predicates for entity elements were changed.
446 New interfaces are following:
447
448     mime-view-entity-button-visible-p (entity message-info)
449
450     mime-view-header-visible-p (entity message-info)
451
452     mime-view-body-visible-p (entity message-info)
453
454     mime-view-entity-separator-visible-p (entity message-info)
455
456
457 ** API
458
459 *** entity representation
460
461   Structure 'mime-entity-info was renamed to 'mime-entity.  So various
462 functions were renamed too.
463
464
465 *** Interface for entity-button generators
466
467   Interface of entity-button generators was changed.  New interfaces
468 is following:
469
470     mime-view-insert-entity-button (entity message-info subject)
471
472
473 *** mime-preview-condition and preview-situation
474
475   Conditions about preview generation are unified to
476 'mime-preview-condition.  Namely other variables, such as
477 'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
478 'mime-view-image-converter-alist were abolished.
479
480   Preview-situation is generated from entity information, running
481 environment and 'mime-preview-condition.  These elements are checked
482 to match with each other. (it is similar to acting-situation)
483
484   Format of preview-situation is association-list.  Following key is
485 pre-defined:
486
487         'type                     media-type
488         'subtype                  media-subtype
489         'encoding                 content-transfer-encoding
490         'major-mode               major-mode of MUA
491         <STRING>                  attribute of Content-Type field.
492         'body-presentation-method body-presentation-method
493
494 If 'body-presentation-method is 'with-filter, 'body-filter is used to
495 specify body-filter function.  If 'body-presentation-method is
496 function, it is called to generate presentation of entity body.
497
498 Body-filter function 'mime-view-filter-for-image refers 'image-format.
499
500 Setting for message/partial button is specified by
501 'mime-preview-condition instead of hard-coding.
502
503
504 *** Interface for body-filter
505
506   Interface of body-filter was changed.  New interfaces is following:
507
508     <body-filter> (situation)
509
510 Current pre-defined filters are following:
511
512         mime-view-filter-for-text/plain (situation)
513         mime-view-filter-for-text/richtext (situation)
514         mime-view-filter-for-text/enriched (situation)
515         mime-view-filter-for-image (situation) ; if available
516
517 'mime-view-filter-for-application/postscript was abolished.
518
519
520 *** Format of mime-acting-condition (acting-situation)
521
522   Format of `mime-acting-condition' were changed.  `type' and
523 `subtype' are separated and changed to symbol.
524
525
526 *** Renaming
527
528 - mime-view-buffer -> mime-preview-buffer
529
530 \f
531 Local variables:
532 mode: outline
533 paragraph-separate: "[  \f]*$"
534 end: