1 [README for APEL (English Version)]
2 by MORIOKA Tomohiko <morioka@jaist.ac.jp>
7 APEL stands for "A Portable Emacs Library". It consists of
10 poe.el --- emulation module mainly for basic functions and special
11 forms/macros of latest emacsen
12 poe-xemacs.el --- for XEmacs
13 poe-19.el --- for Emacs 19
14 poe-18.el --- for Emacs 18/Nemacs
15 env.el --- env.el for Emacs 18
17 poem.el --- provide basic functions to write portable MULE
19 poem-nemacs.el --- for Nemacs
20 poem-ltn1.el --- for Emacs 19/XEmacs without MULE
21 poem-om.el --- for MULE 1.*, 2.*
22 poem-20.el --- shared module between Emacs 20 and XEmacs-MULE
23 poem-e20_2.el --- for Emacs 20.1/20.2
24 poem-e20_3.el --- for Emacs 20.3
25 poem-xm.el --- for XEmacs-MULE
27 mcharset.el --- provide MIME charset related features
28 mcs-nemacs.el --- for Nemacs
29 mcs-ltn1.el --- for Emacs 19/XEmacs without MULE
30 mcs-om.el --- for MULE 1.*, 2.*
31 mcs-20.el --- shared module between Emacs 20 and XEmacs-MULE
32 mcs-e20.el --- for Emacs 20
33 mcs-xm.el --- for XEmacs-MULE
35 pccl.el --- utility to write portable CCL program
36 pccl-om.el --- for MULE 1.*, 2.*
37 pccl-20.el --- for Emacs 20/XEmacs-MULE
39 emu.el --- (emu bundled in tm-7.106 compatibility module; it
40 required poe, poem and mcharset)
41 emu-mule: for MULE 1.*, 2.*
42 richtext.el --- text/richtext module
43 for Emacs 19.29 or later,
45 tinyrich.el --- text/richtext module for old emacsen
47 alist.el: utility for Association-list
49 calist.el: utility for condition tree and
50 condition/situation-alist
52 path-util.el: utility for path management or file detection
54 filename.el: utility to make file-name
56 install.el: utility to install emacs-lisp package
58 mule-caesar.el: ROT 13-47-48 Caesar rotation utility
64 (a) run in expanded place
66 If you don't want to install other directories, please do only
71 You can specify the emacs command name, for example
75 If `EMACS=...' is omitted, EMACS=emacs is used.
79 If you want to install other directories, please do following:
83 You can specify the emacs command name, for example
85 % make install EMACS=xemacs
87 If `EMACS=...' is omitted, EMACS=emacs is used.
89 You can specify the prefix of the directory tree for Emacs Lisp
90 programs and shell scripts, for example:
92 % make install PREFIX=~/
94 If `PREFIX=...' is omitted, the prefix of the directory tree of the
95 specified emacs command is used (perhaps /usr/local).
97 For example, if PREFIX=/usr/local and Emacs 20.2 is specified, it
98 will create the following directory tree:
100 /usr/local/share/emacs/20.2/site-lisp/ --- emu
101 /usr/local/share/emacs/site-lisp/apel/ --- APEL
103 You can specify other optional settings by editing the file
104 APEL-CFG. Please read comments in it.
106 (c) install as a XEmacs package
108 If you want to install to XEmacs package directory, please do
111 % make install-package
113 You can specify the emacs command name, for example
115 % make install-package XEMACS=xemacs-21
117 If `XEMACS=...' is omitted, XEMACS=xemacs is used.
119 You can specify the package directory, for example:
121 % make install PACKAGEDIR=~/.xemacs
123 If `PACKAGEDIR=...' is omitted, the first existing package
126 Notice that XEmacs package system requires XEmacs 21.0 or later.
129 load-path (for Emacs or MULE)
130 =============================
132 If you are using Emacs or Mule, please add directory of apel to
133 load-path. If you install by default setting, you can write
134 subdirs.el for example:
136 --------------------------------------------------------------------
137 (normal-top-level-add-to-load-path '("apel"))
138 --------------------------------------------------------------------
140 If you are using XEmacs, there are no need of setting about
150 Function put-alist (ITEM VALUE ALIST)
152 Modify ALIST to set VALUE to ITEM. If there is a pair whose car is
153 ITEM, replace its cdr by VALUE. If there is not such pair, create
154 new pair (ITEM . VALUE) and return new alist whose car is the new
155 pair and cdr is ALIST.
157 Function del-alist (ITEM ALIST)
159 If there is a pair whose key is ITEM, delete it from ALIST.
161 Function set-alist (SYMBOL ITEM VALUE)
163 Modify a alist indicated by SYMBOL to set VALUE to ITEM.
165 Ex. (set-alist 'auto-mode-alist "\\.pln$" 'text-mode)
167 Function modify-alist (MODIFIER DEFAULT)
169 Modify alist DEFAULT into alist MODIFIER.
171 Function set-modified-alist (SYMBOL MODIFIER)
173 Modify a value of a SYMBOL into alist MODIFIER. The SYMBOL should
174 be alist. If it is not bound, its value regard as nil.
179 Function add-path (PATH &rest OPTIONS)
181 Add PATH to `load-path' if it exists under `default-load-path'
182 directories and it does not exist in `load-path'.
184 You can use following PATH styles:
186 load-path relative: "PATH" (it is searched from
189 home directory relative: "~/PATH" "~USER/PATH"
191 absolute path: "/FOO/BAR/BAZ"
193 You can specify following OPTIONS:
195 'all-paths --- search from `load-path' instead of
198 'append --- add PATH to the last of `load-path'
200 Function add-latest-path (PATTERN &optional ALL-PATHS)
202 Add latest path matched by regexp PATTERN to `load-path' if it
203 exists under `default-load-path' directories and it does not exist
206 For example, if there is bbdb-1.50 and bbdb-1.51 under site-lisp,
207 and if bbdb-1.51 is newer than bbdb-1.50, and site-lisp is
208 /usr/local/share/emacs/site-lisp,
212 it adds "/usr/local/share/emacs/site-lisp/bbdb-1.51" to top of
215 If optional argument ALL-PATHS is specified, it is searched from all
216 of `load-path' instead of `default-load-path'.
218 Function get-latest-path (PATTERN &optional ALL-PATHS)
220 Return latest directory in default-load-path which is matched to
221 regexp PATTERN. If optional argument ALL-PATHS is specified, it is
222 searched from all of load-path instead of default-load-path.
224 Ex. (let ((gnus-path (get-latest-path "gnus")))
225 (add-path (expand-file-name "lisp" gnus-path))
226 (add-to-list 'Info-default-directory-list
227 (expand-file-name "texi" gnus-path))
230 Function file-installed-p (FILE &optional PATHS)
232 Return absolute-path of FILE if FILE exists in PATHS. If PATHS is
233 omitted, `load-path' is used.
235 Function exec-installed-p (FILE &optional PATHS SUFFIXES)
237 Return absolute-path of FILE if FILE exists in PATHS. If PATHS is
238 omitted, `exec-path' is used. If suffixes is omitted,
239 `exec-suffix-list' is used.
241 Function module-installed-p (MODULE &optional PATHS)
243 Return non-nil if module is provided or exists in PATHS. If PATHS
244 is omitted, `load-path' is used.
249 Function replace-as-filename (string)
251 Return safety file-name from STRING.
253 It refers variable `filename-filters'. It is list of functions for
254 file-name filter. Default filter refers following variables:
256 Variable filename-limit-length
258 Limit size of file-name.
260 Variable filename-replacement-alist
262 Alist list of characters vs. string as replacement. List of
263 characters represents characters not allowed as file-name.
269 If you write bug-reports and/or suggestions for improvement, please
270 send them to the tm Mailing List:
272 bug-tm-en@chamonix.jaist.ac.jp (English)
273 bug-tm-ja@chamonix.jaist.ac.jp (Japanese)
275 Via the tm ML, you can report APEL bugs, obtain the latest release
276 of APEL, and discuss future enhancements to APEL. To join the tm
277 ML, send an empty e-mail to
279 tm-en-help@chamonix.jaist.ac.jp (English)
280 tm-ja-help@chamonix.jaist.ac.jp (Japanese)