irc.client: Fix, remove-listener now parts from channels correctly
parent
a88b176ba2
commit
c5e55ce6ec
|
@ -206,7 +206,7 @@ GENERIC: handle-outgoing-irc ( obj -- )
|
||||||
M: privmsg handle-outgoing-irc ( privmsg -- )
|
M: privmsg handle-outgoing-irc ( privmsg -- )
|
||||||
[ name>> ] [ trailing>> ] bi /PRIVMSG ;
|
[ name>> ] [ trailing>> ] bi /PRIVMSG ;
|
||||||
|
|
||||||
M: part handle-outgoing-irc ( privmsg -- )
|
M: part handle-outgoing-irc ( part -- )
|
||||||
[ channel>> ] [ trailing>> "" or ] bi /PART ;
|
[ channel>> ] [ trailing>> "" or ] bi /PART ;
|
||||||
|
|
||||||
! ======================================
|
! ======================================
|
||||||
|
@ -263,6 +263,7 @@ DEFER: (connect-irc)
|
||||||
{
|
{
|
||||||
{ [ dup string? ] [ strings>privmsg ] }
|
{ [ dup string? ] [ strings>privmsg ] }
|
||||||
{ [ dup privmsg instance? ] [ swap >>name ] }
|
{ [ dup privmsg instance? ] [ swap >>name ] }
|
||||||
|
[ nip ]
|
||||||
} cond ;
|
} cond ;
|
||||||
|
|
||||||
: listener-loop ( name listener -- )
|
: listener-loop ( name listener -- )
|
||||||
|
@ -310,8 +311,8 @@ M: irc-nick-listener (remove-listener) ( irc-nick-listener -- )
|
||||||
name>> unregister-listener ;
|
name>> unregister-listener ;
|
||||||
|
|
||||||
M: irc-channel-listener (remove-listener) ( irc-channel-listener -- )
|
M: irc-channel-listener (remove-listener) ( irc-channel-listener -- )
|
||||||
[ [ out-messages>> ] [ name>> ] bi
|
[ [ name>> ] [ out-messages>> ] bi
|
||||||
[ \ part new ] dip >>channel mailbox-put ] keep
|
[ [ part new ] dip >>channel ] dip mailbox-put ] keep
|
||||||
name>> unregister-listener ;
|
name>> unregister-listener ;
|
||||||
|
|
||||||
M: irc-server-listener (remove-listener) ( irc-server-listener -- )
|
M: irc-server-listener (remove-listener) ( irc-server-listener -- )
|
||||||
|
|
Loading…
Reference in New Issue