• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

APEL-CFGH A D06-Nov-20203.1 KiB8970

APEL-ELSH A D06-Nov-2020473 2013

APEL-MKH A D06-Nov-20206.1 KiB192163

ChangeLog.1H A D06-Nov-2020126.6 KiB4,4872,730

EMU-ELSH A D06-Nov-20201.8 KiB6445

MakefileH A D06-Nov-20201 KiB5335

READMEH A D06-Nov-20201 KiB4023

README.enH A D06-Nov-202010.7 KiB382230

README.jaH A D06-Nov-202017.2 KiB454287

alist.elH A D06-Nov-20202.9 KiB10150

apel-pkg.elH A D06-Nov-2020130 43

apel-ver.elH A D06-Nov-20202.2 KiB6412

atype.elH A D06-Nov-20204.1 KiB188133

broken.elH A D06-Nov-20203.7 KiB11466

calist.elH A D06-Nov-20209.4 KiB331276

emu.elH A D06-Nov-20202.6 KiB9236

file-detect.elH A D06-Nov-20201.3 KiB403

filename.elH A D06-Nov-20204.5 KiB16096

ftp.inH A D06-Nov-2020407 1612

install.elH A D06-Nov-20206.6 KiB221140

inv-23.elH A D06-Nov-20201.7 KiB5618

invisible.elH A D06-Nov-20201.1 KiB373

make1.batH A D06-Nov-20201.3 KiB5744

makeit.batH A D06-Nov-20207.8 KiB216195

mcharset.elH A D06-Nov-20203.1 KiB9757

mcs-20.elH A D06-Nov-20207.2 KiB221156

mcs-e20.elH A D06-Nov-20205.3 KiB15386

mule-caesar.elH A D06-Nov-20202.4 KiB8150

path-util.elH A D06-Nov-20205.5 KiB200149

pccl-20.elH A D06-Nov-20204.7 KiB13887

pccl.elH A D06-Nov-20201.2 KiB427

pces-20.elH A D06-Nov-20206.3 KiB173102

pces-e20.elH A D06-Nov-20201.3 KiB448

pces.elH A D06-Nov-20201.2 KiB373

pcustom.elH A D06-Nov-20201.2 KiB352

poe.elH A D06-Nov-20208.1 KiB239130

poem-e20.elH A D06-Nov-20201.7 KiB5815

poem-e20_3.elH A D06-Nov-20201.6 KiB6212

poem.elH A D06-Nov-20201.5 KiB5614

product.elH A D06-Nov-202013.9 KiB377299

pym.elH A D06-Nov-202011.4 KiB295185

richtext.elH A D06-Nov-20205.6 KiB186118

static.elH A D06-Nov-20202.9 KiB8949

README

1-*- outline -*-
2
3[README for APEL-LB]
4
5
6* What's APEL-LB?
7
8APEL-LB is a variant of APEL.  The most remarkable feature is that it
9uses lexical binding and supports only Emacs 24.5 and later.  See
10README.[en|ja] for details of original APEL.
11
12
13* GitHub
14
15Development of APEL-LB uses Git.  The latest developing version is
16available at the following Git repository:
17
18  % git clone https://github.com/wanderlust/apel.git
19
20Or you can view the APEL-LB repository via WWW at:
21
22    https://github.com/wanderlust/apel
23
24We hope you will join the open development.
25
26
27* Bug reports
28
29If you write bug-reports and/or suggestions for improvement, please
30send them to the Wanderlust Mailing List.  See
31https://wanderlust.github.io/wl-docs/wl.html#Wanderlust-Mailing-List
32for details.
33
34Alternatively, You can also use GitHub.  If you send a pull request,
35please embed unindented ChangeLog entries in commit messages like
36Emacs's.  See "Commit messages" section of Emacs's CONTRIBUTE
37file.
38
39https://git.savannah.gnu.org/cgit/emacs.git/plain/CONTRIBUTE
40

README.en

