From: Andreas Schwab <schwab@linux-m68k.org>
Date: Fri, 25 Dec 2015 22:32:55 +0000 (+0100)
Subject: Don't treat /foo/bar:mumble as ange-ftp address
X-Git-Tag: emacs-25.0.90~381
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=490dcf2ae3f05baf201a451e701bc08d227ddc29;p=emacs.git

Don't treat /foo/bar:mumble as ange-ftp address

	* lisp/net/browse-url.el (browse-url-filename-alist): Match colons
	only in the first component.  (bug#5362)
---

diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 757e368317a..feb0788db92 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -419,11 +419,11 @@ commands reverses the effect of this variable."
   :group 'browse-url)
 
 (defcustom browse-url-filename-alist
-  `(("^/\\(ftp@\\|anonymous@\\)?\\([^:]+\\):/*" . "ftp://\\2/")
+  `(("^/\\(ftp@\\|anonymous@\\)?\\([^:/]+\\):/*" . "ftp://\\2/")
     ;; The above loses the username to avoid the browser prompting for
     ;; it in anonymous cases.  If it's not anonymous the next regexp
     ;; applies.
-    ("^/\\([^:@]+@\\)?\\([^:]+\\):/*" . "ftp://\\1\\2/")
+    ("^/\\([^:@/]+@\\)?\\([^:/]+\\):/*" . "ftp://\\1\\2/")
     ,@(if (memq system-type '(windows-nt ms-dos))
           '(("^\\([a-zA-Z]:\\)[\\/]" . "file:///\\1/")
             ("^[\\/][\\/]+" . "file://")))
@@ -441,13 +441,13 @@ address to an HTTP URL:
     (setq browse-url-filename-alist
 	  \\='((\"/webmaster@webserver:/home/www/html/\" .
 	     \"http://www.acme.co.uk/\")
-            (\"^/\\(ftp@\\|anonymous@\\)?\\([^:]+\\):/*\" . \"ftp://\\2/\")
-            (\"^/\\([^:@]+@\\)?\\([^:]+\\):/*\" . \"ftp://\\1\\2/\")
+            (\"^/\\(ftp@\\|anonymous@\\)?\\([^:/]+\\):/*\" . \"ftp://\\2/\")
+            (\"^/\\([^:@/]+@\\)?\\([^:/]+\\):/*\" . \"ftp://\\1\\2/\")
 	    (\"^/+\" . \"file:/\")))"
   :type '(repeat (cons :format "%v"
                        (regexp :tag "Regexp")
                        (string :tag "Replacement")))
-  :version "23.1"
+  :version "25.1"
   :group 'browse-url)
 
 (defcustom browse-url-save-file nil