1 \input texinfo @c -*- mode: texinfo; coding: iso-2022-jp -*-
3 @setfilename riece-ja.info
4 @settitle Riece -- An IRC client for Emacsen --
7 @c @documentlanguage ja
9 @dircategory GNU Emacs Lisp
11 * Riece-ja: (riece-ja). An IRC client for Emacsen
15 This file describes Riece.
17 Copyright (C) 2003,2004,2005 Daiki Ueno.
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".
35 @vskip 0pt plus 1filll
36 Copyright @copyright{} 2003,2004,2005 Daiki Ueno.
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".
49 @node Top, Overview, (dir), (dir)
50 @top Riece user's manual
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
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
68 @node Overview, Getting started, Top, Top
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
74 Riece
\e$B$N<g$JFCD9$O0J2<$NDL$j$G$9!#
\e(B
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
85 @node Getting started, Basic usage, Overview, Top
86 @chapter Getting started
88 Riece
\e$B$r5/F0$9$k$K$O!"
\e(B@kbd{M-x riece}
\e$B$H$7$^$9!#
\e(B
90 \e$B$b$7
\e(B @samp{M-x riece[No match]}
\e$B$H$$$&%a%C%;!<%8$,I=<($5$l$F5/F0$G$-$J
\e(B
91 \e$B$$>l9g$K$O!"$?$V$s%$%s%9%H!<%k$K<:GT$7$F$$$^$9!#<+J,$G%=!<%9$+$i%$%s%9
\e(B
92 \e$B%H!<%k$7$?>l9g$K$O
\e(B README
\e$B$r$b$&0lEYFI$_D>$7$F$/$@$5$$!#
\e(BOS
\e$B!&%G%#%9%H%j
\e(B
93 \e$B%S%e!<%7%g%s$N%Q%C%1!<%8$+$i%$%s%9%H!<%k$7$?>l9g$K$O!"%Q%C%1!<%8$K4^$^
\e(B
94 \e$B$l$k%I%-%e%a%s%H$r$43NG'$/$@$5$$!#
\e(B
96 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
97 \e$B%5!<%P$N0lMw$O
\e(B Web
\e$B%Z!<%8$J$I$+$iF@$k$3$H$,$G$-$^$9!#
\e(B
100 @item http://irc.kyoto-u.ac.jp
101 @item http://freenode.net
104 \e$B<!$K!"0J2<$N$h$&$J%a%C%;!<%8$,I=<($5$l$k$+$b$7$l$^$;$s!#
\e(B
107 Nickname "ueno" already in use. Choose a new one:
110 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
111 \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
112 \e$BA*$VI,MW$,$"$j$^$9!#
\e(B
114 \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}
115 \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
116 @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
117 \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
118 \e$B$k$N$G!"%F%9%H$r$7$?$$>l9g$K$O<+M3$K$*;H$$$/$@$5$$!#
\e(B
120 \e$B%A%c%s%M%k$KF~$k$3$H$,$G$-$?$i!"9T$rF~NO$7$F%j%?!<%s%-!<$r2!$9$HH/8@$G
\e(B
121 \e$B$-$^$9!#B>$N;22C<T$NH/8@$O2hLL1&>e$N%P%C%U%!$KI=<($5$l$^$9!#
\e(B
123 @node Basic usage, Advanced usage, Getting started, Top
127 * Windows::
\e$B2hLL9=@.
\e(B
128 * Indicators::
\e$B<+J,$N>uBV$NI=<(
\e(B
129 * Commands::
\e$B%3%^%s%I$N0lMw
\e(B
132 @node Windows, Indicators, Basic usage, Basic usage
135 \e$BDL>o$N@_Dj$G$O!"%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
136 \e$B$+$i$J$k2hLL$K@Z$jBX$o$j$^$9!#
\e(B
139 +-----+-----------------+
145 +-----+-----------------+
147 | +-----------------+
151 +-----+-----------------+
154 \e$B3F%&%#%s%I%&$KI=<($5$l$k%P%C%U%!$NLr3d$O0J2<$NDL$j$G$9!#
\e(B
158 \e$B%f!<%6%j%9%H%P%C%U%!
\e(B (@samp{*Users XXX*})
\e$B!#%A%c%s%M%k$K$$$k%f!<%6$N0lMw
\e(B
159 \e$B$,I=<($5$l$^$9!#
\e(B
162 \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
166 \e$B%A%c%s%M%k%j%9%H%P%C%U%!
\e(B (@samp{*Channels*})
\e$B!#;22C$7$F$$$k%A%c%s%M%k$N0l
\e(B
167 \e$BMw$,I=<($5$l$^$9!#
\e(B
170 \e$B%3%^%s%I%P%C%U%!
\e(B (@samp{*Commands*})
\e$B!#J8>O$d%3%^%s%I$rAw?.$9$k$?$a$K;H$$
\e(B
174 \e$B%"%6!<%:%P%C%U%!
\e(B (@samp{*Others*})
\e$B!#8=:_$N%A%c%s%M%k0J30$N2qOC$,N.$l$^$9!#
\e(B
177 @node Indicators, Commands, Windows, Basic usage
180 \e$B%3%^%s%I%P%C%U%!$d%A%c%s%M%k%P%C%U%!$N%b!<%I%i%$%s$N:8C<$K$O!"
\e(B
181 \e$B<+J,$N8=:_$N>uBV$r<($90u$,I=<($5$l$^$9!#
\e(B
184 Riece: --- ueno #Riece [n]
187 \e$B$3$3$G!"
\e(B@samp{---}
\e$B$NItJ,$K$O:8$+$i=g$K0J2<$N0UL#$,$"$j$^$9!#
\e(B
191 \e$BN%@J>uBV
\e(B (
\e$BN%@J$7$F$$$l$P
\e(B @samp{A})
194 \e$B%*%Z%l!<%?>uBV
\e(B (IRC
\e$B%*%Z%l!<%?$G$"$l$P
\e(B @samp{O})
197 \e$B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$N%9%/%m!<%k6X;_>uBV
\e(B
198 (
\e$B40A4$K6X;_$7$F$$$l$P
\e(B @samp{F}
\e$B!"<+J,$N<!2s$NH/8@$^$G6X;_$7$F$$$k$N$G$"$l
\e(B
202 @node Commands, Connecting to multiple servers, Indicators, Basic usage
205 \e$BJ8>O$rF~NO$7$?%P%C%U%!$O!"%3%^%s%I%P%C%U%!$H8F$P$l!"%3%^%s%I%P%C%U%!$+$i
\e(B
206 \e$B$OMM!9$J%3%^%s%I$rH/9T$9$k$3$H$,$G$-$^$9!#0J2<$K0lIt$r5s$2$^$9!#
\e(B
208 @subsection IRC commands
211 @findex riece-command-enter-message
212 \e$BJ8>O$rAw$j$^$9
\e(B(@code{riece-command-enter-message})
214 @findex riece-command-enter-message-as-notice
215 \e$BJ8>O$r
\e(B NOTICE
\e$B$H$7$FAw$j$^$9
\e(B(@code{riece-command-enter-message-as-notice})
217 @findex riece-command-join
218 \e$B%A%c%s%M%k$K;22C$7$^$9
\e(B(@code{riece-command-join})
220 @findex riece-command-part
221 \e$B%A%c%s%M%k$+$iN%C&$7$^$9
\e(B(@code{riece-command-part})
223 @findex riece-command-enter-message-to-user
224 \e$B08@h$r;XDj$7$F8=:_$N9T$rAw$j$^$9
\e(B(@code{riece-command-enter-message-to-user})
226 @findex riece-command-quit
227 IRC
\e$B$r$d$a$^$9
\e(B(@code{riece-command-quit})
229 @findex riece-command-change-nickname
230 \e$B<+J,$N%K%C%/%M!<%`$rJQ99$7$^$9
\e(B(@code{riece-command-change-nickname})
232 @findex riece-command-finger
233 \e$B%f!<%6$N>pJs$rD4$Y$^$9
\e(B(@code{riece-command-finger})
235 @findex riece-command-kick
236 \e$B%f!<%6$r%A%c%s%M%k$+$i=3$j=P$7$^$9
\e(B(@code{riece-command-kick})
238 @findex riece-command-invite
239 \e$B%f!<%6$r%A%c%s%M%k$K>7BT$7$^$9
\e(B(@code{riece-command-invite})
241 @findex riece-command-list
242 \e$B%Q%?!<%s$KBP$7$F
\e(B LIST
\e$B$rH/9T$7$^$9
\e(B(@code{riece-command-list})
244 @findex riece-command-names
245 \e$B%Q%?!<%s$KBP$7$F
\e(B NAMES
\e$B$rH/9T$7$^$9
\e(B(@code{riece-command-names})
247 @findex riece-command-who
248 \e$B%Q%?!<%s$KBP$7$F
\e(B WHO
\e$B$rH/9T$7$^$9
\e(B(@code{riece-command-who})
250 @findex riece-command-topic
251 \e$B%A%c%s%M%k$N%H%T%C%/$r@_Dj$7$^$9
\e(B(@code{riece-command-topic})
253 @findex riece-command-change-mode
254 \e$B%A%c%s%M%k$N%b!<%I$r@_Dj$7$^$9
\e(B(@code{riece-command-change-mode})
256 @findex riece-command-set-operators
257 \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})
259 @findex riece-command-set-speakers
260 \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})
262 @findex riece-version
263 Riece
\e$B$N%P!<%8%g%s$rI=<($7$^$9!#A0CV0z?t
\e(B (@kbd{C-u})
\e$B$rM?$($k$H!"$h$j>\:Y$J>pJs$rI=<($7$^$9!#
\e(B
265 @findex riece-command-raw
266 \e$B@8$N
\e(B IRC
\e$B%3%^%s%I$rAw$j$^$9
\e(B(@code{riece-command-raw})
269 @subsection Window manipulating commands
272 @findex riece-command-configure-windows
273 \e$B%&%#%s%I%&$r:FIA2h$7$^$9
\e(B(@code{riece-command-configure-windows})
275 @findex riece-command-next-channel
276 \e$B<!$N%A%c%s%M%k$K0\$j$^$9
\e(B(@code{riece-command-next-channel})
278 @findex riece-command-previous-channel
279 \e$BA0$N%A%c%s%M%k$K0\$j$^$9
\e(B(@code{riece-command-previous-channel})
281 @findex riece-command-next-channel
282 \e$B<!$N%A%c%s%M%k$K0\$j$^$9
\e(B(@code{riece-command-next-channel})
284 @findex riece-command-list-addons
285 \e$B%"%I%*%s$N0lMw$rI=<($7$^$9
\e(B(@code{riece-command-list-addons})
286 @item C-c
\e$B?t;z
\e(B
287 @findex riece-command-switch-to-channel-by-number
288 @var{n}
\e$BHVL\$N%A%c%s%M%k$K0\F0$7$^$9
\e(B(@code{riece-command-switch-to-channel-by-number})
289 @item C-c C-c
\e$B?t;z
\e(B
290 @findex riece-command-switch-to-channel-by-number
291 @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})
293 @findex riece-command-beginning-of-buffer
294 \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})
296 @findex riece-command-end-of-buffer
297 \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})
299 @findex riece-command-scroll-up
300 \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})
302 @findex riece-command-scroll-down
303 \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})
306 @subsection Status toggle commands
309 @findex riece-command-toggle-channel-buffer-mode
310 \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})
312 @findex riece-command-toggle-channel-list-buffer-mode
313 \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})
315 @findex riece-command-toggle-user-list-buffer-mode
316 \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})
318 @findex riece-command-toggle-freeze
319 \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
320 \e$B$9
\e(B(@code{riece-command-toggle-freeze})
322 @findex riece-command-toggle-own-freeze
323 \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
324 \e$B$^$9
\e(B(@code{riece-command-toggle-own-freeze})
326 @findex riece-command-toggle-away
327 \e$B<+J,$NN%@J>uBV$r@Z$jBX$($^$9
\e(B(@code{riece-command-toggle-away})
330 @node Advanced usage, Tips, Basic usage, Top
331 @chapter Advanced usage
333 \e$B$3$N>O$G$O!"$b$C$H?J$s$@;H$$J}$r2r@b$7$^$9!#
\e(B
336 * Startup File::
\e$B@_Dj%U%!%$%k
\e(B
337 * Server settings::
\e$B%5!<%P$N>\:Y@_Dj
\e(B
338 * Connecting to multiple servers::
339 * Add-ons::
\e$B%"%I%*%s$H$O
\e(B
342 @node Startup File, Server settings, Advanced usage, Advanced usage
343 @section Startup file
345 \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
346 \e$B;Y1g5!G=$rMQ$$$F
\e(B @kbd{M-x customize-group riece}
\e$B$G9T$J$($^$9$,!"
\e(B
347 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
349 \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
350 \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
351 \e$BJ]B8$5$l$^$9!#
\e(B
353 \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
354 \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
355 \e$B$?FbMF$O!"
\e(B@file{~/.riece/init}
\e$B$NFbMF$G>e=q$-$5$l$^$9!#
\e(B
357 @node Server settings, Add-ons, Startup File, Advanced usage
358 @section Server settings
360 \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
363 @code{riece-server}
\e$B$N7A<0$O<!$NDL$j$G$9!#
\e(B
365 <
\e$B%5!<%P$N%[%9%HL>
\e(B>:<
\e$B%]!<%HHV9f
\e(B>[:<
\e$B%Q%9%o!<%I
\e(B>]
368 @code{riece-server-alist}
\e$B$r@_Dj$9$k$H!"$h$jJ#;($J;XDj$,2DG=$K$J$j$^$9!#
\e(B
369 @vindex riece-server-alist
371 \e$B0J2<$NNc$r9M$($^$9!#
\e(B
374 (setq riece-server-alist
375 '(("foo" :host "irc.example.com" :coding shift_jis)
376 ("bar" :host "irc.example.net" :nickname "baz")))
378 (setq riece-server "foo")
381 \e$B$3$N@_Dj$N0UL#$O0J2<$NDL$j$G$9!#
\e(B
385 @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
388 @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
391 \e$B;XDj$G$-$k%-!<%o!<%I$N0lMw$O0J2<$NDL$j$G$9!#
\e(B
395 \e$B%5!<%P$N%[%9%HL>$^$?$O
\e(B IP
\e$B%"%I%l%9
\e(B
397 \e$B%5!<%P$N%5!<%S%9L>$^$?$O%]!<%HHV9f
\e(B (
\e$B%G%U%)%k%H$O
\e(B 6667)
399 \e$B@\B3;~$N%K%C%/%M!<%`
\e(B
401 \e$B@\B3;~$N%f!<%6%M!<%`
\e(B
403 \e$B@\B3;~$N%Q%9%o!<%I
\e(B
407 \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)
410 @node Connecting to multiple servers, , Commands, Basic usage
411 @section Connecting to multiple servers
413 \e$BF1;~$KJ#?t$N%5!<%P$K@\B3$9$k<j=g$r0J2<$K<($7$^$9!#
\e(B
415 \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
417 \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
419 \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
422 #Riece@@irc.freenode.net
425 \e$BJ#?t$N@\B3$rA`:n$9$k%3%^%s%I$r0J2<$K$^$H$a$^$9!#
\e(B
429 @findex riece-command-open-server
430 \e$BJL$N%5!<%P$K@\B3$7$^$9
\e(B(@code{riece-command-open-server})
432 @findex riece-command-close-server
433 \e$B%5!<%P$H$N@\B3$r@ZCG$7$^$9
\e(B(@code{riece-command-close-server})
435 @findex riece-command-universal-server-name-argument
436 \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})
439 @node Add-ons, , Server settings, Advanced usage
442 Riece
\e$B$G$O!"%f!<%6$,?7$?$J5!G=$rDI2C$7!"<+M3$K<h$j30$7$G$-$k$h$&!"%"%I%*
\e(B
443 \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
444 \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
445 \e$B$H$,$G$-$^$9!#
\e(B
447 \e$B8=:_!"0J2<$N%b%8%e!<%k$,%"%I%*%s$H$7$F<BAu$5$l$F$$$^$9!'
\e(B
450 @item riece-highlight
451 \e$B%P%C%U%!$N?'IU$1
\e(B
453 CTCP (Client To Client Protocol)
455 \e$B2qOC$K8=$l$?
\e(B URL
\e$B$N<}=8
\e(B
457 \e$BH/8@$N$"$C$?%A%c%s%M%k$K
\e(B@samp{!}
\e$B%^!<%/$r$D$1$k
\e(B
459 DCC (Direct Client to Client protocol)
\e$B$K$h$k%U%!%$%kE>Aw
\e(B
460 (Ruby
\e$B$K$h$k<BAu
\e(B)
462 DCC (Direct Client to Client protocol)
\e$B$K$h$k%U%!%$%kE>Aw
\e(B
463 (Emacs 21.3
\e$B$N
\e(B make-network-process
\e$B$K$h$k<BAu
\e(B)
465 \e$B%_%K%P%C%U%!$N$_$G
\e(B IRC
\e$B$r$9$k
\e(B
467 \e$B2qOC$N%m%0$N<}=8
\e(B
469 doctor.el
\e$B$HO"7H$7$F@:?@2J0e$K$J$j$9$^$9
\e(B
471 \e$B%A%c%s%M%kL>$d%K%C%/%M!<%`$NJLL>$rDj5A
\e(B
472 @item riece-skk-kakutei
473 SKK
\e$B;HMQ;~$KJQ49%b!<%I$N0u$rH/8@$+$i<h$j=|$/
\e(B
474 @item riece-foolproof
475 \e$B%A%c%s%M%k%_%9$rKI$0
\e(B
477 \e$B?'!9$JJ}K!$G0\F0@h$N%A%c%s%M%k$r?dB,
\e(B
479 \e$B%A%c%s%M%k0\F0$NMzNr4IM}
\e(B
481 \e$B%\%?%s$d%]%C%W%"%C%W%a%K%e!<$NI=<(
\e(B
483 \e$B%-!<%o!<%I$N6/D4I=<(
\e(B
485 \e$B%a%K%e!<%P!<$K%a%K%e!<$rEPO?
\e(B
487 Emacs
\e$B$,
\e(B busy or suspend
\e$B>uBV$K$J$k$3$H$KHw$(!"
\e(B
488 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
490 \e$B%"%I%l%9D"
\e(B LSDB (Lovely Sister Database)
491 @uref{http://lsdb.sourceforge.jp}
\e$B$HO"7H
\e(B
493 \e$B%f!<%6%j%9%H%P%C%U%!$K%f!<%6$N
\e(B X-Face
\e$B$rI=<(
\e(B
495 \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
497 \e$B;XDj$7$?%f!<%6$NH/8@$rL5;k
\e(B
499 \e$B%A%c%s%M%kFb$G
\e(B hangman(6)
\e$B$GM7$V
\e(B
501 \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
503 \e$BF|K\8l$NDL$i$J$$C<Kv$G!"F|K\8l$r%m!<%^;z$GI=<(
\e(B
505 @kbd{C-c y}
\e$B$G
\e(B kill-ring
\e$B$+$iJ8;zNs$rAw?.
\e(B
507 \e$B%D!<%k%P!<$rI=<(
\e(B
509 \e$BF~NO$5$l$?J8;zNs$r
\e(B lisp
\e$B%*%V%8%'%/%H$H$7$FI>2A
\e(B
511 \e$B%-!<%o!<%I$r
\e(B Google
\e$B$G8!:w
\e(B
512 @item riece-keepalive
513 IRC
\e$B%5!<%P$H$N@\B3$rJ];}
\e(B
516 \e$B$3$l$i$N$&$A!"
\e(B@samp{riece-highlight}
\e$B$H
\e(B @samp{riece-ctcp}
\e$B!"
\e(B
517 @samp{riece-url}
\e$B!"
\e(B @samp{riece-unread}
\e$B!"
\e(B @samp{riece-guess}
\e$B!"
\e(B
518 @samp{riece-history}
\e$B!"
\e(B @samp{riece-button}
\e$B!"
\e(B@samp{riece-menu}
\e$B!"
\e(B
519 @samp{riece-ignore}
\e$B!"
\e(B@samp{riece-log}
\e$B!"
\e(B@samp{riece-alias}
\e$B!"
\e(B
520 @samp{riece-ctlseq}
\e$B!"
\e(B@samp{riece-keyword}
\e$B$O%G%U%)%k%H$GAH$_9~$^$l$F$$$^$9!#
\e(B
522 \e$B%"%I%*%s$rAH$_9~$`$K$O
\e(B @code{riece-addons}
\e$B$r@_Dj$7$^$9!#$?$H$($P
\e(B
523 @samp{riece-alias}
\e$B$rAH$_9~$`>l9g$K$O!"
\e(B@file{~/.riece/init.el}
\e$B$K0J2<$N$h
\e(B
524 \e$B$&$K5-=R$7$^$9!#
\e(B
528 (add-to-list 'riece-addons 'riece-alias)
531 @node Tips, Development, Advanced usage, Top
532 @comment node-name, next, previous, up
535 \e$B$3$N>O$G$O!"$h$/J9$+$l$k<ALd$KBP$9$kEz$($d!"JXMx$J@_Dj$r>R2p$7$^$9!#
\e(B
537 @section
\e$B%A%c%s%M%kL>!V
\e(B#
\e$B$[$2
\e(B:*.jp
\e$B!W$r!V
\e(B%
\e$B$[$2!W$HN,5-$7$?$$
\e(B
539 \e$B0J2<$N9T$r
\e(B @file{~/.riece/init.el}
\e$B$KDI2C$7$^$9!'
\e(B
542 (add-to-list 'riece-addons 'riece-alias)
545 @section
\e$BD>A0$K$$$?%A%c%s%M%k$KLa$j$?$$
\e(B
546 @vindex riece-guess-channel-try-functions
548 \e$B0J2<$N9T$r
\e(B @file{~/.riece/init.el}
\e$B$KDI2C$9$k$3$H$G!"
\e(B
549 @kbd{C-c g}
\e$B$GMzNr$rC)$j$D$D0\F0$G$-$^$9!#
\e(B
552 (add-hook 'riece-guess-channel-try-functions
553 'riece-guess-channel-from-history)
556 @section
\e$BH/8@$,$"$k$H%P%C%U%!$,%9%/%m!<%k$9$k$N$r;_$a$?$$
\e(B
558 @kbd{C-c C-t f}
\e$B$G$9!#
\e(B(irchat
\e$B$G$O
\e(B @kbd{C-c C-f}) "t"oggle "f"reeze
\e$B$H3P
\e(B
561 @section
\e$BGI<j$JAu>~$rM^@)$7$?$$
\e(B
563 @code{riece-addons}
\e$B$+$i!"?'IU$1
\e(B (@samp{riece-highlight})
\e$B!"%\%?%s
\e(B
564 (@samp{riece-button})
\e$B!"%"%$%3%s
\e(B (@samp{riece-icon})
\e$B$r=|$-$^$9!#
\e(B
566 \e$B$?$H$($P?'IU$1$r$d$a$?$$$N$G$"$l$P!"0J2<$N9T$r
\e(B @file{~/.riece/init.el}
567 \e$B$KDI2C$7$^$9!'
\e(B
570 (setq riece-addons (delq 'riece-highlight riece-addons))
573 @section
\e$B%-!<%o!<%I$KH?1~$7$F2;$rLD$i$7$?$$
\e(B
574 @vindex riece-keyword-notify-functions
576 XEmacs
\e$B$G$O!"0J2<$N@_Dj$r
\e(B @file{~/.riece/init.el}
\e$B$K2C$($k$3$H$G!"
\e(B"
\e$B$[$2
\e(B"
577 \e$B$d
\e(B "
\e$B$U$,
\e(B"
\e$B$KH?1~$7$F8z2L2;
\e(B(
\e$B$3$NNc$G$O!"%+%C%3!<$NLD$-@<
\e(B)
\e$B$rLD$i$9$3$H$,$G
\e(B
581 (load-default-sounds)
582 (setq riece-keywords '("
\e$B$[$2
\e(B" "
\e$B$U$,
\e(B"))
583 (add-hook 'riece-keyword-notify-functions
584 (lambda (keyword message) (play-sound 'cuckoo)))
587 Emacs
\e$B$N>l9g$O
\e(B,
\e$B0J2<$N@_Dj$r
\e(B @file{~/.riece/init.el}
\e$B$K2C$($k$3$H$G
\e(B,
588 "
\e$B$[$2
\e(B"
\e$B$d
\e(B "
\e$B$U$,
\e(B"
\e$B$KH?1~$7$F2;$rLD$i$9$3$H$,$G$-$^$9!#
\e(B
593 (call-process "play" nil 0 t
595 (setq riece-keywords '("
\e$B$[$2
\e(B" "
\e$B$U$,
\e(B"))
596 (add-hook 'riece-keyword-notify-functions
597 (lambda (keyword message) (cuckoo)))
600 \e$B8z2L2;$G$O$J$/%7%s%W%k$K%S!<%W2;$rLD$i$7$?$$>l9g$O!"0J2<$N@_Dj$r
\e(B
601 @file{~/.riece/init.el}
\e$B$K2C$($^$9!#
\e(B
604 (setq riece-keywords '("
\e$B$[$2
\e(B" "
\e$B$U$,
\e(B"))
605 (add-hook 'riece-keyword-notify-functions
606 (lambda (keyword message) (ding)))
609 @section SKK
\e$B$r;H$C$F$$$F!"JQ49%b!<%I$N0u
\e(B (
\e$B"&
\e(B)
\e$B$rAw?.$7$?$/$J$$
\e(B
611 \e$B0J2<$N9T$r
\e(B @file{~/.riece/init.el}
\e$B$KDI2C$7$^$9!'
\e(B
614 (add-to-list 'riece-addons 'riece-skk-kakutei)
617 @section
\e$B%A%c%s%M%k$NHV9f$r8GDj$7$?$$
\e(B
618 @vindex riece-default-channel-binding
620 \e$B0J2<$N9T$r
\e(B @file{~/.riece/init.el}
\e$B$KDI2C$7$^$9!'
\e(B
623 (setq riece-default-channel-binding
624 '("#Riece" "#emacsen" nil "#debianjp"))
627 1: #Riece, 2: #emacsen, 4: #debianjp
\e$B$N$h$&$K3dEv$F$i$l$^$9!#
\e(Bnil
\e$B$O%G%U%)
\e(B
628 \e$B%k%H$G$O<+F03dEv$F$NBP>]$K$J$i$J$$$3$H0UL#$7!"?7$?$J%A%c%s%M%k$K;22C$7$?
\e(B
629 \e$B>l9g!"$=$N%A%c%s%M%k$,
\e(B 3
\e$BHVL\$N%A%c%s%M%k$H$7$F07$o$l$^$9!#
\e(B
631 @section
\e$B5/F0;~$K%Q%9%o!<%I$D$-$N%A%c%s%M%k$K;22C$7$?$$
\e(B
632 @vindex riece-startup-channel-list
633 @vindex riece-startup-server-list
635 \e$B0J2<$N9T$r
\e(B @file{~/.riece/init.el}
\e$B$KDI2C$7$^$9!'
\e(B
638 (setq riece-startup-channel-list
639 '(("#secret" "password") "#Riece"))
642 \e$BJ#?t$N%5!<%P>e$N%A%c%s%M%k$K;22C$9$k$K$O!"
\e(B
643 @code{riece-startup-server-list}
\e$B$bJ;$;$F@_Dj$9$kI,MW$,$"$j$^$9!#
\e(B
645 \e$BNc$H$7$F!"
\e(B@code{riece-server}
\e$B$H
\e(B @code{riece-server-alist}
\e$B$r0J2<$N$h$&
\e(B
646 \e$B$K@_Dj$7$?$H$7$^$9!#
\e(B
649 (setq riece-server "ircnet"
650 riece-server-alist '(("ircnet" :host "irc6.nara.wide.ad.jp")
651 ("freenode" :host "irc.ipv6.freenode.net")))
654 \e$B$3$N>l9g!"%G%U%)%k%H$G$O
\e(B "ircnet"
\e$B$@$1$K@\B3$7$^$9$,!"
\e(B
655 @code{riece-startup-server-list}
\e$B$r0J2<$N$h$&$K@_Dj$9$k$3$H$G!"
\e(B
656 "freenode"
\e$B$K$b@\B3$9$k$h$&$K$J$j$^$9!#
\e(B
659 (setq riece-startup-server-list '("freenode"))
662 @section HTTP
\e$B%W%m%-%71[$7$K
\e(B IRC
\e$B%5!<%P$K@\B3$7$?$$
\e(B
663 relay.el
\e$B$H
\e(B connect.c
\e$B$r;H$&$H!"
\e(B
664 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
668 @uref{http://www.taiyo.co.jp/~gotoh/lisp/relay.el}
671 @uref{http://www.taiyo.co.jp/~gotoh/ssh/connect.html}
674 \e$B$?$H$($P!"
\e(B"proxy.example.com:8080"
\e$B7PM3$G
\e(B irc.tokyo.wide.ad.jp
\e$B$K@\B3$9
\e(B
675 \e$B$k>l9g$K$O!"0J2<$N9T$r
\e(B @file{~/.riece/init.el}
\e$B$KDI2C$7$^$9!'
\e(B
679 (setq relay-command-alist (cons '("^irc\.tokyo\.wide\.ad\.jp$"
680 "connect" "-H" "proxy.example.com:8080"
683 riece-server-alist (cons '("proxy-tokyo" :host "irc.tokyo.wide.ad.jp"
684 :function relay-open-network-stream)
688 @section IRC
\e$B%m%0$r%U%!%$%k$KJ]B8$7$?$$
\e(B
689 @vindex riece-log-directory-map
691 \e$B0J2<$N9T$r
\e(B @file{~/.riece/init.el}
\e$B$KDI2C$7$^$9!'
\e(B
694 (add-to-list 'riece-addons 'riece-log)
697 \e$B%m%0%U%!%$%k$O%G%U%)%k%H$G$O
\e(B @file{~/.riece/log}
\e$B$N2<$K%5!<%PL>!"%A%c%s
\e(B
698 \e$B%M%kL>$N%G%#%l%/%j$,:n@.$5$l!"$=$NCf$KF|$K$AKh$KJ]B8$5$l$^$9!#$?$@$7%G%U%)
\e(B
699 \e$B%k%H$N%5!<%P$N>l9g$O!"%5!<%PL>$N%G%#%l%/%H%j$O>JN,$5$l$^$9!#
\e(B
701 US-ASCII
\e$B0J30$N%G%#%l%/%H%jL>$,J8;z2=$1$9$k$H$$$&?M$O!"
\e(B
702 @code{file-name-coding-system}
\e$B$NCM$rE,@Z$K@_Dj$9$k$+!"$"$k$$$O
\e(B
703 @code{riece-log-directory-map}
\e$B$G%A%c%s%M%kL>$HJ]B8@h$N%G%#%l%/%H%jL>$H
\e(B
704 \e$B$NBP1~%j%9%H$r0J2<$NNc$N$h$&$K!"
\e(BUS-ASCII
\e$B$N$_$r;HMQ$7$?%G%#%l%/%H%jL>$K
\e(B
705 \e$B$J$k$h$&$K@_Dj$9$k;v$G2sHr=PMh$^$9!'
\e(B
708 (setq riece-log-directory-map '(("#
\e$B$j!<$9
\e(B" . "riece")))
711 @section
\e$B%&%#%s%I%&4V$r<+M3$K0\F0$7$?$$
\e(B
713 GNU Emacs
\e$B$KImB0$N
\e(B windmove.el
\e$B$r;H$&$HJXMx$G$9!#>\:Y$O
\e(B windmove.el
\e$B$N
\e(B
714 \e$B%3%a%s%H$r;2>H$/$@$5$$!#
\e(Bwindmove.el
\e$B$O
\e(B @uref{http://hovav.net/elisp/}
715 \e$B$+$i$b<hF@$G$-$^$9!#
\e(B
717 @node Development, Index, Tips, Top
720 \e$B3+H/<TJg=8Cf!#
\e(B
723 * CVS::
\e$B3+H/Cf$N%=!<%9$N<hF@
\e(B
724 * Debugging::
\e$B%G%P%C%0$N$?$a$N@_Dj
\e(B
725 * Modules::
\e$B9=@.%b%8%e!<%k$N@bL@
\e(B
726 * Namespace management::
728 * Writing add-ons::
\e$B%"%I%*%s$N=q$-$+$?
\e(B
732 @node CVS, Debugging, Development, Development
735 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
736 \e$B%7%g%C%H$r<hF@$9$k$K$O0J2<$N$h$&$K$7$^$9!#
\e(B
740 CVS
\e$B%5!<%P$X$N%m%0%$%s
\e(B
743 cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root login
744 CVS password: [CR] # NULL string
748 \e$B%b%8%e!<%k$N%A%'%C%/%"%&%H
\e(B
751 cvs -d :pserver:anonymous@@cvs.m17n.org:/cvs/root checkout riece
755 @file{configure}
\e$B$N@8@.
\e(B
762 @node Debugging, Modules, CVS, Development
765 @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
766 \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
770 @node Modules, Namespace management, Debugging, Development
773 \e$B4pK\E*$K0MB84X78$N>e0L$K$"$k$b$N$+$i!'
\e(B
777 \e$BBg0hJQ?t$NDj5A
\e(B
779 \e$B%f!<%6%*%W%7%g%s$NDj5A
\e(B
781 \e$B%P!<%8%g%s$NDj5A
\e(B
783 \e$B%3!<%G%#%s%0%7%9%F%`4XO"$N4X?t$NDj5A
\e(B
785 \e$B%_%K%P%C%U%!$G$NJd40$r=u$1$k4X?t$NDj5A
\e(B
790 channel/user
\e$B$N%b!<%I4IM}
\e(B
792 channel/user object
\e$B$NBg0hI=5-$rA`:n$9$k4X?t$NDj5A
\e(B
794 channel object
\e$B4XO"$NDj5A
\e(B
796 user object
\e$B4XO"$NDj5A
\e(B
799 \e$B;(B?$J4X?t$NDj5A
\e(B
801 \e$B%7%0%J%k
\e(B(@pxref{Signals})
\e$B4IM}
\e(B
804 \e$B%&%#%s%I%&%l%$%"%&%H4IM}
\e(B
806 \e$BI=<(MQ%P%C%U%!$N4IM}
\e(B
808 IRC
\e$B%5!<%P$H$N@\B34IM}
\e(B
811 \e$BL>A04IM}$N$?$a$N
\e(B mediator
\e$B$N$h$&$J$b$N
\e(B
813 message object
\e$B4XO"$NDj5A
\e(B
816 \e$B%W%m%;%9%U%#%k%?$N%(%s%H%j%]%$%s%H
\e(B
818 \e$BDL>o$N%a%C%;!<%8$N%O%s%I%i!#
\e(Briece-filter
\e$B$+$i8F$P$l$k
\e(B
820 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
822 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
824 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
826 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
828 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
831 \e$B%3%^%s%I$NDj5A
\e(B
833 IRC
\e$B%W%m%H%3%k%$%s%?!<%U%'!<%9
\e(B
835 \e$B%(%s%H%j%]%$%s%H!#3F%P%C%U%!$N%b!<%IDj5A$J$I
\e(B
838 @node Namespace management, Signals, Modules, Development
839 @section Namespace management
841 Riece
\e$B$OJ#?t$N%5!<%P$KF1;~$K@\B3$9$k$?$a!"%5!<%PKh$KJL!9$NL>A06u4V$r4IM}
\e(B
842 \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
843 \e$B%m!<%+%kJQ?t$r2p$7$F%"%/%;%9$7$^$9!#
\e(B
845 @subsection Obtaining server buffer
846 \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
847 \e$B$^$9!#%5!<%P$NL>A0$O0J2<$K5s$2$k$$$/$D$+$NJ}K!$G<hF@$G$-$^$9!#
\e(B
851 @vindex riece-overrinding-server-name
852 \e$BBg0hJQ?t
\e(B @code{riece-overrinding-server-name}
\e$B$NCM
\e(B
855 @vindex riece-server-name
856 @code{riece-server-name}
\e$B$,%+%l%s%H%P%C%U%!$N%m!<%+%kJQ?t$G$"$k$J$i$P!"
\e(B
857 \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
861 @samp{riece-identity}
\e$B%*%V%8%'%/%H$K7k$SIU$1$i$l$?%5!<%PL>
\e(B(
\e$B8e=R
\e(B)
864 \e$B$3$&$7$FF@$?%5!<%PL>$G
\e(B @code{riece-server-process}
\e$B$r8F=P$7!"%5!<%P$N
\e(B
865 \e$B%W%m%;%9$r<hF@$7$^$9!#
\e(B
866 @findex riece-server-process
869 \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
870 \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
871 \e$B$,
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H$G$9!#
\e(B
873 @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
877 \e$B%5!<%P%m!<%+%k$JL>A0
\e(B
882 @samp{riece-identity}
\e$B%*%V%8%'%/%H$KBP$9$kA`:n$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#
\e(B
884 @defun riece-make-identity prefix &optional server
885 @samp{riece-identity}
\e$B%*%V%8%'%/%H$r:n@.$7$^$9!#
\e(Bserver
\e$B$,>JN,$5$l$?>l9g$K$O!"
\e(B
886 riece-find-server-name
\e$B$r;H$C$F<hF@$7$?%5!<%PL>$r;H$$$^$9
\e(B
889 @defun riece-identity-prefix identity
890 @samp{riece-identity}
\e$B%*%V%8%'%/%H$+$i%5!<%P%m!<%+%k$JL>A0$r<h$j=P$7$^$9!#
\e(B
893 @defun riece-identity-server identity
894 @samp{riece-identity}
\e$B%*%V%8%'%/%H$+$i%5!<%P$NL>A0$r<h$j=P$7$^$9!#
\e(B
897 @defun riece-identity-equal ident1 ident2
898 2
\e$B$D$N
\e(B@samp{riece-identity}
\e$B%*%V%8%'%/%H$,F1Ey$+D4$Y$^$9!#
\e(B
901 @defun riece-identity-equal-no-server ident1 ident2
902 2
\e$B$D$N
\e(B@samp{riece-identity}
\e$B%*%V%8%'%/%H$N%5!<%P%m!<%+%k$JL>A0$,F1Ey$+
\e(B
906 @defun riece-identity-member elt list
907 @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
908 \e$B$+8!::$7$^$9!#
\e(B
911 @subsection Channel and user management
912 @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
913 \e$B$H%f!<%6$O$=$l$>$l
\e(B @samp{riece-channel}
\e$B%*%V%8%'%/%H$H
\e(B
914 @samp{riee-user}
\e$B%*%V%8%'%/%H$K$h$jI=8=$5$l$^$9!#
\e(B
916 @subsubsection Channels
917 @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
918 \e$BMWAG$r;}$A$^$9!#
\e(B
922 \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
924 \e$B%*%Z%l!<%?8"8B$r$b$D%f!<%6$NL>A0$N%j%9%H
\e(B
926 \e$BH/8@8"$r$b$D%f!<%6$NL>A0$N%j%9%H
\e(B
928 \e$B%A%c%s%M%k$N%b!<%I
\e(B(
\e$BJ8;z$N%j%9%H
\e(B)
930 @samp{MODE +b}
\e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw
\e(B
932 @samp{MODE +I}
\e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw
\e(B
934 @samp{MODE +e}
\e$B$G;XDj$5$l$?%Q%?!<%s$N0lMw
\e(B
938 @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
939 \e$B2<$NMWAG$r;}$A$^$9!#
\e(B
943 \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
945 "<user>@@<host>"
\e$B$N7A$GM?$($i$l$k%f!<%6$N>pJs
\e(B
947 \e$B%f!<%6$N%b!<%I
\e(B(
\e$BJ8;z$N%j%9%H
\e(B)
949 AWAY
\e$BCf$+$I$&$+
\e(B
952 @subsubsection Mediator
953 \e$B%A%c%s%M%k$H%f!<%6$N;22C!&N%C&$r4IM}$9$k$?$a$K!"
\e(B @code{riece-naming}
954 \e$B$H$$$&>e0L$N%b%8%e!<%k$rMQ0U$7$F$$$^$9!#$3$l$O!"%G%6%$%s%Q%?!<%s$G$$$&
\e(B
955 \e$B$H$3$m$N
\e(B Mediator
\e$B%Q%?!<%s$KAjEv$9$k$b$N$G$9!#
\e(B
957 @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
958 \e$B$KD>@\<j$r?($l$k$3$H$J$/!"L>A06u4V$K0BA4$K%"%/%;%9$9$k$3$H$,$G$-$^$9!#
\e(B
960 \e$BDs6!$9$k<g$J4X?t$O0J2<$N
\e(B 3
\e$B$D$G$9!#
\e(B
962 @defun riece-naming-assert-join user-name channel-name
963 \e$B%f!<%6$,%A%c%s%M%k$K;22C$7$?$3$H$rI=L@$7$^$9
\e(B
966 @defun riece-naming-assert-part user-name channel-name
967 \e$B%f!<%6$,%A%c%s%M%k$+$iN%C&$7$?$3$H$rI=L@$7$^$9
\e(B
970 @defun riece-naming-assert-rename old-name new-name
971 \e$B%f!<%6$NL>A0$,JQ99$5$l$?$3$H$rI=L@$7$^$9
\e(B
974 @node Signals, Writing add-ons, Namespace management, Development
977 \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
978 \e$B%U%!$d!"%b!<%I%i%$%s$N0u
\e(B @pxref{Indicators})
\e$B$r7k$SIU$1$k%a%+%K%:%`$rMQ0U
\e(B
981 \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
982 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
984 \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
986 @defun riece-emit-signal signal-name &rest args
987 @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
990 \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
992 @defun riece-connect-signal signal-name slot-function &optional filter-function handback
993 @var{signal-name}
\e$B$G;X<($5$l$k%7%0%J%k$K1~Ez$9$k4X?t
\e(B @var{slot-function}
994 \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
995 \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
996 @var{handback}
\e$B0z?t$KM?$($i$l$?%*%V%8%'%/%H$,$=$N$^$^EO$5$l$^$9!#
\e(B
998 @var{filter-function}
\e$B$O!"<u?.$7$?%7%0%J%k$K1~Ez$9$Y$-$+$I$&$+$rH=Dj$9$k
\e(B
999 \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}
1000 \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
1001 @var{slot-function}
\e$B$,8F$P$l$k$3$H$O$"$j$^$;$s!#
\e(B
1004 \e$B%7%0%J%k%*%V%8%'%/%H$K%"%/%;%9$9$k$K$O!"0J2<$N4X?t$r;H$$$^$9!#
\e(B
1006 @defun riece-signal-name
1007 \e$B%7%0%J%k$NL>A0
\e(B(
\e$B%7%s%\%k
\e(B)
\e$B$rJV$7$^$9!#
\e(B
1010 @defun riece-signal-args
1011 \e$B%7%0%J%kAw=P;~$KM?$($i$l$?0z?t$rJV$7$^$9!#
\e(B
1014 \e$B8=:_!"0J2<$N%7%0%J%k$,I8=`$GEPO?$5$l$F$$$^$9!'
\e(B
1017 @item channel-list-changed
1018 \e$B;22C$7$F$$$k%A%c%s%M%k$N0lMw$NJQ2=
\e(B
1019 @item user-list-changed
1020 \e$B%A%c%s%M%k$N;22C<T0lMw$NJQ2=
\e(B
1021 (
\e$B0z?t$O%A%c%s%M%k$KAjEv$9$k
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H
\e(B)
1022 @item channel-switched
1023 \e$B8=:_$N%A%c%s%M%k$r0\F0
\e(B
1024 @item user-joined-channel
1025 \e$B%f!<%6$,%A%c%s%M%k$K;22C
\e(B
1026 (
\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)
1027 @item user-left-channel
1028 \e$B%f!<%6$,%A%c%s%M%k$+$iN%C&
\e(B
1029 (
\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)
1031 \e$B%f!<%6$,L>A0$rJQ99
\e(B
1032 (
\e$B0z?t$O!"0JA0$H8=:_$NL>A0$KAjEv$9$k
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H
\e(B)
1033 @item user-away-changed
1034 \e$B%f!<%6$NN%@J>uBV$NJQ2=
\e(B
1035 (
\e$B0z?t$O!"%f!<%6$KAjEv$9$k
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H
\e(B)
1036 @item user-operator-changed
1037 \e$B%f!<%6$N%*%Z%l!<%?>uBV$NJQ2=
\e(B
1038 (
\e$B0z?t$O!"%f!<%6$KAjEv$9$k
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H
\e(B)
1039 @item channel-topic-changed
1040 \e$B%A%c%s%M%k$N%H%T%C%/$NJQ2=
\e(B
1041 (
\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H
\e(B)
1042 @item channel-modes-changed
1043 \e$B%A%c%s%M%k$N%b!<%I$NJQ2=
\e(B
1044 (
\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H
\e(B)
1045 @item channel-operators-changed
1046 \e$B%A%c%s%M%k$G%*%Z%l!<%?8"8B$r;}$D%f!<%6$N0lMw$NJQ2=
\e(B
1047 (
\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H
\e(B)
1048 @item channel-speakers-changed
1049 \e$B%A%c%s%M%k$GH/8@8"$r;}$D%f!<%6$N0lMw$NJQ2=
\e(B
1050 (
\e$B0z?t$O!"%A%c%s%M%k$KAjEv$9$k
\e(B @samp{riece-identity}
\e$B%*%V%8%'%/%H
\e(B)
1051 @item buffer-freeze-changed
1052 \e$B%P%C%U%!$NE`7k>uBV$NJQ2=
\e(B
1053 (
\e$B0z?t$O%P%C%U%!
\e(B)
1056 @node Writing add-ons, Handler hooks, Signals, Development
1057 @section Writing add-ons
1059 \e$B%"%I%*%s$N>r7o$rK~$?$9%b%8%e!<%k$O0J2<$N4X?t$rDs6!$7$^$9!#
\e(B
1062 @item <
\e$B%b%8%e!<%kL>
\e(B>-requires
1063 \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)
1064 @item <
\e$B%b%8%e!<%kL>
\e(B>-insinuate
1065 \e$B=i4|2==hM}$r9T$$$^$9
\e(B
1068 \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
1069 \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
1070 \e$B$k%"%I%*%s$N0lMwI=<($K;H$o$l$^$9!#
\e(B
1072 \e$BM-8z2=!&L58z2=$KBP1~$7$?%"%I%*%s$O!"JQ?t
\e(B @samp{<
\e$B%b%8%e!<%kL>
\e(B>-enabled}
1073 \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
1074 \e$B$PM-8z$G$9!#2C$($F!"0J2<$N4X?t$rDs6!$7$^$9!#
\e(B
1077 @item <
\e$B%b%8%e!<%kL>
\e(B>-enable
1078 \e$B%"%I%*%s$rM-8z$K$7$^$9
\e(B
1079 @item <
\e$B%b%8%e!<%kL>
\e(B>-disable
1080 \e$B%"%I%*%s$rL58z$K$7$^$9
\e(B
1083 Riece
\e$B$O5/F0;~$K0J2<$N=hM}$r9T$$$^$9!#
\e(B
1087 \e$BJQ?t
\e(B @code{riece-addons}
\e$B$KNs5s$5$l$?%b%8%e!<%k$rFI$_9~$`
\e(B
1090 \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
1093 \e$B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H
\e(B (cf. tsort(1))
\e$B$r9T$&
\e(B
1096 \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
1099 \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
1100 @samp{<
\e$B%b%8%e!<%kL>
\e(B>-enable}
\e$B$r8F$S=P$9!#
\e(B
1103 \e$B:n@.$7$?%"%I%*%s$O!"
\e(B@code{load-path}
\e$B$NDL$C$?%G%#%l%/%H%j!"$^$?$O
\e(B
1104 @code{riece-addon-directory} (
\e$B%G%U%)%k%H$G$O
\e(B @file{~/.riece/addons/})
\e$B$K
\e(B
1105 \e$BCV$/$3$H$GAH$_9~$_2DG=$J>uBV$K$J$j$^$9!#
\e(B
1106 @vindex riece-addon-directory
1108 @node Handler hooks, , Writing add-ons, Development
1109 @section Handler hooks
1111 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
1112 \e$B$N%a%C%;!<%8$r<u$1<h$C$?A08e$G<B9T$5$l$k%U%C%/$G$9!#
\e(B
1114 \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
1115 \e$BJ8;z$K$7$?$b$N$H$7$^$9!#
\e(B
1118 @item riece-<message>-hook
1119 @samp{message}
\e$B$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/
\e(B
1120 @item riece-after-<message>-hook
1121 @samp{message}
\e$B$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/
\e(B
1124 \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
1125 \e$B$b$N$,$"$l$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O
\e(B
1126 @code{riece-after-<message>-hook}
\e$B$b8F$S=P$5$l$^$;$s!#
\e(B
1128 \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
1129 2
\e$B$D$N0z?t$,EO$j$^$9!#
\e(B
1131 @node Index, Function Index, Development, Top
1135 @node Function Index, Variable Index, Index, Top
1136 @chapter Function Index
1139 @node Variable Index, , Function Index, Top
1140 @chapter Variable Index