]> git.eshelyaron.com Git - emacs.git/commitdiff
Actually accept non-symbols as IDs in erc-open
authorF. Jason Park <jp@neverwas.me>
Mon, 12 Dec 2022 03:41:43 +0000 (19:41 -0800)
committerF. Jason Park <jp@neverwas.me>
Wed, 14 Dec 2022 14:40:55 +0000 (06:40 -0800)
* 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.)

lisp/erc/erc.el
test/lisp/erc/erc-scenarios-base-netid-samenet.el
test/lisp/erc/resources/erc-scenarios-common.el

index 7e7e142b85442cb3ba39b7127af92e80f8b6a685..9d811617d2e53ede8a20650389d74febefa7665e 100644 (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))
index 3cd8b7dfa145f97dde49a6e6df5359f9ff1df4fe..1436712251042661362e543c0c3e09961a50157c 100644 (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"
index d77b32984b7e7e7af4aa47fc94c42f35f6d3d24f..57d4658e75a060ec6d7fe6b14cbc8c58038aa37d 100644 (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))))