summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2009-11-23 20:58:55 +0000
committerChong Yidong <cyd@stupidchicken.com>2009-11-23 20:58:55 +0000
commit5241b291dd078aea93fb622a4de1c20c8278e1df (patch)
tree64aa559242da3e7f139e31b46c1f8b58553fe77d /lisp
parentaefcadb650ddaa4d2ad1737baadf4400c99ba405 (diff)
downloademacs-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/ChangeLog8
-rw-r--r--lisp/net/browse-url.el10
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)