From a46bb508acc1e3fd08a299243d95fffd5faf6c35 Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Sat, 7 Mar 2015 15:14:10 +0100 Subject: Fix browse-url-firefox for firefox 36. --- emacs/23.4/24_all_browse-url-firefox.patch | 105 +++++++++++++++++++++++++++ emacs/24.4/05_all_browse-url-firefox.patch | 110 +++++++++++++++++++++++++++++ 2 files changed, 215 insertions(+) create mode 100644 emacs/23.4/24_all_browse-url-firefox.patch create mode 100644 emacs/24.4/05_all_browse-url-firefox.patch diff --git a/emacs/23.4/24_all_browse-url-firefox.patch b/emacs/23.4/24_all_browse-url-firefox.patch new file mode 100644 index 0000000..d87c953 --- /dev/null +++ b/emacs/23.4/24_all_browse-url-firefox.patch @@ -0,0 +1,105 @@ +https://bugs.gentoo.org/542046 +http://debbugs.gnu.org/19921 + +This comprises parts of the following commit from upstream git: + +commit 1b0ebbdb566a8dfa5f45ce121b2c835e9760091f +Author: Glenn Morris +Date: Tue Feb 24 18:02:11 2015 -0500 + + browse-url-firefox: update for firefox 36's removal of -remote + +--- emacs-23.4-orig/lisp/net/browse-url.el ++++ emacs-23.4/lisp/net/browse-url.el +@@ -330,6 +330,9 @@ + :type '(repeat (string :tag "Argument")) + :group 'browse-url) + ++(make-obsolete-variable 'browse-url-firefox-startup-arguments ++ "it no longer has any effect." "23.4-r13") ++ + ;;;###autoload + (defcustom browse-url-galeon-program (purecopy "galeon") + "The name by which to invoke Galeon." +@@ -1024,63 +1027,32 @@ + ;;;###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'. +- +-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." ++Non-interactively, this uses the optional second argument NEW-WINDOW ++instead of `browse-url-new-window-flag'." + (interactive (browse-url-interactive-arg "URL: ")) + (setq url (browse-url-encode-url url)) +- (let* ((process-environment (browse-url-process-environment)) +- (process +- (apply 'start-process +- (concat "firefox " url) nil +- browse-url-firefox-program +- (append +- browse-url-firefox-arguments +- (if (or (featurep 'dos-w32) +- (string-match "win32" system-configuration)) +- (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))))) +- +-(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 ++ (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-galeon (url &optional new-window) diff --git a/emacs/24.4/05_all_browse-url-firefox.patch b/emacs/24.4/05_all_browse-url-firefox.patch new file mode 100644 index 0000000..39b49c9 --- /dev/null +++ b/emacs/24.4/05_all_browse-url-firefox.patch @@ -0,0 +1,110 @@ +https://bugs.gentoo.org/542046 +http://debbugs.gnu.org/19921 + +This comprises parts of the following commit from upstream git: + +commit 1b0ebbdb566a8dfa5f45ce121b2c835e9760091f +Author: Glenn Morris +Date: Tue Feb 24 18:02:11 2015 -0500 + + browse-url-firefox: update for firefox 36's removal of -remote + +--- emacs-24.4-orig/lisp/net/browse-url.el ++++ emacs-24.4/lisp/net/browse-url.el +@@ -337,6 +337,9 @@ + :type '(repeat (string :tag "Argument")) + :group 'browse-url) + ++(make-obsolete-variable 'browse-url-firefox-startup-arguments ++ "it no longer has any effect." "24.4-r4") ++ + (defcustom browse-url-chromium-program + (let ((candidates '("chromium" "chromium-browser"))) + (while (and candidates (not (executable-find (car candidates)))) +@@ -1102,68 +1105,32 @@ + ;;;###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'. +- +-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." ++Non-interactively, this uses the optional second argument NEW-WINDOW ++instead of `browse-url-new-window-flag'." + (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 ++ (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) -- cgit v1.2.3-65-gdbad