[README for FLIM (English Version)] What's FLIM =========== FLIM is a library to provide basic features about message representation or encoding. It consists of following modules: std11.el --- STD 11 (RFC 822) parser and utility mime.el --- MIME library mime-def.el --- Definitions about MIME format mime-parse.el --- MIME parser mel.el --- MIME encoder/decoder mel-dl.el --- base64 (b-encoding) encoder/decoder (for Emacs 20 with dynamic loading support) mel-b.el --- base64 (b-encoding) encoder/decoder (for other emacsen) mel-q.el --- quoted-printable and q-encoding encoder/decoder mel-u.el --- unofficial module for uuencode mel-g.el --- unofficial module for gzip64 eword-decode.el --- encoded-word decoder eword-encode.el --- encoded-word encoder mailcap.el --- mailcap parser and utility Installation ============ (0) before installing it, please install APEL package. APEL package is available at: ftp://ftp.jaist.ac.jp/pub/GNU/elisp/apel/ (1-a) run in expanded place If you don't want to install other directories, please do only following: % make You can specify the emacs command name, for example % make install EMACS=xemacs If `EMACS=...' is omitted, EMACS=emacs is used. (1-b) make install If you want to install other directories, please do following: % make install You can specify the emacs command name, for example % make install EMACS=xemacs If `EMACS=...' is omitted, EMACS=emacs is used. You can specify the prefix of the directory tree for Emacs Lisp programs and shell scripts, for example: % make install PREFIX=~/ If `PREFIX=...' is omitted, the prefix of the directory tree of the specified emacs command is used (perhaps /usr/local). For example, if PREFIX=/usr/local and EMACS 19.34 is specified, it will create the following directory tree: /usr/local/share/emacs/site-lisp/flim/ --- FLIM You can specify site-lisp directory, for example % make install LISPDIR=~/share/emacs/lisp If `LISPDIR=...' is omitted, site-lisp directory of the specified emacs command is used (perhaps /usr/local/share/emacs/site-lisp or /usr/local/lib/xemacs/site-lisp). You can specify other optional settings by editing the file FLIM-CFG. Please read comments in it. load-path (for Emacs or MULE) ============================= If you are using Emacs or Mule, please add directory of FLIM to load-path. If you install by default setting, you can write subdirs.el for example: -------------------------------------------------------------------- (normal-top-level-add-to-load-path '("apel" "flim")) -------------------------------------------------------------------- If you are using XEmacs, there are no need of setting about load-path. How to use ========== Region ------ Command mime-encode-region (START END ENCODING) Encode region START to END of current buffer using ENCODING. Command mime-decode-region (start end encoding) Decode region START to END of current buffer using ENCODING. Command base64-encode-region (start end) Encode current region by base64. START and END are buffer positions. This function calls internal base64 encoder if size of region is smaller than `base64-internal-encoding-limit', otherwise it calls external base64 encoder specified by `base64-external-encoder'. In this case, you must install the program (maybe mmencode included in metamail or XEmacs package). Command base64-decode-region (start end) Decode current region by base64. START and END are buffer positions. This function calls internal base64 decoder if size of region is smaller than `base64-internal-decoding-limit', otherwise it calls external base64 decoder specified by `base64-external-decoder'. In this case, you must install the program (maybe mmencode included in metamail or XEmacs package). Command quoted-printable-encode-region (start end) Encode current region by quoted-printable. START and END are buffer positions. This function calls internal quoted-printable encoder if size of region is smaller than `quoted-printable-internal-encoding-limit', otherwise it calls external quoted-printable encoder specified by `quoted-printable-external-encoder'. In this case, you must install the program (maybe mmencode included in metamail or XEmacs package). Command quoted-printable-decode-region (start end) Decode current region by quoted-printable. START and END are buffer positions. This function calls internal quoted-printable decoder if size of region is smaller than `quoted-printable-internal-decoding-limit', otherwise it calls external quoted-printable decoder specified by `quoted-printable-external-decoder'. In this case, you must install the program (maybe mmencode included in metamail or XEmacs package). Command uuencode-encode-region (start end) Encode region START to END of current buffer using uuencode. Command uuencode-decode-region (start end) Decode region START to END of current buffer using uuencode. Command gzip64-encode-region (start end) Encode region START to END of current buffer using x-gzip64. Command gzip64-decode-region (start end) Decode region START to END of current buffer using x-gzip64. Variable mime-encoding-method-alist Alist of encoding vs. corresponding method to encode region. Each element looks like (STRING . FUNCTION) or (STRING . nil). STRING is content-transfer-encoding. FUNCTION is region encoder and nil means not to encode. Variable mime-decoding-method-alist Alist of encoding vs. corresponding method to decode region. Each element looks like (STRING . FUNCTION). STRING is content-transfer-encoding. FUNCTION is region decoder. File ---- Command mime-insert-encoded-file (FILENAME ENCODING) Insert file FILENAME encoded by ENCODING format. Command base64-insert-encoded-file (FILENAME) Encode contents of file FILENAME to base64, and insert the result. It calls external base64 encoder specified by `base64-external-encoder'. So you must install the program (maybe mmencode included in metamail or XEmacs package). Command quoted-printable-insert-encoded-file (FILENAME) Insert quoted-printable encoded file. Command uuencode-insert-encoded-file (FILENAME) Insert uuencode encoded file. Command gzip64-insert-encoded-file (FILENAME) Insert gzip64 encoded file. Variable mime-file-encoding-method-alist Alist of encoding vs. corresponding method to insert encoded file. Each element looks like (STRING . FUNCTION). STRING is content-transfer-encoding. FUNCTION is function to insert encoded file. String ------ Function base64-encode-string (STRING) Encode STRING to base64, and return the result. Function base64-decode-string (STRING) Decode STRING which is encoded in base64, and return the result. Function q-encoding-encode-string (STRING &optional MODE) Encode STRING to Q-encoding of encoded-word, and return the result. MODE allows `text', `comment', `phrase' or nil. Default value is `phrase'. Function q-encoding-decode-string (STRING) Decode STRING which is encoded in Q-encoding and return the result. Function base64-encoded-length (STRING) Return length of base64 encoded STRING. Function q-encoded-length (STRING &optional MODE) Return length of Q-encoding encoded STRING. MODE allows `text', `comment', `phrase' or nil. Default value is `phrase'. Bug reports =========== If you write bug-reports and/or suggestions for improvement, please send them to the tm Mailing List: bug-tm-en@chamonix.jaist.ac.jp (English) bug-tm-ja@chamonix.jaist.ac.jp (Japanese) Via the tm ML, you can report FLIM bugs, obtain the latest release of FLIM, and discuss future enhancements to FLIM. To join the tm ML, send an empty e-mail to tm-en-help@chamonix.jaist.ac.jp (English) tm-ja-help@chamonix.jaist.ac.jp (Japanese)