7293c40c00bc01aa8fe0facb93c0e6cfb2664ede
[riece] / doc / HACKING.ja
1 -*- mode: text; coding: iso-2022-jp -*-
2
3 \e$B$3$NJ8=q$G$O!"\e(BRiece \e$B$N3+H/%W%m%;%9$dFbIt9=B$$J$I!"3+H/$KI,MW$J>pJs$r$^\e(B
4 \e$B$H$a$F$$$^$9!#\e(B
5
6\e$B3+H/%W%m%;%9\e(B
7
8 ** \e$B%P%0Js9p\e(B
9
10 \e$B%P%0Js9p$O!"%D!<%k%P!<$NCn$N%"%$%3%s$r%/%j%C%/$9$k$+!"\e(B
11 M-x riece-submit-bug-report \e$B$G:n@.$7$F$/$@$5$$!#$^$?!"%P%0Js9p$N:n@.$N\e(B
12 \e$BA0$K%G%P%C%0=PNO$rM-8z$K$7$F$*$/I,MW$,$"$j$^$9!#\e(B
13
14 ** \e$B%G%P%C%0=PNO\e(B
15
16 \e$BJQ?t\e(B riece-debug \e$B$r\e(B t \e$B$K@_Dj$9$k$H!"\e(BRiece \e$B$N<B9TCf$K%G%P%C%0>pJs$,=PNO\e(B
17 \e$B$5$l$k$h$&$K$J$j$^$9!#%G%P%C%0>pJs$O\e(B *Debug* \e$B%P%C%U%!$KC_@Q$5$l$^$9!#\e(B
18
19 \e$B$^$?!"\e(BIRC \e$B%5!<%P$H$N$d$j$H$j$,\e(B " *IRC*<IRC \e$B%5!<%P$NL>A0\e(B>" \e$B%P%C%U%!$KC_\e(B
20 \e$B@Q$5$l$^$9!#%P%C%U%!$NL>A0$,6uGr\e(B " " \e$B$G;O$^$k$3$H$K$4Cm0U$/$@$5$$!#\e(B
21
22 ** \e$B3+H/$X$N;22C\e(B
23
24 \e$B%Q%C%A$+%"%I%*%s$r=q$$$FAw$C$F$/$@$5$$!#E,@Z$J$b$N$G$"$l$P<h$j9~$_$^$9!#\e(B
25
26 ** CVS
27
28 Riece \e$B$N3+H/$K$O\e(B CVS \e$B$rMxMQ$7$F$$$^$9!#8x3+\e(B CVS \e$B%5!<%P$+$i:G?7HG$N%=!<\e(B
29 \e$B%9%3!<%I$r<hF@$9$k$K$O0J2<$N$h$&$K$7$^$9!#\e(B
30
31 CVS \e$BHG$N%=!<%9%3!<%I$O!"$"$/$^$G3+H/ES>e$N$b$N$G$"$j!"MxMQ$O8D?M$N@UG$\e(B
32 \e$B$G$*4j$$$7$^$9!#\e(BCVS \e$BHG$K4X$9$k%P%0Js9p$O<u$1IU$1$^$;$s!#\e(B
33
34 (1) CVS \e$B%5!<%P$X$N%m%0%$%s\e(B
35
36     cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root login
37     CVS password: [CR] # NULL string
38
39 (2) \e$B%b%8%e!<%k$N%A%'%C%/%"%&%H\e(B
40
41     cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/root checkout riece
42
43 (3) configure \e$B%9%/%j%W%H$N@8@.\e(B
44
45     autoreconf -f -i -v
46
47 \e$B$3$N:n6H$K$O:G?7$N\e(B GNU Automake \e$B$,I,MW$+$b$7$l$^$;$s!#\e(B
48
49\e$BFbIt9=B$\e(B
50
51 ** \e$B%b%8%e!<%k$N9=@.\e(B
52
53 Riece \e$B$r9=@.$9$k\e(B elisp \e$B%b%8%e!<%k$r0J2<$KNs5s$7$^$9!#0MB84X78$N>e0L$K\e(B
54 \e$B$"$k$b$N$r@h$K5s$2$^$9!#\e(B
55
56 - riece-globals
57   \e$BBg0hJQ?t$NDj5A\e(B
58
59 - riece-options
60   \e$B%f!<%6%*%W%7%g%s$NDj5A\e(B
61
62 - riece-version
63   \e$B%P!<%8%g%s$NDj5A\e(B
64
65 - riece-coding
66   \e$B%3!<%G%#%s%0%7%9%F%`4XO"$N4X?t$NDj5A\e(B
67
68 - riece-complete
69   \e$B%_%K%P%C%U%!$G$NJd40$r=u$1$k4X?t$NDj5A\e(B
70
71 - riece-addon
72   \e$B%"%I%*%s4IM}\e(B
73
74 - riece-mode
75   riece-channel/riece-user \e$B%*%V%8%'%/%H$N%b!<%I4IM}\e(B
76
77 - riece-identity
78   riece-channel/riece-user \e$B%*%V%8%'%/%H\e(B \e$B$NBg0hI=5-$rA`:n$9$k4X?t$NDj5A\e(B
79
80 - riece-channel
81   riece-channel \e$B%*%V%8%'%/%H\e(B \e$B4XO"$NDj5A\e(B
82
83 - riece-user
84   riece-user \e$B%*%V%8%'%/%H\e(B \e$B4XO"$NDj5A\e(B
85
86 - riece-misc
87   \e$B;(B?$J4X?t$NDj5A\e(B
88
89 - riece-signal
90   \e$B%7%0%J%k4IM}\e(B
91
92 - riece-layout
93   \e$B%&%#%s%I%&%l%$%"%&%H4IM}\e(B
94
95 - riece-display
96   \e$BI=<(MQ%P%C%U%!$N4IM}\e(B
97
98 - riece-server
99   IRC \e$B%5!<%P$H$N@\B34IM}\e(B
100
101 - riece-naming
102   \e$B%A%c%s%M%k$X$N%f!<%6$N;22C!&N%C&$r4IM}$9$k\e(B mediator
103
104 - riece-message
105   riece-message \e$B%*%V%8%'%/%H\e(B \e$B4XO"$NDj5A\e(B
106
107 - riece-filter
108   \e$B%W%m%;%9%U%#%k%?$N%(%s%H%j%]%$%s%H\e(B
109
110 - riece-handle
111   \e$BDL>o$N%a%C%;!<%8$N%O%s%I%i!#\e(Briece-filter \e$B$+$i8F$P$l$k\e(B
112
113 - riece-000
114   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
115
116 - riece-200
117   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
118
119 - riece-300
120   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
121
122 - riece-400
123   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
124
125 - riece-500
126   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
127
128 - riece-commands
129   \e$B%3%^%s%I$NDj5A\e(B
130
131 - riece-irc
132   IRC \e$B%W%m%H%3%k$KBP1~$7$?\e(B process-filter \e$B$J$I$N@_Dj\e(B
133
134 - riece
135   \e$B5/F0;~$N%(%s%H%j%]%$%s%H!#3F%P%C%U%!$N%a%8%c!<%b!<%I$N@_Dj$J$I\e(B
136
137 ** \e$BL>A06u4V$N4IM}\e(B
138
139 Riece \e$B$OF1;~$KJ#?t$N\e(B IRC \e$B%5!<%P$K@\B3$G$-$k$N$G!"\e(BIRC \e$B%5!<%PKh$KJL!9$N\e(B
140 \e$BL>A06u4V$r4IM}$9$kI,MW$,$"$j$^$9!#$3$N$h$&$JL>A06u4V$K$O!"\e(BIRC \e$B%5!<%P$H\e(B
141 \e$B$N@\B3%W%m%;%9$K7k$SIU$1$i$l$?%P%C%U%!$N%m!<%+%kJQ?t$r2p$7$F%"%/%;%9$7\e(B
142 \e$B$^$9!#\e(B
143
144 *** \e$B%W%m%;%9%P%C%U%!$N<hF@\e(B
145
146 IRC \e$B%5!<%P$H$N@\B3%W%m%;%9$r<hF@$9$k$K$O\e(B IRC \e$B%5!<%P$NL>A0$rCN$kI,MW$,\e(B
147 \e$B$"$j$^$9!#\e(BIRC \e$B%5!<%P$NL>A0$O0J2<$K5s$2$k$$$/$D$+$NJ}K!$G<hF@$G$-$^$9!#\e(B
148
149 (1) \e$BJQ?t\e(B riece-overrinding-server-name \e$B$NCM\e(B
150
151 (2) \e$BJQ?t\e(B riece-server-name \e$B$NCM\e(B
152
153     riece-server-name \e$B$,%+%l%s%H%P%C%U%!$N%m!<%+%kJQ?t$G$"$k$J$i$P!"4{$K%W\e(B
154     \e$B%m%;%9$N%P%C%U%!$K$$$k$H$_$J$;$k$N$G!"\e(Briece-server-name \e$B$NCM$=$N$b$N\e(B
155
156 (3) \e$BA*BrCf$N%A%c%s%M%k$rI=$9\e(B riece-identity \e$B%*%V%8%'%/%H$+$i@Z$j=P$7$?\e(B 
157     IRC \e$B%5!<%P$NL>A0\e(B
158
159 \e$B$3$&$7$F<hF@$7$?\e(B IRC \e$B%5!<%P$NL>A0$r0z?t$K4X?t\e(B riece-server-process \e$B$r\e(B
160 \e$B8F=P$7!"%5!<%P$N%W%m%;%9$r<hF@$7$^$9!#\e(B
161
162 *** riece-identity \e$B%*%V%8%'%/%H\e(B
163
164 \e$BJ#?t$N\e(B IRC \e$B%5!<%P$K@\B3$7$F$$$k>l9g!"%A%c%s%M%kL>$d%K%C%/%M!<%`$rBg0h\e(B
165 \e$BE*$K6hJL$9$kI,MW$,@8$8$^$9!#$3$N$h$&$JL>A0$rI=8=$9$k$N$,\e(B
166 riece-identity \e$B%*%V%8%'%/%H$G$9!#\e(B
167
168 riece-identity \e$B%*%V%8%'%/%H$O0J2<$N\e(B 2 \e$B$D$NMWAG$r$b$D%Y%/%?!<$G$9!#\e(B
169
170 - prefix
171   \e$B%A%c%s%M%kL>$d%K%C%/%M!<%`$J$I!"\e(BIRC \e$B%5!<%P$K8GM-$NL>A0\e(B
172
173 - server
174   IRC \e$B%5!<%P$NL>A0\e(B
175
176 riece-identity \e$B%*%V%8%'%/%H$KE,MQ2DG=$JA`:n$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#\e(B
177
178 - riece-make-identity prefix &optional server
179   riece-identity \e$B%*%V%8%'%/%H$r?75,$K:n@.$7$^$9!#\e(Bserver \e$B0z?t$,>JN,$5$l$?\e(B
180   \e$B>l9g$K$O!"4X?t\e(B riece-find-server-name \e$B$G<hF@$7$?%5!<%PL>$r;H$$$^$9\e(B
181
182 - riece-identity-prefix identity
183   riece-identity \e$B%*%V%8%'%/%H$+$i\e(B IRC \e$B%5!<%P$K8GM-$NL>A0$r@Z$j=P$7$^$9!#\e(B
184
185 - riece-identity-server identity
186   riece-identity \e$B%*%V%8%'%/%H$+$i%5!<%P$NL>A0$r@Z$j=P$7$^$9!#\e(B
187
188 - riece-identity-equal ident1 ident2
189   2 \e$B$D$N\e(B riece-identity \e$B%*%V%8%'%/%H$,F1Ey$G$"$k$+D4$Y$^$9!#\e(B
190
191 - riece-identity-equal-no-server ident1 ident2
192   2 \e$B$D$N\e(B riece-identity \e$B%*%V%8%'%/%H$N!"\e(BIRC \e$B%5!<%P$K8GM-$NL>A0$,F1Ey$G$"\e(B
193   \e$B$k$+D4$Y$^$9!#\e(B
194
195 - riece-identity-member elt list
196   riece-identity \e$B%*%V%8%'%/%H\e(B elt \e$B$,\e(B list \e$B$K4^$^$l$k$+D4$Y$^$9!#\e(B
197
198 *** \e$B%A%c%s%M%k$H%f!<%6$N4IM}\e(B
199
200 riece-identity \e$B%*%V%8%'%/%H$+$i@Z$j=P$5$l$?\e(B IRC \e$B%5!<%P$K8GM-$NL>A0!"$9\e(B
201 \e$B$J$o$A%A%c%s%M%kL>$H$H%K%C%/%M!<%`$K$h$jI=$o$5$l$k%A%c%s%M%k$H%f!<%6$N\e(B
202 \e$B<BBN$O$=$l$>$l\e(B riece-channel \e$B%*%V%8%'%/%H$H\e(B riece-user \e$B%*%V%8%'%/%H$G\e(B
203 \e$BI=8=$5$l$^$9!#\e(B
204
205 **** riece-channel \e$B%*%V%8%'%/%H\e(B
206
207 riece-channel \e$B$O%A%c%s%M%k$rI=$9%*%V%8%'%/%H$G!"0J2<$NMWAG$r;}$A$^$9!#\e(B
208
209 - users
210   \e$B;22C$7$F$$$k%f!<%6$N%K%C%/%M!<%`$N%j%9%H\e(B
211
212 - operators
213   \e$B%*%Z%l!<%?8"8B$r$b$D%f!<%6$N%K%C%/%M!<%`$N%j%9%H\e(B
214
215 - speakers
216   \e$BH/8@8"$r$b$D%f!<%6$N%K%C%/%M!<%`$N%j%9%H\e(B
217
218 - modes
219   \e$B%A%c%s%M%k$N%b!<%I\e(B
220
221 - banned
222   MODE +b \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B
223
224 - invited
225   MODE +I \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B
226
227 - uninvited
228   MODE +e \e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw\e(B
229
230 **** riece-user \e$B%*%V%8%'%/%H\e(B
231
232 riece-user \e$B$O!"\e(BIRC \e$B$K;22C$7$F$$$k%f!<%6$rI=$9%*%V%8%'%/%H$G!"0J2<$NMW\e(B
233 \e$BAG$r;}$A$^$9!#\e(B
234
235 - channels
236   \e$B;22C$7$F$$$k%A%c%s%M%kL>$N%j%9%H\e(B
237
238 - user-at-host
239   "<user>@<host>" \e$B$N7A$GM?$($i$l$k%f!<%6$N@\B3>pJs\e(B
240
241 - modes
242   \e$B%f!<%6$N%b!<%I\e(B
243
244 - away
245   \e$BN%@JCf$+$I$&$+\e(B
246
247 **** Mediator \e$B%Q%?!<%s\e(B
248
249 \e$B%A%c%s%M%k$X$N%f!<%6$N;22C!&N%C&$r4IM}$9$k$?$a$K!"\e(B riece-naming \e$B%b%8%e!<\e(B
250 \e$B%k$r;H$$$^$9!#\e(Briece-naming \e$B$O!"%G%6%$%s%Q%?!<%s$G$$$&$H$3$m$N\e(B Mediator
251 \e$B%Q%?!<%s$KAjEv$9$k$b$N$G$9!#\e(B
252
253 riece-naming \e$B$r2p$9$k$3$H$G!"A0=R$N\e(B riece-channel, riece-user \e$B%*%V%8%'\e(B
254 \e$B%/%H$rD>@\A`:n$9$k$3$H$J$/!"0BA4$KL>A06u4V$K%"%/%;%9$9$k$3$H$,$G$-$^$9!#\e(B
255
256 riece-naming \e$B$,Ds6!$9$k<g$J4X?t$O0J2<$N\e(B 3 \e$B$D$G$9!#\e(B
257
258 - riece-naming-assert-join user-name channel-name
259   \e$B%f!<%6$,%A%c%s%M%k$K;22C$7$?$3$H$rI=L@$7$^$9\e(B
260
261 - riece-naming-assert-part user-name channel-name
262   \e$B%f!<%6$,%A%c%s%M%k$+$iN%C&$7$?$3$H$rI=L@$7$^$9\e(B
263
264 - riece-naming-assert-rename old-name new-name
265   \e$B%f!<%6$NL>A0$,JQ99$5$l$?$3$H$rI=L@$7$^$9\e(B
266
267 ** \e$B%7%0%J%k\e(B
268
269 \e$B%7%0%J%k$H$O!"2hLL$N:FIA2h$r8zN(NI$/9T$&$?$a$K!"%$%Y%s%H$HIA2hBP>]$N%*\e(B
270 \e$B%V%8%'%/%H\e(B(\e$B%P%C%U%!$d!"%b!<%I%i%$%s$N0u\e(B)\e$B$r7k$SIU$1$k5!9=$G$9!#\e(B
271
272 \e$B%&%#%s%I%&$N:FIA2h$rH<$&%$%Y%s%H$,H/@8$9$k$H!"%7%0%J%k$,Aw=P$5$l$^$9!#\e(B
273 \e$B%7%0%J%k$N35G0$O!"\e(BQt \e$B$d\e(B GTK+ \e$B$H$$$C$?0lHLE*$J\e(B GUI \e$B%D!<%k%-%C%H$KMQ0U$5\e(B
274 \e$B$l$F$$$k$b$N$HF1MM$G$9!#\e(B
275
276 \e$B%7%0%J%k$rAw?.$9$k$K$O!"\e(Briece-emit-signal \e$B$r;H$$$^$9!#\e(B
277
278 - riece-emit-signal signal-name &rest args
279   \e$B0z?t\e(B signal-name \e$B$G;X<($5$l$k%7%0%J%k$r!"0z?t\e(B args \e$B$H$H$b$KAw=P$7$^\e(B
280   \e$B$9\e(B
281
282 \e$B%7%0%J%k$K1~Ez$9$k=hM}$O!"\e(Briece-connect-signal \e$B$r;H$C$FDj5A$7$^$9!#\e(B
283
284 - riece-connect-signal signal-name slot-function &optional
285                        filter-function handback
286
287   \e$B0z?t\e(B signal-name \e$B$G;XDj$5$l$?%7%0%J%k$K1~Ez$9$k4X?t\e(B slot-function \e$B$r\e(B
288   \e$B@_Dj$7$^$9!#\e(Bslot-function \e$B$K;XDj$5$l$?4X?t$O\e(B 2 \e$B$D$N0z?t$r<h$j$^$9!#\e(B
289   \e$B$R$H$D$O%7%0%J%k$G!"$b$&0l$D$O!"0z?t\e(B handback \e$B$GM?$($i$l$?%*%V%8%'%/\e(B
290   \e$B%H$,$=$N$^$^EO$5$l$^$9!#\e(B
291
292   \e$B0z?t\e(B filter-function \e$B$O!"<u?.$7$?%7%0%J%k$K1~Ez$9$Y$-$+$I$&$+$rH=Dj\e(B
293   \e$B$9$k4X?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
294   nil \e$B$^$?$O\e(B t \e$B$rJV$7$^$9!#JV$jCM$,\e(B nil \e$B$N>l9g$K$O!"\e(Bslot-function \e$B$O<B\e(B
295   \e$B9T$5$l$^$;$s!#\e(B
296
297 \e$B%7%0%J%k%*%V%8%'%/%H$K%"%/%;%9$9$k$K$O!"0J2<$N4X?t$r;H$$$^$9!#\e(B
298
299 - riece-signal-name signal
300   \e$B%7%0%J%k$NL>A0$rJV$7$^$9!#\e(B
301
302 - riece-signal-args
303   \e$B%7%0%J%k$NAw?.;~$KM?$($i$l$?0z?t$rJV$7$^$9!#\e(B
304
305 \e$B8=:_!"0J2<$N%7%0%J%k$,;HMQ$5$l$F$$$^$9!#\e(B
306
307 - channel-list-changed
308   \e$B;22C$7$F$$$k%A%c%s%M%k$N0lMw$NJQ2=\e(B
309
310 - user-list-changed
311   \e$B%A%c%s%M%k$N;22C<T0lMw$NJQ2=\e(B
312   (\e$B0z?t$O%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
313
314 - channel-switched
315   \e$B8=:_$N%A%c%s%M%k$r0\F0\e(B
316
317 - user-joined-channel
318   \e$B%f!<%6$,%A%c%s%M%k$K;22C\e(B
319   (\e$B0z?t$O!"%f!<%6$*$h$S%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
320
321 - user-left-channel
322   \e$B%f!<%6$,%A%c%s%M%k$+$iN%C&\e(B
323   (\e$B0z?t$O!"%f!<%6$*$h$S%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
324
325 - user-renamed
326   \e$B%f!<%6$,L>A0$rJQ99\e(B
327   (\e$B0z?t$O!"0JA0$H8=:_$NL>A0$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
328
329 - user-away-changed
330   \e$B%f!<%6$NN%@J>uBV$NJQ2=\e(B
331   (\e$B0z?t$O!"%f!<%6$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
332
333 - user-operator-changed
334   \e$B%f!<%6$N%*%Z%l!<%?>uBV$NJQ2=\e(B
335   (\e$B0z?t$O!"%f!<%6$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
336
337 - channel-topic-changed
338   \e$B%A%c%s%M%k$N%H%T%C%/$NJQ2=\e(B
339   (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
340
341 - channel-modes-changed
342   \e$B%A%c%s%M%k$N%b!<%I$NJQ2=\e(B
343   (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
344
345 - channel-operators-changed
346   \e$B%A%c%s%M%k$G%*%Z%l!<%?8"8B$r;}$D%f!<%6$N0lMw$NJQ2=\e(B
347   (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
348
349 - channel-speakers-changed
350   \e$B%A%c%s%M%k$GH/8@8"$r;}$D%f!<%6$N0lMw$NJQ2=\e(B
351   (\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k\e(B riece-identity \e$B%*%V%8%'%/%H\e(B)
352
353 - buffer-freeze-changed
354   \e$B%P%C%U%!$NE`7k>uBV$NJQ2=\e(B
355   (\e$B0z?t$O%P%C%U%!\e(B)
356
357 ** \e$B%"%I%*%s$N=q$-J}\e(B
358
359 \e$B%"%I%*%s$N>r7o$rK~$?$9%b%8%e!<%k$O0J2<$N4X?t$rDs6!$7$^$9!#\e(B
360
361 - <\e$B%b%8%e!<%kL>\e(B>-requires (\e$B%*%W%7%g%s\e(B)
362   \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
363
364 - <\e$B%b%8%e!<%kL>\e(B>-insinuate
365   \e$B=i4|2==hM}$r9T$$$^$9\e(B
366
367 - <\e$B%b%8%e!<%kL>\e(B>-enable (\e$B%*%W%7%g%s\e(B)
368   \e$B%"%I%*%s$NM-8z$K$9$k$H8F$P$l$^$9\e(B
369
370 - <\e$B%b%8%e!<%kL>\e(B>-disable (\e$B%*%W%7%g%s\e(B)
371   \e$B%"%I%*%s$NL58z$K$9$k$H8F$P$l$^$9\e(B
372
373 \e$B$^$?!"%"%I%*%s$N4JC1$J@bL@$r!"JQ?t\e(B <\e$B%b%8%e!<%kL>\e(B>-description \e$B$K@_Dj$9\e(B
374 \e$B$k$HNI$$$G$7$g$&!#$3$NJ8;zNs$O\e(B C-c ^ (M-x riece-command-list-addons)
375 \e$B$K$h$k%"%I%*%s$N0lMw$GI=<($5$l$^$9!#\e(B
376
377 \e$B%"%I%*%s$NM-8z!&L58z$N>uBV$O!"\e(B<\e$B%b%8%e!<%kL>\e(B> \e$B$N%7%s%\%k$K\e(B 
378 \e$BIUM?$5$l$k\e(B riece-addon-enabled \e$B%W%m%Q%F%#$GD4$Y$k$3$H$,$G$-$^$9!#\e(B
379
380 Riece \e$B$O5/F0;~$K0J2<$N=hM}$r9T$$$^$9!#\e(B
381
382 (1) \e$BJQ?t\e(B riece-addons \e$B$KNs5s$5$l$?%b%8%e!<%k$rFI$_9~$`\e(B
383
384 (2) \e$B$=$l$>$l$N%b%8%e!<%k$KBP$7!"\e(B<\e$B%b%8%e!<%kL>\e(B>-requires \e$B$,MQ0U\e(B
385     \e$B$5$l$F$$$l$P8F$S=P$7!"0MB8%0%i%U$r:n$k\e(B
386
387 (3) \e$B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H$r9T$&\e(B
388
389 (4) \e$BF@$i$l$?0MB8=g=x$K=>$C$F\e(B <\e$B%b%8%e!<%kL>\e(B>-insinuate \e$B8F$S=P$9\e(B
390
391 (5) \e$B$b$7!"%"%I%*%s$,M-8z2=!&L58z2=$KBP1~$7$F$*$j!"L@<(E*$KL58z2=$5$l$F\e(B
392     \e$B$$$J$1$l$P!"\e(B<\e$B%b%8%e!<%kL>\e(B>-enable \e$B$r8F$S=P$9!#\e(B
393
394 \e$B:n@.$7$?%"%I%*%s$O!"\e(Bload-path \e$B$NDL$C$?%G%#%l%/%H%j$+!"\e(B
395 ~/.riece/addons/ \e$B0J2<$KG[CV$9$k$HAH$_9~$_2DG=$J>uBV$K$J$j$^$9!#\e(B
396
397 ** \e$B%O%s%I%i%U%C%/\e(B
398
399 Riece \e$B$K$O!"%O%s%I%i%U%C%/$H8F$P$l$kFCJL$J0UL#$r;}$D%U%C%/$,$"$j$^$9!#\e(B
400 \e$B%O%s%I%i%U%C%/$O\e(B IRC \e$B$N%a%C%;!<%8$r<u$1<h$C$?A08e$G<B9T$5$l$^$9!#\e(B
401
402 <message> \e$B$r\e(B IRC \e$B$N%a%C%;!<%8$r>.J8;z$K$7$?$b$N$H$9$k$H!"%O%s%I%i%U%C\e(B
403 \e$B%/$O<!$NFs$D$G$9!#\e(B
404
405 - riece-<message>-hook
406   \e$B%a%C%;!<%8$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/\e(B
407
408 - riece-after-<message>-hook
409   \e$B%a%C%;!<%8$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/\e(B
410
411 \e$BNc$($P!"\e(BPRIVMSG \e$B$K4X$7$F$O!"\e(Briece-privmsg-hook,
412 riece-after-privmsg-hook \e$B$NFs$D$N%U%C%/$,8F$P$l$^$9!#\e(B
413
414 \e$B$3$3$G\e(B riece-<message>-hook \e$B$NJV$jCM$K$O0UL#$,$"$j!"\e(Bt \e$B$rJV$9$b$N$,$"$l\e(B
415 \e$B$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O\e(B
416 riece-after-<message>-hook \e$B$b8F$S=P$5$l$^$;$s!#\e(B
417
418 \e$B%U%C%/$N0z?t$K$O\e(B RFC2812 \e$B$N\e(B prefix \e$B$H\e(B parameters \e$B$,EO$j$^$9!#\e(B