unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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)

  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).