From: Lars Ingebrigtsen Date: Sun, 2 Aug 2020 07:43:41 +0000 (+0200) Subject: Fix erc bug when there's two channels with the same name X-Git-Tag: emacs-28.0.90~6868 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6f94c2405f4c82b63da19de89549aff1fad7e594;p=emacs.git Fix erc bug when there's two channels with the same name * lisp/erc/erc.el (erc-generate-new-buffer-name): Fix logic when there's two channels with the same name from two different servers (bug#40121). --- diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index bfe8a2b42eb..8830dd4c45e 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -1622,10 +1622,12 @@ symbol, it may have these values: (if (and (not buffer-name) erc-reuse-buffers (or (not (get-buffer candidate)) - (or target - (with-current-buffer (get-buffer candidate) - (and (erc-server-buffer-p) - (not (erc-server-process-alive))))) + ;; Looking for a server buffer, so there's no target. + (and (not target) + (with-current-buffer (get-buffer candidate) + (and (erc-server-buffer-p) + (not (erc-server-process-alive))))) + ;; Channel buffer; check that it's from the right server. (with-current-buffer (get-buffer candidate) (and (string= erc-session-server server) (erc-port-equal erc-session-port port)))))