From 1b0ebbdb566a8dfa5f45ce121b2c835e9760091f Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 24 Feb 2015 18:02:11 -0500 Subject: [PATCH] browse-url-firefox: update for firefox 36's removal of -remote Ref: https://bugzilla.mozilla.org/show_bug.cgi?id=1080319 * lisp/net/browse-url.el (browse-url-firefox-startup-arguments): Make obsolete. (browse-url-firefox): Doc fix. Remove -remote. (browse-url-firefox-sentinel): Remove function. * etc/NEWS: Mention this. Fixes: debbugs:19921 --- etc/NEWS | 2 ++ lisp/ChangeLog | 8 +++++ lisp/net/browse-url.el | 80 ++++++++++++++---------------------------- 3 files changed, 37 insertions(+), 53 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 0b26d7abb1..7d9e1f0d83 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -29,6 +29,8 @@ with a prefix argument or by typing C-u C-h C-n. ** `call-process-shell-command' and `process-file-shell-command' no longer take "&rest args". +** The option `browse-url-firefox-startup-arguments' no longer has an effect. + ** ERC *** New option `erc-rename-buffers'. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 14a12b53a3..a5603941ad 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2015-02-24 Glenn Morris + + * net/browse-url.el (browse-url-firefox-startup-arguments): + Make obsolete. + (browse-url-firefox): Doc fix. Remove -remote, which no longer + exists in Firefox 36. (Bug#19921) + (browse-url-firefox-sentinel): Remove function. + 2015-02-23 Eli Zaretskii * frame.el (blink-cursor-timer-function): Don't increment diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index e6ae0d7df0..4819cdc20f 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -337,6 +337,9 @@ Defaults to the value of `browse-url-firefox-arguments' at the time :type '(repeat (string :tag "Argument")) :group 'browse-url) +(make-obsolete-variable 'browse-url-firefox-startup-arguments + "it no longer has any effect." "24.5") + (defcustom browse-url-chromium-program (let ((candidates '("chromium" "chromium-browser"))) (while (and candidates (not (executable-find (car candidates)))) @@ -1102,68 +1105,39 @@ used instead of `browse-url-new-window-flag'." ;;;###autoload (defun browse-url-firefox (url &optional new-window) "Ask the Firefox WWW browser to load URL. -Default to the URL around or before point. The strings in -variable `browse-url-firefox-arguments' are also passed to -Firefox. +Defaults to the URL around or before point. Passes the strings +in the variable `browse-url-firefox-arguments' to Firefox. -When called interactively, if variable -`browse-url-new-window-flag' is non-nil, load the document in a -new Firefox window, otherwise use a random existing one. A -non-nil interactive prefix argument reverses the effect of -`browse-url-new-window-flag'. +Interactively, if the variable `browse-url-new-window-flag' is non-nil, +loads the document in a new Firefox window. A non-nil prefix argument +reverses the effect of `browse-url-new-window-flag'. If `browse-url-firefox-new-window-is-tab' is non-nil, then whenever a document would otherwise be loaded in a new window, it is loaded in a new tab in an existing window instead. -When called non-interactively, optional second argument -NEW-WINDOW is used instead of `browse-url-new-window-flag'. +Non-interactively, this uses the optional second argument NEW-WINDOW +instead of `browse-url-new-window-flag'. -On MS-Windows systems the optional `new-window' parameter is -ignored. Firefox for Windows does not support the \"-remote\" -command line parameter. Therefore, the -`browse-url-new-window-flag' and `browse-url-firefox-new-window-is-tab' -are ignored as well. Firefox on Windows will always open the requested -URL in a new window." +On MS Windows, this ignores `browse-url-new-window-flag' and +`browse-url-firefox-new-window-is-tab', as well as the NEW-WINDOW argument. +It always uses a new window." (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 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." - (or (eq (process-exit-status process) 0) - (let* ((process-environment (browse-url-process-environment))) - ;; Firefox is not running - start it - (message "Starting Firefox...") - (apply 'start-process (concat "firefox " url) nil - browse-url-firefox-program - (append browse-url-firefox-startup-arguments (list url)))))) + (let* ((process-environment (browse-url-process-environment))) + (apply 'start-process + (concat "firefox " url) nil + browse-url-firefox-program + (append + browse-url-firefox-arguments + ;; FIXME someone should check if this limitation + ;; still applies. + (unless (memq system-type '(windows-nt ms-dos)) + (if (browse-url-maybe-new-window new-window) + (if browse-url-firefox-new-window-is-tab + '("-new-tab") + '("-new-window")))) + (list url))))) ;;;###autoload (defun browse-url-chromium (url &optional _new-window) -- 2.39.2