X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=doc%2Friece-ja.texi;h=2427e8f942f20ed7ad54c578a97611b2eb365b41;hp=a40fef17168bf2f233c3d6fb9e3ba3d1440e34a7;hb=e79932046e28d51e4b9c9b41af38f276e4e2fb36;hpb=a344e4f8c719ff65ffd5f07c3467463eda0d1d33 diff --git a/doc/riece-ja.texi b/doc/riece-ja.texi index a40fef1..2427e8f 100644 --- a/doc/riece-ja.texi +++ b/doc/riece-ja.texi @@ -3,7 +3,7 @@ @setfilename riece-ja.info @settitle Riece -- An IRC client for Emacsen -- @c %**end of header -@set VERSION 0.0.3 +@set VERSION 1.0.8 @c @documentlanguage ja @dircategory GNU Emacs Lisp @@ -14,7 +14,7 @@ @ifinfo This file describes Riece. -Copyright (C) 2003 Daiki Ueno. +Copyright (C) 2003,2004,2005 Daiki Ueno. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -33,7 +33,7 @@ Free Documentation License". @page @vskip 0pt plus 1filll -Copyright @copyright{} 2003 Daiki Ueno. +Copyright @copyright{} 2003,2004,2005 Daiki Ueno. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or @@ -49,13 +49,16 @@ Free Documentation License". @node Top, Overview, (dir), (dir) @top Riece user's manual -Riece $B$O(B Emacs $B$G(B IRC (Internet Relay Chat) $B$K;22C$9$k$?$a$N%W%m%0%i%`$G$9!#(B +$B$3$N%^%K%e%"%k$G$O!"(BRiece $B%P!<%8%g%s(B @value{VERSION} $B$K$D$$$F2r@b$7$^$9!#(B +$B$3$N%^%K%e%"%k$NB>$K!"(BRiece $B$K4X$9$kM-1W$J>pJs$O(B Riece $B$N8x<0%[!<%`%Z!<(B +$B%8(B @uref{http://www.nongnu.org/riece/} $B$+$iF@$i$l$k$+$b$7$l$^$;$s!#(B @menu -* Overview:: Riece $B$H$O2?$+(B -* Getting started:: -* Basic usage:: $B4pK\E*$J$D$+$$$+$?(B -* Advanced usage:: $B?J$s$@$D$+$$$+$?(B +* Overview:: $B$O$8$a$KFI$s$G$M(B +* Getting started:: IRC $B%5!<%P$K@\B3$7$F2qOC$7$F$_$h$&(B +* Basic usage:: $B4pK\E*$J;H$$J}(B +* Advanced usage:: $B?J$s$@;H$$J}(B +* Tips:: $BJXMx$J@_Dj(B * Development:: $B3+H/pJs(B * Index:: * Function Index:: @@ -65,138 +68,90 @@ Riece $B$O(B Emacs $B$G(B IRC (Internet Relay Chat) $B$K;22C$9$k$?$a$N%W%m% @node Overview, Getting started, Top, Top @chapter Overview -Riece $B$O!"D9$$4V%a%s%F%J%s%9IT2DG=$J>uBV$K$"$C$?(B Liece $B$N%3!<%I$r40A4$K(B -$B=q$-D>$7$?$b$N$G$9!#%$%s%?!<%U%'!<%9$O!"(BLiece $B$+$i$[$H$s$I$=$N$^$^F'=1$7(B -$B$F$$$^$9!#(B +Riece $B$O(B IRC (Internet Relay Chat) $B$G%A%c%C%H$r3Z$7$`$?$a$N%f!<%6%$%s(B +$B%?!<%U%'!<%9$G$9!#(BRiece $B$O!V$j!<$9!W$HFI$_$^$9!#(B -$B8=:_$N$H$3$m(B IRC $B%/%i%$%"%s%H$H$7$F$N5!G=$O==J,$G$O$"$j$^$;$s$,!"(BLiece -$B$K$O$J$$FCD9$,$$$/$D$+$"$j$^$9!#0J2<$K$=$l$i$N0lIt$r5s$2$^$9!#(B +Riece $B$N.$5$$(B (Liece $B$NH>J,DxEY(B) -@item $B%"%I%*%s$K$h$k3HD%$,2DG=(B -@item APEL $B$,$$$i$J$$(B -@end itemize - -$B$h$j>\$7$$>pJs$O!"0J2<$N%Z!<%8$r8fMw$/$@$5$$!#(B - -@itemize @bullet -@item http://wiliki.designflaw.org/index.cgi?Riece&l=jp -@item http://www.unixuser.org/~ueno/liece/ +@item $BJ#?t$N(B IRC $B%5!<%P$KF1;~$K@\B32DG=(B +@item $B%"%I%*%s$K$h$j5!G=$NDI2C$d$N(B elisp $B%Q%C%1!<%8$K0MB8$7$J$$$?$a!"%$%s%9%H!<%k$,4JC1(B +@item $B@_Dj$,4JC1$G!"A02s5/F0;~$N@_Dj$r5-O?!&I|85$9$k;EAH$_$rDs6!(B +@item $BCJ3,E*$JA`:n@bL@=q$,ImB0(B +@item $B:G?7$N(B IRC $B$N%/%i%$%"%s%H%W%m%H%3%k(B (RFC2812) $B$K=`5r(B @end itemize @node Getting started, Basic usage, Overview, Top @chapter Getting started -@menu -* Required Environments:: $BF0:n4D6-(B -* Installation:: $B%$%s%9%H!<%kJ}K!(B -* Startup File:: $B@_Dj%U%!%$%k(B -@end menu +Riece $B$r5/F0$9$k$K$O!"(B@kbd{M-x riece} $B$H$7$^$9!#(B -@node Required Environments, Installation, Getting started, Getting started -@section Required Environments +$B$b$7(B @samp{M-x riece[No match]} $B$H$$$&%a%C%;!<%8$,I=<($5$l$F5/F0$G$-$J(B +$B$$>l9g$K$O!"$?$V$s%$%s%9%H!<%k$K<:GT$7$F$$$^$9!#<+J,$G%=!<%9$+$i%$%s%9(B +$B%H!<%k$7$?>l9g$K$O(B README $B$r$b$&0lEYFI$_D>$7$F$/$@$5$$!#(BOS$B!&%G%#%9%H%j(B +$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^$^(B +$B$l$k%I%-%e%a%s%H$r$43NG'$/$@$5$$!#(B -$BA0$rJ9$+$l$^$9!#8x6&$KMxMQ2DG=$J(B IRC +$B%5!<%P$N0lMw$O(B Web $B%Z!<%8$J$I$+$iF@$k$3$H$,$G$-$^$9!#(B @itemize @bullet -@item Emacs 20.7 $B0J>e(B -@item XEmacs 21.4 $B0J>e(B +@item http://irc.kyoto-u.ac.jp +@item http://freenode.net @end itemize -@node Installation, Startup File, Required Environments, Getting started -@section Installation - -Riece $B$N:G?7HG$O!"(B -@uref{http://wiliki.designflaw.org/index.cgi?Riece&l=jp} $B$GG[I[$7$F$$$^(B -$B$9!#E83+$7$?$i!"0J2<$N%3%^%s%I$rl9g$K$O0J2<$N$h$&$K$7$^$9!#(B +IRC $B$G$O!";22CN$,;H$o$l(B +$B$^$9!#$b$7%K%C%/%M!<%`$,B>$NC/$+$K;HMQ$5$l$F$$$k>l9g!"JL$N%K%C%/%M!<%`$r(B +$BA*$VI,MW$,$"$j$^$9!#(B -@example -./configure --with-xemacs[=xemacs-21.4.13] -make package -make install-package -@end example - -XEmacs $B$N%Q%C%1!<%8$H$7$F%$%s%9%H!<%k$7$?>l9g$K$OI,MW$"$j$^$;$s$,!"(B -@kbd{M-x riece} $B$G5/F0$9$k$?$a$K$O!"(Bautoload $B$N@_Dj$r8f<+J,$N(B Emacs $B$N@_(B -$BDj%U%!%$%k$K2C$($kI,MW$,$"$j$^$9!#(B +$BL5;v$K@\B3$G$-$?$i!"A[E*$J2q5D<<$K;22C$7$F2qOC$r9T$J$$$^$9!#%A%c%s%M%k$KF~$k$K$O(B +@kbd{C-c j} $B$H%?%$%W$7$^$9!#;22C$9$k%A%c%s%M%kL>$r?R$M$i$l$?$i!"E,@Z$J%A%c(B +$B%s%M%kL>$rF~NO$7$^$7$g$&!#(BIRCnet $B$K$O(B @samp{#Riece} $B$H$$$&%A%c%s%M%k$,$"(B +$B$k$N$G!"%F%9%H$r$7$?$$>l9g$K$O<+M3$K$*;H$$$/$@$5$$!#(B -@lisp -(autoload 'riece "riece" "Start Riece" t) -@end lisp - -@node Startup File, , Installation, Getting started -@section Startup file +$B%A%c%s%M%k$KF~$k$H!"2<$N?^$K<($9$h$&$J(B 5 $B$D$N%&%#%s%I%&(B +@footnote{$B$^$.$i$o$7$$$G$9$,!"(BEmacs $B$N@$3&$G$O%P%C%U%!$rI=<($9$kNN0h$r%&%#(B +$B%s%I%&$H8F$S$^$9!#(B}$B$+$i$J$k2hLL$K@Z$jBX$o$j$^$9!#(B -$B$O$8$a$F$D$+$&>l9g$K$O!"$H$/$K2?$b@_Dj$9$kI,MW$O$"$j$^$;$s!#(B -$B$3$N>O$OFI$_Ht$P$7$F$/$@$5$$!#(B - -Riece $B$O@_Dj%U%!%$%k$rJQ?t(B @code{riece-directory} $B$G;X<($5$l$k%G%#%l%/%H(B -$B%j(B ($B%G%U%)%k%H$O(B @file{~/.riece/}) $B$+$iFI$_9~$_$^$9!#$3$N%G%#%l%/%H%j$K(B -$B$O0J2<$NFspJs$r3JG<$7$^$9(B($B%G%U%)%k%H$O(B @file{~/.riece/save}) -@item riece-variables-file -@vindex riece-variables-file -$B%f!<%6$K8GM-$N@_Dj$r5-=R$7$^$9(B($B%G%U%)%k%H$O(B @file{~/.riece/init}) -@end table +@example ++-----+-----------------+ +| | | +| | | +| (1) | (2) | +| | | +| | | ++-----+-----------------+ +| | (4) | +| +-----------------+ +| (3) | | +| | (5) | +| | | ++-----+-----------------+ +@end example -$B5/F0;~$K$O!":G=i$K(B @code{riece-saved-variables-file} $B$r!"O$rF~NO$7$F%j%?!<%s%-!<$r2!$9$H(B +$BH/8@$G$-$^$9!#B>$N;22C$rJ9$+$l$k$N$GEz$($^$9!#(B -$B@\B32DG=$J(B IRC $B%5!<%P$O3F(B IRC $B%M%C%H%o!<%/Kh$K0[$J$j$^$9$,!"BgDq$O(B Web -$B%Z!<%8$K0lMw$,$^$H$a$F$"$k$3$H$,B?$$$G$7$g$&!#(B - -@itemize @bullet -@item http://irc.kyoto-u.ac.jp -@item http://freenode.net -@end itemize - -$B$b$7%K%C%/%M!<%`$,4{$K;HMQ$5$l$F$$$k>l9g!"JL$N%K%C%/%M!<%`$NF~NO$rB%$5$l$^$9!#(B -$B%K%C%/%M!<%`$N=i4|CM$O(B @code{riece-nickname} $B$G@_Dj$7$^$9!#%G%U%)%k%H$G$O!"(B -$B%f!<%6$N%m%0%$%sL>$,$=$N$^$^;H$o$l$^$9!#(B -@vindex riece-nickname - -$BL5;v$K@\B3$G$-$?$J$i!"$r?R$M$i$l$k$N$G!"E,Ev$J%A%c%s%M(B -$B%kL>$rF~NO$7$^$7$g$&!#$?$H$($P(B IRCnet $B$K$O(B @samp{#Liece} $B$H$$$&%A%c%s%M(B -$B%k$,$"$k$N$G!"%F%9%H$K$*;H$$$/$@$5$$!#(B - -$B%A%c%s%M%k$KF~$k$3$H$,$G$-$?$i!"J8>O$rF~NO$7$F%j%?!<%s%-!<$r2!$9$HH/8@$9(B -$B$k$3$H$,$G$-$^$9!#B>$N?M$N2qOC$O2hLL1&>e$N%P%C%U%!$KI=<($5$l$^$9!#(B - @menu * Windows:: $B2hLL9=@.(B * Indicators:: $B<+J,$N>uBV$NI=<((B * Commands:: $B%3%^%s%I$N0lMw(B -* Connecting to multiple servers:: $BJ#?t$N%5!<%P$K$D$J$0$K$O(B @end menu -@node Windows, Commands, Basic usage, Basic usage +@node Windows, Indicators, Basic usage, Basic usage @section Windows -$B%G%U%)%k%H$N@_Dj$G$O!"%A%c%s%M%k$KF~$k$H!"2<$N?^$K<($9$h$&$J8^$D$N%&%#%s(B -$B%I%&$+$i$J$k2hLL$K@Z$jBX$o$j$^$9!#(B - @example +-----+-----------------+ | | | @@ -213,7 +168,7 @@ Riece $B$O@_Dj%U%!%$%k$rJQ?t(B @code{riece-directory} $B$G;X<($5$l$k%G%#%l%/% +-----+-----------------+ @end example -$B$3$l$i$N3F%&%#%s%I%&$KI=<($5$l$k%P%C%U%!$NLr3d$O0J2<$NDL$j$G$9!#(B +$B3F%&%#%s%I%&$KI=<($5$l$k%P%C%U%!$NLr3d$O0J2<$NDL$j$G$9!#(B @enumerate @item @@ -236,14 +191,14 @@ Riece $B$O@_Dj%U%!%$%k$rJQ?t(B @code{riece-directory} $B$G;X<($5$l$k%G%#%l%/% $B%"%6!<%:%P%C%U%!(B (@samp{*Others*})$B!#8=:_$N%A%c%s%M%k0J30$N2qOC$,N.$l$^$9!#(B @end enumerate -@node Indicators +@node Indicators, Commands, Windows, Basic usage @section Indicators $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!"(B $B<+J,$N8=:_$N>uBV$r<($90u$,I=<($5$l$^$9!#(B @example -Riece: --- ueno #Liece [n] +Riece: --- ueno #Riece [n] @end example $B$3$3$G!"(B@samp{---} $B$NItJ,$K$O:8$+$i=g$K0J2<$N0UL#$,$"$j$^$9!#(B @@ -261,7 +216,7 @@ Riece: --- ueno #Liece [n] $B$P(B @samp{f}) @end enumerate -@node Commands, Connecting to multiple servers, Windows, Basic usage +@node Commands, , Indicators, Basic usage @section Commands $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(B @@ -281,6 +236,9 @@ Riece: --- ueno #Liece [n] @item C-c C-p @findex riece-command-part $B%A%c%s%M%k$+$iN%C&$7$^$9(B(@code{riece-command-part}) +@item C-c p +@findex riece-command-enter-message-to-user +$B08@h$r;XDj$7$F8=:_$N9T$rAw$j$^$9(B(@code{riece-command-enter-message-to-user}) @item C-c q @findex riece-command-quit IRC $B$r$d$a$^$9(B(@code{riece-command-quit}) @@ -313,10 +271,13 @@ IRC $B$r$d$a$^$9(B(@code{riece-command-quit}) $B%A%c%s%M%k$N%b!<%I$r@_Dj$7$^$9(B(@code{riece-command-change-mode}) @item C-c o @findex riece-command-set-operators -$B%f!<%6$K%*%Z%l!<%?8"8B$rM?$($^$9!#A0CV0z?t(B (@kbd{C-u}) $B$rM?$($k$H!"%f!<%6$+$iH/8@8"$rC%$$$^$9(B(@code{riece-command-set-operators}) +$B%f!<%6$K%*%Z%l!<%?8"8B$rM?$($^$9!#A0CV0z?t(B (@kbd{C-u}) $B$rM?$($k$H!"%f!<%6$+$i%*%Z%l!<%?8"8B$rC%$$$^$9(B(@code{riece-command-set-operators}) @item C-c v @findex riece-command-set-speakers $B%f!<%6$KH/8@8"$rM?$($^$9!#A0CV0z?t(B (@kbd{C-u}) $B$rM?$($k$H!"%f!<%6$+$iH/8@8"$rC%$$$^$9(B(@code{riece-command-set-speakers}) +@item C-c V +@findex riece-version +Riece $B$N%P!<%8%g%s$rI=<($7$^$9!#A0CV0z?t(B (@kbd{C-u}) $B$rM?$($k$H!"$h$j>\:Y$J>pJs$rI=<($7$^$9!#(B @item C-c / @findex riece-command-raw $B@8$N(B IRC $B%3%^%s%I$rAw$j$^$9(B(@code{riece-command-raw}) @@ -336,12 +297,18 @@ IRC $B$r$d$a$^$9(B(@code{riece-command-quit}) @item C-c > @findex riece-command-next-channel $BeC<$^$G0\F0$7$^$9(B(@code{riece-command-beginning-of-buffer}) @item C-c $ @findex riece-command-end-of-buffer $B%A%c%s%M%k%P%C%U%!!"$^$?$O%@%$%"%m%0%P%C%U%!$N%S%e!<$r2uBV$r@Z$jBX$($^$9(B(@code{riece-command-toggle-away}) @end table -@node Connecting to multiple servers, , Commands, Basic usage -@section Connecting to multiple servers - -Riece $B$NBg$-$JFCD9$K!"J#?t$N%5!<%P$KF1;~$K@\B3$9$k5!G=$,$"$j$^$9!#(B - -$B?7$?$J%5!<%P$K@\B3$7!"$=$N%5!<%P>e$N%A%c%s%M%k$K;22C$9$k$rJ9$+$l$k$N$GEz$($^$9!#(B - -@item -@kbd{C-c j} (@code{riece-command-join}) $B$G%A%c%s%M%k$K;22C$7$^$9!#$3$3$G!"(B -$B%A%c%s%M%kL>$N8e$K6uGr$G6h@Z$C$F%5!<%PL>$rB3$1$^$9!#6uGr$rF~NO$9$k$K$O!"(B -@kbd{C-q} $B$r;H$$$^$9!#$?$H$($P!"%5!<%P(B @samp{irc6} $B>e$N(B @samp{#Liece} $B$K;22C$9$k$K$O(B @kbd{C-c j #Liece C-q SPC irc6} $B$H%?%$%W$9$k$3$H$K$J$j$^$9!#(B -@end enumerate - -$B%A%c%s%M%k$KF~$i$:$K%3%^%s%I$rAw$k$K$O!"(B@kbd{C-c M} -(@code{riece-command-universal-server-name-argument}) $B$,JXMx$G$9!#(B - -$B%5!<%P$H$N@\B3$K4X$9$k%3%^%s%I$O0J2<$NDL$j$G$9!#(B - -@table @kbd -@item C-c O -@findex riece-command-open-server -$BJL$N%5!<%P$K@\B3$7$^$9(B(@code{riece-command-open-server}) -@item C-c C -@findex riece-command-close-server -$B%5!<%P$H$N@\B3$r@ZCG$7$^$9(B(@code{riece-command-close-server}) -@item C-c M -@findex riece-command-universal-server-name-argument -$BFCDj$N%5!<%P$KBP$7$F!"B3$/%3%^%s%I$rH/9T$7$^$9(B(@code{riece-command-universal-server-name-argument}) -@end table - -@node Advanced usage, Development, Basic usage, Top +@node Advanced usage, Tips, Basic usage, Top @chapter Advanced usage $B$3$N>O$G$O!"$b$C$H?J$s$@;H$$J}$r2r@b$7$^$9!#(B @menu +* Startup File:: $B@_Dj%U%!%$%k(B * Server settings:: $B%5!<%P$N>\:Y@_Dj(B +* Connecting to multiple servers:: * Add-ons:: $B%"%I%*%s$H$O(B -* Writing add-ons:: $B@lMQ$N%"%I%*%s$r=q$/$K$O(B -* Handler hooks:: $B%O%s%I%i$N?6Iq$$$NJQ99(B @end menu -@node Server settings, Add-ons, Advanced usage, Advanced usage +@node Startup File, Server settings, Advanced usage, Advanced usage +@section Startup file + +$B$3$N>O$G$O!"@_Dj%U%!%$%k$K$D$$$F2r@b$7$^$9!#(BRiece $B$N@_Dj$O(B Emacs $B$N@_Dj(B +$B;Y1g5!G=$rMQ$$$F(B @kbd{M-x customize-group riece} $B$G9T$J$($^$9$,!"(B +Riece $B$K8GM-$N@_Dj$O$J$k$Y$/(B @file{~/.riece/init} $B$K=q$/$3$H$r4+$a$^$9!#(B + +$B$^$?!"(BRiece $B$r;H$$;O$a$k$H(B @file{~/.riece/save} $B$H$$$&%U%!%$%k$,:n@.$5$l(B +$B$^$9!#$3$N%U%!%$%k$K$OA02s5/F0;~$N@_Dj$N0lIt(B($B%&%#%s%I%&9=@.Ey(B)$B$,<+F0E*$K(B +$BJ]B8$5$l$^$9!#(B + +$B5/F0;~$K$O!":G=i$K(B @file{~/.riece/save} $B$r!"e=q$-$5$l$^$9!#(B + +@node Server settings, Connecting to multiple servers, Startup File, Advanced usage @section Server settings -IRC $B%5!<%P$O(B @code{riece-server} $BJ8;zNs$H$7$F;XDj$7$^$9!#(B -$B$3$3$G(B @code{riece-server} $B$N%U%)!<%^%C%H$O(B "<$B%5!<%P$N%[%9%HL>(B>:<$B%]!<%HHV9f(B>[:<$B%Q%9%o!<%I(B>]" $B$H$J$j$^$9!#(B +$B5/F0;~$K@\B3$9$k(B IRC $B%5!<%P$NL>A0$OJQ?t(B @code{riece-server} $B$G;XDj$7$^$9!#(B @vindex riece-server -@code{riece-server-alist} $B$rE,@Z$K@_Dj$9$k$H!"%-!<%o!<%I$r;H$C$F!"$h$j>\(B -$B:Y$J;XDj$,2DG=$K$J$j$^$9!#0J2<$OI.(B>:<$B%]!<%HHV9f(B>[:<$B%Q%9%o!<%I(B>] +@end example + +@code{riece-server-alist} $B$r@_Dj$9$k$H!"$h$jJ#;($J;XDj$,2DG=$K$J$j$^$9!#(B @vindex riece-server-alist +$B0J2<$NNc$r9M$($^$9!#(B + @example (setq riece-server-alist - '(("irc6" :host "irc6.nara.wide.ad.jp") - ("plum" :host "localhost" :service 26667 - :function relay-open-network-stream)) - riece-server "irc6") + '(("foo" :host "irc.example.com" :coding shift_jis) + ("bar" :host "irc.example.net" :nickname "baz"))) + +(setq riece-server "foo") @end example -@code{riece-server-alist} $B$N3FMWAG$N0UL#$O0J2<$NDL$j$G$9!#(B +$B$3$N@_Dj$N0UL#$O0J2<$NDL$j$G$9!#(B @itemize @item -@samp{irc6} $B$H$$$&N,5-L>$G(B @samp{irc6.nara.wide.ad.jp} $B$K@\B3(B +@samp{foo} $B$H$$$&L>A0$N(B IRC $B%5!<%P$N%[%9%HL>$O(B @samp{irc.example.com} $B$G!";HMQ$9$kJ8;z%3!<%I$O(B Shift_JIS @item -@samp{plum} $B$H$$$&N,5-L>$G(B @code{relay-open-network-stream} $B$rDL$8$F(B (SSH $B7PM3$G(B) $B@\B3(B +@samp{bar} $B$H$$$&L>A0$N(B IRC $B%5!<%P$N%[%9%HL>$O(B @samp{irc.example.com} $B$G!"$3$N%5!<%P$G$O%K%C%/%M!<%`(B @samp{baz} $B$r;H$&(B @end itemize -$B;XDj2DG=$J%-!<%o!<%I$O0J2<$NDL$j$G$9!#(B +$B;XDj$G$-$k%-!<%o!<%I$N0lMw$O0J2<$NDL$j$G$9!#(B @table @code @item :host @@ -470,7 +424,36 @@ IRC $B%5!<%P$O(B @code{riece-server} $BJ8;zNs$H$7$F;XDj$7$^$9!#(B $B%3!<%G%#%s%0%7%9%F%`(B ($B%G%U%)%k%H$O(B @code{riece-default-coding-system} $B$NCM(B) @end table -@node Add-ons, Writing add-ons, Server settings, Advanced usage +@node Connecting to multiple servers, Add-ons, Server settings, Advanced usage +@section Connecting to multiple servers + +$BF1;~$KJ#?t$N%5!<%P$K@\B3$9$kuBV$G!"JL$N%5!<%P$K@\B3$9$k$K$O(B @kbd{C-c O} (@code{riece-command-open-server}) $B$r;H$$$^$9!#(B + +$BJL$N%5!<%P>e$N%A%c%s%M%k$K;22C$9$k$K$O!"(B@kbd{C-c j} (@code{riece-command-join})$B$G%A%c%s%M%kL>$K%5!<%PL>$rB3$1$^$9!#(B + +$B$?$H$($P!"%5!<%P(B @samp{irc.freenode.net} $B>e$N(B @samp{#Riece} $B$OAw(B $B%_%K%P%C%U%!$N$_$G(B IRC $B$r$9$k(B @item riece-log $B2qOC$N%m%0$N<}=8(B +@item riece-doctor +doctor.el $B$HO"7H$7$F@:?@2J0e$K$J$j$9$^$9(B +@item riece-alias +$B%A%c%s%M%kL>$d%K%C%/%M!<%`$NJLL>$rDj5A(B +@item riece-skk-kakutei +SKK $B;HMQ;~$KJQ49%b!<%I$N0u$rH/8@$+$iuBV$K$J$k$3$H$KHw$(!"(B +PING $B$K1~Ez$9$k(B local proxy $B7PM3$G(B IRC $B%5!<%P$K@\B3(B +@item riece-lsdb +$B%"%I%l%9D"(B LSDB (Lovely Sister Database) +@uref{http://lsdb.sourceforge.jp} $B$HO"7H(B +@item riece-xface +$B%f!<%6%j%9%H%P%C%U%!$K%f!<%6$N(B X-Face $B$rI=<((B +@item riece-ctlseq +$B%3%s%H%m!<%k%7!<%1%s%9(B (^B $B$J$I(B) $B$K$h$k6/D4I=<((B +@item riece-ignore +$B;XDj$7$?%f!<%6$NH/8@$rL5;k(B +@item reice-hangman +$B%A%c%s%M%kFb$G(B hangman(6) $B$GM7$V(B +@item riece-biff +$BB>$N%P%C%U%!$K$$$k;~$KH/8@$,$"$k$H%b!<%I%i%$%s$K0u(B ("[R]") $B$rI=<((B +@item riece-kakasi +$BF|K\8l$NDL$i$J$$C2A(B +@item riece-google +$B%-!<%o!<%I$r(B Google $B$G8!:w(B +@item riece-keepalive +IRC $B%5!<%P$H$N@\B3$rJ];}(B @end table -$B$3$l$i$N$&$A!"(B@samp{riece-highlight} $B$H(B @samp{riece-ctcp} $B$O%G%U%)%k%H$G(B -$BAH$_9~$^$l$F$$$^$9!#(B +$B$3$l$i$N$&$A!"(B@samp{riece-highlight} $B$H(B @samp{riece-ctcp}$B!"(B +@samp{riece-url}$B!"(B @samp{riece-unread}$B!"(B @samp{riece-guess}$B!"(B +@samp{riece-history}$B!"(B @samp{riece-button}$B!"(B@samp{riece-menu}$B!"(B +@samp{riece-ignore}$B!"(B@samp{riece-log}$B!"(B@samp{riece-alias}$B!"(B +@samp{riece-ctlseq}$B!"(B@samp{riece-keyword} $B$O%G%U%)%k%H$GAH$_9~$^$l$F$$$^$9!#(B $B%"%I%*%s$rAH$_9~$`$K$O(B @code{riece-addons} $B$r@_Dj$7$^$9!#$?$H$($P(B -@samp{riece-url} $B$rAH$_9~$`>l9g$K$O!"(B@file{~/.riece/init.el} $B$K0J2<$N$h(B +@samp{riece-alias} $B$rAH$_9~$`>l9g$K$O!"(B@file{~/.riece/init.el} $B$K0J2<$N$h(B $B$&$K5-=R$7$^$9!#(B @vindex riece-addons @example -(add-to-list 'riece-addons 'riece-url) +(add-to-list 'riece-addons 'riece-alias) @end example -@node Writing add-ons, Handler hooks, Add-ons, Advanced usage -@section Writing add-ons +@node Tips, Development, Advanced usage, Top +@comment node-name, next, previous, up +@chapter Tips -$B%"%I%*%s$N>r7o$rK~$?$9%b%8%e!<%k$O0J2<$N4X?t$rDs6!$7$^$9!#(B +$B$3$N>O$G$O!"$h$/J9$+$l$kR2p$7$^$9!#(B -@table @samp -@item <$B%b%8%e!<%kL>(B>-requires -$B0MB8$9$kB>$N%"%I%*%s(B($B%7%s%\%k$N%j%9%H(B)$B$rJV$7$^$9(B($B%*%W%7%g%s(B) -@item <$B%b%8%e!<%kL>(B>-insinuate -$B=i4|2==hM}$r9T$$$^$9(B -@end table +@section $B%A%c%s%M%kL>!V(B@samp{#foo:*.jp}$B!W$r!V(B@samp{%foo}$B!W$HN,5-$7$?$$(B -Riece $BB&$G$O0J2<$N=hM}$r9T$$$^$9!#(B +$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B -@enumerate -@item -$BJQ?t(B @code{riece-addons} $B$KNs5s$5$l$?%b%8%e!<%k$rFI$_9~$`(B +@example +(add-to-list 'riece-addons 'riece-alias) +@end example -@item -$B$=$l$>$l$N%b%8%e!<%k$KBP$7!"(B@samp{<$B%b%8%e!<%kL>(B>-requires} $B$,MQ0U$5$l$F$$$l$P8F$S=P$7$F0MB8%0%i%U$r:n$k(B +@section $BD>A0$K$$$?%A%c%s%M%k$KLa$j$?$$(B +@vindex riece-guess-channel-try-functions -@item -$B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H(B (cf. tsort(1)) $B$r9T$&(B +$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$9$k$3$H$G!"(B +@kbd{C-c g} $B$GMzNr$rC)$j$D$D0\F0$G$-$^$9!#(B -@item -$BF@$?0MB8=g=x$K=>$C$F(B @samp{<$B%b%8%e!<%kL>(B>-insinuate} $B8F$S=P$9(B -@end enumerate +@example +(add-hook 'riece-guess-channel-try-functions + 'riece-guess-channel-from-history) +@end example -$B:n@.$7$?%"%I%*%s$O!"(B@code{load-path} $B$NDL$C$?%G%#%l%/%H%j!"$^$?$O(B -@code{riece-addon-directory} ($B%G%U%)%k%H$G$O(B @file{~/.riece/addons/}) $B$K(B -$BCV$/$3$H$GAH$_9~$_2DG=$J>uBV$K$J$j$^$9!#(B -@vindex riece-addon-directory +@section $BH/8@$,$"$k$H%P%C%U%!$,%9%/%m!<%k$9$k$N$r;_$a$?$$(B -@node Handler hooks, , Writing add-ons, Advanced usage -@section Handler hooks +@kbd{C-c C-t f} $B$G$9!#(B(irchat $B$G$O(B @kbd{C-c C-f}) "t"oggle "f"reeze $B$H3P(B +$B$($^$7$g$&!#(B -Riece $B$K$O!"%O%s%I%i%U%C%/$H8F$P$l$kFC~$rM^@)$7$?$$(B -$B@bL@$N$?$a$K(B @samp{message} $B$r(B IRC $B$N%a%C%;!<%8L>(B(PRIVMSG $B$J$I(B)$B$rA4$F>.(B -$BJ8;z$K$7$?$b$N$H$7$^$9!#(B +@code{riece-addons} $B$+$i!"?'IU$1(B (@samp{riece-highlight})$B!"%\%?%s(B +(@samp{riece-button})$B!"%"%$%3%s(B (@samp{riece-icon}) $B$r=|$-$^$9!#(B -@table @code -@item riece--hook -@samp{message} $B$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/(B -@item riece-after--hook -@samp{message} $B$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/(B +$B$?$H$($P?'IU$1$r$d$a$?$$$N$G$"$l$P!"0J2<$N9T$r(B @file{~/.riece/init.el} +$B$KDI2C$7$^$9!'(B + +@example +(setq riece-addons (delq 'riece-highlight riece-addons)) +@end example + +@section $B%-!<%o!<%I$KH?1~$7$F2;$rLD$i$7$?$$(B +@vindex riece-keyword-notify-functions + +XEmacs $B$G$O!"0J2<$N@_Dj$r(B @file{~/.riece/init.el} $B$K2C$($k$3$H$G!"(B"$B$[$2(B" +$B$d(B "$B$U$,(B" $B$KH?1~$7$F8z2L2;(B($B$3$NNc$G$O!"%+%C%3!<$NLD$-@<(B)$B$rLD$i$9$3$H$,$G(B +$B$-$^$9!#(B + +@example +(load-default-sounds) +(setq riece-keywords '("$B$[$2(B" "$B$U$,(B")) +(add-hook 'riece-keyword-notify-functions + (lambda (keyword message) (play-sound 'cuckoo))) +@end example + +Emacs $B$N>l9g$O(B,$B0J2<$N@_Dj$r(B @file{~/.riece/init.el} $B$K2C$($k$3$H$G(B, +"$B$[$2(B" $B$d(B "$B$U$,(B" $B$KH?1~$7$F2;$rLD$i$9$3$H$,$G$-$^$9!#(B + +@example +(defun cuckoo () + "play cuckoo.au" + (call-process "play" nil 0 t + ".../cuckoo.au")) + (setq riece-keywords '("$B$[$2(B" "$B$U$,(B")) + (add-hook 'riece-keyword-notify-functions + (lambda (keyword message) (cuckoo))) +@end example + +$B8z2L2;$G$O$J$/%7%s%W%k$K%S!<%W2;$rLD$i$7$?$$>l9g$O!"0J2<$N@_Dj$r(B +@file{~/.riece/init.el} $B$K2C$($^$9!#(B + +@example +(setq riece-keywords '("$B$[$2(B" "$B$U$,(B")) +(add-hook 'riece-keyword-notify-functions + (lambda (keyword message) (ding))) +@end example + +@section SKK $B$r;H$C$F$$$F!"JQ49%b!<%I$N0u(B ($B"&(B) $B$rAw?.$7$?$/$J$$(B + +$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B + +@example +(add-to-list 'riece-addons 'riece-skk-kakutei) +@end example + +@section $B%A%c%s%M%k$NHV9f$r8GDj$7$?$$(B +@vindex riece-default-channel-binding + +$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B + +@example +(setq riece-default-channel-binding + '("#Riece" "#emacsen" nil "#debianjp")) +@end example + +1: #Riece, 2: #emacsen, 4: #debianjp $B$N$h$&$K3dEv$F$i$l$^$9!#(Bnil $B$O%G%U%)(B +$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$?(B +$B>l9g!"$=$N%A%c%s%M%k$,(B 3 $BHVL\$N%A%c%s%M%k$H$7$F07$o$l$^$9!#(B + +@section $B5/F0;~$K%Q%9%o!<%I$D$-$N%A%c%s%M%k$K;22C$7$?$$(B +@vindex riece-startup-channel-list +@vindex riece-startup-server-list + +$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B + +@example +(setq riece-startup-channel-list + '(("#secret" "password") "#Riece")) +@end example + +$BJ#?t$N%5!<%P>e$N%A%c%s%M%k$K;22C$9$k$K$O!"(B +@code{riece-startup-server-list} $B$bJ;$;$F@_Dj$9$kI,MW$,$"$j$^$9!#(B + +$BNc$H$7$F!"(B@code{riece-server} $B$H(B @code{riece-server-alist} $B$r0J2<$N$h$&(B +$B$K@_Dj$7$?$H$7$^$9!#(B + +@example +(setq riece-server "ircnet" + riece-server-alist '(("ircnet" :host "irc6.nara.wide.ad.jp") + ("freenode" :host "irc.ipv6.freenode.net"))) +@end example + +$B$3$N>l9g!"%G%U%)%k%H$G$O(B "ircnet" $B$@$1$K@\B3$7$^$9$,!"(B +@code{riece-startup-server-list} $B$r0J2<$N$h$&$K@_Dj$9$k$3$H$G!"(B +"freenode" $B$K$b@\B3$9$k$h$&$K$J$j$^$9!#(B + +@example +(setq riece-startup-server-list '("freenode")) +@end example + +@section HTTP $B%W%m%-%71[$7$K(B IRC $B%5!<%P$K@\B3$7$?$$(B +relay.el $B$H(B connect.c $B$r;H$&$H!"(B +HTTP $B%W%m%-%7$r2p$7$F(B IRC $B%5!<%P$K@\B3$9$k$3$H$,$G$-$^$9!#(B + +@table @asis +@item relay.el +@uref{http://www.taiyo.co.jp/~gotoh/lisp/relay.el} + +@item connect.c +@uref{http://www.taiyo.co.jp/~gotoh/ssh/connect.html} @end table -$B$3$3$G(B @code{riece--hook} $B$NJV$jCM$K$O0UL#$,$"$j!"Hs(B nil $B$rJV$9(B -$B$b$N$,$"$l$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O(B -@code{riece-after--hook} $B$b8F$S=P$5$l$^$;$s!#(B +$B$?$H$($P!"(B"proxy.example.com:8080" $B7PM3$G(B irc.tokyo.wide.ad.jp $B$K@\B3$9(B +$B$k>l9g$K$O!"0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B -$B%U%C%/$N0z?t$O(B RFC2812 $B$N(B @samp{prefix} $B$H(B @samp{Parameters} $B$KAjEv$9$k(B -2 $B$D$N0z?t$,EO$j$^$9!#(B +@example +(require 'relay) +(setq relay-command-alist (cons '("^irc\.tokyo\.wide\.ad\.jp$" + "connect" "-H" "proxy.example.com:8080" + host service) + relay-command-alist) + riece-server-alist (cons '("proxy-tokyo" :host "irc.tokyo.wide.ad.jp" + :function relay-open-network-stream) + riece-server-alist)) +@end example + +@section IRC $B%m%0$r%U%!%$%k$KJ]B8$7$?$$(B +@vindex riece-log-directory-map + +$B0J2<$N9T$r(B @file{~/.riece/init.el} $B$KDI2C$7$^$9!'(B -@node Development, Index, Advanced usage, Top +@example +(add-to-list 'riece-addons 'riece-log) +@end example + +$B%m%0%U%!%$%k$O%G%U%)%k%H$G$O(B @file{~/.riece/log} $B$N2<$K%5!<%PL>!"%A%c%s(B +$B%M%kL>$N%G%#%l%/%j$,:n@.$5$l!"$=$NCf$KF|$K$AKh$KJ]B8$5$l$^$9!#$?$@$7%G%U%)(B +$B%k%H$N%5!<%P$N>l9g$O!"%5!<%PL>$N%G%#%l%/%H%j$O>JN,$5$l$^$9!#(B + +US-ASCII $B0J30$N%G%#%l%/%H%jL>$,J8;z2=$1$9$k$H$$$&?M$O!"(B +@code{file-name-coding-system} $B$NCM$rE,@Z$K@_Dj$9$k$+!"$"$k$$$O(B +@code{riece-log-directory-map} $B$G%A%c%s%M%kL>$HJ]B8@h$N%G%#%l%/%H%jL>$H(B +$B$NBP1~%j%9%H$r0J2<$NNc$N$h$&$K!"(BUS-ASCII $B$N$_$r;HMQ$7$?%G%#%l%/%H%jL>$K(B +$B$J$k$h$&$K@_Dj$9$k;v$G2sHr=PMh$^$9!'(B + +@example +(setq riece-log-directory-map '(("#$B$j!<$9(B" . "riece"))) +@end example + +@section $B%&%#%s%I%&4V$r<+M3$K0\F0$7$?$$(B + +GNU Emacs $B$KImB0$N(B windmove.el $B$r;H$&$HJXMx$G$9!#>\:Y$O(B windmove.el $B$N(B +$B%3%a%s%H$r;2>H$/$@$5$$!#(Bwindmove.el $B$O(B @uref{http://hovav.net/elisp/} +$B$+$i$be0L$K$"$k$b$N$+$i!'(B -@subsection Core modules @table @samp @item riece-globals $BBg0hJQ?t$NDj5A(B @@ -632,13 +796,15 @@ autoreconf -f -i -v $B%f!<%6%*%W%7%g%s$NDj5A(B @item riece-version $B%P!<%8%g%s$NDj5A(B -@item riece-inlines -$B;(B?$J%$%s%i%$%s4X?t$NDj5A(B @item riece-coding $B%3!<%G%#%s%0%7%9%F%`4XO"$N4X?t$NDj5A(B @item riece-complete $B%_%K%P%C%U%!$G$NJd40$r=u$1$k4X?t$NDj5A(B +@item riece-addon +$B%"%I%*%s4IM}(B +@item riece-mode +channel/user $B$N%b!<%I4IM}(B @item riece-identity channel/user object $B$NBg0hI=5-$rA`:n$9$k4X?t$NDj5A(B @item riece-channel @@ -647,7 +813,12 @@ channel object $B4XO"$NDj5A(B user object $B4XO"$NDj5A(B @item riece-misc -$B;(B?$J4X?t$NDj5A(B($B%$%s%i%$%s4X?t$r=|$/(B) +$B;(B?$J4X?t$NDj5A(B +@item riece-signal +$B%7%0%J%k(B(@pxref{Signals})$B4IM}(B + +@item riece-layout +$B%&%#%s%I%&%l%$%"%&%H4IM}(B @item riece-display $BI=<(MQ%P%C%U%!$N4IM}(B @item riece-server @@ -661,42 +832,27 @@ message object $B4XO"$NDj5A(B @item riece-filter $B%W%m%;%9%U%#%k%?$N%(%s%H%j%]%$%s%H(B @item riece-handle -$BDL>o$N%a%C%;!<%8$N%O%s%I%i!#(Briece-filter $B$N$_$+$i8F$P$l$k(B +$BDL>o$N%a%C%;!<%8$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B @item riece-000 -000$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$N$_$+$i8F$P$l$k(B +000$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B @item riece-200 -200$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$N$_$+$i8F$P$l$k(B +200$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B @item riece-300 -300$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$N$_$+$i8F$P$l$k(B +300$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B @item riece-400 -400$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$N$_$+$i8F$P$l$k(B +400$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B @item riece-500 -500$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$N$_$+$i8F$P$l$k(B +500$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B @item riece-commands $B%3%^%s%I$NDj5A(B +@item riece-irc +IRC $B%W%m%H%3%k%$%s%?!<%U%'!<%9(B @item riece $B%(%s%H%j%]%$%s%H!#3F%P%C%U%!$N%b!<%IDj5A$J$I(B @end table -@subsection Add-ons -@table @samp -@item riece-highlight -$B%P%C%U%!$N?'IU$1(B -@item riece-ctcp -CTCP (Client To Client Protocol) -@item riece-url -$B2qOC$K8=$l$?(B URL $B$N<}=8(B -@item riece-unread -$BH/8@$N$"$C$?%A%c%s%M%k$K(B@samp{!}$B%^!<%/$r$D$1$k(B -@item riece-rdcc -DCC (Direct Client to Client protocol) $B$K$h$k%U%!%$%kE>Aw(B (Ruby $B$K$h$kAw(B (Emacs 21.3 $B$N(B -@code{make-network-connection} $B$K$h$kA06u4V$r4IM}(B @@ -704,11 +860,8 @@ Riece $B$OJ#?t$N%5!<%P$KF1;~$K@\B3$9$k$?$a!"%5!<%PKh$KJL!9$NL>A06u4V$r4IM}(B $B%m!<%+%kJQ?t$r2p$7$F%"%/%;%9$7$^$9!#(B @subsection Obtaining server buffer -$B%5!<%P$N%P%C%U%!$rA0$rF@$kI,MW$,$"$j(B -$B$^$9!#$3$l$K$O(B @code{riece-find-server-name} $B$r;H$$$^$9!#$3$N4X?t$O!">u(B -$B67$K1~$8$FA*Br$9$Y$-%5!<%P$NL>A0$rJV$7$^$9!#6qBNE*$K$O0J2<$N=g=x$G8!:w$r(B -$B9T$$$^$9!#(B -@findex riece-find-server-name +$B%5!<%P$N%W%m%;%9$rF@$k$K$O!"$^$:$O$8$a$K%5!<%P$NL>A0$rF@$kI,MW$,$"$j(B +$B$^$9!#%5!<%P$NL>A0$O0J2<$K5s$2$k$$$/$D$+$NJ}K!$GA06u4V$r4IM}(B $BCM$=$N$b$N(B @item -@vindex riece-current-channel -$B%f!<%6$,8=:_$$$k%A%c%s%M%k(B (@code{riece-current-channel}) $B$NBg0hL>(B($B8e=R(B) -$B$+$i@Z$j=P$7$?%5!<%PL>(B +@samp{riece-identity} $B%*%V%8%'%/%H$K7k$SIU$1$i$l$?%5!<%PL>(B($B8e=R(B) @end enumerate -$B$3$&$7$FF@$?%5!<%PL>$G(B @code{riece-server-process-alist} $B$r:w$-!"%5!<%P(B -$B$N%W%m%;%9$r2A$9$k$3$H$,$G$-$^$9!#(B -@vindex riece-server-process-alist +$B$3$&$7$FF@$?%5!<%PL>$G(B @code{riece-server-process} $B$r8F=P$7!"%5!<%P$N(B +$B%W%m%;%9$rl9g!"%A%c%s%M%kL>$d%K%C%/$r(B($B%5!<%P$N%P%C%U%!>e$@$1(B -$B$G$O$J$/(B)$BBg0hE*$K6hJL$9$kI,MW$,@8$8$^$9!#$=$3$G!"$3$l$i$NL>A0$r9)IW$7$F!"(B -$BL>A0$N8e$K6uGr$r64$s$G%5!<%PL>$r;XDj$9$k(B -$B$H8F$S$^$9!#$?$H$($P!"(B@samp{irc6} $B$H$$$&%5!<%P$N(B @samp{#Liece} $B$H$$$&%A%c(B -$B%s%M%k$NBg0hL>$O(B @samp{#Liece irc6} $B$H$J$j$^$9!#(B +@subsection Identity +$BJ#?t$N%5!<%P$K7R$$$@>l9g!"%A%c%s%M%kL>$d%K%C%/$r(B($B%5!<%P$N%P%C%U%!>e$@(B +$B$1$G$O$J$/(B)$BBg0hE*$K6hJL$9$kI,MW$,@8$8$^$9!#$3$N$h$&$JL>A0$rI=8=$9$k$N(B +$B$,(B @samp{riece-identity} $B%*%V%8%'%/%H$G$9!#(B -$B$3$3$G6h@Z$j$r6uGr$K$7$F$$$k$N$O!"(BRFC2812 $B$G%A%c%s%M%k$K;HMQ$G$-$J$$J8;z(B -$B$@$+$i$G$9!#(B +@samp{riece-identity} $B%*%V%8%'%/%H$O0J2<$N(B 2 $B$D$NMWAG$r$b$D%Y%/%?!<$G$9!#(B -$BBg0hL>$r07$&$K$O!"(B@samp{riece-identity} $B$H$$$&Cj>]$r2p$7$^$9!#$3$N%b%8%e!<(B -$B%k$G$O!"0J2<$N$h$&$J4X?t$,Dj5A$5$l$F$$$^$9!#(B +@table @samp +@item prefix +$B%5!<%P%m!<%+%k$JL>A0(B +@item server +$B%5!<%P$NL>A0(B +@end table + +@samp{riece-identity} $B%*%V%8%'%/%H$KBP$9$kA`:n$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#(B @defun riece-make-identity prefix &optional server -$BBg0hI=5-$r:n@.$7$^$9!#(Bserver $B$,>JN,$5$l$?>l9g$K$O!"(B +@samp{riece-identity} $B%*%V%8%'%/%H$r:n@.$7$^$9!#(Bserver $B$,>JN,$5$l$?>l9g$K$O!"(B riece-find-server-name $B$r;H$C$F$r;H$$$^$9(B @end defun @defun riece-identity-prefix identity -$BBg0hI=5-$+$i%5!<%PL>$r=|$/ItJ,$rJV$7$^$9(B +@samp{riece-identity} $B%*%V%8%'%/%H$+$i%5!<%P%m!<%+%k$JL>A0$rA0$r$r=|$/ItJ,$r@55,2=$7$^$9!#$9$J$o$A!"(B -@var{prefix} $B$rA4$F>.J8;z$KD>$7$?>e$G!"(BRFC2812 2.2 $B$K$J$i$$!"(B -@samp{[]\~} $B$N$=$l$>$l$NJ8;z$r(B @samp{@{@}|^} $B$KCV$-49$($^$9!#(B -@end defun - @defun riece-identity-equal ident1 ident2 -$BFs$D$NBg0hI=5-$,F1Ey$+D4$Y$^$9!#(B -@end defun - -@defun riece-identity-equal-safe ident1 ident2 -@code{riece-identity-equal} $B$H0l=o$G$9$,!"0z?t$H$7$FM?$($i$l$?J8;zNs$K%5!<(B -$B%PL>$,IU2C$5$l$F$$$J$1$l$P!"IU2C$7$F$+$i8!::$r9T$$$^$9!#(B +2 $B$D$N(B@samp{riece-identity} $B%*%V%8%'%/%H$,F1Ey$+D4$Y$^$9!#(B @end defun @defun riece-identity-equal-no-server ident1 ident2 -$BFs$D$NBg0hI=5-$N%5!<%P0J30$NItJ,$,F1Ey$+D4$Y$^$9!#(B +2 $B$D$N(B@samp{riece-identity} $B%*%V%8%'%/%H$N%5!<%P%m!<%+%k$JL>A0$,F1Ey$+(B +$BD4$Y$^$9!#(B @end defun @defun riece-identity-member elt list -$BBg0hI=5-(B @var{elt} $B$,(B @var{list} $B$K4^$^$l$k$+8!::$7$^$9!#(B -@end defun - -@defun riece-identity-member-safe elt list -@code{riece-identity-member} $B$H0l=o$G$9$,!"0z?t$K%5!<%PL>$,IU2C$5$l$F$$(B -$B$J$1$l$P!"IU2C$7$F$+$i8!::$r9T$$$^$9!#(B -@end defun - -@defun riece-identity-member-no-server elt list -@code{riece-identity-member} $B$H0l=o$G$9$,!"Bg0hI=5-$N%5!<%P0J30$NItJ,$@(B -$B$1$r8!::$7$^$9!#(B +@samp{riece-identity} $B%*%V%8%'%/%H(B @var{elt} $B$,(B @var{list} $B$K4^$^$l$k(B +$B$+8!::$7$^$9!#(B @end defun @subsection Channel and user management -IRC $B$N%A%c%s%M%k$H%f!<%6$O4pK\E*$KC1$J$k%Y%/%?!<$H$7$FI=8=$5$l$F$$$^$9!#(B -JOIN $B$d(B PART $B$H$$$C$?FCJL$JA`:n$O!"$3$l$i$N%*%V%8%'%/%H$K$O7k$S$D$1$^$;(B -$B$s!#7k$S$D$1$?$[$&$,%*%V%8%'%/%H;X8~$GNI$$$N$G$O$J$$$+!"$H$$$&0U8+$b$"$j(B -$B$^$9$,!"$=$N$h$&$K$9$k$H!"Aj8_$N7k$SIU$-$,6[L)$K$J$j$9$.!"%9%Q%2%C%F%#$N(B -$B$b$H$K$J$k$3$H$O4{$K7P83:Q$_$G$9!#(B +@samp{riece-identity} $B%*%V%8%'%/%H$K$h$C$F<1JL$5$l$k(B IRC $B$N%A%c%s%M%k(B +$B$H%f!<%6$O$=$l$>$l(B @samp{riece-channel} $B%*%V%8%'%/%H$H(B +@samp{riee-user} $B%*%V%8%'%/%H$K$h$jI=8=$5$l$^$9!#(B @subsubsection Channels @code{riece-channel} $B$O!"(BIRC $B$N%A%c%s%M%k$rI=$9%*%V%8%'%/%H$G$9!#0J2<$N(B @@ -835,9 +967,9 @@ AWAY $BCf$+$I$&$+(B @end table @subsubsection Mediator -$B$5$F!"%A%c%s%M%k$H%f!<%6$N;22C$r4IM}$9$k$?$a$K!"(B @code{riece-naming} $B$H(B -$B$$$&>e0L$N%b%8%e!<%k$rMQ0U$7$F$$$^$9!#$3$l$O!"%G%6%$%s%Q%?!<%s$G$$$&$H$3(B -$B$m$N(B Mediator $B%Q%?!<%s$KAjEv$9$k$b$N$G$9!#(B +$B%A%c%s%M%k$H%f!<%6$N;22C!&N%C&$r4IM}$9$k$?$a$K!"(B @code{riece-naming} +$B$H$$$&>e0L$N%b%8%e!<%k$rMQ0U$7$F$$$^$9!#$3$l$O!"%G%6%$%s%Q%?!<%s$G$$$&(B +$B$H$3$m$N(B Mediator $B%Q%?!<%s$KAjEv$9$k$b$N$G$9!#(B @code{riece-naming} $B$r2p$9$k$3$H$G!"A0=R$N%A%c%s%M%k!&%f!<%6%*%V%8%'%/%H(B $B$KD>@\A06u4V$K0BA4$K%"%/%;%9$9$k$3$H$,$G$-$^$9!#(B @@ -856,6 +988,163 @@ AWAY $BCf$+$I$&$+(B $B%f!<%6$NL>A0$,JQ99$5$l$?$3$H$rI=L@$7$^$9(B @end defun +@node Signals, Writing add-ons, Namespace management, Development +@section Signals + +$B2hLL$N:FIA2h$r8zN(NI$/9T$&$?$a$K!"%$%Y%s%H$HIA2hBP>]$N%*%V%8%'%/%H(B($B%P%C(B +$B%U%!$d!"%b!<%I%i%$%s$N0u(B @pxref{Indicators})$B$r7k$SIU$1$k%a%+%K%:%`$rMQ0U(B +$B$7$F$$$^$9!#(B + +$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!"(B +Qt $B$d(B GTK+ $B$H$$$C$?(B GUI $B%D!<%k%-%C%H$KMQ0U$5$l$F$$$k$b$N$HF1MM$G$9!#(B + +$B%7%0%J%k$rAw=P$9$k$K$O!"(B@samp{riece-emit-signal} $B$r;H$$$^$9!#(B + +@defun riece-emit-signal signal-name &rest args +@var{signal-name} $B$G;X<($5$l$k%7%0%J%k$r!"0z?t(B @var{args} $B$H$H$b$KAw=P$7$^$9(B +@end defun + +$B%7%0%J%k$K1~Ez$9$k$K$O!"(B@samp{riece-connect-signal} $B$r;H$$$^$9!#(B + +@defun riece-connect-signal signal-name slot-function &optional filter-function handback +@var{signal-name} $B$G;X<($5$l$k%7%0%J%k$K1~Ez$9$k4X?t(B @var{slot-function} +$B$r7k$SIU$1$^$9!#(B@var{slot-function} $B$K;XDj$5$l$?4X?t$O(B 2 $B$D$N0z?t$rl9g$K$O!"(B +@var{slot-function} $B$,8F$P$l$k$3$H$O$"$j$^$;$s!#(B +@end defun + +$B%7%0%J%k%*%V%8%'%/%H$K%"%/%;%9$9$k$K$O!"0J2<$N4X?t$r;H$$$^$9!#(B + +@defun riece-signal-name +$B%7%0%J%k$NL>A0(B($B%7%s%\%k(B)$B$rJV$7$^$9!#(B +@end defun + +@defun riece-signal-args +$B%7%0%J%kAw=P;~$KM?$($i$l$?0z?t$rJV$7$^$9!#(B +@end defun + +$B8=:_!"0J2<$N%7%0%J%k$,I8=`$GEPO?$5$l$F$$$^$9!'(B + +@table @samp +@item channel-list-changed +$B;22C$7$F$$$k%A%c%s%M%k$N0lMw$NJQ2=(B +@item user-list-changed +$B%A%c%s%M%k$N;22CA0$rJQ99(B +($B0z?t$O!"0JA0$H8=:_$NL>A0$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) +@item user-away-changed +$B%f!<%6$NN%@J>uBV$NJQ2=(B +($B0z?t$O!"%f!<%6$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) +@item user-operator-changed +$B%f!<%6$N%*%Z%l!<%?>uBV$NJQ2=(B +($B0z?t$O!"%f!<%6$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) +@item channel-topic-changed +$B%A%c%s%M%k$N%H%T%C%/$NJQ2=(B +($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) +@item channel-modes-changed +$B%A%c%s%M%k$N%b!<%I$NJQ2=(B +($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) +@item channel-operators-changed +$B%A%c%s%M%k$G%*%Z%l!<%?8"8B$r;}$D%f!<%6$N0lMw$NJQ2=(B +($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) +@item channel-speakers-changed +$B%A%c%s%M%k$GH/8@8"$r;}$D%f!<%6$N0lMw$NJQ2=(B +($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B @samp{riece-identity} $B%*%V%8%'%/%H(B) +@item buffer-freeze-changed +$B%P%C%U%!$NE`7k>uBV$NJQ2=(B +($B0z?t$O%P%C%U%!(B) +@end table + +@node Writing add-ons, Handler hooks, Signals, Development +@section Writing add-ons + +$B%"%I%*%s$N>r7o$rK~$?$9%b%8%e!<%k$O0J2<$N4X?t$rDs6!$7$^$9!#(B + +@table @samp +@item <$B%b%8%e!<%kL>(B>-requires +$B0MB8$9$kB>$N%"%I%*%s(B($B%7%s%\%k$N%j%9%H(B)$B$rJV$7$^$9(B($B%*%W%7%g%s(B) +@item <$B%b%8%e!<%kL>(B>-insinuate +$B=i4|2==hM}$r9T$$$^$9(B +@end table + +$B$^$?!"%"%I%*%s$N@bL@$r!"JQ?t(B @samp{<$B%b%8%e!<%kL>(B>-description} $B$K@_Dj$9(B +$B$k$3$H$b$G$-$^$9!#$3$NJ8;zNs$O(B @kbd{M-x riece-command-list-addons} $B$K$h(B +$B$k%"%I%*%s$N0lMwI=<($K;H$o$l$^$9!#(B + +$BM-8z2=!&L58z2=$KBP1~$7$?%"%I%*%s$O!"JQ?t(B @samp{<$B%b%8%e!<%kL>(B>-enabled} +$B$K8=:_$N>uBV$rJ];}$7$^$9!#CM$,(B @samp{nil} $B$G$"$l$PL58z!"(B@samp{t} $B$G$"$l(B +$B$PM-8z$G$9!#2C$($F!"0J2<$N4X?t$rDs6!$7$^$9!#(B + +@table @samp +@item <$B%b%8%e!<%kL>(B>-enable +$B%"%I%*%s$rM-8z$K$7$^$9(B +@item <$B%b%8%e!<%kL>(B>-disable +$B%"%I%*%s$rL58z$K$7$^$9(B +@end table + +Riece $B$O5/F0;~$K0J2<$N=hM}$r9T$$$^$9!#(B + +@enumerate +@item +$BJQ?t(B @code{riece-addons} $B$KNs5s$5$l$?%b%8%e!<%k$rFI$_9~$`(B + +@item +$B$=$l$>$l$N%b%8%e!<%k$KBP$7!"(B@samp{<$B%b%8%e!<%kL>(B>-requires} $B$,MQ0U$5$l$F$$$l$P8F$S=P$7$F0MB8%0%i%U$r:n$k(B + +@item +$B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H(B (cf. tsort(1)) $B$r9T$&(B + +@item +$BF@$i$l$?0MB8=g=x$K=>$C$F(B @samp{<$B%b%8%e!<%kL>(B>-insinuate} $B8F$S=P$9(B + +@item +$B$b$7!"%"%I%*%s$,M-8z2=!&L58z2=$KBP1~$7$F$*$j!"L@<(E*$KL58z2=$5$l$F$$$J$1$l$P!"(B +@samp{<$B%b%8%e!<%kL>(B>-enable}$B$r8F$S=P$9!#(B +@end enumerate + +$B:n@.$7$?%"%I%*%s$O!"(B@code{load-path} $B$NDL$C$?%G%#%l%/%H%j!"$^$?$O(B +@code{riece-addon-directory} ($B%G%U%)%k%H$G$O(B @file{~/.riece/addons/}) $B$K(B +$BCV$/$3$H$GAH$_9~$_2DG=$J>uBV$K$J$j$^$9!#(B +@vindex riece-addon-directory + +@node Handler hooks, , Writing add-ons, Development +@section Handler hooks + +Riece $B$K$O!"%O%s%I%i%U%C%/$H8F$P$l$kFC(B(PRIVMSG $B$J$I(B)$B$rA4$F>.(B +$BJ8;z$K$7$?$b$N$H$7$^$9!#(B + +@table @code +@item riece--hook +@samp{message} $B$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/(B +@item riece-after--hook +@samp{message} $B$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/(B +@end table + +$B$3$3$G(B @code{riece--hook} $B$NJV$jCM$K$O0UL#$,$"$j!"Hs(B nil $B$rJV$9(B +$B$b$N$,$"$l$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O(B +@code{riece-after--hook} $B$b8F$S=P$5$l$^$;$s!#(B + +$B%U%C%/$N0z?t$O(B RFC2812 $B$N(B @samp{prefix} $B$H(B @samp{Parameters} $B$KAjEv$9$k(B +2 $B$D$N0z?t$,EO$j$^$9!#(B + @node Index, Function Index, Development, Top @chapter Index @printindex cp