Update of /project/beirc/cvsroot/beirc
In directory common-lisp.net:/tmp/cvs-serv17917
Modified Files:
message-display.lisp receivers.lisp
Log Message:
* handle "you need channel operator status" message right.
* fix intern-receiver: should always use the normalized-name
Date: Sun Sep 25 20:19:28 2005
Author: afuchs
Index: beirc/message-display.lisp
diff -u beirc/message-display.lisp:1.16 beirc/message-display.lisp:1.17
--- beirc/message-display.lisp:1.16 Sun Sep 25 19:55:26 2005
+++ beirc/message-display.lisp Sun Sep 25 20:19:28 2005
@@ -190,6 +190,12 @@
;;; channel management messages
+(defmethod print-message ((message irc:irc-err_chanoprivsneeded-message) receiver)
+ (formatting-message (t message receiver)
+ ((format t " "))
+ ((with-drawing-options (*standard-output* :ink +gray33+ :text-size :small)
+ (format-message* (format nil "Not permitted: ~A" (irc:trailing-argument message)))))))
+
(defun print-topic (receiver message sender channel topic)
(formatting-message (t message receiver)
((format t " "))
Index: beirc/receivers.lisp
diff -u beirc/receivers.lisp:1.2 beirc/receivers.lisp:1.3
--- beirc/receivers.lisp:1.2 Sun Sep 25 19:51:34 2005
+++ beirc/receivers.lisp Sun Sep 25 20:19:28 2005
@@ -72,7 +72,7 @@
:display-time nil
:width 400 :height 600
:incremental-redisplay t)))
- (setf (gethash name (receivers frame)) receiver)
+ (setf (gethash normalized-name (receivers frame)) receiver)
receiver)))))
(defun remove-receiver (receiver frame)
@@ -138,7 +138,7 @@
(intern-receiver target frame :channel target))))))))
(define-nth-arg-message-receiver-lookup
(0 irc:irc-topic-message irc:irc-kick-message)
- (1 irc:irc-rpl_topic-message)
+ (1 irc:irc-rpl_topic-message irc:irc-err_chanoprivsneeded-message)
(2 irc:irc-rpl_namreply-message)
(nil irc:irc-join-message)))
@@ -181,7 +181,11 @@
cl-irc:irc-rpl_endofexceptlist-message
cl-irc:irc-ping-message))
+
+;;; default receiver.
(defmethod receiver-for-message ((message irc:irc-message) frame)
+ #+or ; comment out to debug on uncaught messages.
+ (break)
(server-receiver frame))
;; TODO: more receiver-for-message methods.