1 [README for APEL (English Version)]
6 APEL stands for "A Portable Emacs Library". It consists of
9 poe.el --- emulation module mainly for basic functions and special
10 forms/macros of latest emacsen
11 poe-xemacs.el --- for XEmacs
12 poe-19.el --- for Emacs 19
13 poe-18.el --- for Emacs 18/Nemacs
14 env.el --- env.el for Emacs 18
16 poem.el --- provide basic functions to write portable MULE
18 poem-nemacs.el --- for Nemacs
19 poem-ltn1.el --- for Emacs 19/XEmacs without MULE
20 poem-om.el --- for MULE 1.*, 2.*
21 poem-20.el --- shared module between Emacs 20 and XEmacs-MULE
22 poem-e20_2.el --- for Emacs 20.1/20.2
23 poem-e20_3.el --- for Emacs 20.3
24 poem-xm.el --- for XEmacs-MULE
26 mcharset.el --- provide MIME charset related features
27 mcs-nemacs.el --- for Nemacs
28 mcs-ltn1.el --- for Emacs 19/XEmacs without MULE
29 mcs-om.el --- for MULE 1.*, 2.*
30 mcs-20.el --- shared module between Emacs 20 and XEmacs-MULE
31 mcs-e20.el --- for Emacs 20
32 mcs-xm.el --- for XEmacs-MULE
34 broken.el --- provide information of broken facilities of Emacs.
36 pccl.el --- utility to write portable CCL program
37 pccl-om.el --- for MULE 1.*, 2.*
38 pccl-20.el --- for Emacs 20/XEmacs-MULE
40 alist.el: utility for Association-list
42 calist.el: utility for condition tree and
43 condition/situation-alist
45 path-util.el: utility for path management or file detection
47 filename.el: utility to make file-name
49 install.el: utility to install emacs-lisp package
51 mule-caesar.el: ROT 13-47-48 Caesar rotation utility
53 emu.el --- (emu bundled in tm-7.106 compatibility module; it
54 required poe, poem and mcharset)
55 emu-mule: for MULE 1.*, 2.*
56 richtext.el --- text/richtext module
57 for Emacs 19.29 or later,
59 tinyrich.el --- text/richtext module for old emacsen
65 (a) run in expanded place
67 If you don't want to install other directories, please do only
72 You can specify the emacs command name, for example
76 If `EMACS=...' is omitted, EMACS=emacs is used.
80 If you want to install other directories, please do following:
84 You can specify the emacs command name, for example
86 % make install EMACS=xemacs
88 If `EMACS=...' is omitted, EMACS=emacs is used.
90 You can specify the prefix of the directory tree for Emacs Lisp
91 programs and shell scripts, for example:
93 % make install PREFIX=~/
95 If `PREFIX=...' is omitted, the prefix of the directory tree of the
96 specified emacs command is used (perhaps /usr/local).
98 For example, if PREFIX=/usr/local and Emacs 20.2 is specified, it
99 will create the following directory tree:
101 /usr/local/share/emacs/20.2/site-lisp/ --- emu
102 /usr/local/share/emacs/site-lisp/apel/ --- APEL
104 You can specify other optional settings by editing the file
105 APEL-CFG. Please read comments in it.
107 (c) install as a XEmacs package
109 If you want to install to XEmacs package directory, please do
112 % make install-package
114 You can specify the emacs command name, for example
116 % make install-package XEMACS=xemacs-21
118 If `XEMACS=...' is omitted, XEMACS=xemacs is used.
120 You can specify the package directory, for example:
122 % make install PACKAGEDIR=~/.xemacs
124 If `PACKAGEDIR=...' is omitted, the first existing package
127 Notice that XEmacs package system requires XEmacs 21.0 or later.
130 load-path (for Emacs or MULE)
131 =============================
133 If you are using Emacs or Mule, please add directory of apel to
134 load-path. If you install by default setting, you can write
135 subdirs.el for example:
137 --------------------------------------------------------------------
138 (normal-top-level-add-to-load-path '("apel"))
139 --------------------------------------------------------------------
141 If you are using XEmacs, there are no need of setting about
151 Function put-alist (ITEM VALUE ALIST)
153 Modify ALIST to set VALUE to ITEM. If there is a pair whose car is
154 ITEM, replace its cdr by VALUE. If there is not such pair, create
155 new pair (ITEM . VALUE) and return new alist whose car is the new
156 pair and cdr is ALIST.
158 Function del-alist (ITEM ALIST)
160 If there is a pair whose key is ITEM, delete it from ALIST.
162 Function set-alist (SYMBOL ITEM VALUE)
164 Modify a alist indicated by SYMBOL to set VALUE to ITEM.
166 Ex. (set-alist 'auto-mode-alist "\\.pln$" 'text-mode)
168 Function modify-alist (MODIFIER DEFAULT)
170 Modify alist DEFAULT into alist MODIFIER.
172 Function set-modified-alist (SYMBOL MODIFIER)
174 Modify a value of a SYMBOL into alist MODIFIER. The SYMBOL should
175 be alist. If it is not bound, its value regard as nil.
180 Function add-path (PATH &rest OPTIONS)
182 Add PATH to `load-path' if it exists under `default-load-path'
183 directories and it does not exist in `load-path'.
185 You can use following PATH styles:
187 load-path relative: "PATH" (it is searched from
190 home directory relative: "~/PATH" "~USER/PATH"
192 absolute path: "/FOO/BAR/BAZ"
194 You can specify following OPTIONS:
196 'all-paths --- search from `load-path' instead of
199 'append --- add PATH to the last of `load-path'
201 Function add-latest-path (PATTERN &optional ALL-PATHS)
203 Add latest path matched by regexp PATTERN to `load-path' if it
204 exists under `default-load-path' directories and it does not exist
207 For example, if there is bbdb-1.50 and bbdb-1.51 under site-lisp,
208 and if bbdb-1.51 is newer than bbdb-1.50, and site-lisp is
209 /usr/local/share/emacs/site-lisp,
213 it adds "/usr/local/share/emacs/site-lisp/bbdb-1.51" to top of
216 If optional argument ALL-PATHS is specified, it is searched from all
217 of `load-path' instead of `default-load-path'.
219 Function get-latest-path (PATTERN &optional ALL-PATHS)
221 Return latest directory in default-load-path which is matched to
222 regexp PATTERN. If optional argument ALL-PATHS is specified, it is
223 searched from all of load-path instead of default-load-path.
225 Ex. (let ((gnus-path (get-latest-path "gnus")))
226 (add-path (expand-file-name "lisp" gnus-path))
227 (add-to-list 'Info-default-directory-list
228 (expand-file-name "texi" gnus-path))
231 Function file-installed-p (FILE &optional PATHS)
233 Return absolute-path of FILE if FILE exists in PATHS. If PATHS is
234 omitted, `load-path' is used.
236 Function exec-installed-p (FILE &optional PATHS SUFFIXES)
238 Return absolute-path of FILE if FILE exists in PATHS. If PATHS is
239 omitted, `exec-path' is used. If suffixes is omitted,
240 `exec-suffix-list' is used.
242 Function module-installed-p (MODULE &optional PATHS)
244 Return non-nil if module is provided or exists in PATHS. If PATHS
245 is omitted, `load-path' is used.
250 Function replace-as-filename (string)
252 Return safety file-name from STRING.
254 It refers variable `filename-filters'. It is list of functions for
255 file-name filter. Default filter refers following variables:
257 Variable filename-limit-length
259 Limit size of file-name.
261 Variable filename-replacement-alist
263 Alist list of characters vs. string as replacement. List of
264 characters represents characters not allowed as file-name.
270 If you write bug-reports and/or suggestions for improvement, please
271 send them to the tm Mailing List:
273 bug-tm-en@chamonix.jaist.ac.jp (English)
274 bug-tm-ja@chamonix.jaist.ac.jp (Japanese)
276 Via the tm ML, you can report APEL bugs, obtain the latest release
277 of APEL, and discuss future enhancements to APEL. To join the tm
278 ML, send an empty e-mail to
280 tm-en-help@chamonix.jaist.ac.jp (English)
281 tm-ja-help@chamonix.jaist.ac.jp (Japanese)