From 6f94c2405f4c82b63da19de89549aff1fad7e594 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sun, 2 Aug 2020 09:43:41 +0200 Subject: [PATCH] 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). --- lisp/erc/erc.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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))))) -- 2.39.2