X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Fsemi.git;a=blobdiff_plain;f=NEWS;h=eaebaebe106cb483b3504e200abb52e0867a2c07;hp=6aed30918604db47d2a6a83f989422797227c8bc;hb=HEAD;hpb=70346e6e9ed19f6e3779b947367c7493532d4d34 diff --git a/NEWS b/NEWS index 6aed309..eaebaeb 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,471 @@ SEMI NEWS --- history of major-changes. -Copyright (C) 1998 Free Software Foundation, Inc. +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 @@ -7,15 +473,15 @@ Copyright (C) 1998 Free Software Foundation, Inc. *** 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. + '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 + 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' +`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'). @@ -37,16 +503,63 @@ New interfaces are following: *** entity representation - Structure `mime-entity-info' was renamed to `mime-entity'. So -various functions were renamed too. + Structure 'mime-entity-info was renamed to 'mime-entity. So various +functions were renamed too. -*** Interface for generators or filters for entity elements +*** Interface for entity-button generators - Interface of generators or filters for entity elements were changed. -New interfaces are following: + 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 + 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: + + (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-insert-entity-button (entity message-info subj) +'mime-view-filter-for-application/postscript was abolished. *** Format of mime-acting-condition (acting-situation)