X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-en.texi;h=6da91cd780c45b4776ff70ecf00cd92799611534;hb=99c158b34f006c5840785347fc7e711a6b246c0c;hp=72dd84db21ab2dbfecc8f94a4c861bf5832bc86e;hpb=064004dc553863b2d9453f1e10d400be319564d2;p=elisp%2Fflim.git diff --git a/mime-en.texi b/mime-en.texi index 72dd84d..6da91cd 100644 --- a/mime-en.texi +++ b/mime-en.texi @@ -1,13 +1,14 @@ \input texinfo.tex +@c Generated automatically from mime-en.sgml by sinfo 3.7. @setfilename mime-en.info -@settitle{FLIM 1.9 Manual about MIME Features} +@settitle{FLIM 1.10 Manual about MIME Features} @titlepage -@title FLIM 1.9 Manual about MIME Features +@title FLIM 1.10 Manual about MIME Features @author MORIOKA Tomohiko @subtitle 1998/07/01 @end titlepage @node Top, Introduction, (dir), (dir) -@top FLIM 1.9 Manual about MIME Features +@top FLIM 1.10 Manual about MIME Features @ifinfo @@ -50,8 +51,6 @@ Please eval following to use MIME features provided by FLIM: @node Entity, Content-Type, How to use, Top @chapter Message and Entity -@cindex node-id -@cindex entity-number @cindex mime-entity @cindex entity @@ -61,45 +60,13 @@ message or one of the parts in the body of a multipart entity.' In this document, the term @strong{entity} indicates all of header fields and body.@refill -The definition of RFC 2045 indicates that a MIME message is a tree. An -message is a tree, each node is an entity, like following figure. -Namely MIME extends message to tree structure.@refill - -FLIM uses @strong{mime-entity} structure to represent information of -entity. In this document, it is called simply `mime-entity'.@refill - -前述のように、message 中の各 entity は木の節に当たりますが、この木には -深さと同じ深さの中の順番に従って番号が付けることができます。即ち、 -@example - - ┌───┐ - │ nil │ - └─┬─┘ - ┌─────────┼─────────┐ - ┌┴┐ ┌┴┐ ┌┴┐ - │0│ │1│ │2│ - └┬┘ └┬┘ └┬┘ - │ ┌────┼────┐ │ - ┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐ - │ 0.0││ 1.0││ 1.1││ 1.2││ 2.0│ - └───┘└───┘└───┘└───┘└───┘ -@end example +The definition of RFC 2045 indicates that a MIME message is a tree, and +each node of the tree is an entity. Namely MIME extends message to tree +structure.@refill -@noindent -のように深さ n の節には長さ n の整数列の節番号が振れます。これ -を @strong{entity-number} と呼びます。entity-number は S 式と -しては @code{(1 2 3)} のような整数のリストとして表現されます。 - -mime-entity では、これと同様の @strong{node-id} を用います。node-id はちょ -うど entity-number を逆にしたリストで、entity-number 1.2.3 に対応する -node-id は @code{(3 2 1)} です。@refill - -前述のように、MIME message は entity を単位とした木構造になっているので、 -この根である message 全体も mime-entity で表現することができ、buffer -local 変数 @code{mime-message-structure} に格納することにします。 -そして、entity-number や node-id を用いることで -@code{mime-message-structure} における entity の相対的な位置関係を -扱うことができます。 +FLIM uses @strong{mime-entity} structure to represent +information of entity. In this document, it is called simply +`mime-entity'. @menu @@ -107,6 +74,7 @@ local 変数 @code{mime-message-structure} に格納することにします。 * Entity hierarchy:: Features about message tree * Entity Attributes:: Functions about attributes of mime-entity * Entity-header:: Information of entity header +* entity formatting:: Text presentation of entity * Entity-content:: Contents of Entity * Entity buffer:: Entity as buffer representation * mm-backend:: Entity representations and implementations @@ -135,13 +103,61 @@ mime-entity.@refill If @var{buffer} is omitted, current buffer is used.@refill @var{type} is representation-type of created -mime-entity. (cf. @ref{mm-backend}) Default value is @var{buffer}. +mime-entity. (cf. @ref{mm-backend}) + Default value is @var{buffer}. @end defun @node Entity hierarchy, Entity Attributes, Entity creation, Entity @section Features about message tree +@cindex node-id +@cindex entity-number +@cindex message +@cindex root-entity + +Structure of a MIME message is tree.@refill + +In the tree, root node is the entity indicates all of the message. In +this document, it is called @strong{root-entity} or @strong{message}. +In FLIM, it is indicated by buffer local variable +@code{mime-message-structure}.@refill + +Each entity except root-entity has a parent. An entity may have +children. We can indicate an entity by relative position from a base +entity, based on the parent-child relationship.@refill + +In addition, we can indicate an entity by absolute position of the +message.@refill + +Each entity, which is a node of the tree, can be numbered by +depth and left-to-right order of the depth. +@example + + +-------+ + | nil | + +---+---+ + +-------------------+-------------------+ + +-+-+ +-+-+ +-+-+ + | 0 | | 1 | | 2 | + +-+-+ +-+-+ +-+-+ + | +---------+---------+ | + +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ + | 0.0 | | 1.0 | | 1.1 | | 1.2 | | 2.0 | + +-----+ +-----+ +-----+ +-----+ +-----+ +@end example + +Namely, if depth of a node is n, the node has a node-number, which is +consists of n integers. In this document, it is called +@strong{entity-number}. An entity-number is represented by list of +integer, like @code{(1 2 3)}.@refill + +mime-entity has also @strong{node-id}. A node-id is represented by +reversed list of entity-number. For example, node-id corresponding with +1.2.3 is @code{(3 2 1)}.@refill + +Each entity can be indicated by entity-number or node-id in +@code{mime-message-structure}. @defvar mime-message-structure @@ -242,7 +258,7 @@ code-converted. -@node Entity-header, Entity-content, Entity Attributes, Entity +@node Entity-header, entity formatting, Entity Attributes, Entity @section Information of entity header @defun mime-fetch-field field-name &optional entity @@ -280,7 +296,11 @@ If @var{field-name} field is not found, this function returns @end defun -@defun mime-insert-decoded-header entity &optional invisible-fields visible-fields + +@node entity formatting, Entity-content, Entity-header, Entity +@section Text presentation of entity + +@defun mime-insert-header entity &optional invisible-fields visible-fields Insert before point a decoded contents of header of @var{entity}.@refill @@ -290,12 +310,36 @@ hide.@refill If a field-name is matched with some elements of @var{invisible-fields} and matched with none of @var{visible-fields}, this function don't -insert the field. +insert the field.@refill + +Each encoded-word (@ref{encoded-word}) in the header is decoded. ``Raw +non us-ascii characters'' are also decoded as +@code{default-mime-charset}. @end defun +@defun mime-insert-text-content entity + +Insert before point a contents of @var{entity} as text entity.@refill -@node Entity-content, Entity buffer, Entity-header, Entity +Contents of the @var{entity} are decoded as MIME charset (@ref{MIME charset}). If the @var{entity} does not have charset parameter of +Content-Type field, @code{default-mime-charset} is used as default +value. +@end defun + + +@defvar default-mime-charset + +Symbol to indicate default value of MIME charset (@ref{MIME charset}).@refill + +It is used when MIME charset is not specified.@refill + +It is originally variable of APEL. +@end defvar + + + +@node Entity-content, Entity buffer, entity formatting, Entity @section Contents of Entity @defun mime-entity-content entity @@ -378,7 +422,7 @@ contains @var{entity}. @node mm-backend, , Entity buffer, Entity @section Entity representations and implementations @cindex mm-backend -@cindex entity 処理 method +@cindex entity processing method @cindex representation-type Entity is an abstraction. It is designed to use various data @@ -387,23 +431,21 @@ representations for their purposes.@refill Each entity has @strong{representation-type}. It must be specified when an entity is created. (cf. @ref{Entity Creation}) @refill -前節までに述べて来た entity に対する処理は、entity に対してその処理を依 -頼することによって実現されています。Entity は自分の representation-type -を知っており、その representation-type に応じて実際の処理を行う関数を呼 -び出します。このような関数を @strong{entity 処理method} と呼びます。また、 -representation-type 毎にこのような関数をまとめたものを -@strong{mm-backend} と呼びます。@refill +Functions about entity are implemented by request processing to the +entity. Each entity knows its representation-type. Each entity calls +processing function corresponding with the representation-type. Such +kind of function is called @strong{entity processing method}. A module, +consists of them corresponding with a representation-type, is called +@strong{mm-backend}.@refill -mm-backend は representation-type の名前の先頭に @code{mm} という -接頭辞を付けた関数名からなる module で、その module 名は同様に -representation-type の名前の先頭に @code{mm} を付けたものになって -います。この module は representation-type の entity が最初に生成される -時に自動的に require されます。 +Module name of each mm-backend consists of the prefix @code{mm} +and its representation-type. The module is required automatically +when its entity is created at first. @menu * Request for entity:: Message-passing for entity -* mm-backend module:: How to make mm-backend +* mm-backend module:: Definition of mm-backend @end menu @node Request for entity, mm-backend module, mm-backend, mm-backend @@ -411,19 +453,49 @@ representation-type の名前の先頭に @code{mm} を付けたものになって @defun mime-entity-send entity message &rest args -@var{entity} に @var{message} を送る。@refill +Send @var{message} to @var{entity} with @var{args}, and return the +result.@refill -@var{args} は @var{message} の引数である。 +@var{args} is arguments of the @var{message}. @end defun @node mm-backend module, , Request for entity, mm-backend -@subsection How to make mm-backend +@subsection Definition of mm-backend + +@defmac mm-define-backend type &optional parents + +Define @var{type} as a mm-backend.@refill -(すみません。そのうち書きます (^_^;)@refill +If @var{PARENTS} is specified, @var{type} inherits parents. Each parent +must be representation-type.@refill + +Example:@refill + +@lisp +(mm-define-backend chao (generic)) +@end lisp +@end defmac + + +@defmac mm-define-method name args &rest body + +Define @var{name} as a method function of (nth 1 (car @var{args})) +backend.@refill + +@var{args} is like an argument list of lambda, but (car @var{args}) must +be specialized parameter. (car (car @var{args})) is name of variable +and (nth 1 (car @var{args})) is name of backend +(representation-type).@refill + +Example:@refill + +@lisp +(mm-define-method entity-cooked-p ((entity chao)) nil) +@end lisp +@end defmac -(とりあえず、mm*.el を参考にしてください) @node Content-Type, Content-Disposition, Entity, Top @@ -463,14 +535,14 @@ Content-Type field. @cindex subtype @cindex type -Content-Type 欄の形式は以下のように定義されています: +Format of Content-Type field is defined as follows: @quotation ``Content-Type'' ``:'' @strong{type} ``/'' @strong{subtype} *( ``;'' @strong{parameter} ) @end quotation -例えば、 +For example: @quotation @example @@ -478,8 +550,6 @@ Content-Type: image/jpeg @end example @end quotation -@noindent -や @quotation @example @@ -487,18 +557,16 @@ Content-Type: text/plain; charset=iso-2022-jp @end example @end quotation -@noindent -などのように用いられます。 - -ここで、`type' と `subtype' は entity の形式を示すもので、両者を総称し -て、`media-type' と呼ぶことにします。上記の例における `image/jpeg' や -`text/plain' は media-type の1つです。 +`type' and `subtype' indicate format of an entity. In this document, +pair of them is called `media-type'. `image/jpeg' or `text/plain' is +a media-type. @noindent @strong{[Memo]} @quotation -Content-Type 欄のない entity は +If an entity does not have Content-Type field, it is regarded as +following: @quotation @example @@ -507,7 +575,7 @@ Content-Type: text/plain; charset=us-ascii @end quotation @noindent -として解釈される。(cf. @ref{us-ascii}) +(cf. @ref{us-ascii}) @end quotation @@ -517,22 +585,23 @@ Content-Type: text/plain; charset=us-ascii @deffn{Structure} mime-content-type -Content-Type 欄の情報を格納するための構造体。@refill +Structure to store information of a Content-Type field.@refill -この構造体を参照するには @code{mime-content-type-要素名} という名前の参 -照関数を用いる。@refill +Applications should use reference functions +@code{mime-content-type-SLOT} to refer information of the +structure.@refill -この構造体の要素は以下の通りである: +Slots of the structure are following: @table @var @item primary-type -media-type の主型 (symbol). +primary type of media-type (symbol). @item subtype -media-type の副型 (symbol). +subtype of media-type (symbol). @item parameters -Content-Type 欄の parameter (連想 list). +parameters of Content-Type field (association-list). @end table @end deffn @@ -541,13 +610,13 @@ Content-Type 欄の parameter (連想 list). @defun make-mime-content-type type subtype &optional parameters -content-type の生成子。 +Constructor of content-type. @end defun @defun mime-content-type-parameter content-type parameter -@var{content-type} の @var{parameter} の値を返す。 +Return value of @var{parameter} of @var{content-type}. @end defun @@ -557,15 +626,17 @@ content-type の生成子。 @defun mime-parse-Content-Type string -@var{string} を content-type として解析した結果を返す。 +Parse @var{string} as a field-body of Content-Type field, and return the +result as mime-content-type (@ref{mime-content-type}) structure. @end defun @defun mime-read-Content-Type -現在の buffer の Content-Type 欄を読み取り、解析した結果を返す。@refill +Parse Content-Type field of the current buffer, and return the result as +mime-content-type (@ref{mime-content-type}) structure.@refill -Content-Type 欄が存在しない場合は nil を返す。 +Return @code{nil} if Content-Type field is not found. @end defun @@ -585,10 +656,11 @@ Return type/subtype string from @var{type} and @var{subtype}. @cindex mime-content-disposition @cindex RFC 2183 @cindex Standards Track -@cindex Content-Disposition 欄 +@cindex Content-Disposition field -@strong{Content-Disposition 欄} は entity の表示や file 名など -の属性になどに関する情報を記述するためのものです。 +@strong{Content-Disposition field} is an optional field to +specify presentation of an entity or attributes of an entity, such as +file name. @noindent @@ -599,9 +671,9 @@ Information in Internet Messages: The Content-Disposition Header'', August 1997, Standards Track. @end quotation -FLIM は Content-Disposition 欄を構文解析する関数と Content-Disposition -欄の解析結果を格納する構造体 -@strong{mime-content-disposition} を提供します。 +FLIM provides parser for Content-Disposition field and structure +@strong{mime-content-disposition} to store information of +Content-Disposition field. @menu @@ -614,19 +686,21 @@ FLIM は Content-Disposition 欄を構文解析する関数と Content-Dispositi @deffn{Structure} mime-content-disposition -Content-Disposition 欄の解析結果を収めるための構造体。@refill +Structure to store information of a Content-Disposition field.@refill -この構造体を参照するには @code{mime-content-disposition-要素名} という名 -前の参照関数を用いる。@refill +Applications should use reference functions +@code{mime-content-disposition-SLOT} to refer information of the +structure.@refill -この構造体の要素は以下の通りである: +Slots of the structure are following: @table @var @item disposition-type disposition-type (symbol). @item parameters -Content-Disposition 欄の parameter (連想 list). +parameters of Content-Disposition field +(association-list). @end table @end deffn @@ -634,13 +708,13 @@ Content-Disposition 欄の parameter (連想 list). @defun mime-content-disposition-parameter content-disposition parameter -@var{content-disposition} の @var{parameter} の値を返す。 +Return value of @var{parameter} of @var{content-disposition}. @end defun @defun mime-content-disposition-filename content-disposition -@var{content-disposition} の filename の値を返す。 +Return filename of @var{content-disposition}. @end defun @@ -650,64 +724,69 @@ Content-Disposition 欄の parameter (連想 list). @defun mime-parse-Content-Disposition string -@var{string} を content-disposition として解析した結果を返す。 +Parse @var{string} as field-body of Content-Disposition field, and +return the result as mime-content-disposition +(@ref{mime-content-disposition}) structure. @end defun @defun mime-read-Content-Disposition -現在の buffer の Content-Disposition 欄を読み取り、解析した結果を返す。 -@refill +Parse Content-Disposition field of the current buffer, and return the +result as mime-content-disposition (@ref{mime-content-disposition}) +structure.@refill -Content-Disposition 欄が存在しない場合は nil を返す。 +Return @code{nil} if Content-Disposition field is not found. @end defun @node Content-Transfer-Encoding, encoded-word, Content-Disposition, Top @chapter Encoding Method -@cindex Content-Transfer-Encoding 欄 +@cindex Content-Transfer-Encoding field -@strong{Content-Transfer-Encoding 欄} は entity の符号化法を記述するため -のものです。@refill +@strong{Content-Transfer-Encoding field} is a header field to indicate +body encoding of a entity.@refill -FLIM では Content-Transfer-Encoding 欄を構文解析する関数を提供します。こ -れらの関数は Content-Transfer-Encoding 欄の情報は文字列で表現します。 -@refill +FLIM provides parser functions for Content-Transfer-Encoding field. +They represent information of Content-Transfer-Encoding field as +string.@refill -また、Content-Transfer-Encoding に基づいて符号化・復号化を行う関数も提 -供されます。 +In addition, FLIM provides encoder/decoder functions by +Content-Transfer-Encoding. @menu * Content-Transfer-Encoding parser:: Parser -* Region encoder/decoder:: Region encoding/decoding -* String encoder/decoder:: String encoding/decoding -* File encoder/decoder:: File encoding/decoding +* encoder/decoder:: Encoder/decoder +* Encoding information:: Other utilities +* mel-backend:: How to write encoder/decoder module +* generic function for mel-backend:: How to add encoding/decoding service @end menu -@node Content-Transfer-Encoding parser, Region encoder/decoder, Content-Transfer-Encoding, Content-Transfer-Encoding +@node Content-Transfer-Encoding parser, encoder/decoder, Content-Transfer-Encoding, Content-Transfer-Encoding @section Parser @defun mime-parse-Content-Transfer-Encoding string -@var{string} を content-transfer-encoding として解析した結果を返す。 +Parse @var{string} as a field-body of Content-Transfer-Encoding field, +and return the result. @end defun @defun mime-read-Content-Transfer-Encoding &optional default-encoding -現在の buffer の Content-Transfer-Encoding 欄を読み取り、解析した結果を -返す。@refill +Parse Content-Transfer-Encoding field of the current buffer, and return +the result.@refill -Content-Transfer-Encoding 欄が存在しない場合は@var{default-encoding} を -返す。 +Return @var{default-encoding} if Content-Transfer-Encoding field is not +found. If it is not specified, @code{nil} is used as the default value. @end defun -@node Region encoder/decoder, String encoder/decoder, Content-Transfer-Encoding parser, Content-Transfer-Encoding -@section Region encoding/decoding +@node encoder/decoder, Encoding information, Content-Transfer-Encoding parser, Content-Transfer-Encoding +@section Encoder/decoder @defun mime-encode-region start end encoding @@ -723,83 +802,124 @@ Decode region @var{start} to @var{end} of current buffer using @end defun -@defvar mime-encoding-method-alist - -Alist of encoding vs. corresponding method to encode region.@refill -Each element looks like @code{(STRING . FUNCTION)} or @code{(STRING -. nil)}. @var{string} is content-transfer-encoding. @code{function} is -region encoder and @code{nil} means not to encode. -@end defvar +@defun mime-decode-string string encoding +Decode @var{string} which is encoded in @var{encoding}, and return the +result. +@end defun -@defvar mime-decoding-method-alist -Alist of encoding vs. corresponding method to decode region.@refill -Each element looks like @code{(STRING . FUNCTION)} or @code{(STRING -. nil)}. @var{string} is content-transfer-encoding. @code{function} is -region decoder and @code{nil} means not to decode. -@end defvar +@defun mime-insert-encoded-file filename encoding +Insert file @var{FILENAME} encoded by @var{ENCODING} format. +@end defun -@node String encoder/decoder, File encoder/decoder, Region encoder/decoder, Content-Transfer-Encoding -@section String encoding/decoding +@defun mime-write-decoded-region start end filename encoding -@defun mime-decode-string string encoding +Decode and write current region encoded by @var{encoding} into +@var{filename}.@refill -@var{string} を @var{encoding} として復号した結果を返します。 +@var{start} and @var{end} are buffer positions. @end defun -@defvar mime-string-decoding-method-alist -Alist of encoding vs. corresponding method to decode string.@refill +@node Encoding information, mel-backend, encoder/decoder, Content-Transfer-Encoding +@section Other utilities -Each element looks like @code{(STRING . FUNCTION)}. STRING is -content-transfer-encoding. FUNCTION is string decoder. -@end defvar +@defun mime-encoding-list &optional SERVICE +Return list of Content-Transfer-Encoding.@refill +If @var{service} is specified, it returns available list of +Content-Transfer-Encoding for it. +@end defun -@node File encoder/decoder, , String encoder/decoder, Content-Transfer-Encoding -@section File encoding/decoding -@defun mime-insert-encoded-file filename encoding +@defun mime-encoding-alist &optional SERVICE -Insert file @var{FILENAME} encoded by @var{ENCODING} format. +Return table of Content-Transfer-Encoding for completion.@refill + +If @var{service} is specified, it returns available list of +Content-Transfer-Encoding for it. @end defun -@defun mime-write-decoded-region start end filename encoding -Decode and write current region encoded by @var{encoding} into -@var{filename}.@refill +@node mel-backend, generic function for mel-backend, Encoding information, Content-Transfer-Encoding +@section How to write encoder/decoder module -@var{start} and @var{end} are buffer positions. -@end defun +@defmac mel-define-method name args &rest body +Define @var{name} as a method function of (nth 1 (car (last +@var{args}))) backend.@refill -@defvar mime-file-encoding-method-alist +@var{args} is like an argument list of lambda, but (car (last +@var{args})) must be specialized parameter. (car (car (last +@var{args}))) is name of variable and (nth 1 (car (last @var{args}))) is +name of backend (encoding).@refill -Alist of encoding vs. corresponding method to insert encoded -file.@refill +Example:@refill -Each element looks like @code{(STRING . FUNCTION)}. STRING is -content-transfer-encoding. FUNCTION is function to insert encoded file. -@end defvar +@lisp +(mel-define-method mime-write-decoded-region (start end filename + (nil "base64")) + "Decode and write current region encoded by base64 into FILENAME. +START and END are buffer positions." + (interactive + (list (region-beginning) (region-end) + (read-file-name "Write decoded region to file: "))) + (let ((str (buffer-substring start end))) + (with-temp-buffer + (insert (decode-base64-string str)) + (write-region-as-binary (point-min) (point-max) filename) + ))) +@end lisp +@end defmac -@defvar mime-file-decoding-method-alist +@defmac mel-define-method-function spec function -Alist of encoding vs. corresponding method to write decoded region to -file.@refill +Set @var{spec}'s function definition to @var{function}.@refill -Each element looks like @code{(STRING . FUNCTION)}. STRING is -content-transfer-encoding. FUNCTION is function to write decoded region -to file. -@end defvar +First element of @var{spec} is service.@refill + +Rest of @var{args} is like an argument list of lambda, but (car (last +@var{args})) must be specialized parameter. (car (car (last +@var{args}))) is name of variable and (nth 1 (car (last @var{args}))) is +name of backend (encoding).@refill + +Example:@refill + +@lisp +(mel-define-method-function (mime-encode-string string (nil "base64")) + 'encode-base64-string) +@end lisp +@end defmac + + + +@node generic function for mel-backend, , mel-backend, Content-Transfer-Encoding +@section How to add encoding/decoding service + +@defmac mel-define-service name &optional args doc-string + +Define @var{name} as a service for Content-Transfer-Encodings.@refill + +If @var{args} is specified, @var{name} is defined as a generic function +for the service.@refill + +Example:@refill + +@lisp +(mel-define-service encoded-text-encode-string (string encoding) + "Encode STRING as encoded-text using ENCODING. +ENCODING must be string.") +@end lisp +@end defmac @@ -834,16 +954,17 @@ FLIM はこれらを符号化・復号化する機能を提供します。 @node Header encoder/decoder, , encoded-word, encoded-word @section Header encoding/decoding -@defun eword-encode-header &optional code-conversion separator +@defun eword-decode-header &optional code-conversion separator Decode MIME encoded-words in header fields.@refill -If @var{code-conversion} is @code{nil}, it decodes only encoded-words. -If it is mime-charset, it decodes non-ASCII bit patterns as the -mime-charset. Otherwise it decodes non-ASCII bit patterns as the -default-mime-charset.@refill +If @var{code-conversion} is @code{nil}, only encoded-words are decoded. +If @var{code-conversion} is a MIME charset (@ref{MIME charset}), +non-ASCII bit patterns are decoded as the MIME charset. Otherwise +non-ASCII bit patterns are decoded as the +@code{default-mime-charset}. (cf. @ref{entity formatting}) @refill -If @var{separator} is not nil, it is used as header separator. +If @var{separator} is not @code{nil}, it is used as header separator. @end defun @@ -852,10 +973,29 @@ If @var{separator} is not nil, it is used as header separator. Encode header fields to network representation, such as MIME encoded-word.@refill -It refer variable @code{eword-field-encoding-method-alist}. +Each field is encoded as corresponding method specified by variable +@code{eword-field-encoding-method-alist}. @end defun +@defvar eword-field-encoding-method-alist + +Association list to specify field encoding method. Each element looks +like (FIELD . METHOD).@refill + +If METHOD is @code{mime}, the FIELD will be encoded into MIME format +(encoded-word).@refill + +If METHOD is @code{nil}, the FIELD will not be encoded.@refill + +If METHOD is a MIME charset, the FIELD will be encoded as the charset +when it must be convert into network-code.@refill + +Otherwise the FIELD will be encoded as variable +@code{default-mime-charset} when it must be convert into network-code. +@end defvar + + @node custom, Appendix, encoded-word, Top @chapter Various Customization @@ -868,15 +1008,6 @@ MIME 関連機能に関する group.@refill @end deffn -@defvar default-mime-charset - -適切な MIME charset (@ref{MIME charset}) が見つからなかった場合に用いら -れるMIME charset.@refill - -本来は APEL の変数である。 -@end defvar - - @defvar mime-temp-directory MIME 機能に関する実装が一時的に使用する file を作成する