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 broken.el --- provide information of broken facilities of Emacs.
41 emu.el --- (emu bundled in tm-7.106 compatibility module; it
42 required poe, poem and mcharset)
43 emu-mule: for MULE 1.*, 2.*
44 richtext.el --- text/richtext module
45 for Emacs 19.29 or later,
47 tinyrich.el --- text/richtext module for old emacsen
49 alist.el: utility for Association-list
51 calist.el: utility for condition tree and
52 condition/situation-alist
54 path-util.el: utility for path management or file detection
56 filename.el: utility to make file-name
58 install.el: utility to install emacs-lisp package
60 mule-caesar.el: ROT 13-47-48 Caesar rotation utility
66 (a) run in expanded place
68 If you don't want to install other directories, please do only
73 You can specify the emacs command name, for example
77 If `EMACS=...' is omitted, EMACS=emacs is used.
81 If you want to install other directories, please do following:
85 You can specify the emacs command name, for example
87 % make install EMACS=xemacs
89 If `EMACS=...' is omitted, EMACS=emacs is used.
91 You can specify the prefix of the directory tree for Emacs Lisp
92 programs and shell scripts, for example:
94 % make install PREFIX=~/
96 If `PREFIX=...' is omitted, the prefix of the directory tree of the
97 specified emacs command is used (perhaps /usr/local).
99 For example, if PREFIX=/usr/local and Emacs 20.2 is specified, it
100 will create the following directory tree:
102 /usr/local/share/emacs/20.2/site-lisp/ --- emu
103 /usr/local/share/emacs/site-lisp/apel/ --- APEL
105 You can specify other optional settings by editing the file
106 APEL-CFG. Please read comments in it.
108 (c) install as a XEmacs package
110 If you want to install to XEmacs package directory, please do
113 % make install-package
115 You can specify the emacs command name, for example
117 % make install-package XEMACS=xemacs-21
119 If `XEMACS=...' is omitted, XEMACS=xemacs is used.
121 You can specify the package directory, for example:
123 % make install PACKAGEDIR=~/.xemacs
125 If `PACKAGEDIR=...' is omitted, the first existing package
128 Notice that XEmacs package system requires XEmacs 21.0 or later.
131 load-path (for Emacs or MULE)
132 =============================
134 If you are using Emacs or Mule, please add directory of apel to
135 load-path. If you install by default setting, you can write
136 subdirs.el for example:
138 --------------------------------------------------------------------
139 (normal-top-level-add-to-load-path '("apel"))
140 --------------------------------------------------------------------
142 If you are using XEmacs, there are no need of setting about
152 Function put-alist (ITEM VALUE ALIST)
154 Modify ALIST to set VALUE to ITEM. If there is a pair whose car is
155 ITEM, replace its cdr by VALUE. If there is not such pair, create
156 new pair (ITEM . VALUE) and return new alist whose car is the new
157 pair and cdr is ALIST.
159 Function del-alist (ITEM ALIST)
161 If there is a pair whose key is ITEM, delete it from ALIST.
163 Function set-alist (SYMBOL ITEM VALUE)
165 Modify a alist indicated by SYMBOL to set VALUE to ITEM.
167 Ex. (set-alist 'auto-mode-alist "\\.pln$" 'text-mode)
169 Function modify-alist (MODIFIER DEFAULT)
171 Modify alist DEFAULT into alist MODIFIER.
173 Function set-modified-alist (SYMBOL MODIFIER)
175 Modify a value of a SYMBOL into alist MODIFIER. The SYMBOL should
176 be alist. If it is not bound, its value regard as nil.
181 Function add-path (PATH &rest OPTIONS)
183 Add PATH to `load-path' if it exists under `default-load-path'
184 directories and it does not exist in `load-path'.
186 You can use following PATH styles:
188 load-path relative: "PATH" (it is searched from
191 home directory relative: "~/PATH" "~USER/PATH"
193 absolute path: "/FOO/BAR/BAZ"
195 You can specify following OPTIONS:
197 'all-paths --- search from `load-path' instead of
200 'append --- add PATH to the last of `load-path'
202 Function add-latest-path (PATTERN &optional ALL-PATHS)
204 Add latest path matched by regexp PATTERN to `load-path' if it
205 exists under `default-load-path' directories and it does not exist
208 For example, if there is bbdb-1.50 and bbdb-1.51 under site-lisp,
209 and if bbdb-1.51 is newer than bbdb-1.50, and site-lisp is
210 /usr/local/share/emacs/site-lisp,
214 it adds "/usr/local/share/emacs/site-lisp/bbdb-1.51" to top of
217 If optional argument ALL-PATHS is specified, it is searched from all
218 of `load-path' instead of `default-load-path'.
220 Function get-latest-path (PATTERN &optional ALL-PATHS)
222 Return latest directory in default-load-path which is matched to
223 regexp PATTERN. If optional argument ALL-PATHS is specified, it is
224 searched from all of load-path instead of default-load-path.
226 Ex. (let ((gnus-path (get-latest-path "gnus")))
227 (add-path (expand-file-name "lisp" gnus-path))
228 (add-to-list 'Info-default-directory-list
229 (expand-file-name "texi" gnus-path))
232 Function file-installed-p (FILE &optional PATHS)
234 Return absolute-path of FILE if FILE exists in PATHS. If PATHS is
235 omitted, `load-path' is used.
237 Function exec-installed-p (FILE &optional PATHS SUFFIXES)
239 Return absolute-path of FILE if FILE exists in PATHS. If PATHS is
240 omitted, `exec-path' is used. If suffixes is omitted,
241 `exec-suffix-list' is used.
243 Function module-installed-p (MODULE &optional PATHS)
245 Return non-nil if module is provided or exists in PATHS. If PATHS
246 is omitted, `load-path' is used.
251 Function replace-as-filename (string)
253 Return safety file-name from STRING.
255 It refers variable `filename-filters'. It is list of functions for
256 file-name filter. Default filter refers following variables:
258 Variable filename-limit-length
260 Limit size of file-name.
262 Variable filename-replacement-alist
264 Alist list of characters vs. string as replacement. List of
265 characters represents characters not allowed as file-name.
271 If you write bug-reports and/or suggestions for improvement, please
272 send them to the tm Mailing List:
274 bug-tm-en@chamonix.jaist.ac.jp (English)
275 bug-tm-ja@chamonix.jaist.ac.jp (Japanese)
277 Via the tm ML, you can report APEL bugs, obtain the latest release
278 of APEL, and discuss future enhancements to APEL. To join the tm
279 ML, send an empty e-mail to
281 tm-en-help@chamonix.jaist.ac.jp (English)
282 tm-ja-help@chamonix.jaist.ac.jp (Japanese)