Function: erc-change-user-nickname

erc-change-user-nickname is a byte-compiled function defined in erc.el.gz.

Signature

(erc-change-user-nickname USER NEW-NICK)

Documentation

This function is for internal use only.

Changes the nickname of USER to NEW-NICK in the erc-server-users hash table. The erc-channel-users lists of other buffers are also changed.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc.el.gz
(defun erc-change-user-nickname (user new-nick)
  "This function is for internal use only.

Changes the nickname of USER to NEW-NICK in the
`erc-server-users' hash table.  The `erc-channel-users' lists of
other buffers are also changed."
  (let ((nick (erc-server-user-nickname user)))
    (setf (erc-server-user-nickname user) new-nick)
    (erc-with-server-buffer
      (remhash (erc-downcase nick) erc-server-users)
      (puthash (erc-downcase new-nick) user erc-server-users))
    (dolist (buf (erc-server-user-buffers user))
      (if (buffer-live-p buf)
          (with-current-buffer buf
            (let ((cdata (erc-get-channel-user nick)))
              (remhash (erc-downcase nick) erc-channel-users)
              (puthash (erc-downcase new-nick) cdata
                       erc-channel-users)))))))