Actually accept non-symbols as IDs in erc-open

* lisp/erc/erc.el (erc-generate-new-buffer-name): Despite what it says
in the documentation, only symbols were being accepted as valid `:id'
entry-point arguments.  This uses the interned `princ' representation
of the argument instead.
* test/lisp/erc/erc-scenarios-base-netid-samenet.el
(erc-scenarios-common--base-network-id-same-network): Randomly specify
a string for the ID param instead of a non-nil symbol when opening a
new connection.
* test/lisp/erc/resources/erc-scenarios-common.el
(erc-scenarios-common-assert-initial-buf-name): Adjust helper to allow
for non-symbol IDs.  (Bug#59976.)
This commit is contained in:
F. Jason Park 2022-12-11 19:41:43 -08:00
parent 75f26646d4
commit 44b04c0ac1
3 changed files with 9 additions and 5 deletions

View file

@ -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))

View file

@ -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"

View file

@ -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))))