diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 7e7e142b854..9d811617d2e 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -1607,11 +1607,12 @@ same manner." (if (and (with-suppressed-warnings ((obsolete erc-reuse-buffers)) erc-reuse-buffers) id) - (progn - (when-let* ((buf (get-buffer (symbol-name id))) + (let ((string (symbol-name (erc-networks--id-symbol + (erc-networks--id-create id))))) + (when-let* ((buf (get-buffer string)) ((erc-server-process-alive buf))) - (user-error "Session with ID %S already exists" id)) - (symbol-name id)) + (user-error "Session with ID %S already exists" string)) + string) (generate-new-buffer-name (if (and server port) (if (with-suppressed-warnings ((obsolete erc-reuse-buffers)) diff --git a/test/lisp/erc/erc-scenarios-base-netid-samenet.el b/test/lisp/erc/erc-scenarios-base-netid-samenet.el index 3cd8b7dfa14..14367122510 100644 --- a/test/lisp/erc/erc-scenarios-base-netid-samenet.el +++ b/test/lisp/erc/erc-scenarios-base-netid-samenet.el @@ -40,6 +40,9 @@ (erc-server-flood-margin 30) erc-serv-buf-a erc-serv-buf-b) + (when (and id-a (zerop (random 2))) (setq id-a (symbol-name id-a))) + (when (and id-b (zerop (random 2))) (setq id-b (symbol-name id-b))) + (ert-info ("Connect to foonet with nick tester") (with-current-buffer (setq erc-serv-buf-a (erc :server "127.0.0.1" diff --git a/test/lisp/erc/resources/erc-scenarios-common.el b/test/lisp/erc/resources/erc-scenarios-common.el index d77b32984b7..57d4658e75a 100644 --- a/test/lisp/erc/resources/erc-scenarios-common.el +++ b/test/lisp/erc/resources/erc-scenarios-common.el @@ -185,7 +185,7 @@ Dialog resource directories are located by expanding the variable (defun erc-scenarios-common-assert-initial-buf-name (id port) ;; Assert no limbo period when explicit ID given (should (string= (if id - (symbol-name id) + (format "%s" id) (format "127.0.0.1:%d" port)) (buffer-name))))