Update of /project/cl-irc/cvsroot/cl-irc In directory common-lisp:/tmp/cvs-serv472
Modified Files: protocol.lisp Log Message: When changing a nick: remove under the old nick, re-add with the new one.
--- /project/cl-irc/cvsroot/cl-irc/protocol.lisp 2006/02/20 06:53:25 1.37 +++ /project/cl-irc/cvsroot/cl-irc/protocol.lisp 2006/02/22 18:55:18 1.38 @@ -1,4 +1,4 @@ -;;;; $Id: protocol.lisp,v 1.37 2006/02/20 06:53:25 ehuelsmann Exp $ +;;;; $Id: protocol.lisp,v 1.38 2006/02/22 18:55:18 ehuelsmann Exp $ ;;;; $Source: /project/cl-irc/cvsroot/cl-irc/protocol.lisp,v $
;;;; See LICENSE for licensing information. @@ -781,17 +781,17 @@ user))
(defmethod change-nickname ((connection connection) (user user) new-nickname) - (let ((new-user user) - (channels (channels user))) + (let ((channels (channels user))) (remove-user connection user) - (setf (nickname new-user) new-nickname) - (setf (normalized-nickname new-user) + (dolist (channel channels) + (remove-user channel user)) + (setf (nickname user) new-nickname) + (setf (normalized-nickname user) (normalize-nickname connection new-nickname)) (dolist (channel channels) - (remove-user channel user) - (add-user channel new-user)) + (add-user channel user)) (add-user connection user) - new-user)) + user))
;; IRC Message ;;