580 lines
16 KiB
Plaintext
580 lines
16 KiB
Plaintext
SEMI NEWS --- history of major-changes.
|
||
Copyright (C) 1998,1999 Free Software Foundation, Inc.
|
||
|
||
* Changes in SEMI 1.13
|
||
|
||
** PGP 5.0i and GnuPG are now supported for PGP/MIME
|
||
|
||
You can select the various PGP or GnuPG commands by the user option
|
||
`pgg-default-scheme' or `pgg-scheme'. The former is for encrypting and
|
||
signing, the latter could be bound for controlling which command is
|
||
used to process the incoming PGP armors. Note that Mailcrypt is not
|
||
needed anymore. A user interface for editing or viewing has never
|
||
changed. Note also that `pgp-function' and `pgp-functions-alist' are
|
||
abolished in this version.
|
||
|
||
|
||
** Requires FLIM 1.13 API
|
||
|
||
|
||
** Don't expect raw-buffer
|
||
|
||
In FLIM 1.13 API, existence of a raw-buffer corresponding to each
|
||
entity is not guaranteed.
|
||
|
||
*** Now acting-method must not expect to run in raw-buffer
|
||
|
||
Function `mime-play-entity' was changed to permit to run in any buffer
|
||
(may be called in preview-buffer). So each acting-method is called in
|
||
any buffer.
|
||
|
||
*** Don't refer variable `mime-raw-buffer'
|
||
|
||
Preview-buffer's local variable `mime-raw-buffer' is deleted. So
|
||
don't refer it.
|
||
|
||
*** Don't refer variable `mime-preview-buffer'
|
||
|
||
There are no guarantee about existence of a raw-buffer corresponding
|
||
to each entity, so don't refer buffer local variables of the
|
||
raw-buffer, e.g. `mime-preview-buffer'.
|
||
|
||
|
||
** Function `mime-play-entity'
|
||
|
||
Function `mime-play-entity' was renamed from `mime-raw-play-entity'
|
||
and changed interface.
|
||
|
||
Current interface is:
|
||
|
||
mime-play-entity (entity &optional situation ignored-method)
|
||
|
||
Please use `situation' if you would like to specify `mode' and
|
||
`ignore-examples'.
|
||
|
||
|
||
** Text property `mime-view-entity-{header|body}'
|
||
|
||
Now mime-view put text property `mime-view-entity-header' and
|
||
`mime-view-entity-body' in header and body of each entity.
|
||
|
||
|
||
** Behavior change about `mime-display-header-hook'
|
||
|
||
Function `mime-display-entity' runs `mime-display-header-hook' before
|
||
it inserts "\n".
|
||
|
||
In addition, now it is cleared that current point means beginning of
|
||
header when `mime-display-entity' runs `mime-display-header-hook'.
|
||
Therefore header-presentation-method must not change current point.
|
||
|
||
|
||
** New variable `mime-preview-move-scroll'
|
||
|
||
This variables decides how to scroll in the MIME-View-mode
|
||
when mime-preview-move-upper, mime-preview-move-previous,
|
||
mime-preview-move-next is called. Those are bound to `u', `p', `n',
|
||
respectively.
|
||
|
||
|
||
* Changes in SEMI 1.12
|
||
|
||
There are no user-visible changes.
|
||
|
||
** New function `eliminate-top-spaces'
|
||
|
||
Now mime-edit has it.
|
||
|
||
|
||
* Changes in SEMI 1.11
|
||
|
||
** New function `mime-edit-decode-message-in-buffer'
|
||
|
||
Add new function `mime-edit-decode-message-in-buffer'. Function
|
||
`mime-edit-decode-buffer' was abolished.
|
||
|
||
|
||
** Requires FLIM 1.12 API
|
||
|
||
|
||
* Changes in SEMI 1.10
|
||
|
||
** Abolish variable `mime-temp-directory'
|
||
|
||
FLIM 1.11 and SEMI 1.10 use variable `temporary-file-directory'
|
||
instead of `mime-temp-directory'. So environment variable
|
||
"MIME_TMP_DIR" and "TM_TMP_DIR" are not effective to specify temporary
|
||
directory of FLIM and SEMI.
|
||
|
||
|
||
** Abolish function `mime-text-insert-decoded-body'
|
||
|
||
SEMI 1.10 uses function `mime-insert-text-content' of FLIM 1.11 API
|
||
instead of `mime-text-insert-decoded-body'.
|
||
|
||
Now `mime-view-caesar' does not run `mime-text-decode-hook'.
|
||
|
||
|
||
* Changes in SEMI 1.9
|
||
|
||
** User option `mime-encoding-list'
|
||
|
||
SEMI 1.9 requires FLIM 1.10 API. In FLIM 1.10 API, variable
|
||
`mime-file-encoding-method-alist' was abolished. If you want to use
|
||
non-standard Content-Transfer-Encoding to insert a file into sending
|
||
message, please edit new user option `mime-encoding-list' instead of
|
||
`mime-file-encoding-method-alist'.
|
||
|
||
|
||
** Constant `mime-user-interface-product'
|
||
|
||
Constant `mime-user-interface-version' was renamed to
|
||
`mime-user-interface-product'. Notice that data format is changed
|
||
too.
|
||
|
||
FLIM 1.10 API provides following macros to access a slot of the new
|
||
data format:
|
||
|
||
mime-product-name (product)
|
||
|
||
mime-product-version (product)
|
||
|
||
mime-product-code-name (product)
|
||
|
||
Please use them to get elements of the constant
|
||
`mime-user-interface-product'.
|
||
|
||
|
||
* Changes in SEMI 1.8
|
||
|
||
** Don't use "file" command to detect content of entity
|
||
|
||
Acting-method to detect content of entity was modified not to use
|
||
"file" command.
|
||
|
||
Variable `mime-file-content-type-alist' was abolished. Instead of
|
||
it, new variable `mime-magic-type-alist' is available to customize.
|
||
It is an alist of regexp about magic-number vs. corresponding
|
||
media-types. Each element looks like (REGEXP TYPE SUBTYPE). REGEXP
|
||
is a regular expression to match against the beginning of the content
|
||
of entity. TYPE is symbol to indicate primary type of media-type.
|
||
SUBTYPE is symbol to indicate subtype of media-type.
|
||
|
||
|
||
** Abolish external X-Face viewer
|
||
|
||
|
||
** Abolish obsolete utility for *-field-list and *-field-regexp
|
||
|
||
Abolish function `tm:set-fields', `tm:add-fields' and
|
||
`tm:delete-fields'.
|
||
|
||
|
||
** Change MUA interface of automatic message/partial combining
|
||
|
||
Abolish variable `mime-view-partial-message-method-alist'.
|
||
|
||
Instead of it, `request-partial-message-method' in acting-situation
|
||
is available to specify MUA depended implementation.
|
||
|
||
Each element of `mime-view-partial-message-method-alist' were
|
||
required to display message at current summary line, and its return
|
||
value were ignored. On the other hand,
|
||
`request-partial-message-method' is required to return structure of
|
||
message at current summary line. Format of it is mime-entity.
|
||
|
||
|
||
** User-Agent field
|
||
|
||
MIME-Edit inserts User-Agent field instaed of X-Emacs field if
|
||
`mime-edit-insert-user-agent-field' is not nil. Contents of
|
||
User-Agent is specified by mime-edit-user-agent-value'.
|
||
|
||
X-Emacs field related features were abolished.
|
||
|
||
|
||
* Changes in SEMI 1.7
|
||
|
||
** Header-presentation-method
|
||
|
||
Now MIME-View uses header-presentation-method instead of
|
||
header-filter.
|
||
|
||
- abolish variable `mime-view-content-header-filter-alist'
|
||
|
||
- abolish function `mime-view-cut-header'
|
||
|
||
- Rename `mime-view-content-header-filter-hook' to
|
||
`mime-display-header-hook'
|
||
|
||
|
||
** Abolish `mime-view-ignored-field-regexp'
|
||
|
||
Now mime-view uses `mime-view-ignored-field-list' directly in
|
||
default header-presentation-method.
|
||
|
||
|
||
** Abolish body filter support
|
||
|
||
Please use body-presentation-method.
|
||
|
||
|
||
** Methods for MUAs
|
||
|
||
- Rename `mime-view-following-method-alist' to
|
||
`mime-preview-following-method-alist'
|
||
|
||
- Rename `mime-method-to-combine-message/partial-pieces' to
|
||
`mime-combine-message/partial-pieces-automatically'
|
||
|
||
|
||
* Changes in SEMI 1.6
|
||
|
||
** Abolish tm-compatible external method support
|
||
|
||
Abolish tm-compatible external method support. Please use mailcap
|
||
method instead of it.
|
||
|
||
|
||
** Abolish `mime-edit-signing-type' and `mime-edit-encrypting-type'
|
||
|
||
C-c C-m C-s encloses as "pgp-signed" which means PGP/MIME signature.
|
||
|
||
C-c C-m C-e encloses as "pgp-encrypted" which means PGP/MIME
|
||
encryption.
|
||
|
||
|
||
** New method to detect content of entity
|
||
|
||
Now MIME-View can detect content of entity for
|
||
application/octet-stream in default setting.
|
||
|
||
It uses "file" command to detect. User can customize
|
||
`mime-file-content-type-alist' to specify media-type for output of
|
||
"file" command. It is an alist of "file" output patterns
|
||
vs. corresponding media-types. Each element looks like (REGEXP TYPE
|
||
SUBTYPE). REGEXP is pattern for "file" command output. TYPE is
|
||
symbol to indicate primary type of media-type. SUBTYPE is symbol to
|
||
indicate subtype of media-type.
|
||
|
||
|
||
** New interface to display message
|
||
|
||
- Function `mime-view-buffer'
|
||
- Function `mime-view-display-message'
|
||
|
||
|
||
** Change interface of internal playback method
|
||
|
||
Interface of internal playback method was changed to
|
||
|
||
(entity situation)
|
||
|
||
It is as same as interface of body-presentation-method.
|
||
|
||
|
||
** Change interface of `mime-view-entity-button-visible-p'
|
||
|
||
** Change interface of `mime-view-insert-entity-button'
|
||
|
||
|
||
** `mime-preview-original-major-mode'
|
||
|
||
Abolish variable `mime-preview-original-major-mode'.
|
||
|
||
Please use function `mime-preview-original-major-mode' instead of
|
||
it.
|
||
|
||
|
||
** mime-preview-over-to-{previous|next}-method-alist
|
||
|
||
`mime-preview-over-to-{previous|next}-method-alist' were renamed
|
||
from `mime-view-over-to-{previous|next}-method-alist'.
|
||
|
||
|
||
* Changes in SEMI 1.5
|
||
|
||
** mime-w3
|
||
|
||
Add inline text/html preview feature using w3. If
|
||
`mime-setup-enable-inline-html' is not nil, semi-setup.el sets up it.
|
||
|
||
|
||
** `pgp-elkins' -> `pgp-mime'
|
||
|
||
Rename `pgp-elkins' -> `pgp-mime'. Variable
|
||
`mime-edit-signing-type' and `mime-edit-encrypting-type' does not
|
||
allow `pgp-elkins'.
|
||
|
||
|
||
** type-subtype-score
|
||
|
||
Now MIME-View chooses one entity to display body in
|
||
multipart/alternative. In this mechanism,
|
||
`mime-view-type-subtype-score-alist' is used to specify priority of
|
||
each entity.
|
||
|
||
Variable `mime-view-type-subtype-score-alist' is alist of
|
||
TYPE-SUBTYPE vs. SCORE. TYPE-SUBTYPE is cons pair (TYPE . SUBTYPE),
|
||
symbol TYPE or t. TYPE and SUBTYPE are symbol. `t' means default.
|
||
SCORE is integer. Larger number is larger priority.
|
||
|
||
|
||
** text presentation
|
||
|
||
Change text presentation mechanism. In anything older than SEMI
|
||
1.4, text presentation mechanism is based on filter model. However it
|
||
has design problem about conversion between byte representation and
|
||
text presentation. So SEMI was changed to use
|
||
body-presentation-method to display text entity. In this purpose, old
|
||
text decoding features were abolished and introduces news features
|
||
(cf. next section).
|
||
|
||
|
||
** mime-raw-representation-type and mime-raw-representation-type-alist
|
||
|
||
Abolish `mime-text-decoder' and `mime-text-decoder-alist' because of
|
||
text presentation mechanism change (cf. previous section). Instead of
|
||
it, SEMI introduces variable about representation-type of
|
||
mime-raw-buffer. If it is `binary', mime-raw-buffer is as same as
|
||
network representation. If it is `cooked', mime-raw-buffer is
|
||
code-converted.
|
||
|
||
`mime-raw-representation-type-alist' is an alist of major-mode
|
||
vs. representation-type. Each element looks like
|
||
|
||
(SYMBOL . REPRESENTATION-TYPE).
|
||
|
||
SYMBOL is major-mode or t. t means default.
|
||
|
||
`mime-raw-representation-type' is a buffer local variable of
|
||
mime-raw-buffer. If it is non-nil, it overrides
|
||
`mime-raw-representation-type-alist'.
|
||
|
||
In addition, `mime-raw-buffer-coding-system-alist' was abolished.
|
||
Because representation-type has enough information.
|
||
|
||
|
||
* Changes in SEMI 1.4
|
||
|
||
** mailcap
|
||
|
||
mailcap was supported to set up 'mime-acting-condition.
|
||
|
||
tm-external-method scripts written by born shell were abolished.
|
||
|
||
|
||
** mime-add-condition
|
||
|
||
New function to set up 'mime-preview-condition and/or
|
||
'mime-acting-condition.
|
||
|
||
|
||
** signature setting in semi-setup.el
|
||
|
||
Abolish MUA depended signature setting.
|
||
|
||
Setting for mail-mode were moved to mail-mime-setup.el.
|
||
|
||
|
||
* Changes in SEMI 1.3
|
||
|
||
** mime-acting-condition
|
||
|
||
Format of variable 'mime-acting-condition was changed from `atype'
|
||
to `condition tree'. Its format is as same as
|
||
'mime-preview-condition.
|
||
|
||
If there are two or more conditions are found when matching, menu
|
||
pops up to select method to run. Selected situation will be added to
|
||
example database. (cf. mime-acting-situation-examples-file)
|
||
|
||
** New variables
|
||
|
||
*** mime-view-find-every-acting-situation
|
||
|
||
Find every available acting-situation if non-nil.
|
||
|
||
*** mime-acting-situation-examples-file
|
||
|
||
File name of example about acting-situation demonstrated by
|
||
user.
|
||
|
||
|
||
* Changes in SEMI 1.2
|
||
|
||
** User setting
|
||
|
||
*** hooks
|
||
|
||
'mime-view-plain-text-preview-hook was renamed to
|
||
'mime-preview-text/plain-hook.
|
||
|
||
*** Variable
|
||
|
||
Variable 'mime-view-childrens-header-showing-Content-Type-list was
|
||
abolished. Please use 'mime-preview-condition instead.
|
||
|
||
*** API about visible-predicates were abolished
|
||
|
||
Following functions were abolished:
|
||
|
||
mime-view-header-visible-p (entity message-info)
|
||
|
||
mime-view-body-visible-p (entity message-info)
|
||
|
||
mime-view-entity-separator-visible-p (entity message-info)
|
||
|
||
Please use 'mime-preview-condition instead.
|
||
|
||
Function 'mime-view-entity-button-visible-p is not abolished, but it
|
||
is obsoleted.
|
||
|
||
*** mime-preview-condition
|
||
|
||
Following are added as pre-defined keys:
|
||
|
||
'childrens-situation default preview-situation for children
|
||
'message-button to specify to display message-button
|
||
nil: default (invisible)
|
||
'visible: visible
|
||
'invisible: invisible
|
||
'entity-button to specify to display entity-button
|
||
nil: default (visible)
|
||
'visible: visible
|
||
'invisible: invisible
|
||
'header to specify to display header
|
||
nil: default (invisible)
|
||
'visible: visible
|
||
'invisible: invisible
|
||
|
||
** API
|
||
|
||
*** Interface for body-filter
|
||
|
||
'mime-view-filter-for-* was renamed to 'mime-preview-filter-for-*.
|
||
|
||
|
||
*** mime-text-decode-body
|
||
|
||
Function 'mime-decode-text-body was renamed to
|
||
'mime-text-decode-body and changed interface. New interface is
|
||
following:
|
||
|
||
mime-text-decode-body (SITUATION)
|
||
|
||
SITUATION is preview-situation. Content-Transfer-Encoding and
|
||
MIME-charset are specified in field of it.
|
||
|
||
|
||
* Changes in SEMI 1.1
|
||
|
||
** User setting
|
||
|
||
*** Setting variable about visible body
|
||
|
||
'mime-view-visible-media-type-list and
|
||
'mime-view-content-filter-alist were abolished. Please use
|
||
'mime-preview-condition instead.
|
||
|
||
Notice that 'mime-preview-condition is not list of
|
||
media-type/subtype string nor association-list. It uses new
|
||
data-structure `ctree' (condition-tree; it is introduced to replace
|
||
`atype'). Function 'ctree-set-calist-strictly and
|
||
'ctree-set-calist-with-default may be useful to modify it (`calist'
|
||
(condition-alist) is as same as `atype').
|
||
|
||
|
||
*** API about visible-predicates
|
||
|
||
Interface of visible-predicates for entity elements were changed.
|
||
New interfaces are following:
|
||
|
||
mime-view-entity-button-visible-p (entity message-info)
|
||
|
||
mime-view-header-visible-p (entity message-info)
|
||
|
||
mime-view-body-visible-p (entity message-info)
|
||
|
||
mime-view-entity-separator-visible-p (entity message-info)
|
||
|
||
|
||
** API
|
||
|
||
*** entity representation
|
||
|
||
Structure 'mime-entity-info was renamed to 'mime-entity. So various
|
||
functions were renamed too.
|
||
|
||
|
||
*** Interface for entity-button generators
|
||
|
||
Interface of entity-button generators was changed. New interfaces
|
||
is following:
|
||
|
||
mime-view-insert-entity-button (entity message-info subject)
|
||
|
||
|
||
*** mime-preview-condition and preview-situation
|
||
|
||
Conditions about preview generation are unified to
|
||
'mime-preview-condition. Namely other variables, such as
|
||
'mime-view-visible-media-type-list, 'mime-view-content-filter-alist,
|
||
'mime-view-image-converter-alist were abolished.
|
||
|
||
Preview-situation is generated from entity information, running
|
||
environment and 'mime-preview-condition. These elements are checked
|
||
to match with each other. (it is similar to acting-situation)
|
||
|
||
Format of preview-situation is association-list. Following key is
|
||
pre-defined:
|
||
|
||
'type media-type
|
||
'subtype media-subtype
|
||
'encoding content-transfer-encoding
|
||
'major-mode major-mode of MUA
|
||
<STRING> attribute of Content-Type field.
|
||
'body-presentation-method body-presentation-method
|
||
|
||
If 'body-presentation-method is 'with-filter, 'body-filter is used to
|
||
specify body-filter function. If 'body-presentation-method is
|
||
function, it is called to generate presentation of entity body.
|
||
|
||
Body-filter function 'mime-view-filter-for-image refers 'image-format.
|
||
|
||
Setting for message/partial button is specified by
|
||
'mime-preview-condition instead of hard-coding.
|
||
|
||
|
||
*** Interface for body-filter
|
||
|
||
Interface of body-filter was changed. New interfaces is following:
|
||
|
||
<body-filter> (situation)
|
||
|
||
Current pre-defined filters are following:
|
||
|
||
mime-view-filter-for-text/plain (situation)
|
||
mime-view-filter-for-text/richtext (situation)
|
||
mime-view-filter-for-text/enriched (situation)
|
||
mime-view-filter-for-image (situation) ; if available
|
||
|
||
'mime-view-filter-for-application/postscript was abolished.
|
||
|
||
|
||
*** Format of mime-acting-condition (acting-situation)
|
||
|
||
Format of `mime-acting-condition' were changed. `type' and
|
||
`subtype' are separated and changed to symbol.
|
||
|
||
|
||
*** Renaming
|
||
|
||
- mime-view-buffer -> mime-preview-buffer
|
||
|
||
|
||
Local variables:
|
||
mode: outline
|
||
paragraph-separate: "[ ]*$"
|
||
end:
|