(mmbuffer-write-entity): New function.
[elisp/flim.git] / README.en
1 [README for FLIM (English Version)]
2
3 What's FLIM
4 ===========
5
6   FLIM is a library to provide basic features about message
7   representation or encoding.  It consists of following
8   modules:
9
10     std11.el    --- STD 11 (RFC 822) parser and utility
11
12     mime.el     --- MIME library
13
14         mime-def.el --- Definitions about MIME format
15
16         mime-parse.el --- MIME parser
17
18         mel.el --- MIME encoder/decoder
19             mel-dl.el --- base64 (b-encoding) encoder/decoder
20                           (for Emacs 20 with dynamic loading support)
21             mel-b.el  --- base64 (b-encoding) encoder/decoder
22                           (for other emacsen)
23             mel-q.el  --- quoted-printable and q-encoding encoder/decoder
24             mel-u.el  --- unofficial module for uuencode
25             mel-g.el  --- unofficial module for gzip64
26
27         eword-decode.el --- encoded-word decoder
28         eword-encode.el --- encoded-word encoder
29
30     mailcap.el  --- mailcap parser and utility
31
32
33 Installation
34 ============
35
36 (0) before installing it, please install APEL package.  APEL package
37     is available at:
38
39         ftp://ftp.jaist.ac.jp/pub/GNU/elisp/apel/
40
41 (1-a) run in expanded place
42
43   If you don't want to install other directories, please do only
44   following:
45
46         % make
47
48   You can specify the emacs command name, for example
49
50         % make install EMACS=xemacs
51
52   If `EMACS=...' is omitted, EMACS=emacs is used.
53
54 (1-b) make install
55
56   If you want to install other directories, please do following:
57
58         % make install
59
60   You can specify the emacs command name, for example
61
62         % make install EMACS=xemacs
63
64   If `EMACS=...' is omitted, EMACS=emacs is used.
65
66   You can specify the prefix of the directory tree for Emacs Lisp
67   programs and shell scripts, for example:
68
69         % make install PREFIX=~/
70
71   If `PREFIX=...' is omitted, the prefix of the directory tree of the
72   specified emacs command is used (perhaps /usr/local).
73
74   For example, if PREFIX=/usr/local and EMACS 19.34 is specified, it
75   will create the following directory tree:
76
77         /usr/local/share/emacs/site-lisp/flim/   --- FLIM
78
79   You can specify site-lisp directory, for example
80
81         % make install LISPDIR=~/share/emacs/lisp
82
83   If `LISPDIR=...' is omitted, site-lisp directory of the specified
84   emacs command is used (perhaps /usr/local/share/emacs/site-lisp or
85   /usr/local/lib/xemacs/site-lisp).
86
87   You can specify other optional settings by editing the file
88   FLIM-CFG.  Please read comments in it.
89
90
91 load-path (for Emacs or MULE)
92 =============================
93
94   If you are using Emacs or Mule, please add directory of FLIM to
95   load-path.  If you install by default setting, you can write
96   subdirs.el for example:
97
98   --------------------------------------------------------------------
99   (normal-top-level-add-to-load-path '("apel" "flim"))
100   --------------------------------------------------------------------
101
102   If you are using XEmacs, there are no need of setting about
103   load-path.
104
105
106 How to use
107 ==========
108
109 Region
110 ------
111
112 Command mime-encode-region (START END ENCODING)
113
114   Encode region START to END of current buffer using ENCODING.
115
116 Command mime-decode-region (start end encoding)
117
118   Decode region START to END of current buffer using ENCODING.
119
120 Command base64-encode-region (start end)
121
122   Encode current region by base64.
123   START and END are buffer positions.
124
125   This function calls internal base64 encoder if size of region is
126   smaller than `base64-internal-encoding-limit', otherwise it calls
127   external base64 encoder specified by `base64-external-encoder'.  In
128   this case, you must install the program (maybe mmencode included in
129   metamail or XEmacs package).
130
131 Command base64-decode-region (start end)
132
133   Decode current region by base64.
134   START and END are buffer positions.
135
136   This function calls internal base64 decoder if size of region is
137   smaller than `base64-internal-decoding-limit', otherwise it calls
138   external base64 decoder specified by `base64-external-decoder'.  In
139   this case, you must install the program (maybe mmencode included in
140   metamail or XEmacs package).
141
142 Command quoted-printable-encode-region (start end)
143
144   Encode current region by quoted-printable.
145   START and END are buffer positions.
146
147   This function calls internal quoted-printable encoder if size of
148   region is smaller than `quoted-printable-internal-encoding-limit',
149   otherwise it calls external quoted-printable encoder specified by
150   `quoted-printable-external-encoder'.  In this case, you must install
151   the program (maybe mmencode included in metamail or XEmacs package).
152
153 Command quoted-printable-decode-region (start end)
154
155   Decode current region by quoted-printable.
156   START and END are buffer positions.
157
158   This function calls internal quoted-printable decoder if size of
159   region is smaller than `quoted-printable-internal-decoding-limit',
160   otherwise it calls external quoted-printable decoder specified by
161   `quoted-printable-external-decoder'.  In this case, you must install
162   the program (maybe mmencode included in metamail or XEmacs package).
163
164 Command uuencode-encode-region (start end)
165
166   Encode region START to END of current buffer using uuencode.
167
168 Command uuencode-decode-region (start end)
169
170   Decode region START to END of current buffer using uuencode.
171
172 Command gzip64-encode-region (start end)
173
174   Encode region START to END of current buffer using x-gzip64.
175
176 Command gzip64-decode-region (start end)
177
178   Decode region START to END of current buffer using x-gzip64.
179
180 Variable mime-encoding-method-alist
181
182   Alist of encoding vs. corresponding method to encode region.
183   Each element looks like (STRING . FUNCTION) or (STRING . nil).
184   STRING is content-transfer-encoding.
185   FUNCTION is region encoder and nil means not to encode.
186
187 Variable mime-decoding-method-alist
188
189   Alist of encoding vs. corresponding method to decode region.
190   Each element looks like (STRING . FUNCTION).
191   STRING is content-transfer-encoding.
192   FUNCTION is region decoder.
193
194 File
195 ----
196
197 Command mime-insert-encoded-file (FILENAME ENCODING)
198
199   Insert file FILENAME encoded by ENCODING format.
200
201 Command base64-insert-encoded-file (FILENAME)
202
203   Encode contents of file FILENAME to base64, and insert the result.
204
205   It calls external base64 encoder specified by
206   `base64-external-encoder'.  So you must install the program (maybe
207   mmencode included in metamail or XEmacs package).
208
209 Command quoted-printable-insert-encoded-file (FILENAME)
210
211   Insert quoted-printable encoded file.
212
213 Command uuencode-insert-encoded-file (FILENAME)
214
215   Insert uuencode encoded file.
216
217 Command gzip64-insert-encoded-file (FILENAME)
218
219   Insert gzip64 encoded file.
220
221 Variable mime-file-encoding-method-alist
222
223   Alist of encoding vs. corresponding method to insert encoded file.
224   Each element looks like (STRING . FUNCTION).
225   STRING is content-transfer-encoding.
226   FUNCTION is function to insert encoded file.
227
228 String
229 ------
230
231 Function base64-encode-string (STRING)
232
233   Encode STRING to base64, and return the result.
234
235 Function base64-decode-string (STRING)
236
237   Decode STRING which is encoded in base64, and return the result.
238
239 Function q-encoding-encode-string (STRING &optional MODE)
240
241   Encode STRING to Q-encoding of encoded-word, and return the result.
242   MODE allows `text', `comment', `phrase' or nil.  Default value is
243   `phrase'.
244
245 Function q-encoding-decode-string (STRING)
246
247   Decode STRING which is encoded in Q-encoding and return the result.
248
249 Function base64-encoded-length (STRING)
250
251   Return length of base64 encoded STRING.
252
253 Function q-encoded-length (STRING &optional MODE)
254
255   Return length of Q-encoding encoded STRING.
256   MODE allows `text', `comment', `phrase' or nil.  Default value is
257   `phrase'.
258
259
260 Bug reports
261 ===========
262
263   If you write bug-reports and/or suggestions for improvement, please
264   send them to the tm Mailing List:
265
266         bug-tm-en@chamonix.jaist.ac.jp  (English)
267         bug-tm-ja@chamonix.jaist.ac.jp  (Japanese)
268
269   Via the tm ML, you can report FLIM bugs, obtain the latest release
270   of FLIM, and discuss future enhancements to FLIM. To join the tm ML,
271   send an empty e-mail to
272
273         tm-en-help@chamonix.jaist.ac.jp (English)
274         tm-ja-help@chamonix.jaist.ac.jp (Japanese)