Fixed.
[riece] / doc / riece-ja.texi
1 \input texinfo                  @c -*- mode: texinfo; coding: iso-2022-jp -*-
2 @c %**start of header
3 @setfilename riece-ja.info
4 @settitle Riece -- An IRC client for Emacsen --
5 @c %**end of header
6 @set VERSION 1.0.8
7 @c @documentlanguage ja
8
9 @dircategory GNU Emacs Lisp
10 @direntry
11 * Riece-ja: (riece-ja).   An IRC client for Emacsen
12 @end direntry
13
14 @ifinfo
15 This file describes Riece.
16
17 Copyright (C) 2003,2004,2005 Daiki Ueno.
18
19 Permission is granted to copy, distribute and/or modify this document
20 under the terms of the GNU Free Documentation License, Version 1.1 or
21 any later version published by the Free Software Foundation; with no
22 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
23 Texts.  A copy of the license is included in the section entitled "GNU
24 Free Documentation License".
25 @end ifinfo
26
27 @tex
28
29 @titlepage
30 @title Riece
31
32 @author by Daiki Ueno
33 @page
34
35 @vskip 0pt plus 1filll
36 Copyright @copyright{} 2003,2004,2005 Daiki Ueno.
37
38 Permission is granted to copy, distribute and/or modify this document
39 under the terms of the GNU Free Documentation License, Version 1.1 or
40 any later version published by the Free Software Foundation; with no
41 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
42 Texts.  A copy of the license is included in the section entitled "GNU
43 Free Documentation License".
44 @end titlepage
45 @page
46
47 @end tex
48
49 @node Top, Overview, (dir), (dir)
50 @top Riece user's manual
51
52 \e$B$3$N%^%K%e%"%k$G$O!"\e(BRiece \e$B%P!<%8%g%s\e(B @value{VERSION} \e$B$K$D$$$F2r@b$7$^$9!#\e(B
53 \e$B$3$N%^%K%e%"%k$NB>$K!"\e(BRiece \e$B$K4X$9$kM-1W$J>pJs$O\e(B Riece \e$B$N8x<0%[!<%`%Z!<\e(B
54 \e$B%8\e(B @uref{http://www.nongnu.org/riece/} \e$B$+$iF@$i$l$k$+$b$7$l$^$;$s!#\e(B
55
56 @menu
57 * Overview::                    \e$B$O$8$a$KFI$s$G$M\e(B
58 * Getting started::             IRC \e$B%5!<%P$K@\B3$7$F2qOC$7$F$_$h$&\e(B
59 * Basic usage::                 \e$B4pK\E*$J;H$$J}\e(B
60 * Advanced usage::              \e$B?J$s$@;H$$J}\e(B
61 * Tips::                        \e$BJXMx$J@_Dj\e(B
62 * Development::                 \e$B3+H/<T8~$1>pJs\e(B
63 * Index::                       
64 * Function Index::              
65 * Variable Index::              
66 @end menu
67
68 @node Overview, Getting started, Top, Top
69 @chapter Overview
70
71 Riece \e$B$O\e(B IRC (Internet Relay Chat) \e$B$G%A%c%C%H$r3Z$7$`$?$a$N%f!<%6%$%s\e(B
72 \e$B%?!<%U%'!<%9$G$9!#\e(BRiece \e$B$O!V$j!<$9!W$HFI$_$^$9!#\e(B
73
74 Riece \e$B$N<g$JFCD9$O0J2<$NDL$j$G$9!#\e(B
75
76 @itemize @bullet
77 @item \e$BJ#?t$N\e(B IRC \e$B%5!<%P$KF1;~$K@\B32DG=\e(B
78 @item \e$B%"%I%*%s$K$h$j5!G=$NDI2C$d<h$j30$7$,MF0W\e(B
79 @item \e$BB>$N\e(B elisp \e$B%Q%C%1!<%8$K0MB8$7$J$$$?$a!"%$%s%9%H!<%k$,4JC1\e(B
80 @item \e$B@_Dj$,4JC1$G!"A02s5/F0;~$N@_Dj$r5-O?!&I|85$9$k;EAH$_$rDs6!\e(B
81 @item \e$BCJ3,E*$JA`:n@bL@=q$,ImB0\e(B
82 @item \e$B:G?7$N\e(B IRC \e$B$N%/%i%$%"%s%H%W%m%H%3%k\e(B (RFC2812) \e$B$K=`5r\e(B
83 @end itemize
84
85 @node Getting started, Basic usage, Overview, Top
86 @chapter Getting started
87
88 Riece \e$B$r5/F0$9$k<j=g$O<!$NDL$j$G$9!#\e(B
89
90 @enumerate
91 @item @kbd{M-x load-library riece}
92 @item @kbd{M-x riece}
93 @end enumerate
94
95 \e$B$b$7\e(B (1) \e$B$G\e(B @samp{Cannot open load file: riece} \e$B$N%(%i!<$,H/@8$9$k>l9g$K\e(B
96 \e$B$O%$%s%9%H!<%k$K<:GT$7$F$$$^$9!#<+J,$G%=!<%9$+$i%$%s%9%H!<%k$7$?>l9g$K$O\e(B 
97 README \e$B$r$b$&0lEYFI$_D>$7$F$/$@$5$$!#\e(BOS\e$B!&%G%#%9%H%j%S%e!<%7%g%s$N%Q%C%1!<\e(B
98 \e$B%8$+$i%$%s%9%H!<%k$7$?>l9g$K$O!"%Q%C%1!<%8$K4^$^$l$kJ8=q$r$43NG'$/$@$5$$!#\e(B
99
100 Riece \e$B$r5/F0$9$k$H!"\e(BIRC \e$B%5!<%P$NL>A0$rJ9$+$l$^$9!#8x6&$KMxMQ2DG=$J\e(B IRC 
101 \e$B%5!<%P$N0lMw$O\e(B Web \e$B%Z!<%8$J$I$+$iF@$k$3$H$,$G$-$^$9!#\e(B
102
103 @itemize @bullet
104 @item http://irc.kyoto-u.ac.jp
105 @item http://freenode.net
106 @end itemize
107
108 \e$B$^$?!"0J2<$N$h$&$J%a%C%;!<%8$,I=<($5$l$k$+$b$7$l$^$;$s!#\e(B
109
110 @example
111 Nickname "ueno" already in use.  Choose a new one: 
112 @end example
113
114 IRC \e$B$G$O!";22C<T$rI=$9$N$K\e(B@emph{\e$B%K%C%/%M!<%`\e(B}\e$B$H8F$P$l$kC;$$8F>N$,;H$o$l\e(B
115 \e$B$^$9!#$b$7%K%C%/%M!<%`$,B>$NC/$+$K;HMQ$5$l$F$$$k>l9g!"JL$N%K%C%/%M!<%`$r\e(B
116 \e$BA*$VI,MW$,$"$j$^$9!#\e(B
117
118 \e$BL5;v$K@\B3$G$-$?$i!"<!$O2qOC$r$7$F$_$^$7$g$&!#\e(BIRC \e$B$G$O\e(B@emph{\e$B%A%c%s%M%k\e(B}
119 \e$B$H8F$P$l$k2>A[E*$J2q5D<<$K;22C$7$F2qOC$r9T$J$$$^$9!#%A%c%s%M%k$KF~$k$K$O\e(B 
120 @kbd{C-c j} \e$B$H%?%$%W$7$^$9!#;22C$9$k%A%c%s%M%kL>$r?R$M$i$l$?$i!"E,@Z$J%A%c\e(B
121 \e$B%s%M%kL>$rF~NO$7$^$7$g$&!#\e(BIRCnet \e$B$K$O\e(B @samp{#Riece} \e$B$H$$$&%A%c%s%M%k$,$"\e(B
122 \e$B$k$N$G!"%F%9%H$r$7$?$$>l9g$K$O<+M3$K$*;H$$$/$@$5$$!#\e(B
123
124 \e$B%A%c%s%M%k$KF~$k$H!"2<$N?^$K<($9$h$&$J\e(B 5 \e$B$D$N%&%#%s%I%&\e(B
125 @footnote{\e$B$^$.$i$o$7$$$G$9$,!"\e(BEmacs \e$B$N@$3&$G$O%P%C%U%!$rI=<($9$kNN0h$r%&%#\e(B
126 \e$B%s%I%&$H8F$S$^$9!#\e(B}\e$B$+$i$J$k2hLL$K@Z$jBX$o$j$^$9!#\e(B
127
128 @example
129 +-----+-----------------+
130 |     |                 |
131 |     |                 |
132 | (1) |       (2)       |
133 |     |                 |
134 |     |                 |
135 +-----+-----------------+
136 |     |       (4)       |
137 |     +-----------------+
138 | (3) |                 |
139 |     |       (5)       |
140 |     |                 |
141 +-----+-----------------+
142 @end example
143
144 (4) \e$B$N%&%#%s%I%&$KI=<($5$l$k%P%C%U%!$KJ8>O$rF~NO$7$F%j%?!<%s%-!<$r2!$9$H\e(B
145 \e$BH/8@$G$-$^$9!#B>$N;22C<T$NH/8@$O\e(B (2) \e$B$N%&%#%s%I%&$KI=<($5$l$^$9!#\e(B
146
147 @node Basic usage, Advanced usage, Getting started, Top
148 @chapter Basic usage
149
150 @menu
151 * Windows::                     \e$B2hLL9=@.\e(B
152 * Indicators::                  \e$B<+J,$N>uBV$NI=<(\e(B
153 * Commands::                    \e$B%3%^%s%I$N0lMw\e(B
154 @end menu
155
156 @node Windows, Indicators, Basic usage, Basic usage
157 @section Windows
158
159 @example
160 +-----+-----------------+
161 |     |                 |
162 |     |                 |
163 | (1) |       (2)       |
164 |     |                 |
165 |     |                 |
166 +-----+-----------------+
167 |     |       (4)       |
168 |     +-----------------+
169 | (3) |                 |
170 |     |       (5)       |
171 |     |                 |
172 +-----+-----------------+
173 @end example
174
175 \e$B3F%&%#%s%I%&$KI=<($5$l$k%P%C%U%!$NLr3d$O0J2<$NDL$j$G$9!#\e(B
176
177 @enumerate
178 @item
179 \e$B%f!<%6%j%9%H%P%C%U%!\e(B (@samp{ *Users*})\e$B!#%A%c%s%M%k$K;22C$7$F$$$k%f!<\e(B
180 \e$B%6$N%K%C%/%M!<%`$N0lMw$,I=<($5$l$^$9!#\e(B
181
182 @item
183 \e$B%A%c%s%M%k%P%C%U%!\e(B (@samp{ *Channel:XXX*})\e$B!#%A%c%s%M%kFb$N2qOC$,I=<($5$l\e(B
184 \e$B$^$9!#\e(B
185
186 @item
187 \e$B%A%c%s%M%k%j%9%H%P%C%U%!\e(B (@samp{ *Channels*})\e$B!#<+J,$,;22C$7$F$$$k%A%c%s%M\e(B
188 \e$B%k$N0lMw$,I=<($5$l$^$9!#\e(B
189
190 @item
191 \e$B%3%^%s%I%P%C%U%!\e(B (@samp{*Command*})\e$B!#J8>O$d%3%^%s%I$rAw?.$9$k$?$a$K;H$$\e(B
192 \e$B$^$9!#\e(B
193
194 @item
195 \e$B%"%6!<%:%P%C%U%!\e(B (@samp{ *Others*})\e$B!#8=:_A*BrCf$N%A%c%s%M%k0J30$N2qOC$,N.\e(B
196 \e$B$l$^$9!#\e(B
197 @end enumerate
198
199 @node Indicators, Commands, Windows, Basic usage
200 @section Indicators
201
202 \e$B%b!<%I%i%$%s$N:8C<$K$O!"8=:_$N<+J,$N>uBV$r<($90u$,I=<($5$l$^$9!#\e(B
203 @footnote{\e$B$b$72hA|$rI=<($G$-$k\e(B Emacs \e$B$r$*;H$$$J$i!":8C<$K\e(B "R" \e$B$N%"%$%3%s\e(B
204 \e$B$,I=<($5$l$^$9!#\e(B}
205
206 @example
207 Riece: ---- ueno #Riece [n]
208 @end example
209
210 \e$B$3$3$G!"\e(B@samp{----} \e$B$NItJ,$K$O:8$+$i=g$K0J2<$N0UL#$,$"$j$^$9!#\e(B
211
212 @enumerate
213 @item
214 \e$BN%@J>uBV\e(B (\e$BN%@J$7$F$$$l$P\e(B @samp{A})
215
216 @item
217 IRC \e$B%*%Z%l!<%?>uBV\e(B (IRC \e$B%M%C%H%o!<%/$N4IM}<T8"8B$r;}$C$F$$$l$P\e(B @samp{O})
218
219 @item
220 \e$B%&%#%s%I%&$N<+F0%9%/%m!<%k$N6X;_\e(B (\e$B40A4$K6X;_$7$F$$$l$P\e(B @samp{F}\e$B!"<+J,$N\e(B
221 \e$B<!2s$NH/8@$^$G6X;_$7$F$$$k$N$G$"$l$P\e(B @samp{f})
222
223 @item
224 \e$B%A%c%s%M%k%*%Z%l!<%?>uBV\e(B (\e$B%A%c%s%M%k$N4IM}<T8"8B$r;}$C$F$$$l$P\e(B @samp{@@})
225 @end enumerate
226
227 @node Commands,  , Indicators, Basic usage
228 @section Commands
229
230 @ref{Basic usage}\e$B$GJ8>O$rF~NO$7$?%P%C%U%!$O%3%^%s%I%P%C%U%!$H8F$P$l$^$9!#\e(B
231 \e$B%3%^%s%I%P%C%U%!$+$i$OJ8>O$rAw?.$9$k0J30$K!"MM!9$J%3%^%s%I$rH/9T$9$k$3$H\e(B
232 \e$B$,$G$-$^$9!#0J2<$K0lIt$r5s$2$^$9!#\e(B
233
234 \e$B:G=i$O$J$+$J$+3P$($K$/$$$G$9$,!"\e(B@kbd{C-h b}
235  (@kbd{M-x describe-bindings}) \e$B$G;HMQ2DG=$J%-!<A`:n$N0lMw$,I=<($5$l$k$N\e(B
236 \e$B$G>/$7$:$D3P$($F$$$/$HNI$$$G$7$g$&!#\e(B
237
238 @subsection IRC commands
239 @table @kbd
240 @item RET
241 @findex riece-command-enter-message
242 \e$BJ8>O$rAw$j$^$9\e(B(@code{riece-command-enter-message})
243 @item C-RET
244 @findex riece-command-enter-message-as-notice
245 \e$BJ8>O$r\e(B NOTICE \e$B$H$7$FAw$j$^$9\e(B(@code{riece-command-enter-message-as-notice})
246 @item C-c j
247 @findex riece-command-join
248 \e$B%A%c%s%M%k$K;22C$7$^$9\e(B(@code{riece-command-join})
249 @item C-c C-p
250 @findex riece-command-part
251 \e$B%A%c%s%M%k$+$iN%C&$7$^$9\e(B(@code{riece-command-part})
252 @item C-c p
253 @findex riece-command-enter-message-to-user
254 \e$B08@h$r;XDj$7$F8=:_$N9T$rAw$j$^$9\e(B(@code{riece-command-enter-message-to-user})
255 @item C-c q
256 @findex riece-command-quit
257 IRC \e$B$r$d$a$^$9\e(B(@code{riece-command-quit})
258 @item C-c n
259 @findex riece-command-change-nickname
260 \e$B<+J,$N%K%C%/%M!<%`$rJQ99$7$^$9\e(B(@code{riece-command-change-nickname})
261 @item C-c f
262 @findex riece-command-finger
263 \e$B%f!<%6$N>pJs$rD4$Y$^$9\e(B(@code{riece-command-finger})
264 @item C-c C-k
265 @findex riece-command-kick
266 \e$B%f!<%6$r%A%c%s%M%k$+$i=3$j=P$7$^$9\e(B(@code{riece-command-kick})
267 @item C-c i
268 @findex riece-command-invite
269 \e$B%f!<%6$r%A%c%s%M%k$K>7BT$7$^$9\e(B(@code{riece-command-invite})
270 @item C-c l
271 @findex riece-command-list
272 \e$B%Q%?!<%s$KBP$7$F\e(B LIST \e$B$rH/9T$7$^$9\e(B(@code{riece-command-list})
273 @item C-c C-n
274 @findex riece-command-names
275 \e$B%Q%?!<%s$KBP$7$F\e(B NAMES \e$B$rH/9T$7$^$9\e(B(@code{riece-command-names})
276 @item C-c w
277 @findex riece-command-who
278 \e$B%Q%?!<%s$KBP$7$F\e(B WHO \e$B$rH/9T$7$^$9\e(B(@code{riece-command-who})
279 @item C-c t
280 @findex riece-command-topic
281 \e$B%A%c%s%M%k$N%H%T%C%/$r@_Dj$7$^$9\e(B(@code{riece-command-topic})
282 @item C-c C-m
283 @findex riece-command-change-mode
284 \e$B%A%c%s%M%k$N%b!<%I$r@_Dj$7$^$9\e(B(@code{riece-command-change-mode})
285 @item C-c o
286 @findex riece-command-set-operators
287 \e$B%f!<%6$K%*%Z%l!<%?8"8B$rM?$($^$9!#A0CV0z?t\e(B (@kbd{C-u}) \e$B$rM?$($k$H!"%f!<%6$+$i%*%Z%l!<%?8"8B$rC%$$$^$9\e(B(@code{riece-command-set-operators})
288 @item C-c v
289 @findex riece-command-set-speakers
290 \e$B%f!<%6$KH/8@8"$rM?$($^$9!#A0CV0z?t\e(B (@kbd{C-u}) \e$B$rM?$($k$H!"%f!<%6$+$iH/8@8"$rC%$$$^$9\e(B(@code{riece-command-set-speakers})
291 @item C-c V
292 @findex riece-version
293 Riece \e$B$N%P!<%8%g%s$rI=<($7$^$9!#\e(B(@kbd{C-u C-c V}) \e$B$G!"$h$j>\:Y$J>pJs$rI=<($7$^$9!#\e(B
294 @item C-c /
295 @findex riece-command-raw
296 IRC \e$B%3%^%s%I$rD>@\Aw$j$^$9\e(B(@code{riece-command-raw})
297 @end table
298
299 @subsection Window manipulating commands
300 @table @kbd
301 @item C-c r
302 @findex riece-command-configure-windows
303 \e$B%&%#%s%I%&$r:FIA2h$7$^$9\e(B(@code{riece-command-configure-windows})
304 @item C-c C-j
305 @findex riece-command-next-channel
306 \e$B<!$N%A%c%s%M%k$K0\$j$^$9\e(B(@code{riece-command-next-channel})
307 @item C-c <
308 @findex riece-command-previous-channel
309 \e$BA0$N%A%c%s%M%k$K0\$j$^$9\e(B(@code{riece-command-previous-channel})
310 @item C-c >
311 @findex riece-command-next-channel
312 \e$B<!$N%A%c%s%M%k$K0\$j$^$9\e(B(@code{riece-command-next-channel})
313 @item C-c ^
314 @findex riece-command-list-addons
315 \e$B%"%I%*%s$N0lMw$rI=<($7$^$9\e(B(@code{riece-command-list-addons})
316 @item C-c \e$B?t;z\e(B
317 @findex riece-command-switch-to-channel-by-number
318 @var{n}\e$BHVL\$N%A%c%s%M%k$K0\F0$7$^$9\e(B(@code{riece-command-switch-to-channel-by-number})
319 @item C-c C-c \e$B?t;z\e(B
320 @findex riece-command-switch-to-channel-by-number
321 @var{n} + 10\e$BHVL\$N%A%c%s%M%k$K0\F0$7$^$9\e(B(@code{riece-command-switch-to-channel-by-number})
322 @item C-c Home
323 @findex riece-command-beginning-of-buffer
324 \e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$N%S%e!<$r>eC<$^$G0\F0$7$^$9\e(B(@code{riece-command-beginning-of-buffer})
325 @item C-c $
326 @findex riece-command-end-of-buffer
327 \e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$N%S%e!<$r2<C<$^$G0\F0$7$^$9\e(B(@code{riece-command-end-of-buffer})
328 @item C-c SPC
329 @findex riece-command-scroll-up
330 \e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r>eJ}8~$K%9%/%m!<%k$7$^$9\e(B(@code{riece-command-scroll-up})
331 @item C-c DEL
332 @findex riece-command-scroll-down
333 \e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r2<J}8~$K%9%/%m!<%k$7$^$9\e(B(@code{riece-command-scroll-down})
334 @end table
335
336 @subsection Status toggle commands
337 @table @kbd
338 @item C-c C-t c
339 @findex riece-command-toggle-channel-buffer-mode
340 \e$B%A%c%s%M%k%P%C%U%!$NI=<(!&HsI=<($r@Z$jBX$($^$9\e(B(@code{riece-command-toggle-channel-buffer-mode})
341 @item C-c C-t C
342 @findex riece-command-toggle-channel-list-buffer-mode
343 \e$B%A%c%s%M%k%j%9%H%P%C%U%!$NI=<(!&HsI=<($r@Z$jBX$($^$9\e(B(@code{riece-command-toggle-channel-list-buffer-mode})
344 @item C-c C-t u
345 @findex riece-command-toggle-user-list-buffer-mode
346 \e$B%f!<%6%j%9%H%P%C%U%!$NI=<(!&HsI=<($r@Z$jBX$($^$9\e(B(@code{riece-command-toggle-user-list-buffer-mode})
347 @item C-c C-t f
348 @findex riece-command-toggle-freeze
349 \e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$rE`7k\e(B(\e$B%9%/%m!<%k$r6X;_\e(B)\e$B$7$^\e(B
350 \e$B$9\e(B(@code{riece-command-toggle-freeze})
351 @item C-c C-t o
352 @findex riece-command-toggle-own-freeze
353 \e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$r!"<+J,$,H/8@$9$k$^$GE`7k$7\e(B
354 \e$B$^$9\e(B(@code{riece-command-toggle-own-freeze})
355 @item C-c C-t a
356 @findex riece-command-toggle-away
357 \e$B<+J,$NN%@J>uBV$r@Z$jBX$($^$9\e(B(@code{riece-command-toggle-away})
358 @end table
359
360 @node Advanced usage, Tips, Basic usage, Top
361 @chapter Advanced usage
362
363 \e$B$3$N>O$G$O!"$b$C$H?J$s$@;H$$J}$r2r@b$7$^$9!#\e(B
364
365 @menu
366 * Startup File::                \e$B@_Dj%U%!%$%k\e(B
367 * Server settings::             \e$B%5!<%P$N>\:Y@_Dj\e(B
368 * Connecting to multiple servers::  \e$BF1;~$KJ#?t$N%5!<%P$K@\B3$9$k$K$O\e(B
369 * Add-ons::                     \e$B%"%I%*%s$H$O\e(B
370 @end menu
371
372 @node Startup File, Server settings, Advanced usage, Advanced usage
373 @section Startup file
374
375 \e$B$3$N>O$G$O!"@_Dj%U%!%$%k$K$D$$$F2r@b$7$^$9!#\e(BRiece \e$B$N@_Dj$O\e(B Emacs \e$B$N@_Dj\e(B
376 \e$B;Y1g5!G=$rMQ$$$F\e(B @kbd{M-x customize-group riece} \e$B$G9T$J$($^$9$,!"\e(B
377 Riece \e$B$K8GM-$N@_Dj$O$J$k$Y$/\e(B @file{~/.riece/init} \e$B$K=q$/$3$H$r4+$a$^$9!#\e(B
378
379 \e$B$^$?!"\e(BRiece \e$B$r;H$$;O$a$k$H\e(B @file{~/.riece/save} \e$B$H$$$&%U%!%$%k$,:n@.$5$l\e(B
380 \e$B$^$9!#$3$N%U%!%$%k$K$OA02s5/F0;~$N@_Dj$N0lIt\e(B(\e$B%&%#%s%I%&9=@.Ey\e(B)\e$B$,<+F0E*$K\e(B
381 \e$BJ]B8$5$l$^$9!#\e(B
382
383 \e$B5/F0;~$K$O!":G=i$K\e(B @file{~/.riece/save} \e$B$r!"<!$K\e(B @file{~/.riece/init}\e$B$r\e(B
384 \e$BFI$_9~$_$^$9!#$D$^$j!"A02s$N%;%C%7%g%s$G\e(B @file{~/.riece/save} \e$B$KJ]B8$5$l\e(B
385 \e$B$?FbMF$O!"\e(B@file{~/.riece/init} \e$B$NFbMF$G>e=q$-$5$l$^$9!#\e(B
386
387 @node Server settings, Connecting to multiple servers, Startup File, Advanced usage
388 @section Server settings
389
390 \e$B5/F0;~$K@\B3$9$k\e(B IRC \e$B%5!<%P$NL>A0$OJQ?t\e(B @code{riece-server} \e$B$G;XDj$7$^$9!#\e(B
391 @vindex riece-server
392
393 @code{riece-server} \e$B$N7A<0$O<!$NDL$j$G$9!#\e(B
394 @example
395 <\e$B%5!<%P$N%[%9%HL>\e(B>:<\e$B%]!<%HHV9f\e(B>[:<\e$B%Q%9%o!<%I\e(B>]
396 @end example
397
398 @code{riece-server-alist} \e$B$r@_Dj$9$k$H!"$h$jJ#;($J;XDj$,2DG=$K$J$j$^$9!#\e(B
399 @vindex riece-server-alist
400
401 \e$B0J2<$NNc$r9M$($^$9!#\e(B
402
403 @example
404 (setq riece-server-alist
405       '(("foo" :host "irc.example.com" :coding shift_jis)
406         ("bar" :host "irc.example.net" :nickname "baz")))
407
408 (setq riece-server "foo")
409 @end example
410
411 \e$B$3$N@_Dj$N0UL#$O0J2<$NDL$j$G$9!#\e(B
412
413 @itemize
414 @item
415 @samp{foo} \e$B$H$$$&L>A0$N\e(B IRC \e$B%5!<%P$N%[%9%HL>$O\e(B @samp{irc.example.com} \e$B$G!";HMQ$9$kJ8;z%3!<%I$O\e(B Shift_JIS
416
417 @item
418 @samp{bar} \e$B$H$$$&L>A0$N\e(B IRC \e$B%5!<%P$N%[%9%HL>$O\e(B @samp{irc.example.com} \e$B$G!"$3$N%5!<%P$G$O%K%C%/%M!<%`\e(B @samp{baz} \e$B$r;H$&\e(B
419 @end itemize
420
421 \e$B;XDj$G$-$k%-!<%o!<%I$N0lMw$O0J2<$NDL$j$G$9!#\e(B
422
423 @table @code
424 @item :host
425 \e$B%5!<%P$N%[%9%HL>$^$?$O\e(B IP \e$B%"%I%l%9\e(B
426 @item :service
427 \e$B%5!<%P$N%5!<%S%9L>$^$?$O%]!<%HHV9f\e(B (\e$B%G%U%)%k%H$O\e(B 6667)
428 @item :nickname
429 \e$B@\B3;~$N%K%C%/%M!<%`\e(B
430 @item :username
431 \e$B@\B3;~$N%f!<%6%M!<%`\e(B
432 @item :password
433 \e$B@\B3;~$N%Q%9%o!<%I\e(B
434 @item :function
435 \e$B@\B3MQ4X?t\e(B
436 @item :coding
437 \e$B%3!<%G%#%s%0%7%9%F%`\e(B (\e$B%G%U%)%k%H$O\e(B @code{riece-default-coding-system} \e$B$NCM\e(B)
438 @end table
439
440 @node Connecting to multiple servers, Add-ons, Server settings, Advanced usage
441 @section Connecting to multiple servers
442
443 \e$BF1;~$KJ#?t$N%5!<%P$K@\B3$9$k<j=g$r0J2<$K<($7$^$9!#\e(B
444
445 \e$B4{$KFCDj$N%5!<%P$K@\B3$7$F$$$k>uBV$G!"JL$N%5!<%P$K@\B3$9$k$K$O\e(B @kbd{C-c O} (@code{riece-command-open-server}) \e$B$r;H$$$^$9!#\e(B
446
447 \e$BJL$N%5!<%P>e$N%A%c%s%M%k$K;22C$9$k$K$O!"\e(B@kbd{C-c j} (@code{riece-command-join})\e$B$G%A%c%s%M%kL>$K%5!<%PL>$rB3$1$^$9!#\e(B
448
449 \e$B$?$H$($P!"%5!<%P\e(B @samp{irc.freenode.net} \e$B>e$N\e(B @samp{#Riece} \e$B$O<!$N$h$&$KI=5-$7$^$9!#\e(B
450
451 @example
452 #Riece@@irc.freenode.net
453 @end example
454
455 \e$BJ#?t$N@\B3$rA`:n$9$k%3%^%s%I$r0J2<$K$^$H$a$^$9!#\e(B
456
457 @table @kbd
458 @item C-c O
459 @findex riece-command-open-server
460 \e$BJL$N%5!<%P$K@\B3$7$^$9\e(B(@code{riece-command-open-server})
461 @item C-c C
462 @findex riece-command-close-server
463 \e$B%5!<%P$H$N@\B3$r@ZCG$7$^$9\e(B(@code{riece-command-close-server})
464 @item C-c M
465 @findex riece-command-universal-server-name-argument
466 \e$BFCDj$N%5!<%P$KBP$7$F!"B3$/%3%^%s%I$rH/9T$7$^$9\e(B(@code{riece-command-universal-server-name-argument})
467 @end table
468
469 @node Add-ons,  , Connecting to multiple servers, Advanced usage
470 @section Add-ons
471
472 Riece \e$B$G$O!"%f!<%6$,?7$?$J5!G=$rDI2C$7!"<+M3$K<h$j30$7$G$-$k$h$&!"%"%I%*\e(B
473 \e$B%s$H8F$P$l$k5!9=$rMQ0U$7$F$$$^$9!#%"%I%*%s$ODL>o$N\e(B elisp \e$B%b%8%e!<%k$r3H\e(B
474 \e$BD%$7$?$b$N$G!"%m!<%I$N=gHV$@$1$G$O$J$/!"=i4|2==hM}$N0MB84X78$b5-=R$9$k$3\e(B
475 \e$B$H$,$G$-$^$9!#\e(B
476
477 \e$B8=:_!"0J2<$N%b%8%e!<%k$,%"%I%*%s$H$7$F<BAu$5$l$F$$$^$9!'\e(B
478
479 @table @samp
480 @item riece-highlight
481 \e$B%P%C%U%!$N?'IU$1\e(B
482 @item riece-ctcp
483 CTCP (Client To Client Protocol)
484 @item riece-url
485 \e$B2qOC$K8=$l$?\e(B URL \e$B$N<}=8\e(B
486 @item riece-unread
487 \e$BH/8@$N$"$C$?%A%c%s%M%k$K\e(B@samp{!}\e$B%^!<%/$r$D$1$k\e(B
488 @item riece-rdcc
489 DCC (Direct Client to Client protocol) \e$B$K$h$k%U%!%$%kE>Aw\e(B
490 (Ruby \e$B$K$h$k<BAu\e(B)
491 @item riece-ndcc
492 DCC (Direct Client to Client protocol) \e$B$K$h$k%U%!%$%kE>Aw\e(B
493 (Emacs 21.3 \e$B$N\e(B make-network-process \e$B$K$h$k<BAu\e(B)
494 @item riece-mini
495 \e$B%_%K%P%C%U%!$N$_$G\e(B IRC \e$B$r$9$k\e(B
496 @item riece-log
497 \e$B2qOC$N%m%0$N<}=8\e(B
498 @item riece-doctor
499 doctor.el \e$B$HO"7H$7$F@:?@2J0e$K$J$j$9$^$9\e(B
500 @item riece-alias
501 \e$B%A%c%s%M%kL>$d%K%C%/%M!<%`$NJLL>$rDj5A\e(B
502 @item riece-skk-kakutei
503 SKK \e$B;HMQ;~$KJQ49%b!<%I$N0u$rH/8@$+$i<h$j=|$/\e(B
504 @item riece-foolproof
505 \e$B%A%c%s%M%k%_%9$rKI$0\e(B
506 @item riece-guess
507 \e$B?'!9$JJ}K!$G0\F0@h$N%A%c%s%M%k$r?dB,\e(B
508 @item riece-history
509 \e$B%A%c%s%M%k0\F0$NMzNr4IM}\e(B
510 @item riece-button
511 \e$B%\%?%s$d%]%C%W%"%C%W%a%K%e!<$NI=<(\e(B
512 @item riece-keyword
513 \e$B%-!<%o!<%I$N6/D4I=<(\e(B
514 @item riece-menu
515 \e$B%a%K%e!<%P!<$K%a%K%e!<$rEPO?\e(B
516 @item riece-async
517 Emacs \e$B$,\e(B busy or suspend \e$B>uBV$K$J$k$3$H$KHw$(!"\e(B
518 PING \e$B$K1~Ez$9$k\e(B local proxy \e$B7PM3$G\e(B IRC \e$B%5!<%P$K@\B3\e(B
519 @item riece-lsdb
520 \e$B%"%I%l%9D"\e(B LSDB (Lovely Sister Database)
521 @uref{http://lsdb.sourceforge.jp} \e$B$HO"7H\e(B
522 @item riece-xface
523 \e$B%f!<%6%j%9%H%P%C%U%!$K%f!<%6$N\e(B X-Face \e$B$rI=<(\e(B
524 @item riece-ctlseq
525 \e$B%3%s%H%m!<%k%7!<%1%s%9\e(B (^B \e$B$J$I\e(B) \e$B$K$h$k6/D4I=<(\e(B
526 @item riece-ignore
527 \e$B;XDj$7$?%f!<%6$NH/8@$rL5;k\e(B
528 @item reice-hangman
529 \e$B%A%c%s%M%kFb$G\e(B hangman(6) \e$B$GM7$V\e(B
530 @item riece-biff
531 \e$BB>$N%P%C%U%!$K$$$k;~$KH/8@$,$"$k$H%b!<%I%i%$%s$K0u\e(B ("[R]") \e$B$rI=<(\e(B
532 @item riece-kakasi
533 \e$BF|K\8l$NDL$i$J$$C<Kv$G!"F|K\8l$r%m!<%^;z$GI=<(\e(B
534 @item riece-yank
535 @kbd{C-c y} \e$B$G\e(B kill-ring \e$B$+$iJ8;zNs$rAw?.\e(B
536 @item riece-toolbar
537 \e$B%D!<%k%P!<$rI=<(\e(B
538 @item riece-eval
539 \e$BF~NO$5$l$?J8;zNs$r\e(B lisp \e$B%*%V%8%'%/%H$H$7$FI>2A\e(B
540 @item riece-google
541 \e$B%-!<%o!<%I$r\e(B Google \e$B$G8!:w\e(B
542 @item riece-keepalive
543 IRC \e$B%5!<%P$H$N@\B3$rJ];}\e(B
544 @end table
545
546 \e$B$3$l$i$N$&$A!"\e(B@samp{riece-highlight} \e$B$H\e(B @samp{riece-ctcp}\e$B!"\e(B
547 @samp{riece-url}\e$B!"\e(B @samp{riece-unread}\e$B!"\e(B @samp{riece-guess}\e$B!"\e(B
548 @samp{riece-history}\e$B!"\e(B @samp{riece-button}\e$B!"\e(B@samp{riece-menu}\e$B!"\e(B
549 @samp{riece-ignore}\e$B!"\e(B@samp{riece-log}\e$B!"\e(B@samp{riece-alias}\e$B!"\e(B
550 @samp{riece-ctlseq}\e$B!"\e(B@samp{riece-keyword} \e$B$O%G%U%)%k%H$GAH$_9~$^$l$F$$$^$9!#\e(B
551
552 \e$B%"%I%*%s$rAH$_9~$`$K$O\e(B @code{riece-addons} \e$B$r@_Dj$7$^$9!#$?$H$($P\e(B 
553 @samp{riece-alias} \e$B$rAH$_9~$`>l9g$K$O!"\e(B@file{~/.riece/init} \e$B$K0J2<$N$h\e(B
554 \e$B$&$K5-=R$7$^$9!#\e(B
555 @vindex riece-addons
556
557 @example
558 (add-to-list 'riece-addons 'riece-alias)
559 @end example
560
561 @node Tips, Development, Advanced usage, Top
562 @comment  node-name,  next,  previous,  up
563 @chapter Tips
564
565 \e$B$3$N>O$G$O!"$h$/J9$+$l$k<ALd$KBP$9$kEz$($HJXMx$J@_DjNc$r>R2p$7$^$9!#\e(B
566
567 @section \e$B%A%c%s%M%kL>!V\e(B@samp{#foo:*.jp}\e$B!W$r!V\e(B@samp{%foo}\e$B!W$HN,5-$7$?$$\e(B
568
569 \e$B0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI2C$7$^$9!#\e(B@samp{riece-alias} \e$B%"%I%*\e(B
570 \e$B%s$r;H$&$H%A%c%s%M%kL>$d%K%C%/%M!<%`$NJLL>$rDj5A$9$k$3$H$,$G$-$^$9!#\e(B
571
572 @example
573 (add-to-list 'riece-addons 'riece-alias)
574 @end example
575
576 @section \e$BD>A0$KA*Br$7$F$$$?%A%c%s%M%k$K0\F0$7$?$$\e(B
577 @vindex riece-guess-channel-try-functions
578
579 \e$B0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI2C$9$k$3$H$G!"\e(B@kbd{C-c g} \e$B$GMzNr$rC)\e(B
580 \e$B$j$D$D0\F0$G$-$^$9!#\e(B@samp{riece-guess} \e$B%"%I%*%s$O!"%A%c%s%M%kA*Br$NMzNr\e(B
581 \e$B$dL$FI%a%C%;!<%8$NM-L5$J$I$+$i<!$KA*Br$9$k%A%c%s%M%k$r?dB,$7$F$/$l$k%"%I\e(B
582 \e$B%*%s$G$9!#\e(B
583
584 @example
585 (add-hook 'riece-guess-channel-try-functions
586           'riece-guess-channel-from-history)
587 @end example
588
589 @section \e$BH/8@$,$"$k$H%P%C%U%!$,%9%/%m!<%k$9$k$N$r;_$a$?$$\e(B
590
591 @kbd{C-c C-t f} \e$B$G$9!#\e(B@emph{t}oggle @emph{f}reeze \e$B$H3P$($k$HNI$$$G$7$g$&!#\e(B
592
593 @section \e$BAu>~$rM^@)$7$?$$\e(B
594
595 @code{riece-addons} \e$B$+$iAu>~$N$?$a$N%"%I%*%s$r=|30$7$^$9!#\e(B
596 \e$BDL>oM-8z$K$J$C$F$$$kAu>~$N$?$a$N%"%I%*%s$O<!$NDL$j$G$9!#\e(B
597
598 @itemize
599 @item
600 \e$B?'IU$1\e(B (@samp{riece-highlight})
601
602 @item
603 \e$B%\%?%sI=<(\e(B (@samp{riece-button})
604
605 @item
606 \e$B%"%$%3%s2hA|$NI=<(\e(B (@samp{riece-icon})
607 @end itemize
608
609 \e$B$?$H$($P?'IU$1$r$d$a$?$$$N$G$"$l$P!"0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI\e(B
610 \e$B2C$7$^$9!'\e(B
611
612 @example
613 (setq riece-addons (delq 'riece-highlight riece-addons))
614 @end example
615
616 @section \e$BFCDj$NJ8;zNs$r<u?.$7$?$i2;$rLD$i$7$?$$\e(B
617 @vindex riece-keyword-notify-functions
618
619 \e$B0J2<$N@_Dj$r\e(B @file{~/.riece/init} \e$B$K2C$($^$9!#\e(B@samp{riece-keywords} \e$B%"%I\e(B
620 \e$B%*%s$r;H$&$HFCDj$NJ8;zNs$r<u?.$7$?:]$NF0:n$r;XDj$G$-$^$9!#\e(B
621
622 @example
623 (setq riece-keywords '("\e$B$[$2\e(B" "\e$B$U$,\e(B"))
624 (add-hook 'riece-keyword-notify-functions
625           (lambda (keyword message) (ding)))
626 @end example
627
628 @section SKK \e$B$r;H$C$F$$$F!"JQ49Cf$N0u\e(B (\e$B"&\e(B) \e$B$rAw?.$7$F$7$^$&$3$H$,$"$k\e(B
629
630 \e$B0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI2C$7$^$9!#\e(B
631
632 @example
633 (add-to-list 'riece-addons 'riece-skk-kakutei)
634 @end example
635
636 @section \e$B%A%c%s%M%k0lMw$NJB$S=g$r8GDj$7$?$$\e(B
637 @vindex riece-default-channel-binding
638
639 \e$B0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI2C$7$^$9!#\e(B
640
641 @example
642 (setq riece-default-channel-binding
643      '("#Riece" "#emacsen" nil "#debianjp"))
644 @end example
645
646 \e$B$3$N@_DjNc$G$O!"%A%c%s%M%k0lMw$NJB$S=g$O<!$N$h$&$K$J$j$^$9!#\e(B
647
648 @enumerate
649 @item #Riece
650 @item #emacsen
651 @item \e$B$J$7\e(B
652 @item #debianjp
653 @end enumerate
654
655\e$BHVL\$N%A%c%s%M%k$,6u@J$H$J$C$F$$$k$3$H$K$4Cm0U$/$@$5$$!#?7$?$J%A%c%s%M\e(B
656 \e$B%k$K;22C$7$?>l9g!"$=$N%A%c%s%M%k$,\e(B 3 \e$BHVL\$N0LCV$K3dEv$F$i$l$^$9!#\e(B
657
658 @section \e$B5/F0;~$K<+F0E*$K%A%c%s%M%k$K;22C$7$?$$\e(B
659 @vindex riece-startup-channel-list
660
661 \e$BJQ?t\e(B @samp{riece-startup-channel-list} \e$B$r@_Dj$7$^$9!#\e(B
662
663 @example
664 (setq riece-startup-channel-list
665      '("#Riece" "#public"))
666 @end example
667
668 \e$B$3$N@_DjNc$O!"\e(B@samp{#Riece} \e$B$H\e(B @samp{#public} \e$B$K;22C$9$k$3$H$r0UL#$7$F$$\e(B
669 \e$B$^$9!#%A%c%s%M%k$K;22C$9$k:]$K%Q%9%o!<%I$,I,MW$J>l9g$K$O<!$N$h$&$K@_Dj$7\e(B
670 \e$B$^$9!#\e(B
671
672 @example
673 (setq riece-startup-channel-list
674      '("#Riece" "#public" ("#private" "password")))
675 @end example
676
677 \e$B5/F0;~$K!"J#?t$N\e(B IRC \e$B%5!<%P$N%A%c%s%M%k$K;22C$9$k>l9g$K$O!"\e(B
678 \e$BJQ?t\e(B @samp{riece-startup-server-list} \e$B$bF1;~$K@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
679
680 @section \e$B5/F0;~$K<+F0E*$KJ#?t$N\e(B IRC \e$B%5!<%P$K@\B3$7$?$$\e(B
681 @vindex riece-startup-server-list
682
683 \e$BJQ?t\e(B @samp{riece-startup-server-list} \e$B$r@_Dj$7$^$9!#\e(B
684
685 @example
686 (setq riece-server "ircnet"
687       riece-server-alist '(("ircnet" :host "irc.tokyo.wide.ad.jp")
688                            ("freenode" :host "irc.ipv6.freenode.net")))
689 @end example
690
691 \e$B$3$N@_DjNc$G$O!"5/F0;~$K\e(B "ircnet" \e$B$K@\B3$7$^$9!#\e(B
692 @samp{riece-startup-server-list} \e$B$r0J2<$N$h$&$K@_Dj$9$k$H!"\e(B
693 "freenode" \e$B$K$b@\B3$9$k$h$&$K$J$j$^$9!#\e(B
694
695 @example
696 (setq riece-startup-server-list '("freenode"))
697 @end example
698
699 \e$B5/F0;~$K!"J#?t$N\e(B IRC \e$B%5!<%P$N%A%c%s%M%k$K;22C$9$k>l9g$K$O!"\e(B
700 \e$BJQ?t\e(B @samp{riece-startup-channel-list} \e$B$bF1;~$K@_Dj$9$kI,MW$,$"$j$^$9!#\e(B
701
702 @section HTTP \e$B%W%m%-%7$r2p$7$F\e(B IRC \e$B%5!<%P$K@\B3$7$?$$\e(B
703 @file{relay.el} \e$B$H\e(B @file{connect.c} \e$B$r;H$&$H!"\e(B
704 HTTP \e$B%W%m%-%7$r2p$7$F\e(B IRC \e$B%5!<%P$K@\B3$9$k$3$H$,$G$-$^$9!#\e(B
705
706 @table @asis
707 @item relay.el
708 @uref{http://www.taiyo.co.jp/~gotoh/lisp/relay.el}
709
710 @item connect.c
711 @uref{http://www.taiyo.co.jp/~gotoh/ssh/connect.html}
712 @end table
713
714 \e$B$?$H$($P!"\e(B@samp{proxy.example.com:8080} \e$B7PM3$G\e(B 
715 @samp{irc.tokyo.wide.ad.jp} \e$B$K@\B3$9$k>l9g$K$O!"0J2<$N9T$r\e(B 
716 @file{~/.riece/init} \e$B$KDI2C$7$^$9!#\e(B
717
718 @example
719 (require 'relay)
720 (setq relay-command-alist (cons '("^irc\.tokyo\.wide\.ad\.jp$"
721                                   "connect" "-H" "proxy.example.com:8080"
722                                   host service)
723                                 relay-command-alist)
724       riece-server-alist (cons '("proxy-tokyo" :host "irc.tokyo.wide.ad.jp"
725                                  :function relay-open-network-stream)
726                                riece-server-alist))
727 @end example
728
729 @section \e$B2qOC$N%m%0$r%U%!%$%k$KJ]B8$7$?$$\e(B
730 @vindex riece-log-directory-map
731
732 \e$B0J2<$N9T$r\e(B @file{~/.riece/init} \e$B$KDI2C$7$^$9!#\e(B@samp{riece-log} \e$B%"%I%*%s\e(B
733 \e$B$r;H$&$H!"2qOC$N%m%0$r%U%!%$%k$KJ]B8$7!":F5/F0;~$K;2>H$G$-$^$9!#\e(B
734
735 @example
736 (add-to-list 'riece-addons 'riece-log)
737 @end example
738
739 \e$BDL>o$O\e(B @file{~/.riece/log} \e$B$N2<$K\e(B IRC \e$B%5!<%P$NL>A0!"%A%c%s%M%kL>$N%G%#%l\e(B
740 \e$B%/%j$,:n@.$5$l!"$=$NCf$KF|$K$AKh$KJ,JL$5$l$FJ]B8$5$l$^$9!#\e(B
741
742 \e$B%G%#%l%/%H%jL>$,J8;z2=$1$9$k>l9g$K$O!"\e(B
743 @code{file-name-coding-system} \e$B$NCM$rE,@Z$K@_Dj$9$k$+!"$"$k$$$O\e(B 
744 @code{riece-log-directory-map} \e$B$r;H$C$F%A%c%s%M%kL>$r\e(B US-ASCII \e$BJ8;zNs$K\e(B
745 \e$BJQ49$9$kI,MW$,$"$j$^$9!#\e(B
746
747 @example
748 (setq riece-log-directory-map '(("#\e$B$j!<$9\e(B" . "riece")))
749 @end example
750
751 @section \e$B%&%#%s%I%&4V$r<+M3$K0\F0$7$?$$\e(B
752
753 GNU Emacs \e$B$KImB0$N\e(B @samp{windmove.el} \e$B$r;H$&$HJXMx$G$9!#>\:Y$O\e(B 
754 @samp{windmove.el} \e$B$N%3%a%s%H$r;2>H$/$@$5$$!#\e(B@samp{windmove.el} \e$B$O\e(B 
755 \e$B:n<T$N%Z!<%8\e(B (@uref{http://hovav.net/elisp/}) \e$B$+$i$b<hF@$G$-$^$9!#\e(B
756
757 @node Development, Index, Tips, Top
758 @chapter Development
759
760 \e$B$3$N>O$G$O!"\e(BRiece \e$B$N3+H/%W%m%;%9$dFbIt9=B$$J$I!"3+H/$KI,MW$J>pJs$r$^$H$a\e(B
761 \e$B$F$$$^$9!#3+H/$K;22C$7$F$$$?$@$1$kJ}$rJg=8$7$F$$$^$9!#\e(B
762
763 @menu
764 * CVS::                         \e$B3+H/Cf$N%=!<%9$N<hF@\e(B
765 * Debugging::                   \e$B%G%P%C%0$N$?$a$N@_Dj\e(B
766 * Modules::                     \e$B9=@.%b%8%e!<%k$N@bL@\e(B
767 * Namespace management::        
768 * Signals::                     
769 * Writing add-ons::             \e$B%"%I%*%s$N=q$-$+$?\e(B
770 * Handler hooks::               
771 @end menu
772
773 @node CVS, Debugging, Development, Development
774 @section CVS
775
776 Riece \e$B$N3+H/$O\e(B CVS \e$B$rMxMQ$7$F9T$C$F$$$^$9!#\e(BCVS \e$B%5!<%P$+$i:G?7$N%9%J%C%W\e(B
777 \e$B%7%g%C%H$r<hF@$9$k$K$O0J2<$N$h$&$K$7$^$9!#\e(B
778
779 @enumerate
780 @item
781 CVS \e$B%5!<%P$X$N%m%0%$%s\e(B
782
783 @example
784 cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root login
785 CVS password: [CR] # NULL string
786 @end example
787
788 @item
789 \e$B%b%8%e!<%k$N%A%'%C%/%"%&%H\e(B
790
791 @example
792 cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout riece
793 @end example
794
795 @item
796 @file{configure} \e$B$N@8@.\e(B
797
798 @example
799 autoreconf -f -i -v
800 @end example
801 @end enumerate
802
803 @node Debugging, Modules, CVS, Development
804 @section Debugging
805
806 @code{riece-debug} \e$B$r\e(B @code{t} \e$B$K@_Dj$9$k$H!"%G%P%C%0=PNO$,M-8z$K$J$j$^\e(B
807 \e$B$9!#$^$?!"%5!<%P$+$i$N@8$N=PNO$,\e(B " *IRC*[<\e$B%5!<%PL>\e(B>]" \e$B%P%C%U%!$K>C$5$l$:\e(B
808 \e$B$K;D$j$^$9!#\e(B
809 @vindex riece-debug
810
811 @node Modules, Namespace management, Debugging, Development
812 @section Modules
813
814 \e$B4pK\E*$K0MB84X78$N>e0L$K$"$k$b$N$+$i!'\e(B
815
816 @table @samp
817 @item riece-globals
818 \e$BBg0hJQ?t$NDj5A\e(B 
819 @item riece-options
820 \e$B%f!<%6%*%W%7%g%s$NDj5A\e(B 
821 @item riece-version
822 \e$B%P!<%8%g%s$NDj5A\e(B 
823 @item riece-coding
824 \e$B%3!<%G%#%s%0%7%9%F%`4XO"$N4X?t$NDj5A\e(B 
825 @item riece-complete
826 \e$B%_%K%P%C%U%!$G$NJd40$r=u$1$k4X?t$NDj5A\e(B 
827 @item riece-addon
828 \e$B%"%I%*%s4IM}\e(B
829
830 @item riece-mode
831 channel/user \e$B$N%b!<%I4IM}\e(B
832 @item riece-identity
833 channel/user object \e$B$NBg0hI=5-$rA`:n$9$k4X?t$NDj5A\e(B 
834 @item riece-channel
835 channel object \e$B4XO"$NDj5A\e(B 
836 @item riece-user
837 user object \e$B4XO"$NDj5A\e(B 
838
839 @item riece-misc
840 \e$B;(B?$J4X?t$NDj5A\e(B
841 @item riece-signal
842 \e$B%7%0%J%k\e(B(@pxref{Signals})\e$B4IM}\e(B
843
844 @item riece-layout
845 \e$B%&%#%s%I%&%l%$%"%&%H4IM}\e(B
846 @item riece-display
847 \e$BI=<(MQ%P%C%U%!$N4IM}\e(B 
848 @item riece-server
849 IRC\e$B%5!<%P$H$N@\B34IM}\e(B 
850
851 @item riece-naming
852 \e$BL>A04IM}$N$?$a$N\e(B mediator \e$B$N$h$&$J$b$N\e(B 
853 @item riece-message
854 message object \e$B4XO"$NDj5A\e(B 
855
856 @item riece-filter
857 \e$B%W%m%;%9%U%#%k%?$N%(%s%H%j%]%$%s%H\e(B 
858 @item riece-handle
859 \e$BDL>o$N%a%C%;!<%8$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B 
860 @item riece-000
861 000\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B 
862 @item riece-200
863 200\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B 
864 @item riece-300
865 300\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B 
866 @item riece-400
867 400\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B 
868 @item riece-500
869 500\e$BHVBf$N\e(B numeric reply \e$B$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B 
870
871 @item riece-commands
872 \e$B%3%^%s%I$NDj5A\e(B 
873 @item riece-irc
874 IRC \e$B%W%m%H%3%k%$%s%?!<%U%'!<%9\e(B
875 @item riece
876 \e$B%(%s%H%j%]%$%s%H!#3F%P%C%U%!$N%b!<%IDj5A$J$I\e(B 
877 @end table
878
879 @node Namespace management, Signals, Modules, Development
880 @section Namespace management
881
882 Riece \e$B$OJ#?t$N%5!<%P$KF1;~$K@\B3$9$k$?$a!"%5!<%PKh$KJL!9$NL>A06u4V$r4IM}\e(B
883 \e$B$7$F$$$^$9!#$3$NL>A06u4V$K$O!"%5!<%P$N%W%m%;%9$K7k$SIU$1$i$l$?%P%C%U%!$N\e(B
884 \e$B%m!<%+%kJQ?t$r2p$7$F%"%/%;%9$7$^$9!#\e(B
885
886 @subsection Obtaining server buffer
887 \e$B%5!<%P$N%W%m%;%9$rF@$k$K$O!"$^$:$O$8$a$K%5!<%P$NL>A0$rF@$kI,MW$,$"$j\e(B
888 \e$B$^$9!#%5!<%P$NL>A0$O0J2<$K5s$2$k$$$/$D$+$NJ}K!$G<hF@$G$-$^$9!#\e(B
889
890 @enumerate
891 @item
892 @vindex riece-overrinding-server-name
893 \e$BBg0hJQ?t\e(B @code{riece-overrinding-server-name} \e$B$NCM\e(B
894
895 @item
896 @vindex riece-server-name
897 @code{riece-server-name} \e$B$,%+%l%s%H%P%C%U%!$N%m!<%+%kJQ?t$G$"$k$J$i$P!"\e(B
898 \e$B4{$K%W%m%;%9$N%P%C%U%!$K$$$k$H$_$J$;$k$N$G!"\e(B@code{riece-server-name} \e$B$N\e(B
899 \e$BCM$=$N$b$N\e(B
900
901 @item
902 @samp{riece-identity} \e$B%*%V%8%'%/%H$K7k$SIU$1$i$l$?%5!<%PL>\e(B(\e$B8e=R\e(B)
903 @end enumerate
904
905 \e$B$3$&$7$FF@$?%5!<%PL>$G\e(B @code{riece-server-process} \e$B$r8F=P$7!"%5!<%P$N\e(B
906 \e$B%W%m%;%9$r<hF@$7$^$9!#\e(B
907 @findex riece-server-process
908
909 @subsection Identity
910 \e$BJ#?t$N%5!<%P$K7R$$$@>l9g!"%A%c%s%M%kL>$d%K%C%/$r\e(B(\e$B%5!<%P$N%P%C%U%!>e$@\e(B
911 \e$B$1$G$O$J$/\e(B)\e$BBg0hE*$K6hJL$9$kI,MW$,@8$8$^$9!#$3$N$h$&$JL>A0$rI=8=$9$k$N\e(B
912 \e$B$,\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H$G$9!#\e(B
913
914 @samp{riece-identity} \e$B%*%V%8%'%/%H$O0J2<$N\e(B 2 \e$B$D$NMWAG$r$b$D%Y%/%?!<$G$9!#\e(B
915
916 @table @samp
917 @item prefix
918 \e$B%5!<%P%m!<%+%k$JL>A0\e(B
919 @item server
920 \e$B%5!<%P$NL>A0\e(B
921 @end table
922
923 @samp{riece-identity} \e$B%*%V%8%'%/%H$KBP$9$kA`:n$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#\e(B
924
925 @defun riece-make-identity prefix &optional server
926 @samp{riece-identity} \e$B%*%V%8%'%/%H$r:n@.$7$^$9!#\e(Bserver \e$B$,>JN,$5$l$?>l9g$K$O!"\e(B
927 riece-find-server-name \e$B$r;H$C$F<hF@$7$?%5!<%PL>$r;H$$$^$9\e(B
928 @end defun
929
930 @defun riece-identity-prefix identity
931 @samp{riece-identity} \e$B%*%V%8%'%/%H$+$i%5!<%P%m!<%+%k$JL>A0$r<h$j=P$7$^$9!#\e(B
932 @end defun
933
934 @defun riece-identity-server identity
935 @samp{riece-identity} \e$B%*%V%8%'%/%H$+$i%5!<%P$NL>A0$r<h$j=P$7$^$9!#\e(B
936 @end defun
937
938 @defun riece-identity-equal ident1 ident2
939\e$B$D$N\e(B@samp{riece-identity} \e$B%*%V%8%'%/%H$,F1Ey$+D4$Y$^$9!#\e(B
940 @end defun
941
942 @defun riece-identity-equal-no-server ident1 ident2
943\e$B$D$N\e(B@samp{riece-identity} \e$B%*%V%8%'%/%H$N%5!<%P%m!<%+%k$JL>A0$,F1Ey$+\e(B
944 \e$BD4$Y$^$9!#\e(B
945 @end defun
946
947 @defun riece-identity-member elt list
948 @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B @var{elt} \e$B$,\e(B @var{list} \e$B$K4^$^$l$k\e(B
949 \e$B$+8!::$7$^$9!#\e(B
950 @end defun
951
952 @subsection Channel and user management
953 @samp{riece-identity} \e$B%*%V%8%'%/%H$K$h$C$F<1JL$5$l$k\e(B IRC \e$B$N%A%c%s%M%k\e(B
954 \e$B$H%f!<%6$O$=$l$>$l\e(B @samp{riece-channel} \e$B%*%V%8%'%/%H$H\e(B 
955 @samp{riee-user} \e$B%*%V%8%'%/%H$K$h$jI=8=$5$l$^$9!#\e(B
956
957 @subsubsection Channels
958 @code{riece-channel} \e$B$O!"\e(BIRC \e$B$N%A%c%s%M%k$rI=$9%*%V%8%'%/%H$G$9!#0J2<$N\e(B
959 \e$BMWAG$r;}$A$^$9!#\e(B
960
961 @table @samp
962 @item users
963 \e$B;22C$7$F$$$k%f!<%6$NL>A0\e(B(\e$B6I=jL>\e(B)\e$B$N%j%9%H\e(B 
964 @item operators
965 \e$B%*%Z%l!<%?8"8B$r$b$D%f!<%6$NL>A0$N%j%9%H\e(B 
966 @item speakers
967 \e$BH/8@8"$r$b$D%f!<%6$NL>A0$N%j%9%H\e(B 
968 @item modes
969 \e$B%A%c%s%M%k$N%b!<%I\e(B(\e$BJ8;z$N%j%9%H\e(B) 
970 @item banned
971 @samp{MODE +b} \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B 
972 @item invited
973 @samp{MODE +I} \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B 
974 @item uninvited
975 @samp{MODE +e} \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B
976 @end table
977
978 @subsubsection Users
979 @code{riece-user} \e$B$O!"\e(BIRC \e$B$K;22C$7$F$$$k%f!<%6$rI=$9%*%V%8%'%/%H$G$9!#0J\e(B
980 \e$B2<$NMWAG$r;}$A$^$9!#\e(B
981
982 @table @samp
983 @item channels
984 \e$B;22C$7$F$$$k%A%c%s%M%k$NL>A0\e(B(\e$B6I=jL>\e(B)\e$B$N%j%9%H\e(B 
985 @item user-at-host
986 "<user>@@<host>" \e$B$N7A$GM?$($i$l$k%f!<%6$N>pJs\e(B 
987 @item modes
988 \e$B%f!<%6$N%b!<%I\e(B(\e$BJ8;z$N%j%9%H\e(B) 
989 @item away
990 AWAY \e$BCf$+$I$&$+\e(B 
991 @end table
992
993 @subsubsection Mediator
994 \e$B%A%c%s%M%k$H%f!<%6$N;22C!&N%C&$r4IM}$9$k$?$a$K!"\e(B @code{riece-naming} 
995 \e$B$H$$$&>e0L$N%b%8%e!<%k$rMQ0U$7$F$$$^$9!#$3$l$O!"%G%6%$%s%Q%?!<%s$G$$$&\e(B
996 \e$B$H$3$m$N\e(B Mediator \e$B%Q%?!<%s$KAjEv$9$k$b$N$G$9!#\e(B
997
998 @code{riece-naming} \e$B$r2p$9$k$3$H$G!"A0=R$N%A%c%s%M%k!&%f!<%6%*%V%8%'%/%H\e(B
999 \e$B$KD>@\<j$r?($l$k$3$H$J$/!"L>A06u4V$K0BA4$K%"%/%;%9$9$k$3$H$,$G$-$^$9!#\e(B
1000
1001 \e$BDs6!$9$k<g$J4X?t$O0J2<$N\e(B 3 \e$B$D$G$9!#\e(B
1002
1003 @defun riece-naming-assert-join user-name channel-name
1004 \e$B%f!<%6$,%A%c%s%M%k$K;22C$7$?$3$H$rI=L@$7$^$9\e(B
1005 @end defun
1006
1007 @defun riece-naming-assert-part user-name channel-name
1008 \e$B%f!<%6$,%A%c%s%M%k$+$iN%C&$7$?$3$H$rI=L@$7$^$9\e(B 
1009 @end defun
1010
1011 @defun riece-naming-assert-rename old-name new-name
1012 \e$B%f!<%6$NL>A0$,JQ99$5$l$?$3$H$rI=L@$7$^$9\e(B 
1013 @end defun
1014
1015 @node Signals, Writing add-ons, Namespace management, Development
1016 @section Signals
1017
1018 \e$B2hLL$N:FIA2h$r8zN(NI$/9T$&$?$a$K!"%$%Y%s%H$HIA2hBP>]$N%*%V%8%'%/%H\e(B(\e$B%P%C\e(B
1019 \e$B%U%!$d!"%b!<%I%i%$%s$N0u\e(B @pxref{Indicators})\e$B$r7k$SIU$1$k%a%+%K%:%`$rMQ0U\e(B
1020 \e$B$7$F$$$^$9!#\e(B
1021
1022 \e$B2?$i$+$N%$%Y%s%H$,H/@8$9$k$H!"%7%0%J%k$,Aw=P$5$l$^$9!#%7%0%J%k$N35G0$O!"\e(B
1023 Qt \e$B$d\e(B GTK+ \e$B$H$$$C$?\e(B GUI \e$B%D!<%k%-%C%H$KMQ0U$5$l$F$$$k$b$N$HF1MM$G$9!#\e(B
1024
1025 \e$B%7%0%J%k$rAw=P$9$k$K$O!"\e(B@samp{riece-emit-signal} \e$B$r;H$$$^$9!#\e(B
1026
1027 @defun riece-emit-signal signal-name &rest args
1028 @var{signal-name} \e$B$G;X<($5$l$k%7%0%J%k$r!"0z?t\e(B @var{args} \e$B$H$H$b$KAw=P$7$^$9\e(B
1029 @end defun
1030
1031 \e$B%7%0%J%k$K1~Ez$9$k$K$O!"\e(B@samp{riece-connect-signal} \e$B$r;H$$$^$9!#\e(B
1032
1033 @defun riece-connect-signal signal-name slot-function &optional filter-function handback
1034 @var{signal-name} \e$B$G;X<($5$l$k%7%0%J%k$K1~Ez$9$k4X?t\e(B @var{slot-function} 
1035 \e$B$r7k$SIU$1$^$9!#\e(B@var{slot-function} \e$B$K;XDj$5$l$?4X?t$O\e(B 2 \e$B$D$N0z?t$r<h$j$^\e(B
1036 \e$B$9!#Bh\e(B1\e$B$N0z?t$O$O%7%0%J%k$rI=$7$^$9!#$^$?!"Bh\e(B2\e$B$N0z?t$H$7$F!"\e(B
1037 @var{handback} \e$B0z?t$KM?$($i$l$?%*%V%8%'%/%H$,$=$N$^$^EO$5$l$^$9!#\e(B
1038
1039 @var{filter-function} \e$B$O!"<u?.$7$?%7%0%J%k$K1~Ez$9$Y$-$+$I$&$+$rH=Dj$9$k\e(B
1040 \e$B4X?t$G$9!#$3$N4X?t$O0z?t$H$7$F%7%0%J%k%*%V%8%'%/%H$r<u$1<h$j!"\e(B@samp{nil}
1041 \e$B$^$?$O\e(B @samp{t} \e$B$rJV$9$3$H$,4|BT$5$l$^$9!#JV$jCM$,\e(B @samp{nil} \e$B$N>l9g$K$O!"\e(B
1042 @var{slot-function} \e$B$,8F$P$l$k$3$H$O$"$j$^$;$s!#\e(B
1043 @end defun
1044
1045 \e$B%7%0%J%k%*%V%8%'%/%H$K%"%/%;%9$9$k$K$O!"0J2<$N4X?t$r;H$$$^$9!#\e(B
1046
1047 @defun riece-signal-name
1048 \e$B%7%0%J%k$NL>A0\e(B(\e$B%7%s%\%k\e(B)\e$B$rJV$7$^$9!#\e(B
1049 @end defun
1050
1051 @defun riece-signal-args
1052 \e$B%7%0%J%kAw=P;~$KM?$($i$l$?0z?t$rJV$7$^$9!#\e(B
1053 @end defun
1054
1055 \e$B8=:_!"0J2<$N%7%0%J%k$,I8=`$GEPO?$5$l$F$$$^$9!'\e(B
1056
1057 @table @samp
1058 @item channel-list-changed
1059 \e$B;22C$7$F$$$k%A%c%s%M%k$N0lMw$NJQ2=\e(B
1060 @item user-list-changed
1061 \e$B%A%c%s%M%k$N;22C<T0lMw$NJQ2=\e(B
1062 (\e$B0z?t$O%A%c%s%M%k$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1063 @item channel-switched
1064 \e$B8=:_$N%A%c%s%M%k$r0\F0\e(B
1065 @item user-joined-channel
1066 \e$B%f!<%6$,%A%c%s%M%k$K;22C\e(B
1067 (\e$B0z?t$O!"%f!<%6$*$h$S%A%c%s%M%k$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1068 @item user-left-channel
1069 \e$B%f!<%6$,%A%c%s%M%k$+$iN%C&\e(B
1070 (\e$B0z?t$O!"%f!<%6$*$h$S%A%c%s%M%k$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1071 @item user-renamed
1072 \e$B%f!<%6$,L>A0$rJQ99\e(B
1073 (\e$B0z?t$O!"0JA0$H8=:_$NL>A0$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1074 @item user-away-changed
1075 \e$B%f!<%6$NN%@J>uBV$NJQ2=\e(B
1076 (\e$B0z?t$O!"%f!<%6$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1077 @item user-operator-changed
1078 \e$B%f!<%6$N%*%Z%l!<%?>uBV$NJQ2=\e(B
1079 (\e$B0z?t$O!"%f!<%6$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1080 @item channel-topic-changed
1081 \e$B%A%c%s%M%k$N%H%T%C%/$NJQ2=\e(B
1082 (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1083 @item channel-modes-changed
1084 \e$B%A%c%s%M%k$N%b!<%I$NJQ2=\e(B
1085 (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1086 @item channel-operators-changed
1087 \e$B%A%c%s%M%k$G%*%Z%l!<%?8"8B$r;}$D%f!<%6$N0lMw$NJQ2=\e(B
1088 (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1089 @item channel-speakers-changed
1090 \e$B%A%c%s%M%k$GH/8@8"$r;}$D%f!<%6$N0lMw$NJQ2=\e(B
1091 (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B @samp{riece-identity} \e$B%*%V%8%'%/%H\e(B)
1092 @item buffer-freeze-changed
1093 \e$B%P%C%U%!$NE`7k>uBV$NJQ2=\e(B
1094 (\e$B0z?t$O%P%C%U%!\e(B)
1095 @end table
1096
1097 @node Writing add-ons, Handler hooks, Signals, Development
1098 @section Writing add-ons
1099
1100 \e$B%"%I%*%s$N>r7o$rK~$?$9%b%8%e!<%k$O0J2<$N4X?t$rDs6!$7$^$9!#\e(B
1101
1102 @table @samp
1103 @item <\e$B%b%8%e!<%kL>\e(B>-requires
1104 \e$B0MB8$9$kB>$N%"%I%*%s\e(B(\e$B%7%s%\%k$N%j%9%H\e(B)\e$B$rJV$7$^$9\e(B(\e$B%*%W%7%g%s\e(B)
1105 @item <\e$B%b%8%e!<%kL>\e(B>-insinuate
1106 \e$B=i4|2==hM}$r9T$$$^$9\e(B
1107 @end table
1108
1109 \e$B$^$?!"%"%I%*%s$N@bL@$r!"JQ?t\e(B @samp{<\e$B%b%8%e!<%kL>\e(B>-description} \e$B$K@_Dj$9\e(B
1110 \e$B$k$3$H$b$G$-$^$9!#$3$NJ8;zNs$O\e(B @kbd{M-x riece-command-list-addons} \e$B$K$h\e(B
1111 \e$B$k%"%I%*%s$N0lMwI=<($K;H$o$l$^$9!#\e(B
1112
1113 \e$BM-8z2=!&L58z2=$KBP1~$7$?%"%I%*%s$O!"JQ?t\e(B @samp{<\e$B%b%8%e!<%kL>\e(B>-enabled} 
1114 \e$B$K8=:_$N>uBV$rJ];}$7$^$9!#CM$,\e(B @samp{nil} \e$B$G$"$l$PL58z!"\e(B@samp{t} \e$B$G$"$l\e(B
1115 \e$B$PM-8z$G$9!#2C$($F!"0J2<$N4X?t$rDs6!$7$^$9!#\e(B
1116
1117 @table @samp
1118 @item <\e$B%b%8%e!<%kL>\e(B>-enable
1119 \e$B%"%I%*%s$rM-8z$K$7$^$9\e(B
1120 @item <\e$B%b%8%e!<%kL>\e(B>-disable
1121 \e$B%"%I%*%s$rL58z$K$7$^$9\e(B
1122 @end table
1123
1124 Riece \e$B$O5/F0;~$K0J2<$N=hM}$r9T$$$^$9!#\e(B
1125
1126 @enumerate
1127 @item
1128 \e$BJQ?t\e(B @code{riece-addons} \e$B$KNs5s$5$l$?%b%8%e!<%k$rFI$_9~$`\e(B
1129
1130 @item
1131 \e$B$=$l$>$l$N%b%8%e!<%k$KBP$7!"\e(B@samp{<\e$B%b%8%e!<%kL>\e(B>-requires} \e$B$,MQ0U$5$l$F$$$l$P8F$S=P$7$F0MB8%0%i%U$r:n$k\e(B
1132
1133 @item
1134 \e$B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H\e(B (cf. tsort(1)) \e$B$r9T$&\e(B
1135
1136 @item
1137 \e$BF@$i$l$?0MB8=g=x$K=>$C$F\e(B @samp{<\e$B%b%8%e!<%kL>\e(B>-insinuate} \e$B8F$S=P$9\e(B
1138
1139 @item
1140 \e$B$b$7!"%"%I%*%s$,M-8z2=!&L58z2=$KBP1~$7$F$*$j!"L@<(E*$KL58z2=$5$l$F$$$J$1$l$P!"\e(B
1141 @samp{<\e$B%b%8%e!<%kL>\e(B>-enable}\e$B$r8F$S=P$9!#\e(B
1142 @end enumerate
1143
1144 \e$B:n@.$7$?%"%I%*%s$O!"\e(B@code{load-path} \e$B$NDL$C$?%G%#%l%/%H%j!"$^$?$O\e(B 
1145 @code{riece-addon-directory} (\e$B%G%U%)%k%H$G$O\e(B @file{~/.riece/addons/}) \e$B$K\e(B
1146 \e$BCV$/$3$H$GAH$_9~$_2DG=$J>uBV$K$J$j$^$9!#\e(B
1147 @vindex riece-addon-directory
1148
1149 @node Handler hooks,  , Writing add-ons, Development
1150 @section Handler hooks
1151
1152 Riece \e$B$K$O!"%O%s%I%i%U%C%/$H8F$P$l$kFC<l$J%U%C%/$,$"$j$^$9!#$3$l$i$O\e(B IRC 
1153 \e$B$N%a%C%;!<%8$r<u$1<h$C$?A08e$G<B9T$5$l$k%U%C%/$G$9!#\e(B
1154
1155 \e$B@bL@$N$?$a$K\e(B @samp{message} \e$B$r\e(B IRC \e$B$N%a%C%;!<%8L>\e(B(PRIVMSG \e$B$J$I\e(B)\e$B$rA4$F>.\e(B
1156 \e$BJ8;z$K$7$?$b$N$H$7$^$9!#\e(B
1157
1158 @table @code
1159 @item riece-<message>-hook
1160 @samp{message} \e$B$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/\e(B
1161 @item riece-after-<message>-hook
1162 @samp{message} \e$B$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/\e(B
1163 @end table
1164
1165 \e$B$3$3$G\e(B @code{riece-<message>-hook} \e$B$NJV$jCM$K$O0UL#$,$"$j!"Hs\e(B nil \e$B$rJV$9\e(B
1166 \e$B$b$N$,$"$l$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O\e(B 
1167 @code{riece-after-<message>-hook} \e$B$b8F$S=P$5$l$^$;$s!#\e(B
1168
1169 \e$B%U%C%/$N0z?t$O\e(B RFC2812 \e$B$N\e(B @samp{prefix} \e$B$H\e(B @samp{Parameters} \e$B$KAjEv$9$k\e(B 
1170\e$B$D$N0z?t$,EO$j$^$9!#\e(B
1171
1172 @node Index, Function Index, Development, Top
1173 @chapter Index
1174 @printindex cp
1175
1176 @node Function Index, Variable Index, Index, Top
1177 @chapter Function Index
1178 @printindex fn
1179
1180 @node Variable Index,  , Function Index, Top
1181 @chapter Variable Index
1182 @printindex vr
1183
1184 @summarycontents
1185 @contents
1186 @bye
1187
1188 @c End: