What's EMY? ============ EMY is a library to provide MIME feature for GNU Emacs. EMY implements SEMI API. You can use MUA conformant to SEMI API without any modification. This package will implements SEMI 1.14 API when it is defined. Right now, there's no document defines SEMI 1.13 API. Until SEMI 1.14 API is defined, EMY tries to keep same API as much as possible but something might be changed. MIME is a proposed internet standard for including content and headers other than (ASCII) plain text in messages. RFC 2045 : Internet Message Bodies RFC 2046 : Media Types RFC 2047 : Message Header Extensions RFC 2048 : MIME Registration Procedures RFC 2049 : MIME Conformance EMY has the following features: - MIME message viewer (mime-view-mode) (RFC 2045 .. 2049) - MIME message composer (mime-edit-mode) (RFC 2045 .. 2049) MIME message viewer and composer also support following features: - filename handling by Content-Disposition field (RFC 2183) - text/richtext (RFC 1521; obsolete; preview only) - text/enriched (RFC 1896) - External method configuration by mailcap (RFC 1524) Notice that this package does not contain MIME extender for any MUAs. They are released as separated packages. Required environment ==================== EMY supports XEmacs 21.1 or later with mule, and Emacs 20.4 or later. EMY does not support any other version. If you write patches to support version, those might be applied. It depends on the cleanliness of the patch. EMY requires APEL (9.20 or later) and FLIM (1.13.1 or later) package. Please install them before installing it. APEL package is available at: ftp://ftp.m17n.org/pub/mule/apel/ and FLIM package is available at: ftp://ftp.m17n.org/pub/mule/flim/flim-1.13/ Note: FLIM is also package name and API name. There's some packges such as FLAM-DOODLE and SLIM which implements FLIM API. EMY does not require any specific implementation. Installation ============ (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 EMACS=emacs-20.5 If `EMACS=...' is omitted, EMACS=emacs is used. (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 20.4 is specified, it will create the following directory tree: /usr/local/share/emacs/20.4/site-lisp/ --- emu /usr/local/share/emacs/site-lisp/apel/ --- APEL /usr/local/share/emacs/site-lisp/flim/ --- FLIM /usr/local/share/emacs/site-lisp/semi/ --- SEMI 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). If the emu modules (included in APEL package) have been installed in the non-standard directory, you should specify where they will be found, for example: % make install VERSION_SPECIFIC_LISPDIR=~/elisp (c) install as a XEmacs package If you want to install to XEmacs package directory, please do following: % make install-package You can specify the emacs command name, for example % make install-package XEMACS=xemacs-21 If `XEMACS=...' is omitted, XEMACS=xemacs is used. You can specify the package directory, for example: % make install PACKAGEDIR=~/.xemacs If `PACKAGEDIR=...' is omitted, the first existing package directory is used. Notice that XEmacs package system requires XEmacs 21.0 or later. (a,b,c) You can specify other optional settings by editing the file ${archive}/SEMI-CFG. Please read ${archive}/README.en and comments in ${archive}/SEMI-CFG. Initialization ============== (a) load-path If you are using Emacs or Mule, please add directory of emu, apel, flim and semi 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" "semi")) -------------------------------------------------------------------- If you are using XEmacs, there are no need of setting about load-path. (b) mime-setup Please insert the following into your ~/.emacs: (load "mime-setup") Documentation ============= To get started, please read ${archive}/README.en. RFC's 822, 1524, 1806, 1847, 1896, 2015, 2045, 2046, 2047, 2048 and 2049 are available via anonymous ftp: ftp://ftp.merit.edu/internet/documents/rfc/ Mailing lists ============= If you write bug-reports and/or suggestions for improvement, please send them to the EMACS-MIME Mailing List: emacs-mime-en@m17n.org (English) emacs-mime-ja@m17n.org (Japanese) Via the emacs-mime ML, you can report EMY bugs, obtain the latest release of EMY, and discuss future enhancements to EMY. To join the emacs-mime ML, send a e-mail with help in the body of your message to emacs-mime-en-ctl@m17n.org (English) emacs-mime-ja-ctl@m17n.org (Japanese) Notice that you should not send mail to author(s), such as morioka@jaist.ac.jp, directly. Because your problem may occur in other environments (if not, it might be your problem, not bug of EMY). We should discuss in the emacs-mime mailing lists. Anyway direct-mail for authors might be ignored. Please send mail to the EMACS-MIME mailing lists. CVS based development ===================== If you would like to join CVS based development, please send mail to cvs@cvs.m17n.org with your account name and your public key for ssh. cvsroot is :ext:cvs@cvs.m17n.org:/cvs/root. If you cannot use ssh, please send UNIX /etc/passwd style crypted password. you can commit with the cvsroot :pserver:@cvs.m17n.org:/cvs/root. We hope you will join the open development. Authors ======= Original authors MORIOKA Tomohiko (the author of mime-view and various parts of SEMI) UMEDA Masanobu (the author of mime.el of emacs-mime-tools. mime.el is the origin of mime-edit.el of SEMI) Other authors Shuhei KOBAYASHI (a major author of signature.el and a lot of codes) MASUTANI Yasuhiro (anonymous ftp codes of mime-play.el) OKABE Yasuo (a major author of mime-partial.el and signature.el) Steinar Bang Steven L. Baur Kevin Broadey Alastair Burt Eric Ding Thierry Emery Simon Josefsson Jens Lautenbacher Carsten Leonhardt Pekka Marjola Hisashi Miyashita Kazuhiro Ohta Alexandre Oliva François Pinard Artur Pioro Dan Rich (contribute to evolve mime-image.el with XEmacs) Katsumi Yamaoka