]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/browse-url.el (browse-url-filename-alist): On Windows, add
authorChong Yidong <cyd@stupidchicken.com>
Mon, 23 Nov 2009 20:58:55 +0000 (20:58 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Mon, 23 Nov 2009 20:58:55 +0000 (20:58 +0000)
two slashes to the "file:" prefix.
(browse-url-file-url): De-munge Cygwin filenames before passing
them to Windows browser.
(browse-url-default-windows-browser): Use call-process.

lisp/ChangeLog
lisp/net/browse-url.el

index 1ab6ac35ebcb12b81d020d1bb99ed01e151b514e..2c6dacc9f7886c4a67356e7c438f79d9b22579c9 100644 (file)
@@ -1,3 +1,11 @@
+2009-11-23  Ken Brown  <kbrown@cornell.edu>  (tiny change)
+
+       * net/browse-url.el (browse-url-filename-alist): On Windows, add
+       two slashes to the "file:" prefix.
+       (browse-url-file-url): De-munge Cygwin filenames before passing
+       them to Windows browser.
+       (browse-url-default-windows-browser): Use call-process.
+
 2009-11-23  Juri Linkov  <juri@jurta.org>
 
        Implement DocView Continuous mode.  (Bug#4896)
index ddfaa91d9533b0cfa643a015194cc00fbb1740ad..e52f4cb924a747c6fa476d40c4e79eea4d77d3dc 100644 (file)
@@ -444,7 +444,7 @@ commands reverses the effect of this variable.  Requires Netscape version
     ;; applies.
     ("^/\\([^:@]+@\\)?\\([^:]+\\):/*" . "ftp://\\1\\2/")
     ,@(if (memq system-type '(windows-nt ms-dos cygwin))
-          '(("^\\([a-zA-Z]:\\)[\\/]" . "file:\\1/")
+          '(("^\\([a-zA-Z]:\\)[\\/]" . "file:///\\1/")
             ("^[\\/][\\/]+" . "file://")))
     ("^/+" . "file:///"))
   "An alist of (REGEXP . STRING) pairs used by `browse-url-of-file'.
@@ -699,6 +699,12 @@ interactively.  Turn the filename into a URL with function
 (defun browse-url-file-url (file)
   "Return the URL corresponding to FILE.
 Use variable `browse-url-filename-alist' to map filenames to URLs."
+  ;; De-munge Cygwin filenames before passing them to Windows browser.
+  (if (eq system-type 'cygwin)
+      (let ((winfile (with-output-to-string
+                      (call-process "cygpath" nil standard-output
+                                    nil "-m" file))))
+       (setq file (substring winfile 0 -1))))
   (let ((coding (and (default-value 'enable-multibyte-characters)
                     (or file-name-coding-system
                         default-file-name-coding-system))))
@@ -835,7 +841,7 @@ to use."
             (shell-command (concat "start " (shell-quote-argument url)))
           (error "Browsing URLs is not supported on this system")))
        ((eq system-type 'cygwin)
-        (shell-command (concat "cygstart " (shell-quote-argument url))))
+        (call-process "cygstart" nil nil nil url))
        (t (w32-shell-execute "open" url))))
 
 (defun browse-url-default-macosx-browser (url &optional new-window)