(file-executable-p): New function.
[elisp/apel.git] / README.ja
1 [APEL \e$B$N\e(B README (\e$BF|K\8lHG\e(B)]
2
3 APEL \e$B$H$O!)\e(B
4 ============
5
6   APEL \e$B$O\e(B "A Portable Emacs Library." \e$B$NN,$G$9!#$3$l$O0J2<$N%b%8%e!<%k\e(B
7   \e$B$G9=@.$5$l$F$$$^$9\e(B:
8
9     poe.el --- \e$B<g$K:G?7$N\e(B emacs \e$B4D6-$N$?$a$N4pACE*$J4X?t$HFC<l7A<0\e(B/\e$B%^\e(B
10                \e$B%/%m$N\e(B emulation \e$B$N%b%8%e!<%k\e(B
11       poe-xemacs.el  --- XEmacs\e$BMQ\e(B
12       poe-18.el      --- Emacs 18/Nemacs \e$BMQ\e(B
13          env.el      --- Emacs 18 \e$BMQ$N\e(B env.el
14       localhook.el   --- Emacs 18 \e$B$H\e(B Emacs 19.28 \e$B0JA0MQ$N\e(B hook \e$B4X?t72\e(B
15
16     poem.el --- \e$B0\?"@-$N9b$$\e(B MULE \e$B%W%m%0%i%`$r=q$/$?$a$N4pACE*$J4X?t$r\e(B
17                 \e$BDs6!$9$k\e(B
18       poem-nemacs.el --- Nemacs \e$BMQ\e(B
19       poem-ltn1.el   --- MULE \e$B$J$7\e(B Emacs 19/XEmacs \e$BMQ\e(B
20       poem-om.el     --- MULE 1.*, 2.* \e$BMQ\e(B
21       poem-20.el     --- Emacs 20 \e$B$H\e(B XEmacs-MULE \e$B$N6&M-%b%8%e!<%k\e(B
22       poem-e20_2.el  --- Emacs 20.1/20.2 \e$BMQ\e(B
23       poem-e20_3.el  --- Emacs 20.3 \e$BMQ\e(B
24       poem-xm.el     --- XEmacs-MULE \e$BMQ\e(B
25
26     invisible.el --- \e$BIT2D;k\e(B region \e$B$K4X$9$k5!G=$rDs6!$9$k\e(B
27       inv-18.el     --- for Emacs 18
28       inv-19.el     --- for Emacs 19
29       inv-xemacs.el --- for XEmacs
30
31     mcharset.el --- MIME charset \e$B4XO"$N5!G=$rDs6!$9$k\e(B
32       mcs-nemacs.el --- Nemacs \e$BMQ\e(B
33       mcs-ltn1.el   --- MULE Emacs 19/XEmacs \e$BMQ\e(B
34       mcs-om.el     --- MULE 1.*, 2.* \e$BMQ\e(B
35       mcs-20.el     --- Emacs 20 \e$B$H\e(B XEmacs-MULE \e$BMQ$N6&M-%b%8%e!<%k\e(B
36       mcs-e20.el    --- Emacs 20 \e$BMQ\e(B
37       mcs-xm.el     --- XEmacs-MULE \e$BMQ\e(B
38
39     static.el --- \e$B@EE*I>2A$N$?$a$N%f!<%F%#%j%F%#!<\e(B
40
41     broken.el --- Emacs \e$B$N2u$l$F$$$k5!G=$N>pJs$rDs6!$9$k\e(B
42
43     pccl.el --- \e$B0\?"2DG=$J\e(B CCL \e$B%W%m%0%i%`$r=q$/$?$a$N%f!<%F%#%j%F%#!<\e(B
44       pccl-om.el --- MULE 2.* \e$BMQ\e(B
45       pccl-20.el --- Emacs 20/XEmacs-21-MULE \e$BMQ\e(B
46
47     alist.el: \e$BO"A[%j%9%H$N$?$a$N%f!<%F%#%j%F%#!<\e(B
48
49     calist.el: \e$B>uBVLZ$H>uBV\e(B/\e$B>u67O"A[%j%9%HMQ$N%f!<%F%#%j%F%#!<\e(B
50
51     path-util.el: \e$B%Q%94IM}$H%U%!%$%kC5:w$N$?$a$N%f!<%F%#%j%F%#!<\e(B
52
53     filename.el:\e$B%U%!%$%kL>$r:n$k$?$a$N%f!<%F%#%j%F%#\e(B
54
55     install.el: emacs-lisp \e$B%Q%C%1!<%8%$%s%9%H!<%k$9$k$?$a$N%f!<%F%#%j\e(B
56                 \e$B%F%#!<\e(B
57
58     mule-caesar.el: ROT 13-47-48 Caesar \e$BJQ49$N%f!<%F%#%j%F%#!<\e(B
59
60     emu.el --- (tm-7.106 \e$B$KF~$C$F$$$?\e(B emu \e$B$H$N8_49@-$rJ]$D$?$a$N%b%8%e!<\e(B
61                \e$B%k!#\e(Bpoe, poem, mcharset \e$B$r\e(B require \e$B$9$k\e(B)
62
63       emu-mule: MULE 1.*, 2.* \e$BMQ\e(B
64
65       richtext.el   --- Emacs 19.29 \e$B$+$=$l0J9_\e(B
66                             XEmacs 19.14 \e$B$+$=$l0J9_\e(B
67                         \e$B$N$?$a$N\e(B text/richtext \e$B%b%8%e!<%k\e(B
68       tinyrich.el   --- \e$B8E$$\e(B emacs \e$B4D6-$N$?$a$N\e(B text/richtext \e$B%b%8%e!<\e(B
69                         \e$B%k\e(B
70
71     pcustom.el --- \e$B0\?"@-$N9b$$\e(B custom \e$B4D6-$rDs6!$9$k\e(B
72
73       tinycustom.el --- custom.el \e$B$N%(%_%e%l!<%7%g%s$r9T$J$&\e(B
74
75
76 \e$B%$%s%9%H!<%k\e(B
77 ============
78
79 (a) \e$BE83+$7$?>l=j$G<B9T\e(B
80
81   \e$BB>$N%G%#%l%/%H%j!<$K%$%s%9%H!<%k$7$?$/$J$$$J$i!"0J2<$N$3$H$@$1$r$d$C\e(B
82   \e$B$F$/$@$5$$\e(B:
83
84         % make
85
86   emacs \e$B$N%3%^%s%IL>$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B
87
88         % make EMACS=xemacs
89
90   `EMACS=...' \e$B$,>JN,$5$l$k$H!"\e(BEmacs=emacs \e$B$,;H$o$l$^$9!#\e(B
91
92 (b) make install
93
94   \e$BB>$N%G%#%l%/%H%j!<$K%$%s%9%H!<%k$7$?$$$J$i!"0J2<$N$3$H$r$7$F$/$@$5$$\e(B:
95
96         % make install
97
98   emacs \e$B$N%3%^%s%IL>$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B
99
100         % make install EMACS=xemacs
101
102   `EMACS=...' \e$B$,>JN,$5$l$k$H!"\e(BEmacs=emacs \e$B$,;H$o$l$^$9!#\e(B
103
104   Emacs Lisp \e$B%W%m%0%i%`$H%7%'%k%9%/%j%W%H$N$?$a$N%G%#%l%/%H%j!<LZ$N@\\e(B
105   \e$BF,<-\e(B (prefix) \e$B$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B
106
107         % make install PREFIX=~/
108
109   `PREFIX=...' \e$B$,>JN,$5$l$k$H!";XDj$5$l$?\e(B emacs \e$B%3%^%s%I$N%G%#%l%/%H%j!<\e(B
110   \e$BLZ$N@\F,<-$,;HMQ$5$l$^$9\e(B (\e$B$*$=$i$/\e(B /usr/local \e$B$G$9\e(B)\e$B!#\e(B
111
112   \e$BNc$($P!"\e(BPREFIX=/usr/local \e$B$H\e(B Emacs 20.2 \e$B$,;XDj$5$l$l$P!"0J2<$N%G%#%l\e(B
113   \e$B%/%H%j!<LZ$,:n@.$5$l$^$9!#\e(B
114
115         /usr/local/share/emacs/20.2/site-lisp/  --- emu
116         /usr/local/share/emacs/site-lisp/apel/  --- APEL
117
118   Emacs Lisp \e$B%W%m%0%i%`$N$?$a$N\e(B lisp \e$B%G%#%l%/%H%j!<$r;XDj$9$k$3$H$,$G\e(B
119   \e$B$-$^$9!#Nc$($P!"\e(B:
120
121     % make install LISPDIR=~/elisp
122
123   emu \e$B%b%8%e!<%k$,%$%s%9%H!<%k$5$l$k!"%P!<%8%g%sFCM-$N\e(B lisp \e$B%G%#%l%/%H\e(B
124   \e$B%j!<$r;XDj$9$k$3$H$b$G$-$^$9!#Nc$($P!"\e(B:
125
126     % make install VERSION_SPECIFIC_LISPDIR=~/elisp
127
128   \e$B$I$N%U%!%$%k$,\e(B emu \e$B%b%8%e!<%k$+\e(B apel \e$B%b%8%e!<%k$N0lIt$J$N$+!"$=$l$i\e(B
129   \e$B$,$I$3$K%$%s%9%H!<%k$5$l$k$+$rCN$j$?$$$H$-$O!"<!$N$h$&$J%3%^%s%I$rF~\e(B
130   \e$BNO$9$k$3$H$,$G$-$^$9!#\e(B
131
132     % make what-where LISPDIR=~/elisp VERSION_SPECIFIC_LISPDIR=~/elisp
133
134   \e$B%U%!%$%k\e(B APEL-CFG \e$B$rJT=8$9$k$3$H$GB>$NA*Br<+M3$J@_Dj$r;XDj$9$k$3$H$,\e(B
135   \e$B$G$-$^$9!#$=$NCf$N%3%a%s%H$rFI$s$G$/$@$5$$!#\e(B
136
137 (c) XEmacs \e$B$N%Q%C%1!<%8$H$7$F%$%s%9%H!<%k$9$k\e(B
138
139   XEmacs \e$B$N%Q%C%1!<%8%G%#%l%/%H%j!<$K%$%s%9%H!<%k$9$k>l9g$O!"0J2<$N$3\e(B
140   \e$B$H$r$7$F$/$@$5$$\e(B:
141
142         % make install-package
143
144   emacs \e$B$N%3%^%s%IL>$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P!"\e(B
145
146         % make install-package XEMACS=xemacs-21
147
148   `XEMACS=...' \e$B$,>JN,$5$l$k$H!"\e(BXEMACS=xemacs \e$B$,;HMQ$5$l$^$9!#\e(B
149
150   \e$B%Q%C%1!<%8$N%G%#%l%/%H%j!<$r;XDj$9$k$3$H$,$G$-$^$9!#Nc$($P\e(B:
151
152         % make install PACKAGEDIR=~/.xemacs
153
154   `PACKAGEDIR=...' \e$B$,>JN,$5$l$k$H!"B8:_$9$k%Q%C%1!<%8%G%#%l%/%H%j!<$N\e(B
155   \e$B:G=i$N$b$N$,;H$o$l$^$9!#\e(B
156
157   XEmacs \e$B$N%Q%C%1!<%8%7%9%F%`$O\e(B XEmacs 21.0 \e$B$+$=$l0J9_$rMW5a$9$k$3$H$K\e(B
158   \e$BCm0U$7$F$/$@$5$$!#\e(B
159
160
161 load-path\e$B!J\e(BEmacs \e$B$H\e(B MULE \e$B>l9g!K\e(B
162 ===============================
163
164   \e$B$b$7\e(B Emacs \e$B$b$7$/$O\e(B Mule \e$B$r$*;H$$$J$i!"\e(BAPEL \e$B$r\e(B install \e$B$7$?>l=j$r\e(B
165   load-path \e$B$KDI2C$7$F$/$@$5$$!#$b$7=i4|@_Dj$G%$%s%9%H!<%k$7$?$N$J$i!"\e(B
166   \e$B<!$N$h$&$K\e(B subdirs.el \e$B$r=q$/$3$H$,$G$-$^$9!#\e(B
167
168   \e$BNc\e(B:
169
170   --------------------------------------------------------------------
171   (normal-top-level-add-to-load-path '("apel"))
172   --------------------------------------------------------------------
173
174   \e$B$b$7\e(B Emacs 20.3 \e$B0J9_$b$7$/$O\e(B XEmacs \e$B$r$*;H$$$J$i!"\e(Bload-path \e$B$r@_Dj$9\e(B
175   \e$B$kI,MW$O$"$j$^$;$s!#\e(B
176
177
178 \e$B;H$$J}\e(B
179 ======
180
181 alist
182 -----
183
184 \e$B4X?t\e(B put-alist (ITEM VALUE ALIST)
185
186   ALIST \e$B$r\e(B ITEM \e$B$NCM$,\e(B VALUE \e$B$K$J$k$h$&$K=$@5$7$^$9!#\e(Bcar \e$B$,\e(B ITEM \e$B$G$"\e(B
187   \e$B$kBP$,B8:_$9$l$P!"$=$N\e(B cdr \e$B$r\e(B VALUE \e$B$GCV$-49$($^$9!#$=$N$h$&$JBP$,$J\e(B
188   \e$B$1$l$P!"?7$7$$BP\e(B (ITEM . VALUE) \e$B$r:n$j!"\e(Bcar \e$B$,?7$7$$BP$G!"\e(Bcdr \e$B$,\e(B
189   ALIST \e$B$G$"$k?7$7$$O"A[%j%9%H$rJV$7$^$9!#\e(B
190
191 \e$B4X?t\e(B del-alist (ITEM ALIST)
192
193  \e$BO"A[%j%9%H\e(B ALIST \e$B$K\e(B key \e$B$,\e(B ITEM \e$B$G$"$kBP$,$"$l$P!"$=$l$r\e(B ALIST \e$B$+$i<h\e(B
194   \e$B$j=|$-$^$9!#\e(B
195
196 \e$B4X?t\e(B set-alist (SYMBOL ITEM VALUE)
197
198   SYMBOL \e$B$G;XDj$5$l$F$$$kO"A[%j%9%H$r!"\e(BITEM \e$B$NCM$,\e(B VALUE \e$B$G$"$k$h$&$K\e(B
199   \e$B=$@5$7$^$9!#\e(B
200
201   \e$BNc\e(B. (set-alist 'auto-mode-alist "\\.pln$" 'text-mode)
202
203 \e$B4X?t\e(B modify-alist (MODIFIER DEFAULT)
204
205   \e$BO"A[%j%9%H\e(B DEFAULT \e$B$rO"A[%j%9%H\e(B MODIFIER \e$B$K=$@5$7$^$9!#\e(B
206
207 \e$B4X?t\e(B set-modified-alist (SYMBOL MODIFIER)
208
209   SYMBOL \e$B$NCM$rO"A[%j%9%H\e(B MODIFIER \e$B$K=$@5$7$^$9!#\e(BSYMBOL \e$B$OO"A[%j%9%H$G\e(B
210   \e$B$"$kI,MW$,$"$j$^$9!#$=$l$,B+G{$5$l$F$$$J$1$l$P!"$=$NCM$r\e(B nil \e$B$H$_$J\e(B
211   \e$B$7$^$9!#\e(B
212
213 path-util
214 ---------
215
216 \e$B4X?t\e(B add-path (PATH &rest OPTIONS)
217
218   PATH \e$B$,\e(B `default-load-path' \e$B$N%G%#%l%/%H%j!<$N2<$KB8:_$7$F!"\e(B
219   `load-path'\e$B$KB8:_$7$J$$$H$-$K!"$=$l$r\e(B `load-path' \e$B$KDI2C$7$^$9!#\e(B
220
221   \e$B<!$N$h$&$J\e(B PATH \e$B$NMM<0$r;H$&$3$H$,$G$-$^$9\e(B:
222
223     load-path \e$B$+$i$NAjBP\e(B: "PATH" (\e$B$=$l$O\e(B `default-load-path \e$B$+$iC5\e(B
224                                  \e$B$5$l$^$9!#\e(B)
225
226     \e$B%[!<%`%G%#%l%/%H%j!<$+$i$NAjBP\e(B: "~/PATH" "~USER/PATH"
227
228     \e$B@dBP%Q%9\e(B: "/FOO/BAR/BAZ"
229
230   \e$B<!$N$h$&$J\e(B OPTIONS \e$B$r;XDj$9$k$3$H$,$G$-$^$9\e(B:
231
232     'all-paths --- `default-load-path \e$B$NBe$o$j\e(B `load-path' \e$B$+$iC5$7$^\e(B
233                    \e$B$9!#\e(B
234
235     'append --- PATH \e$B$r\e(B `load-path' \e$B$N:G8e$KDI2C$7$^$9!#\e(B
236
237 \e$B4X?t\e(B add-latest-path (PATTERN &optional ALL-PATHS)
238
239   \e$B@55,I=8=\e(B PATTERN \e$B$K9gCW$7$?:G?7$N%Q%9$,\e(B `default-load-path' \e$B$N2<$KB8\e(B
240   \e$B:_$7$F$$$F!"\e(B`load-path' \e$B$N2<$KB8:_$7$F$$$J$$$H$-$K$=$l$r\e(B `load-path'
241   \e$B$KDI2C$7$^$9!#\e(B
242
243   \e$BNc$($P!"\e(Bbbdb-1.50 \e$B$H\e(B bbdb-1.51 \e$B$,\e(B site-lisp \e$B$N2<$K$"$C$F!"\e(Bbbdb-1.51
244   \e$B$,\e(B bbdb-1.50 \e$B$h$j$b?7$7$/!"\e(Bsite-lisp \e$B$,\e(B
245   /usr/local/share/emacs/site-lisp \e$B$G$"$k$H$-$O!"\e(B
246
247         (add-latest-path "bbdb")
248
249   \e$B$O\e(B "/usr/local/share/emacs/site-lisp/bbdb-1.51" \e$B$r\e(B `load-path' \e$B$N@h\e(B
250   \e$BF,$KDI2C$7$^$9!#\e(B
251
252   \e$B>JN,2DG=$J0z?t\e(B ALL-PATHS \e$B$,;XDj$5$l$k$H!"\e(B`default-load-path' \e$B$N$+$o\e(B
253   \e$B$j$K\e(B `load-path' \e$B$+$iC5$7$^$9!#\e(B
254
255 \e$B4X?t\e(B get-latest-path (PATTERN &optional ALL-PATHS)
256
257   \e$B@55,I=8=\e(B PATTERN \e$B$K9gCW$9$k\e(B default-load-path \e$B$K$"$k:G?7$N%G%#%l%/%H\e(B
258   \e$B%j!<$rJV$7$^$9!#>JN,2DG=$J0z?t\e(B ALL-PATHS \e$B$,;XDj$5$l$k$H!"\e(B
259   default-load-path \e$B$NBe$o$j$K\e(B load-path \e$B$NA4$F$+$iC5$7$^$9!#\e(B
260
261   \e$BNc\e(B. (let ((gnus-path (get-latest-path "gnus")))
262         (add-path (expand-file-name "lisp" gnus-path))
263         (add-to-list 'Info-default-directory-list
264                      (expand-file-name "texi" gnus-path))
265         )
266
267 \e$B4X?t\e(B file-installed-p (FILE &optional PATHS)
268
269   FILE \e$B$,\e(B PATHS \e$B$KB8:_$7$?>l9g!"\e(BFILE \e$B$N@dBP%Q%9$rJV$7$^$9!#\e(BPATHS \e$B$,>J\e(B
270   \e$BN,$5$l$k$H!"\e(B`load-path' \e$B$,;H$o$l$^$9!#\e(B
271
272 \e$B4X?t\e(B exec-installed-p (FILE &optional PATHS SUFFIXES)
273
274   FILE \e$B$,\e(B PATHS \e$B$KB8:_$7$?>l9g$K\e(B FILE \e$B$N@dBP%Q%9$rJV$7$^$9!#\e(BPATHS \e$B$,>J\e(B
275   \e$BN,$5$l$k$H!"\e(B`exec-path' \e$B$,;H$o$l$^$9!#\e(BSUFFIXES \e$B$,>JN,$5$l$k$H!"\e(B
276   `exec-suffix-list' \e$B$,;H$o$l$^$9!#\e(B
277
278 \e$B4X?t\e(B module-installed-p (MODULE &optional PATHS)
279
280   MODULE \e$B$,Ds6!$5$l$F$$$k\e(B (provided) \e$B$+!"\e(BPATHS \e$B$KB8:_$9$k>l9g$K\e(B nil \e$B$G\e(B
281   \e$B$J$$CM$rJV$7$^$9!#\e(BPATHS \e$B$,>JN,$5$l$k$H!"\e(B`load-path' \e$B$,;H$o$l$^$9!#\e(B
282
283 filename
284 --------
285
286 \e$B4X?t\e(B replace-as-filename (string)
287
288   STRING \e$B$+$i0BA4$J%U%!%$%kL>$rJV$7$^$9!#\e(B
289
290   \e$B$=$l$OJQ?t\e(B 'filename-fileters' \e$B$r;2>H$7$^$9!#$=$NJQ?t$O%U%!%$%kL>$N\e(B
291   \e$BA*JL4o$N$?$a$N4X?t$N%j%9%H$G$9!#=i4|@_Dj$NA*JL4o$O0J2<$NJQ?t$r;2>H$7\e(B
292   \e$B$F$$$^$9!#\e(B
293
294         \e$BJQ?t\e(B filename-limit-length
295
296           \e$B%U%!%$%kL>$ND9$5$N@)8B!#\e(B
297
298         \e$BJQ?t\e(B filename-replacement-alist
299
300           \e$BJ8;z$HJ8;zNs$,BP$K$J$C$?%j%9%H$NO"A[%j%9%H$G$9!#J8;z$N%j%9%H\e(B
301           \e$B$O%U%!%$%kL>$H$7$F5v$5$l$J$$J8;z$r8=$o$7$^$9!#\e(B
302
303
304 \e$B%P%0Js9p\e(B
305 ===========
306
307   \e$B%P%0Js9p$d2~A1$NDs0F$r=q$$$?$H$-$O!"@'Hs\e(B tm \e$B%a!<%j%s%0%j%9%H$KAw$C$F\e(B
308   \e$B$/$@$5$$\e(B:
309
310         bug-tm-en@chamonix.jaist.ac.jp  (\e$B1Q8l\e(B)
311         bug-tm-ja@chamonix.jaist.ac.jp  (\e$BF|K\8l\e(B)
312
313   tm ML \e$B$rDL$7$F!"\e(BAPEL \e$B$N%P%0$rJs9p$7$?$j!"\e(BAPEL \e$B$N:G?7$N%j%j!<%9$r<hF@\e(B
314   \e$B$7$?$j!"\e(BAPEL \e$B$N>-Mh$N3HD%$N5DO@$r$7$?$j$9$k$3$H$,$G$-$^$9!#\e(Btm ML \e$B$K\e(B
315   \e$B;22C$9$k$K$O!"6u$NEE;R%a!<%k$r\e(B
316
317         tm-en-help@chamonix.jaist.ac.jp (\e$B1Q8l\e(B)
318         tm-ja-help@chamonix.jaist.ac.jp (\e$BF|K\8l\e(B)
319
320   \e$B$KAw$C$F$/$@$5$$!#\e(B
321
322
323 Anonymous FTP
324 =============
325
326   \e$B:G?7$N\e(B APEL \e$B$N%j%j!<%9$O0J2<$N>l=j$+$i<hF@$G$-$^$9\e(B:
327
328     ftp://ftp.etl.go.jp/pub/mule/apel/
329
330
331 CVS
332 ===
333
334   APEL \e$B$N3+H/$O\e(B CVS \e$B$r;H$C$F$$$^$9!#:G?7$N3+H/%P!<%8%g%s$r\e(B CVS \e$B$G\e(B
335   \e$B<hF@$G$-$^$9!#\e(B
336
337 (0) cvs login (\e$B0l2sL\$@$1\e(B)
338
339     % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
340         login
341
342     CVS password: [CR] # \e$B6uJ8;zNs\e(B
343
344 (1) checkout
345
346     % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
347         checkout apel
348
349
350   CVS \e$B$K4p$E$$$?3+H/$K;22C$7$?$$$H$-$O!"\e(B
351
352         cvs@chamonix.jaist.ac.jp
353
354   \e$B$K%"%+%&%s%HL>$H!"\e(BUNIX \e$B$N\e(B /etc/passwd \e$BMM<0$G0E9f2=$5$l$?%Q%9%o!<%I$r\e(B
355   \e$BAw$C$F$/$@$5$$!#3+$+$l$?3+H/$K;22C$7$F$/$@$5$k$3$H$r4|BT$7$^$9!#\e(B