Tue Apr 12 15:32:37 ART 2005  Alberto Bertogli <albertogli@telpin.com.ar>
  * Fix user renaming.
diff -rN -u old-msnlib/msn new-msnlib/msn
--- old-msnlib/msn	2005-05-27 13:09:28.000000000 -0300
+++ new-msnlib/msn	2005-05-27 13:09:28.000000000 -0300
@@ -1078,14 +1078,13 @@
 
 	elif cmd == 'ren':		# rename a user
 		p = params.split()
-		if len(p) != 2: return 'Error parsing command'
+		if len(p) < 2: return 'Error parsing command'
 		email = nick2email(p[0])
 		if not email:
 			return 'Unkown nick (%s)' % p[0]
 		newnick = p[1]
 		u = m.users[email]
-		m.userdel(email)
-		m.useradd(email, newnick, u.gid)
+		m.userren(email, newnick)
 
 	elif cmd == 'gadd':		# add a group
 		p = params.split()
@@ -1488,6 +1487,21 @@
 	msncb.cb_rem(md, type, tid, params)
 m.cb.rem = cb_rem
 
+def cb_rea(md, type, tid, params):
+	t = params.split(' ')
+	email = t[1]
+	nick = urllib.unquote(t[2])
+	if email != md.email:
+		out = '\r' + c.blue + c.bold + email + ' ' + c.magenta \
+			+ 'has been renamed\n'
+		printl(out)
+	else:
+		out = '\r' + c.magenta + c.bold \
+			+ 'Your nick has been changed\n'
+		printl(out)
+	msncb.cb_rea(md, type, tid, params)
+m.cb.rea = cb_rea
+
 def cb_adg(md, type, tid, params):
 	t = params.split(' ')
 	lver, name, gid = t[0:3]
diff -rN -u old-msnlib/msnlib.py new-msnlib/msnlib.py
--- old-msnlib/msnlib.py	2005-05-27 13:09:28.000000000 -0300
+++ new-msnlib/msnlib.py	2005-05-27 13:09:28.000000000 -0300
@@ -385,6 +385,12 @@
 		self._send('REM', 'AL ' + email)
 		self._send('REM', 'FL ' + email)
 		return 1
+	
+	def userren(self, email, newnick):
+		"Renames a user"
+		newnick = urllib.quote(newnick)
+		self._send('REA', email + ' ' + newnick)
+		return 1
 
 	def userblock(self, email):
 		self._send('REM', 'AL ' + email)

