diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2009-11-23 20:58:55 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2009-11-23 20:58:55 +0000 |
commit | 5241b291dd078aea93fb622a4de1c20c8278e1df (patch) | |
tree | 64aa559242da3e7f139e31b46c1f8b58553fe77d /lisp | |
parent | aefcadb650ddaa4d2ad1737baadf4400c99ba405 (diff) | |
download | emacs-5241b291dd078aea93fb622a4de1c20c8278e1df.tar.gz |
* 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.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 8 | ||||
-rw-r--r-- | lisp/net/browse-url.el | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1ab6ac35ebc..2c6dacc9f78 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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) diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index ddfaa91d953..e52f4cb924a 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -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) |