[cl-irc-cvs] CVS cl-irc

ehuelsmann ehuelsmann at common-lisp.net
Wed Feb 22 18:55:18 UTC 2006


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
 ;;




More information about the cl-irc-cvs mailing list