]> git.eshelyaron.com Git - emacs.git/commitdiff
erc-network: fix erc-determine-network when no network
authorJulien Danjou <julien@danjou.info>
Tue, 25 Feb 2014 17:37:25 +0000 (18:37 +0100)
committerJulien Danjou <julien@danjou.info>
Tue, 25 Feb 2014 17:37:25 +0000 (18:37 +0100)
* erc-networks.el (erc-determine-network): Check that NETWORK as a
value, some servers set it to nothing.

lisp/erc/ChangeLog
lisp/erc/erc-networks.el

index 8d0fc723f14c9b4a9de30754170b5ca5be21a05a..6d99fdf73d9ce54cca60926dec24b8c00e9c201c 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-25  Julien Danjou  <julien@danjou.info>
+
+       * erc-networks.el (erc-determine-network): Check that NETWORK as a
+       value, some servers set it to nothing.
+
 2014-01-31  Glenn Morris  <rgm@gnu.org>
 
        * erc.el (erc-accidental-paste-threshold-seconds): Doc tweak.
index 191aad0e0cc03a7243b483b31ce6be5c81e3484c..29a13ae5e306d42b7f71e68eaebaae0b7a30a6e6 100644 (file)
@@ -724,16 +724,17 @@ MATCHER is used to find a corresponding network to a server while connected to
 server parameter NETWORK if provided, otherwise parse the server name and
 search for a match in `erc-networks-alist'."
   ;; The server made it easy for us and told us the name of the NETWORK
-  (if (assoc "NETWORK" erc-server-parameters)
-      (intern (cdr (assoc "NETWORK" erc-server-parameters)))
-    (or
-     ;; Loop through `erc-networks-alist' looking for a match.
-     (let ((server (or erc-server-announced-name erc-session-server)))
-       (cl-loop for (name matcher) in erc-networks-alist
-               when (and matcher
-                         (string-match (concat matcher "\\'") server))
-               do (cl-return name)))
-     'Unknown)))
+  (let ((network-name (cdr (assoc "NETWORK" erc-server-parameters))))
+    (if network-name
+       (intern network-name)
+      (or
+       ;; Loop through `erc-networks-alist' looking for a match.
+       (let ((server (or erc-server-announced-name erc-session-server)))
+        (cl-loop for (name matcher) in erc-networks-alist
+                 when (and matcher
+                           (string-match (concat matcher "\\'") server))
+                 do (cl-return name)))
+       'Unknown))))
 
 (defun erc-network ()
   "Return the value of `erc-network' for the current server."