X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=HACKING.ja;h=fc62d4e52ff540b97c9cf425cad37002176a033b;hp=93ca5a73a5b17735d720d2ace476b608413c9ce4;hb=80cb61138c2bd27d09acf75ab924439d7f7e7060;hpb=156b24cec5cfe69dd0de6c5866c6d2aeeff26601 diff --git a/HACKING.ja b/HACKING.ja index 93ca5a7..fc62d4e 100644 --- a/HACKING.ja +++ b/HACKING.ja @@ -3,128 +3,141 @@ $B$3$NJ8=q$G$O!"(BRiece $B$N3+H/%W%m%;%9$dFbIt9=B$$J$I!"3+H/$KI,MW$J>pJs$r$^(B $B$H$a$F$$$^$9!#3+H/$K;22C$7$F$$$?$@$1$kJ}$O;29M$K$7$F$/$@$5$$!#(B -* CVS +* $B3+H/%W%m%;%9(B + +** CVS Riece $B$N3+H/$K$O(B CVS $B$rMxMQ$7$F$$$^$9!#8x3+(B CVS $B%5!<%P$+$i:G?7HG$N%=!<(B $B%9%3!<%I$re$N$b$N$G$"$j!"MxMQ$O8D?M$N@UG$(B +$B$G$*4j$$$7$^$9!#(BCVS $BHG$K4X$9$k%P%0Js9p$O0l@ZpJs$,=PNO(B $B$5$l$k$h$&$K$J$j$^$9!#%G%P%C%0>pJs$O(B *Debug* $B%P%C%U%!$KC_@Q$5$l$^$9!#(B -$B$^$?!"(BIRC $B%5!<%P$H$N$d$j$H$j$,(B " *IRC*[<$B%5!<%PL>(B>]" $B%P%C%U%!$KC_@Q$5$l$^(B -$B$9!#(B +$B$^$?!"(BIRC $B%5!<%P$H$N$d$j$H$j$,(B " *IRC*A0(B>" $B%P%C%U%!$KC_(B +$B@Q$5$l$^$9!#%P%C%U%!$NL>A0$,6uGr(B " " $B$G;O$^$k$3$H$K$4Cm0U$/$@$5$$!#(B + +* $BFbIt9=B$(B -* Modules +** $B%b%8%e!<%k$N9=@.(B Riece $B$r9=@.$9$k(B elisp $B%b%8%e!<%k$r0J2<$KNs5s$7$^$9!#0MB84X78$N>e0L$K(B $B$"$k$b$N$r@h$K5s$2$^$9!#(B - riece-globals -$BBg0hJQ?t$NDj5A(B + $BBg0hJQ?t$NDj5A(B - riece-options -$B%f!<%6%*%W%7%g%s$NDj5A(B + $B%f!<%6%*%W%7%g%s$NDj5A(B - riece-version -$B%P!<%8%g%s$NDj5A(B + $B%P!<%8%g%s$NDj5A(B - riece-coding -$B%3!<%G%#%s%0%7%9%F%`4XO"$N4X?t$NDj5A(B + $B%3!<%G%#%s%0%7%9%F%`4XO"$N4X?t$NDj5A(B - riece-complete -$B%_%K%P%C%U%!$G$NJd40$r=u$1$k4X?t$NDj5A(B + $B%_%K%P%C%U%!$G$NJd40$r=u$1$k4X?t$NDj5A(B - riece-addon -$B%"%I%*%s4IM}(B + $B%"%I%*%s4IM}(B - riece-mode -channel/user $B$N%b!<%I4IM}(B + riece-channel/riece-user $B%*%V%8%'%/%H$N%b!<%I4IM}(B - riece-identity -channel/user object $B$NBg0hI=5-$rA`:n$9$k4X?t$NDj5A(B + riece-channel/riece-user $B%*%V%8%'%/%H(B $B$NBg0hI=5-$rA`:n$9$k4X?t$NDj5A(B - riece-channel -channel object $B4XO"$NDj5A(B + riece-channel $B%*%V%8%'%/%H(B $B4XO"$NDj5A(B - riece-user -user object $B4XO"$NDj5A(B + riece-user $B%*%V%8%'%/%H(B $B4XO"$NDj5A(B - riece-misc -$B;(B?$J4X?t$NDj5A(B + $B;(B?$J4X?t$NDj5A(B - riece-signal -$B%7%0%J%k4IM}(B + $B%7%0%J%k4IM}(B - riece-layout -$B%&%#%s%I%&%l%$%"%&%H4IM}(B + $B%&%#%s%I%&%l%$%"%&%H4IM}(B - riece-display -$BI=<(MQ%P%C%U%!$N4IM}(B + $BI=<(MQ%P%C%U%!$N4IM}(B - riece-server -IRC $B%5!<%P$H$N@\B34IM}(B + IRC $B%5!<%P$H$N@\B34IM}(B - riece-naming -$BL>A04IM}(B + $B%A%c%s%M%k$X$N%f!<%6$N;22C!&N%C&$r4IM}$9$k(B mediator - riece-message -message object $B4XO"$NDj5A(B + riece-message $B%*%V%8%'%/%H(B $B4XO"$NDj5A(B - riece-filter -$B%W%m%;%9%U%#%k%?$N%(%s%H%j%]%$%s%H(B + $B%W%m%;%9%U%#%k%?$N%(%s%H%j%]%$%s%H(B - riece-handle -$BDL>o$N%a%C%;!<%8$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B + $BDL>o$N%a%C%;!<%8$N%O%s%I%i!#(Briece-filter $B$+$i8F$P$l$k(B - riece-000 -000$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$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 - riece-200 -200$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$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 - riece-300 -300$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$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 - riece-400 -400$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$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 - riece-500 -500$BHVBf$N(B numeric reply $B$N%O%s%I%i!#(Briece-filter $B$+$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 - riece-commands -$B%3%^%s%I$NDj5A(B + $B%3%^%s%I$NDj5A(B - riece-irc -IRC $B%W%m%H%3%k%$%s%?!<%U%'!<%9(B + IRC $B%W%m%H%3%k$KBP1~$7$?(B process-filter $B$J$I$N@_Dj(B - riece -$B%(%s%H%j%]%$%s%H!#3F%P%C%U%!$N%b!<%IDj5A$J$I(B + $B5/F0;~$N%(%s%H%j%]%$%s%H!#3F%P%C%U%!$N%a%8%c!<%b!<%I$N@_Dj$J$I(B -* Namespace management +** $BL>A06u4V$N4IM}(B Riece $B$OF1;~$KJ#?t$N(B IRC $B%5!<%P$K@\B3$G$-$k$N$G!"(BIRC $B%5!<%PKh$KJL!9$N(B $BL>A06u4V$r4IM}$9$kI,MW$,$"$j$^$9!#$3$N$h$&$JL>A06u4V$K$O!"(BIRC $B%5!<%P$H(B $B$N@\B3%W%m%;%9$K7k$SIU$1$i$l$?%P%C%U%!$N%m!<%+%kJQ?t$r2p$7$F%"%/%;%9$7(B $B$^$9!#(B -** Obtaining server buffer +*** $B%W%m%;%9%P%C%U%!$NA0$rCN$kI,MW$,(B $B$"$j$^$9!#(BIRC $B%5!<%P$NL>A0$O0J2<$K5s$2$k$$$/$D$+$NJ}K!$GA0$rCN$kI,MW$,( (2) $BJQ?t(B riece-server-name $B$NCM(B -riece-server-name $B$,%+%l%s%H%P%C%U%!$N%m!<%+%kJQ?t$G$"$k$J$i$P!"4{$K%W(B -$B%m%;%9$N%P%C%U%!$K$$$k$H$_$J$;$k$N$G!"(Briece-server-name $B$NCM$=$N$b$N(B + riece-server-name $B$,%+%l%s%H%P%C%U%!$N%m!<%+%kJQ?t$G$"$k$J$i$P!"4{$K%W(B + $B%m%;%9$N%P%C%U%!$K$$$k$H$_$J$;$k$N$G!"(Briece-server-name $B$NCM$=$N$b$N(B -(3) riece-identity $B%*%V%8%'%/%H$+$i@Z$j=P$7$?(B IRC $B%5!<%P$NL>A0(B +(3) $BA*BrCf$N%A%c%s%M%k$rI=$9(B riece-identity $B%*%V%8%'%/%H$+$i@Z$j=P$7$?(B + IRC $B%5!<%P$NL>A0(B $B$3$&$7$FA0$r0z?t$K4X?t(B riece-server-process $B$r(B $B8F=P$7!"%5!<%P$N%W%m%;%9$rl9g!"%A%c%s%M%kL>$d%K%C%/%M!<%`$rBg0h(B -$BE*$K6hJL$9$kI,MW$,@8$8$^$9!#$3$N$h$&$JL>A0$rI=8=$9$k$N$,(B +$BE*$K6hJL$9$kI,MW$,@8$8$^$9!#$3$N$h$&$JL>A0$rI=8=$9$k$N$,(B riece-identity $B%*%V%8%'%/%H$G$9!#(B riece-identity $B%*%V%8%'%/%H$O0J2<$N(B 2 $B$D$NMWAG$r$b$D%Y%/%?!<$G$9!#(B - prefix -$B%A%c%s%M%kL>$d%K%C%/%M!<%`$J$I!"(BIRC $B%5!<%P$K8GM-$NL>A0(B + $B%A%c%s%M%kL>$d%K%C%/%M!<%`$J$I!"(BIRC $B%5!<%P$K8GM-$NL>A0(B - server -IRC $B%5!<%P$NL>A0(B + IRC $B%5!<%P$NL>A0(B riece-identity $B%*%V%8%'%/%H$KE,MQ2DG=$JA`:n$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#(B - riece-make-identity prefix &optional server -riece-identity $B%*%V%8%'%/%H$r?75,$K:n@.$7$^$9!#(Bserver $B0z?t$,>JN,$5$l$?(B -$B>l9g$K$O!"4X?t(B riece-find-server-name $B$G$r;H$$$^$9(B + riece-identity $B%*%V%8%'%/%H$r?75,$K:n@.$7$^$9!#(Bserver $B0z?t$,>JN,$5$l$?(B + $B>l9g$K$O!"4X?t(B riece-find-server-name $B$G$r;H$$$^$9(B - riece-identity-prefix identity -riece-identity $B%*%V%8%'%/%H$+$i(B IRC $B%5!<%P$K8GM-$NL>A0$r@Z$j=P$7$^$9!#(B + riece-identity $B%*%V%8%'%/%H$+$i(B IRC $B%5!<%P$K8GM-$NL>A0$r@Z$j=P$7$^$9!#(B - riece-identity-server identity -riece-identity $B%*%V%8%'%/%H$+$i%5!<%P$NL>A0$r@Z$j=P$7$^$9!#(B + riece-identity $B%*%V%8%'%/%H$+$i%5!<%P$NL>A0$r@Z$j=P$7$^$9!#(B - riece-identity-equal ident1 ident2 -2 $B$D$N(B riece-identity $B%*%V%8%'%/%H$,F1Ey$G$"$k$+D4$Y$^$9!#(B + 2 $B$D$N(B riece-identity $B%*%V%8%'%/%H$,F1Ey$G$"$k$+D4$Y$^$9!#(B - riece-identity-equal-no-server ident1 ident2 -2 $B$D$N(B riece-identity $B%*%V%8%'%/%H$N!"(BIRC $B%5!<%P$K8GM-$NL>A0$,F1Ey$G$"(B -$B$k$+D4$Y$^$9!#(B + 2 $B$D$N(B riece-identity $B%*%V%8%'%/%H$N!"(BIRC $B%5!<%P$K8GM-$NL>A0$,F1Ey$G$"(B + $B$k$+D4$Y$^$9!#(B - riece-identity-member elt list -riece-identity $B%*%V%8%'%/%H(B elt $B$,(B list $B$K4^$^$l$k$+D4$Y$^$9!#(B + riece-identity $B%*%V%8%'%/%H(B elt $B$,(B list $B$K4^$^$l$k$+D4$Y$^$9!#(B -** Channel and user management +*** $B%A%c%s%M%k$H%f!<%6$N4IM}(B riece-identity $B%*%V%8%'%/%H$+$i@Z$j=P$5$l$?(B IRC $B%5!<%P$K8GM-$NL>A0!"$9(B $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(B $B$l(B riece-channel $B%*%V%8%'%/%H$H(B riece-user $B%*%V%8%'%/%H$G(B $BI=8=$5$l$^$9!#(B -*** Channels +**** riece-channel $B%*%V%8%'%/%H(B riece-channel $B$O%A%c%s%M%k$rI=$9%*%V%8%'%/%H$G!"0J2<$NMWAG$r;}$A$^$9!#(B - users -$B;22C$7$F$$$k%f!<%6$N%K%C%/%M!<%`$N%j%9%H(B + $B;22C$7$F$$$k%f!<%6$N%K%C%/%M!<%`$N%j%9%H(B - operators -$B%*%Z%l!<%?8"8B$r$b$D%f!<%6$N%K%C%/%M!<%`$N%j%9%H(B + $B%*%Z%l!<%?8"8B$r$b$D%f!<%6$N%K%C%/%M!<%`$N%j%9%H(B - speakers -$BH/8@8"$r$b$D%f!<%6$N%K%C%/%M!<%`$N%j%9%H(B + $BH/8@8"$r$b$D%f!<%6$N%K%C%/%M!<%`$N%j%9%H(B - modes $B%A%c%s%M%k$N%b!<%I(B - banned -MODE +b $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B + MODE +b $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B - invited -MODE +I $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B + MODE +I $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B - uninvited -MODE +e $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B + MODE +e $B$G;XDj$5$l$?%Q%?!<%s$N0lMw(B -*** Users +**** riece-user $B%*%V%8%'%/%H(B riece-user $B$O!"(BIRC $B$K;22C$7$F$$$k%f!<%6$rI=$9%*%V%8%'%/%H$G!"0J2<$NMW(B $BAG$r;}$A$^$9!#(B - channels -$B;22C$7$F$$$k%A%c%s%M%kL>$N%j%9%H(B + $B;22C$7$F$$$k%A%c%s%M%kL>$N%j%9%H(B - user-at-host -"@" $B$N7A$GM?$($i$l$k%f!<%6$N@\B3>pJs(B + "@" $B$N7A$GM?$($i$l$k%f!<%6$N@\B3>pJs(B - modes -$B%f!<%6$N%b!<%I(B + $B%f!<%6$N%b!<%I(B - away -$BN%@JCf$+$I$&$+(B + $BN%@JCf$+$I$&$+(B -*** Naming management +**** Mediator $B%Q%?!<%s(B $B%A%c%s%M%k$X$N%f!<%6$N;22C!&N%C&$r4IM}$9$k$?$a$K!"(B riece-naming $B%b%8%e!<(B -$B%k$r;H$$$^$9!#(Briece-naming $B$O!"%G%6%$%s%Q%?!<%s$G$$$&$H$3$m$N(B Mediator +$B%k$r;H$$$^$9!#(Briece-naming $B$O!"%G%6%$%s%Q%?!<%s$G$$$&$H$3$m$N(B Mediator $B%Q%?!<%s$KAjEv$9$k$b$N$G$9!#(B riece-naming $B$r2p$9$k$3$H$G!"A0=R$N(B riece-channel, riece-user $B%*%V%8%'(B @@ -237,15 +251,15 @@ riece-naming $B$r2p$9$k$3$H$G!"A0=R$N(B riece-channel, riece-user $B%*%V%8%' riece-naming $B$,Ds6!$9$kA0$,JQ99$5$l$?$3$H$rI=L@$7$^$9(B + $B%f!<%6$NL>A0$,JQ99$5$l$?$3$H$rI=L@$7$^$9(B -* Signals +** $B%7%0%J%k(B $B%7%0%J%k$H$O!"2hLL$N:FIA2h$r8zN(NI$/9T$&$?$a$K!"%$%Y%s%H$HIA2hBP>]$N%*(B $B%V%8%'%/%H(B($B%P%C%U%!$d!"%b!<%I%i%$%s$N0u(B)$B$r7k$SIU$1$k5!9=$G$9!#(B @@ -261,91 +275,92 @@ riece-naming $B$,Ds6!$9$kl9g$K$O!"(Bslot-function $B$Ol9g$K$O!"(Bslot-function $B$OA0$rJV$7$^$9!#(B + $B%7%0%J%k$NL>A0$rJV$7$^$9!#(B - riece-signal-args -$B%7%0%J%k$NAw?.;~$KM?$($i$l$?0z?t$rJV$7$^$9!#(B + $B%7%0%J%k$NAw?.;~$KM?$($i$l$?0z?t$rJV$7$^$9!#(B $B8=:_!"0J2<$N%7%0%J%k$,;HMQ$5$l$F$$$^$9!#(B - channel-list-changed -$B;22C$7$F$$$k%A%c%s%M%k$N0lMw$NJQ2=(B + $B;22C$7$F$$$k%A%c%s%M%k$N0lMw$NJQ2=(B - user-list-changed -$B%A%c%s%M%k$N;22CA0$rJQ99(B -($B0z?t$O!"0JA0$H8=:_$NL>A0$KAjEv$9$k(B riece-identity $B%*%V%8%'%/%H(B) + $B%f!<%6$,L>A0$rJQ99(B + ($B0z?t$O!"0JA0$H8=:_$NL>A0$KAjEv$9$k(B riece-identity $B%*%V%8%'%/%H(B) - user-away-changed -$B%f!<%6$NN%@J>uBV$NJQ2=(B -($B0z?t$O!"%f!<%6$KAjEv$9$k(B riece-identity $B%*%V%8%'%/%H(B) + $B%f!<%6$NN%@J>uBV$NJQ2=(B + ($B0z?t$O!"%f!<%6$KAjEv$9$k(B riece-identity $B%*%V%8%'%/%H(B) - user-operator-changed -$B%f!<%6$N%*%Z%l!<%?>uBV$NJQ2=(B -($B0z?t$O!"%f!<%6$KAjEv$9$k(B riece-identity $B%*%V%8%'%/%H(B) + $B%f!<%6$N%*%Z%l!<%?>uBV$NJQ2=(B + ($B0z?t$O!"%f!<%6$KAjEv$9$k(B riece-identity $B%*%V%8%'%/%H(B) - 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 riece-identity $B%*%V%8%'%/%H(B) + $B%A%c%s%M%k$N%H%T%C%/$NJQ2=(B + ($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B riece-identity $B%*%V%8%'%/%H(B) - 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 riece-identity $B%*%V%8%'%/%H(B) + $B%A%c%s%M%k$N%b!<%I$NJQ2=(B + ($B0z?t$O!"%A%c%s%M%k$KAjEv$9$k(B riece-identity $B%*%V%8%'%/%H(B) - 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 riece-identity $B%*%V%8%'%/%H(B) + $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 riece-identity $B%*%V%8%'%/%H(B) - 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 riece-identity $B%*%V%8%'%/%H(B) + $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 riece-identity $B%*%V%8%'%/%H(B) - buffer-freeze-changed -$B%P%C%U%!$NE`7k>uBV$NJQ2=(B -($B0z?t$O%P%C%U%!(B) + $B%P%C%U%!$NE`7k>uBV$NJQ2=(B + ($B0z?t$O%P%C%U%!(B) -* Writing add-ons +** $B%"%I%*%s$N=q$-J}(B $B%"%I%*%s$N>r7o$rK~$?$9%b%8%e!<%k$O0J2<$N4X?t$rDs6!$7$^$9!#(B - <$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) + $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) - <$B%b%8%e!<%kL>(B>-insinuate -$B=i4|2==hM}$r9T$$$^$9(B + $B=i4|2==hM}$r9T$$$^$9(B -$B$^$?!"%"%I%*%s$N@bL@$r!"JQ?t(B <$B%b%8%e!<%kL>(B>-description $B$K@_Dj$9$k$3$H(B -$B$b$G$-$^$9!#$3$NJ8;zNs$O(B M-x riece-command-list-addons $B$K$h$k%"%I%*%s(B -$B$N0lMwI=<($K;H$o$l$^$9!#(B +$B$^$?!"%"%I%*%s$N4JC1$J@bL@$r!"JQ?t(B <$B%b%8%e!<%kL>(B>-description $B$K@_Dj$9(B +$B$k$HNI$$$G$7$g$&!#$3$NJ8;zNs$O(B C-c ^ (M-x riece-command-list-addons) +$B$K$h$k%"%I%*%s$N0lMw$GI=<($5$l$^$9!#(B $BM-8z2=!&L58z2=$KBP1~$7$?%"%I%*%s$O!"JQ?t(B <$B%b%8%e!<%kL>(B>-enabled $B$K8=:_(B $B$N>uBV$rJ];}$7$^$9!#$3$NJQ?t$NCM$,(B nil $B$G$"$l$PL58z!"(Bt $B$G$"$l$PM-8z$G(B @@ -362,34 +377,37 @@ Riece $B$O5/F0;~$K0J2<$N=hM}$r9T$$$^$9!#(B (1) $BJQ?t(B riece-addons $B$KNs5s$5$l$?%b%8%e!<%k$rFI$_9~$`(B (2) $B$=$l$>$l$N%b%8%e!<%k$KBP$7!"(B<$B%b%8%e!<%kL>(B>-requires $B$,MQ0U(B -$B$5$l$F$$$l$P8F$S=P$7$F0MB8%0%i%U$r:n$k(B + $B$5$l$F$$$l$P8F$S=P$7!"0MB8%0%i%U$r:n$k(B -(3) $B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H(B (cf. tsort(1)) $B$r9T$&(B +(3) $B0MB8%0%i%U$KBP$7$F%H%]%m%8%+%k%=!<%H$r9T$&(B (4) $BF@$i$l$?0MB8=g=x$K=>$C$F(B <$B%b%8%e!<%kL>(B>-insinuate $B8F$S=P$9(B (5) $B$b$7!"%"%I%*%s$,M-8z2=!&L58z2=$KBP1~$7$F$*$j!"L@<(E*$KL58z2=$5$l$F(B -$B$$$J$1$l$P!"(B<$B%b%8%e!<%kL>(B>-enable $B$r8F$S=P$9!#(B + $B$$$J$1$l$P!"(B<$B%b%8%e!<%kL>(B>-enable $B$r8F$S=P$9!#(B $B:n@.$7$?%"%I%*%s$O!"(Bload-path $B$NDL$C$?%G%#%l%/%H%j$+!"(B ~/.riece/addons/ $B0J2<$KG[CV$9$k$HAH$_9~$_2DG=$J>uBV$K$J$j$^$9!#(B -* Handler hooks +** $B%O%s%I%i%U%C%/(B Riece $B$K$O!"%O%s%I%i%U%C%/$H8F$P$l$kFCJL$J0UL#$r;}$D%U%C%/$,$"$j$^$9!#(B $B%O%s%I%i%U%C%/$O(B IRC $B$N%a%C%;!<%8$r.J8;z$K(B -$B$7$?$b$N$H$7$^$9!#(B + $B$r(B IRC $B$N%a%C%;!<%8$r>.J8;z$K$7$?$b$N$H$9$k$H!"%O%s%I%i%U%C(B +$B%/$O-hook -message $B$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/(B + $B%a%C%;!<%8$,FO$$$?$H$-$K:G=i$K8F$P$l$k%U%C%/(B - riece-after--hook -message $B$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/(B + $B%a%C%;!<%8$N=hM}$,=*$o$C$?8e$K8F$P$l$k%U%C%/(B + +$BNc$($P!"(BPRIVMSG $B$K4X$7$F$O!"(Briece-privmsg-hook, +riece-after-privmsg-hook $B$NFs$D$N%U%C%/$,8F$P$l$^$9!#(B -$B$3$3$G(B riece--hook $B$NJV$jCM$K$O0UL#$,$"$j!"Hs(B nil $B$rJV$9$b$N(B -$B$,$"$l$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O(B +$B$3$3$G(B riece--hook $B$NJV$jCM$K$O0UL#$,$"$j!"(Bt $B$rJV$9$b$N$,$"$l(B +$B$P!"$=$N8e$N=hM}$r$*$3$J$$$^$;$s!#$^$?!"$=$N>l9g$K$O(B riece-after--hook $B$b8F$S=P$5$l$^$;$s!#(B $B%U%C%/$N0z?t$K$O(B RFC2812 $B$N(B prefix $B$H(B parameters $B$,EO$j$^$9!#(B \ No newline at end of file