1-*- outline -*-
2
3[README for APEL (English Version)]
4
5* What's APEL?
6
7APEL stands for "A Portable Emacs Library".  It consists of following
8modules:
9
10**  poe.el
11
12This is an emulation module mainly for basic functions and special
13forms/macros of latest emacsen.
14
15  poe-xemacs.el  --- for XEmacs
16  pym.el         --- macros for poe.
17
18** poem.el
19
20This module provides basic functions to write portable MULE programs.
21
22  poem-ltn1.el   --- for Emacs 19/XEmacs without MULE
23  poem-20.el     --- shared module between Emacs 20 and XEmacs-MULE
24  poem-e20_3.el  --- for Emacs 20.3
25  poem-xm.el     --- for XEmacs-MULE
26
27** pces.el
28
29This module provides portable character encoding scheme
30(coding-system) features.
31
32  pces-20.el     --- for Emacs 20 and XEmacs with coding-system.
33  pces-e20.el    --- for Emacs 20.
34  pces-raw.el    --- for emacsen without coding-system features.
35  pces-xfc.el    --- for XEmacs with file coding.
36  pces-xm.el     --- for XEmacs-mule.
37
38** invisible.el
39
40This modules provides features about invisible region.
41
42  inv-19.el     --- for Emacs 19
43  inv-23.el     --- for Emacs 23
44  inv-xemacs.el --- for XEmacs
45
46** mcharset.el
47
48This modules provides MIME charset related features.
49
50  mcs-ltn1.el   --- for Emacs 19/XEmacs without MULE
51  mcs-20.el     --- shared module between Emacs 20 and XEmacs-MULE
52  mcs-e20.el    --- for Emacs 20
53  mcs-xm.el     --- for XEmacs-MULE
54  mcs-xmu.el    --- for XEmacs-MULE to unify ISO646 characters
55
56** static.el --- utility for static evaluation
57
58** broken.el --- provide information of broken facilities of Emacs
59
60** pccl.el --- utility to write portable CCL program
61
62  pccl-20.el --- for Emacs 20/XEmacs-21-MULE
63
64** alist.el: utility for Association-list
65
66** calist.el: utility for condition tree and condition/situation-alist
67
68** path-util.el: utility for path management or file detection
69
70** filename.el: utility to make file-name
71
72** install.el: utility to install emacs-lisp package
73
74** mule-caesar.el: ROT 13-47-48 Caesar rotation utility
75
76** emu.el
77
78This module provides emu bundled in tm-7.106 compatibility.  It
79required poe, poem and mcharset.
80
81  richtext.el   --- text/richtext module for Emacs 19.29 or later,
82		     XEmacs 19.14 or later
83
84** pcustom.el --- provide portable custom environment
85
86** product.el --- Functions for product version information.
87
88* Installation
89
90** run in expanded place
91
92If you don't want to install other directories, please do only
93following (You can use make.bat for MS-DOS OS family.  If you want to
94use it, see `make.bat (for MS-DOS family)'):
95
96  % make
97
98You can specify the emacs command name, for example
99
100  % make EMACS=xemacs
101
102If `EMACS=...' is omitted, EMACS=emacs is used.
103
104** make install
105
106If you want to install other directories, please do following:
107
108  % make install
109
110You can specify the emacs command name, for example
111
112  % make install EMACS=xemacs
113
114If `EMACS=...' is omitted, EMACS=emacs is used.
115
116You can specify the prefix of the directory tree for Emacs Lisp
117programs and shell scripts, for example:
118
119  % make install PREFIX=~/
120
121If `PREFIX=...' is omitted, the prefix of the directory tree of the
122specified emacs command is used (perhaps /usr/local).
123
124For example, if PREFIX=/usr/local and Emacs 20.2 is specified, it
125will create the following directory tree:
126
127  /usr/local/share/emacs/20.2/site-lisp/	--- emu
128  /usr/local/share/emacs/site-lisp/apel/	--- APEL
129
130You can specify the lisp directory for Emacs Lisp programs,
131for example:
132
133  % make install LISPDIR=~/elisp
134
135You can also specify the version specific lisp directory where the
136emu modules will be installed in, for example:
137
138  % make install VERSION_SPECIFIC_LISPDIR=~/elisp
139
140If you would like to know what files belong to the emu modules or
141the apel modules, or where they will be installed in, for example,
142please type the following command.
143
144  % make what-where LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp
145
146You can specify other optional settings by editing the file
147APEL-CFG.  Please read comments in it.
148
149** install as a XEmacs package
150
151If you want to install to XEmacs package directory, please do
152following:
153
154  % make install-package
155
156You can specify the emacs command name, for example
157
158  % make install-package XEMACS=xemacs-21
159
160If `XEMACS=...' is omitted, XEMACS=xemacs is used.
161
162You can specify the package directory, for example:
163
164  % make install PACKAGEDIR=~/.xemacs
165
166If `PACKAGEDIR=...' is omitted, the first existing package
167directory is used.
168
169Notice that XEmacs package system requires XEmacs 21.0 or later.
170
171
172** make.bat (for MS-DOS family)
173
174make.bat is available for MS-DOS family.  You have to edit
175make.bat if you want to use it.  If you use cygwin environment,
176you can use make.exe and Makefile instead of make.bat.
177
178In make.bat, a line which contain `rem' in its beginning is a
179comment.  You have to insert or delete `rem', if necessary.
180
181Default setups of make.bat is;
182
183  set MEADOWVER=1.10
184  set PREFIX=c:\usr\meadow
185  set EMACS=%PREFIX%\%MEADOWVER%\bin\meadow95.exe
186  set LISPDIR=%PREFIX%\site-lisp
187  set VLISPDIR=%PREFIX%\%MEADOWVER%\site-lisp
188
189It assumes that meadow executable binary exists in
190c:\usr\meadow\1.10\bin\meadow95.exe.  On such basis make.bat will
191try to install meadow version independent modules of APEL to;
192
193  c:\usr\meadow\site-lisp
194
195and meadow version dependent modules to;
196
197  c:\usr\meadow\1.10\site-lisp
198
199Please edit make.bat for your own environment and run make.bat
200
201Emacs 19.3x or earlier does not have (e.x. Mule for Windows based on
20219.28) an Emacs version dependent site-lisp directory
203(e.x. c:\usr\meadow\1.10\site-lisp), and its load-path does not refer
204to such directory by default.  If you want install APEL to such an Emacs
205you may install all APEL modules to an Emacs version independent
206site-lisp directory such as c:\usr\mule\site-lisp.
207
208We cannot provide you with a Demacs example for make.bat.  If you
209install APEL to Demacs, please send us such an example to
210apel-en@lists.chise.org (you can post a message to the ML, even if you
211are not a member).
212
213
214* load-path (for Emacs or MULE)
215
216If you are using Emacs or Mule, please add directory of apel to
217load-path.  If you install by default setting with Emacs 19.29 or
218later or Emacs 20.1/20.2, you can write subdirs.el for example:
219
220--------------------------------------------------------------------
221(normal-top-level-add-to-load-path '("apel"))
222--------------------------------------------------------------------
223
224If you are using Emacs 20.3 or later or XEmacs, there are no need to
225set up load-path with normal installation.
226
227
228* How to use
229
230** alist
231
232*** Function put-alist (ITEM VALUE ALIST)
233
234Modify ALIST to set VALUE to ITEM.  If there is a pair whose car is
235ITEM, replace its cdr by VALUE.  If there is not such pair, create
236new pair (ITEM . VALUE) and return new alist whose car is the new
237pair and cdr is ALIST.
238
239*** Function del-alist (ITEM ALIST)
240
241If there is a pair whose key is ITEM, delete it from ALIST.
242
243*** Function set-alist (SYMBOL ITEM VALUE)
244
245Modify a alist indicated by SYMBOL to set VALUE to ITEM.
246
247  Ex. (set-alist 'auto-mode-alist "\\.pln$" 'text-mode)
248
249*** Function modify-alist (MODIFIER DEFAULT)
250
251Modify alist DEFAULT into alist MODIFIER.
252
253*** Function set-modified-alist (SYMBOL MODIFIER)
254
255Modify a value of a SYMBOL into alist MODIFIER.  The SYMBOL should be
256alist. If it is not bound, its value regard as nil.
257
258** path-util
259
260*** Function add-path (PATH &rest OPTIONS)
261
262Add PATH to `load-path' if it exists under `default-load-path'
263directories and it does not exist in `load-path'.
264
265You can use following PATH styles:
266
267  load-path relative: "PATH" (it is searched from `default-load-path')
268
269  home directory relative: "~/PATH" "~USER/PATH"
270
271  absolute path: "/FOO/BAR/BAZ"
272
273You can specify following OPTIONS:
274
275  'all-paths --- search from `load-path' instead of
276                 `default-load-path'
277
278  'append --- add PATH to the last of `load-path'
279
280*** Function add-latest-path (PATTERN &optional ALL-PATHS)
281
282Add latest path matched by regexp PATTERN to `load-path' if it
283exists under `default-load-path' directories and it does not exist
284in `load-path'.
285
286For example, if there is bbdb-1.50 and bbdb-1.51 under site-lisp,
287and if bbdb-1.51 is newer than bbdb-1.50, and site-lisp is
288/usr/local/share/emacs/site-lisp,
289
290  (add-latest-path "bbdb")
291
292it adds "/usr/local/share/emacs/site-lisp/bbdb-1.51" to top of
293`load-path'.
294
295If optional argument ALL-PATHS is specified, it is searched from all
296of `load-path' instead of `default-load-path'.
297
298*** Function get-latest-path (PATTERN &optional ALL-PATHS)
299
300Return latest directory in default-load-path which is matched to
301regexp PATTERN.  If optional argument ALL-PATHS is specified, it is
302searched from all of load-path instead of default-load-path.
303
304  Ex. (let ((gnus-path (get-latest-path "gnus")))
305        (add-path (expand-file-name "lisp" gnus-path))
306        (add-to-list 'Info-default-directory-list
307		     (expand-file-name "texi" gnus-path)))
308
309*** Function file-installed-p (FILE &optional PATHS)
310
311Return absolute-path of FILE if FILE exists in PATHS.  If PATHS is
312omitted, `load-path' is used.
313
314*** Function exec-installed-p (FILE &optional PATHS SUFFIXES)
315
316Return absolute-path of FILE if FILE exists in PATHS.  If PATHS is
317omitted, `exec-path' is used.  If SUFFIXES is omitted,
318`exec-suffix-list' is used.
319
320*** Function module-installed-p (MODULE &optional PATHS)
321
322Return non-nil if MODULE is provided or exists in PATHS.  If PATHS is
323omitted, `load-path' is used.
324
325** filename
326
327*** Function replace-as-filename (string)
328
329Return safety file-name from STRING.
330
331It refers variable `filename-filters'.  It is list of functions for
332file-name filter.  Default filter refers following variables:
333
334**** Variable filename-limit-length
335
336Limit size of file-name.
337
338**** Variable filename-replacement-alist
339
340Alist list of characters vs. string as replacement.  List of
341characters represents characters not allowed as file-name.
342
343
344* Bug reports
345
346If you write bug-reports and/or suggestions for improvement, please
347send them to the APEL Mailing List:
348
349  apel-en@lists.chise.org	(English)
350  apel-ja@lists.chise.org	(Japanese)
351
352Via the APEL ML, you can report APEL bugs, obtain the latest release
353of APEL, and discuss future enhancements to APEL.  To join the APEL
354ML, please see the descriptions of the following pages:
355
356  http://lists.chise.org/mailman/listinfo/apel-en	(English)
357  http://lists.chise.org/mailman/listinfo/apel-ja	(Japanese)
358
359
360* Download
361
362The latest release of APEL can be obtained from:
363
364    http://git.chise.org/elisp/dist/apel/
365
366
367* Git
368
369Development of APEL uses Git.  So the latest developing version is
370available at the following Git repository:
371
372  % git clone http://git.chise.org/git/elisp/apel.git
373
374Or you can view the APEL repository via WWW at:
375
376    http://git.chise.org/gitweb/?p=elisp/apel.git
377
378If you would like to join Git based development, please declare it in
379the APEL mailing list.
380
381We hope you will join the open development.
382

README.ja

1-*- outline -*-
2
3[APEL の README (日本語版)]
4
5* APEL とは?
6
7APEL は "A Portable Emacs Library." の略です。これは以下のモジュールで
8構成されています:
9
10** poe.el
11
12主に最新の emacs 環境のための基礎的な関数と特殊形式/マクロの emulation
13のモジュール。
14
15  poe-xemacs.el  --- XEmacs用
16  pym.el         --- poe のための macros
17
18** poem.el
19
20移植性の高い MULE プログラムを書くための基礎的な関数を提供する。
21
22  poem-ltn1.el   --- MULE なし Emacs 19/XEmacs 用
23  poem-20.el     --- Emacs 20 と XEmacs-MULE の共有モジュール
24  poem-e20_3.el  --- Emacs 20.3 用
25  poem-xm.el     --- XEmacs-MULE 用
26
27** pces.el
28
29移植性の高い character encoding スキーム (coding-system) を提供する。
30
31  pces-20.el     --- coding-system 機能を持つ Emacs 20 and XEmacs 用
32  pces-e20.el    --- Emacs 20 用
33  pces-raw.el    --- coding-system 機能を持たない emacsen 用
34  pces-xfc.el    --- file coding 機能を持つ XEmacs 用
35  pces-xm.el     --- XEmacs-mule 用
36
37** invisible.el --- 不可視 region に関する機能を提供する
38
39  inv-19.el     --- for Emacs 19
40  inv-23.el     --- for Emacs 23
41  inv-xemacs.el --- for XEmacs
42
43** mcharset.el --- MIME charset 関連の機能を提供する
44
45  mcs-ltn1.el   --- MULE Emacs 19/XEmacs 用
46  mcs-20.el     --- Emacs 20 と XEmacs-MULE 用の共有モジュール
47  mcs-e20.el    --- Emacs 20 用
48  mcs-xm.el     --- XEmacs-MULE 用
49  mcs-xmu.el    --- XEmacs-MULE 用 (ISO646 文字の単一化)
50
51** static.el --- 静的評価のためのユーティリティー
52
53** broken.el --- Emacs の壊れている機能の情報を提供する
54
55** pccl.el --- 移植可能な CCL プログラムを書くためのユーティリティー
56
57  pccl-20.el --- Emacs 20/XEmacs-21-MULE 用
58
59** alist.el: 連想リストのためのユーティリティー
60
61** calist.el: 状態木と状態/状況連想リスト用のユーティリティー
62
63** path-util.el: パス管理とファイル探索のためのユーティリティー
64
65** filename.el:ファイル名を作るためのユーティリティ
66
67** install.el: emacs-lisp パッケージインストールするためのユーティリティー
68
69** mule-caesar.el: ROT 13-47-48 Caesar 変換のユーティリティー
70
71** emu.el
72
73tm-7.106 に入っていた emu との互換性を保つためのモジュール。poe, poem,
74mcharset を require する。
75
76  richtext.el   --- Emacs 19.29 かそれ以降 XEmacs 19.14 かそれ以降のた
77                    めの text/richtext モジュール
78
79** pcustom.el --- 移植性の高い custom 環境を提供する
80
81** product.el --- プロダクトのバージョン情報のための機能を提供するモジュール。
82
83
84* インストール
85
86** 展開した場所で実行
87
88他のディレクトリーにインストールしたくないなら、以下のことだけをやって
89ください (MS-DOS 系の OS のために MAKEIT.BAT が用意されています。
90MAKEIT.BAT の利用については下記「MAKEIT.BAT を利用する (MS-DOS 系 OS
91の場合)」を参照して下さい)。:
92
93  % make
94
95emacs のコマンド名を指定することができます。例えば、
96
97  % make EMACS=xemacs
98
99`EMACS=...' が省略されると、Emacs=emacs が使われます。
100
101** make install
102
103他のディレクトリーにインストールしたいなら、以下のことをしてください:
104
105  % make install
106
107emacs のコマンド名を指定することができます。例えば、
108
109  % make install EMACS=xemacs
110
111`EMACS=...' が省略されると、Emacs=emacs が使われます。
112
113Emacs Lisp プログラムとシェルスクリプトのためのディレクトリー木の接頭
114辞 (prefix) を指定することができます。例えば、
115
116  % make install PREFIX=~/
117
118`PREFIX=...' が省略されると、指定された emacs コマンドのディレクトリー
119木の接頭辞が使用されます (おそらく /usr/local です)。
120
121例えば、PREFIX=/usr/local と Emacs 20.2 が指定されれば、以下のディレク
122トリー木が作成されます。
123
124  /usr/local/share/emacs/20.2/site-lisp/	--- emu
125  /usr/local/share/emacs/site-lisp/apel/	--- APEL
126
127Emacs Lisp プログラムのための lisp ディレクトリーを指定することができ
128ます。例えば、:
129
130  % make install LISPDIR=~/elisp
131
132emu モジュールがインストールされる、バージョン特有の lisp ディレクトリー
133を指定することもできます。例えば、:
134
135  % make install VERSION_SPECIFIC_LISPDIR=~/elisp
136
137どのファイルが emu モジュールか apel モジュールの一部なのか、それらが
138どこにインストールされるかを知りたいときは、次のようなコマンドを入力す
139ることができます。
140
141  % make what-where LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp
142
143ファイル APEL-CFG を編集することで他の選択自由な設定を指定することがで
144きます。その中のコメントを読んでください。
145
146** XEmacs のパッケージとしてインストールする
147
148XEmacs のパッケージディレクトリーにインストールする場合は、以下のこと
149をしてください:
150
151  % make install-package
152
153emacs のコマンド名を指定することができます。例えば、
154
155  % make install-package XEMACS=xemacs-21
156
157`XEMACS=...' が省略されると、XEMACS=xemacs が使用されます。
158
159パッケージのディレクトリーを指定することができます。例えば:
160
161  % make install PACKAGEDIR=~/.xemacs
162
163`PACKAGEDIR=...' が省略されると、存在するパッケージディレクトリーの最
164初のものが使われます。
165
166XEmacs のパッケージシステムは XEmacs 21.0 かそれ以降を要求することに注
167意してください。
168
169** MAKEIT.BAT を利用する (MS-DOS 系 OS の場合)
170
171MS-DOS 系の OS のために MAKEIT.BATMAKE1.BAT が用意されています
172(cygwin 環境を利用している方は make.exe と Makefile を利用することがで
173きます)。MAKEIT.BAT は、インストールの環境変数を設定した後に MAKE1.BAT
174を呼出します。MAKE1.BAT によって実際のインストールに必要なコマンドが実
175行されます。
176
177これらを利用するには MAKEIT.BAT を編集することが必要です。安全のためす
178べての環境変数のデフォルトの値は空文字列になっています。お使いのシステ
179ムにあわせてこれらの変数を指定してください。
180
181開発、動作確認が Windows でしか行なわれていないため、古いバージョンの
182DOS では動作しない可能性があります。不都合を発見した方は
183apel-ja@lists.chise.org までご連絡下さい。
184
185*** MAKEIT.BAT の編集
186
187DOS のバッチファイルの中では `rem' が行頭にある行はコメントとして扱わ
188れます。必要に応じ、MAKEIT.BAT の各行頭に `rem' を挿入したり、または削
189除したりして下さい。
190
191また、バッチファイル内の `%変数名%' は実行時の環境変数の値と置き換えら
192れます。
193
194c:\usr\Meadow にインストールされている 1.10 の Meadow を使用
195している場合の変数設定の例を挙げます。
196
197  set PREFIX=c:\usr\Meadow
198  set EMACS=%PREFIX%\1.10\bin\meadow95.exe
199  set EXEC_PREFIX=
200  set LISPDIR=%PREFIX%\site-lisp
201  set VERSION_SPECIFIC_LISPDIR=%PREFIX%\1.10\site-lisp
202  set DEFAULT_MAKE_ARG=elc
203
204上記の例では、meadow のバイナリが c:\usr\Meadow\1.10\bin\meadow95.exe
205にインストールされていることを前提にしています。その前提に基づき、APEL
206のモジュールのうち、meadow のバージョンに依存しないモジュールを
207
208  c:\usr\Meadow\site-lisp
209
210に、バージョンに依存するモジュールを
211
212  c:\usr\Meadow\1.10\site-lisp
213
214にインストールしようとします。
215
21619.3x 以前の Emacs (例えば 19.28 ベースの Mule for Windows) にはバージョ
217ン依存の site-lisp ディレクトリ (上記の例で言えば
218c:\usr\Meadow\1.10\site-lisp) が存在せず、ディフォルトでは load-path も
219通っていません。この場合は c:\usr\mule\site-lisp などのバージョン非依存
220の site-lisp ディレクトリに APEL の全てのモジュールを入れれば良いでしょ
221う。
222
223Demacs の設定例を準備することができませんでした。Demacs に APEL をイン
224ストールした方は、設定例を apel-ja@lists.chise.org に送って下さい (非
225購読者でも送信はできます)。
226
227
228*** MAKEIT.BAT の編集の際、知っておくと便利な Tips
229
230引数を指定しないで MAKEIT.BAT を実行させると、DEFAULT_MAKE_ARG に指定
231されている target が実行されます (ディフォルトは安全のために target が
232空になっており、メッセージだけ吐いて止まるようになってます)。
233
234MAKEIT.BAT を編集して、
235
236  set DEFAULT_MAKE_ARG=install
237
238と記述しておくことで、MAKEIT.BAT をダブルクリックするだけでインストー
239ルすることができます。
240
241MAKEIT.BAT は、下記のいずれかのファイルが存在するときは、そのファイル
242の設定を優先して読み込むので、適宜編集した MAKEIT.BAT は下記のいずれか
243のファイルとして、コピーしてキープしておくと、アップグレードの際に
244MAKEIT.BAT を再編集する必要がなく便利です。
245
246優先順に並べると下記のようになります。下記の 1-x は apel 専用、2-x は
247同種の MAKEIT.BAT を利用している cmail, skk と共通して利用することがで
248きます。
249
250  1-1. %HOME%\.elispmk.apel.bat
251  1-2. %HOME%\elisp\elispmk.apel.bat
252  1-3. %HOME%\config\elispmk.apel.bat
253  1-4. c:\Program Files\Meadow\elispmk.apel.bat
254  1-5. c:\Meadow\elispmk.apel.bat
255  1-6. d:\Meadow\elispmk.apel.bat
256
257  2-1. %HOME%\.elispmk.bat
258  2-2. %HOME%\elisp\elispmk.bat
259  2-3. %HOME%\config\elispmk.bat
260  2-4. c:\Program Files\Meadow\elispmk.bat
261  2-5. c:\Meadow\elispmk.bat
262  2-6. d:\Meadow\elispmk.bat
263
264*** バッチファイル実行時の注意
265
266MAKEIT.BAT, MAKE1.BAT は環境変数を利用しているために、実行時に環境変数
267のためのメモリ割当てができずに、エラーになることがあります。Windows を
268利用している場合は、DOSPROMPT のプロパティで環境変数の初期サイズが「自
269動」になっていると、環境変数が設定できないというエラーが出るので、適当
270な値 (2048 など) を入れておく必要があります。non Windows の DOS の場合
271は、config.sys272
273   SHELL=C:\COMMAND.COM /E:4096 /P
274
275などと書き、環境変数に割当て可能なメモリを確保します。DOS のバージョン
276によって /E:nnn で指定できる環境変数領域のサイズの制約が異なり、指定の
277仕方が違ったり、特定の値を指定すると不具合を生じる可能性があるので詳し
278くはご利用の version のマニュアル等をご覧下さい。
279
280* load-path(Emacs と MULE の場合)
281
282もし Emacs もしくは Mule をお使いなら、APEL を install した場所を
283load-path に追加してください。もし Emacs 19.29 以降または Emacs 20.1,
28420.2 を使って初期設定でインストールしたのなら、次のように subdirs.el
285を書くことができます。
286
287--------------------------------------------------------------------
288(normal-top-level-add-to-load-path '("apel"))
289--------------------------------------------------------------------
290
291もし Emacs 20.3 以降もしくは XEmacs を使って普通にインストールするの
292ならば、load-path を設定する必要はありません。
293
294
295* 使い方
296
297** alist
298
299*** 関数 put-alist (ITEM VALUE ALIST)
300
301ALIST を ITEM の値が VALUE になるように修正します。car が ITEM であ
302る対が存在すれば、その cdr を VALUE で置き換えます。そのような対がな
303ければ、新しい対 (ITEM . VALUE) を作り、car が新しい対で、cdr が
304ALIST である新しい連想リストを返します。
305
306*** 関数 del-alist (ITEM ALIST)
307
308連想リスト ALIST に key が ITEM である対があれば、それを ALIST から取
309り除きます。
310
311*** 関数 set-alist (SYMBOL ITEM VALUE)
312
313SYMBOL で指定されている連想リストを、ITEM の値が VALUE であるように修
314正します。
315
316  例. (set-alist 'auto-mode-alist "\\.pln$" 'text-mode)
317
318*** 関数 modify-alist (MODIFIER DEFAULT)
319
320連想リスト DEFAULT を連想リスト MODIFIER に修正します。
321
322*** 関数 set-modified-alist (SYMBOL MODIFIER)
323
324SYMBOL の値を連想リスト MODIFIER に修正します。SYMBOL は連想リストであ
325る必要があります。それが束縛されていなければ、その値を nil とみなしま
326す。
327
328** path-util
329
330*** 関数 add-path (PATH &rest OPTIONS)
331
332PATH が `default-load-path' のディレクトリーの下に存在して、
333`load-path'に存在しないときに、それを `load-path' に追加します。
334
335次のような PATH の様式を使うことができます:
336
337  load-path からの相対: "PATH" (それは `default-load-path から探されま
338                        す。)
339
340  ホームディレクトリーからの相対: "~/PATH" "~USER/PATH"
341
342  絶対パス: "/FOO/BAR/BAZ"
343
344次のような OPTIONS を指定することができます:
345
346  'all-paths --- `default-load-path の代わり `load-path' から探しま
347	           す。
348
349  'append --- PATH を `load-path' の最後に追加します。
350
351*** 関数 add-latest-path (PATTERN &optional ALL-PATHS)
352
353正規表現 PATTERN に合致した最新のパスが `default-load-path' の下に存在
354していて、`load-path' の下に存在していないときにそれを `load-path' に
355追加します。
356
357例えば、bbdb-1.50 と bbdb-1.51 が site-lisp の下にあって、bbdb-1.51 が
358bbdb-1.50 よりも新しく、site-lisp が /usr/local/share/emacs/site-lisp
359であるときは、
360
361  (add-latest-path "bbdb")
362
363は "/usr/local/share/emacs/site-lisp/bbdb-1.51" を `load-path' の先頭
364に追加します。
365
366省略可能な引数 ALL-PATHS が指定されると、`default-load-path' のかわり
367に `load-path' から探します。
368
369*** 関数 get-latest-path (PATTERN &optional ALL-PATHS)
370
371正規表現 PATTERN に合致する default-load-path にある最新のディレクトリー
372を返します。省略可能な引数 ALL-PATHS が指定されると、default-load-path
373の代わりに load-path の全てから探します。
374
375  例. (let ((gnus-path (get-latest-path "gnus")))
376        (add-path (expand-file-name "lisp" gnus-path))
377        (add-to-list 'Info-default-directory-list
378		     (expand-file-name "texi" gnus-path)))
379
380*** 関数 file-installed-p (FILE &optional PATHS)
381
382FILE が PATHS に存在した場合、FILE の絶対パスを返します。PATHS が省略
383されると、`load-path' が使われます。
384
385*** 関数 exec-installed-p (FILE &optional PATHS SUFFIXES)
386
387FILE が PATHS に存在した場合に FILE の絶対パスを返します。PATHS が省略
388されると、`exec-path' が使われます。SUFFIXES が省略されると、
389`exec-suffix-list' が使われます。
390
391*** 関数 module-installed-p (MODULE &optional PATHS)
392
393MODULE が提供されている (provided) か、PATHS に存在する場合に nil で
394ない値を返します。PATHS が省略されると、`load-path' が使われます。
395
396** filename
397
398*** 関数 replace-as-filename (string)
399
400STRING から安全なファイル名を返します。
401
402それは変数 'filename-filters' を参照します。その変数はファイル名の選
403別器のための関数のリストです。初期設定の選別器は以下の変数を参照してい
404ます。
405
406**** 変数 filename-limit-length
407
408ファイル名の長さの制限。
409
410**** 変数 filename-replacement-alist
411
412文字と文字列が対になったリストの連想リストです。文字のリストはファイル
413名として許されない文字を現わします。
414
415
416* バグ報告
417
418バグ報告や改善の提案を書いたときは、是非 APEL メーリングリストに送って
419ください:
420
421  apel-ja@lists.chise.org	(日本語)
422  apel-en@lists.chise.org	(英語)
423
424APEL ML を通して、APEL のバグを報告したり、APEL の最新のリリースを取得
425したり、APEL の将来の拡張の議論をしたりすることができます。APEL ML に
426参加するには、以下の頁の記述を見て手続きを行ってください:
427
428  http://lists.chise.org/mailman/listinfo/apel-ja	(日本語)
429  http://lists.chise.org/mailman/listinfo/apel-en	(英語)
430
431
432* Download
433
434最新の APEL のリリースは以下の場所から取得できます:
435
436    http://git.chise.org/elisp/dist/apel/
437
438
439* Git
440
441APEL の開発には Git を使っています。最新の開発バージョンを以下の Gitリ
442ポジトリーから取得できます。
443
444  % git clone http://git.chise.org/git/elisp/apel.git
445
446この APEL のリポジトリーは WWW 経由でも閲覧することができます:
447
448    http://git.chise.org/gitweb/?p=elisp/apel.git
449
450Git に基づいた開発に参加したいときは、APEL メーリングリストでその旨を
451宣言してください。
452
453我々は多くの方がこの開かれた開発に参加してくださることを望んでいます。
454