unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#8917: browse-url-xdg-open can fail to return
@ 2011-06-22  9:18 Lawrence Mitchell
  2011-06-22 16:45 ` Jan Djärv
  0 siblings, 1 reply; 2+ messages in thread
From: Lawrence Mitchell @ 2011-06-22  9:18 UTC (permalink / raw)
  To: 8917

In GNU Emacs 24.0.50.1 (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  <schwab@linux-m68k.org>

| 	* 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 <wence@gmx.li>
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  <wence@gmx.li>
+
+	* net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil
+	BUFFER in call-process.
+
 2011-06-21  Tim Harper  <timcharper@gmail.com>
 
 	* 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."
 ;;;###autoload
 (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))
 
 ;;;###autoload
 (defun browse-url-netscape (url &optional new-window)

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






^ permalink raw reply related	[flat|nested] 2+ messages in thread

* bug#8917: browse-url-xdg-open can fail to return
  2011-06-22  9:18 bug#8917: browse-url-xdg-open can fail to return Lawrence Mitchell
@ 2011-06-22 16:45 ` Jan Djärv
  0 siblings, 0 replies; 2+ messages in thread
From: Jan Djärv @ 2011-06-22 16:45 UTC (permalink / raw)
  To: Lawrence Mitchell; +Cc: 8917-done

Hello.

That works, applied.

Thanks,

	Jan D.

2011-06-22 11:18, Lawrence Mitchell skrev:
> In GNU Emacs 24.0.50.1 (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<schwab@linux-m68k.org>
>
> | 	* 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<wence@gmx.li>
> 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<wence@gmx.li>
> +
> +	* net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil
> +	BUFFER in call-process.
> +
>   2011-06-21  Tim Harper<timcharper@gmail.com>
>
>   	* 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."
>   ;;;###autoload
>   (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))
>
>   ;;;###autoload
>   (defun browse-url-netscape (url&optional new-window)
>
> --8<---------------cut here---------------end--------------->8---
>
>
>






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-06-22 16:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-22  9:18 bug#8917: browse-url-xdg-open can fail to return Lawrence Mitchell
2011-06-22 16:45 ` Jan Djärv

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