Author: ehuelsmann Date: Sat Apr 21 17:02:06 2007 New Revision: 186
Modified: trunk/event.lisp trunk/protocol.lisp Log: Silence UNHANDLED messages on the debug stream when they are in fact handled.
Modified: trunk/event.lisp ============================================================================== --- trunk/event.lisp (original) +++ trunk/event.lisp Sat Apr 21 17:02:06 2007 @@ -12,8 +12,8 @@
(defmethod irc-message-event (connection (message irc-message)) (declare (ignore connection)) - (apply-to-hooks message) - (client-log (connection message) message "UNHANDLED-EVENT:")) + (unless (apply-to-hooks message) + (client-log (connection message) message "UNHANDLED-EVENT:")))
(defgeneric default-hook (message)
Modified: trunk/protocol.lisp ============================================================================== --- trunk/protocol.lisp (original) +++ trunk/protocol.lisp Sat Apr 21 17:02:06 2007 @@ -993,10 +993,17 @@ (car (last (arguments message)))) (force-output stream)))
+ (defmethod apply-to-hooks ((message irc-message)) - (let ((connection (connection message))) - (dolist (hook (get-hooks connection (class-name (class-of message)))) - (funcall hook message)))) + "Applies any applicable hooks to `message'. + +Returns non-nil if any of the hooks do." + (let ((connection (connection message)) + (result nil)) + (dolist (hook (get-hooks connection (class-name (class-of message))) + result) + (setf result (or (funcall hook message) + result)))))
;; ;; CTCP Message