emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r105513: Fix for browse-url-firefox o


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r105513: Fix for browse-url-firefox on Windows.
Date: Sat, 20 Aug 2011 21:01:12 -0400
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 105513
fixes bug(s): http://debbugs.gnu.org/9328
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sat 2011-08-20 21:01:12 -0400
message:
  Fix for browse-url-firefox on Windows.
  
  * lisp/net/browse-url.el (browse-url-firefox): Don't call
  browse-url-firefox-sentinel unless using -remote.
modified:
  lisp/ChangeLog
  lisp/net/browse-url.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-08-20 22:53:00 +0000
+++ b/lisp/ChangeLog    2011-08-21 01:01:12 +0000
@@ -1,3 +1,8 @@
+2011-08-21  Chong Yidong  <address@hidden>
+
+       * net/browse-url.el (browse-url-firefox): Don't call
+       browse-url-firefox-sentinel unless using -remote (Bug#9328).
+
 2011-08-20  Glenn Morris  <address@hidden>
 
        * tutorial.el (help-with-tutorial): Avoid an error on short screens.

=== modified file 'lisp/net/browse-url.el'
--- a/lisp/net/browse-url.el    2011-07-13 13:49:55 +0000
+++ b/lisp/net/browse-url.el    2011-08-21 01:01:12 +0000
@@ -1103,26 +1103,32 @@
   (interactive (browse-url-interactive-arg "URL: "))
   (setq url (browse-url-encode-url url))
   (let* ((process-environment (browse-url-process-environment))
+        (use-remote
+         (not (memq system-type '(windows-nt ms-dos))))
         (process
          (apply 'start-process
                 (concat "firefox " url) nil
                 browse-url-firefox-program
                 (append
                  browse-url-firefox-arguments
-                 (if (memq system-type '(windows-nt ms-dos))
-                     (list url)
-                   (list "-remote"
-                         (concat "openURL("
-                                 url
-                                 (if (browse-url-maybe-new-window
-                                      new-window)
-                                     (if browse-url-firefox-new-window-is-tab
-                                         ",new-tab"
-                                       ",new-window"))
-                                 ")")))))))
-    (set-process-sentinel process
-                         `(lambda (process change)
-                            (browse-url-firefox-sentinel process ,url)))))
+                 (if use-remote
+                     (list "-remote"
+                           (concat
+                            "openURL("
+                            url
+                            (if (browse-url-maybe-new-window new-window)
+                                (if browse-url-firefox-new-window-is-tab
+                                    ",new-tab"
+                                  ",new-window"))
+                            ")"))
+                   (list url))))))
+    ;; If we use -remote, the process exits with status code 2 if
+    ;; Firefox is not already running.  The sentinel runs firefox
+    ;; directly if that happens.
+    (when use-remote
+      (set-process-sentinel process
+                           `(lambda (process change)
+                              (browse-url-firefox-sentinel process ,url))))))
 
 (defun browse-url-firefox-sentinel (process url)
   "Handle a change to the process communicating with Firefox."


reply via email to

[Prev in Thread] Current Thread [Next in Thread]