[Top][All Lists]

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

bug#8917: browse-url-xdg-open can fail to return

From: Lawrence Mitchell
Subject: bug#8917: browse-url-xdg-open can fail to return
Date: Wed, 22 Jun 2011 10:18:28 +0100
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux)

In GNU Emacs (x86_64-unknown-linux-gnu, GTK+ Version 2.24.4)
 of 2011-06-06 on e4300lm
Windowing system distributor `The X.Org Foundation', version 11.0.11001000
configured using `configure '-C''

If Emacs uses browse-url-xdg-open to open URLs, and the browser
is /not/ already running, browse-url starts a new browser process
and then sits waiting for it to complete.  Control does not
return to Emacs until the browser is quit.

I believe this is an unintended side-effect of this change:

| 2010-10-08  Andreas Schwab  <address@hidden>

|       * net/browse-url.el (browse-url-xdg-open): Remove use of /bin/sh.

I think the correct fix is to just discard output from the
command and return immediately (nohup is then also not needed).
Here's a patch:

--8<---------------cut here---------------start------------->8---
>From c7183b3a4886a65951b155b1e0d57e0b50e19504 Mon Sep 17 00:00:00 2001
From: Lawrence Mitchell <address@hidden>
Date: Wed, 22 Jun 2011 10:08:29 +0100
Subject: [PATCH] browse-url: Don't wait for xdg-open to return

* net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil
BUFFER in call-process.
 lisp/ChangeLog         |    5 +++++
 lisp/net/browse-url.el |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1ab91cf..4511dbc 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-22  Lawrence Mitchell  <address@hidden>
+       * net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil
+       BUFFER in call-process.
 2011-06-21  Tim Harper  <address@hidden>
        * term/ns-win.el (ns-initialize-window-system): set
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index c1ec3f0..d9e6827 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -958,7 +958,7 @@ Galeon, Konqueror, Netscape, Mosaic, Lynx in an xterm, and 
then W3."
 (defun browse-url-xdg-open (url &optional new-window)
   (interactive (browse-url-interactive-arg "URL: "))
-  (call-process "nohup" nil nil nil "xdg-open" url))
+  (call-process "xdg-open" nil 0 nil url))
 (defun browse-url-netscape (url &optional new-window)

--8<---------------cut here---------------end--------------->8---

reply via email to

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