From: Ken Brown <kbrown@cornell.edu>
To: Chong Yidong <cyd@stupidchicken.com>
Cc: Eli Zaretskii <eliz@gnu.org>,
Lennart Borgman <lennart.borgman@gmail.com>,
emacs-devel@gnu.org
Subject: Re: Cygwin patches
Date: Mon, 23 Nov 2009 14:50:12 -0500 [thread overview]
Message-ID: <4B0AE774.90107@cornell.edu> (raw)
In-Reply-To: <4B09EEF7.1020106@cornell.edu>
[-- Attachment #1: Type: text/plain, Size: 1253 bytes --]
On 11/22/2009 9:09 PM, Ken Brown wrote:
> On 11/22/2009 8:50 PM, Chong Yidong wrote:
>> Ken Brown <kbrown@cornell.edu> writes:
>>
>>> So are you saying that "file:" (with no slashes) is added by design?
>>> It doesn't work for me. (After the call to cygpath, I have a path of
>>> the form C:/blah/blah/blah.html; I need to add "file://", since
>>> otherwise only "file:" gets added and I don't have a valid URL.)
>>
>> Does this change (instead of the other patches we've been considering)
>> do the right thing on Cygwin?
>
> No. It still just adds "file:" to the windows path I get after the call
> to cygpath. And I can't omit the call to cygpath; if I do that, I'll
> have a URL with the right number of slashes, but it won't be one that
> the Windows browser will understand.
On the other hand, if we adopt part of the patch that Lennart proposed in
http://lists.gnu.org/archive/html/bug-gnu-emacs/2009-11/msg00343.html
then it does work on cygwin. And, I gather from Lennart's post, this
also solves a problem on Windows. The combined patch is attached.
[I've also taken the opportunity to make a slight improvement in
browse-url-default-windows-browser by using call-process instead of
shell-command.]
Does this look OK?
Ken
[-- Attachment #2: browse-url.el.patch --]
[-- Type: text/plain, Size: 1425 bytes --]
--- browse-url.el.orig 2009-11-20 16:49:49.000000000 -0500
+++ browse-url.el 2009-11-23 14:33:01.843750000 -0500
@@ -444,7 +444,7 @@
;; 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,10 @@
(defun browse-url-file-url (file)
"Return the URL corresponding to FILE.
Use variable `browse-url-filename-alist' to map filenames to URLs."
+ (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 +839,7 @@
(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)
next prev parent reply other threads:[~2009-11-23 19:50 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-20 20:00 Cygwin patches Ken Brown
2009-11-20 21:50 ` Chong Yidong
2009-11-20 21:59 ` Lennart Borgman
2009-11-20 22:26 ` Ken Brown
2009-11-20 23:54 ` Lennart Borgman
2009-11-21 8:12 ` Eli Zaretskii
2009-11-21 12:12 ` Ken Brown
2009-11-21 12:16 ` Lennart Borgman
2009-11-21 12:42 ` Eli Zaretskii
2009-11-21 21:21 ` Ken Brown
2009-11-21 21:48 ` Eli Zaretskii
2009-11-22 5:25 ` Davis Herring
2009-11-22 12:59 ` Ken Brown
2009-11-22 23:03 ` Chong Yidong
2009-11-22 23:23 ` Ken Brown
2009-11-22 23:30 ` Lennart Borgman
2009-11-23 1:37 ` Ken Brown
2009-11-23 1:42 ` Lennart Borgman
2009-11-23 1:50 ` Chong Yidong
2009-11-23 2:09 ` Ken Brown
2009-11-23 19:50 ` Ken Brown [this message]
2009-11-23 20:59 ` Chong Yidong
-- strict thread matches above, loose matches on Subject: below --
2009-11-20 23:40 Angelo Graziosi
2009-11-21 4:50 ` Chong Yidong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B0AE774.90107@cornell.edu \
--to=kbrown@cornell.edu \
--cc=cyd@stupidchicken.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=lennart.borgman@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).