]> code.delx.au - gnu-emacs/commitdiff
Clear erc user list upon disconnection
authorDeniz Dogan <deniz@dogan.se>
Sun, 27 Dec 2015 21:36:55 +0000 (22:36 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 27 Dec 2015 21:36:55 +0000 (22:36 +0100)
* lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
lists upon disconnection.  This prevents invalid channel
user lists when reconnecting (bug#10947).

lisp/erc/erc-backend.el

index df957d1ce429d62fed11d3411ff07b1019241a00..06a23e80fdd781ae6d9eaecc98a5571ebc9010bb 100644 (file)
@@ -703,6 +703,9 @@ Conditionally try to reconnect and take appropriate action."
                    (setq erc-server-ping-handler nil)))
           (run-hook-with-args 'erc-disconnected-hook
                               (erc-current-nick) (system-name) "")
+          (dolist (buf (erc-buffer-filter (lambda () (boundp 'erc-channel-users)) cproc))
+            (with-current-buffer buf
+              (setq erc-channel-users (make-hash-table :test 'equal))))
           ;; Remove the prompt
           (goto-char (or (marker-position erc-input-marker) (point-max)))
           (forward-line 0)