# HG changeset patch # User Stefan Monnier # Date 1165547830 0 # Node ID 00d6850d1b3ea887b610fd75d00927c0f776de4e # Parent b70a720bbe3e6af04a6164d695968f8d9d2d8751 (browse-url): Set DISPLAY to the one of the current frame, in case we're connected to several displays. diff -r b70a720bbe3e -r 00d6850d1b3e lisp/ChangeLog --- a/lisp/ChangeLog Fri Dec 08 02:56:08 2006 +0000 +++ b/lisp/ChangeLog Fri Dec 08 03:17:10 2006 +0000 @@ -1,3 +1,8 @@ +2006-12-08 Stefan Monnier + + * net/browse-url.el (browse-url): Set DISPLAY to the one of the + current frame, in case we're connected to several displays. + 2006-12-08 Juanma Barranquero * frame.el (other-frame): Doc fix. @@ -20,9 +25,10 @@ 2006-12-05 Kim F. Storm * emulation/cua-base.el (cua-paste-pop-rotate-temporarily): Doc fix. - (cua-paste-pop): Rework last change for cua-paste-pop-rotate-temporarily, - so first M-y and C-y works alike, pasting the head of the kill-ring, and - prefix arg C-u M-y inserts the text inserted by the last M-y command. + (cua-paste-pop): Rework last change for + cua-paste-pop-rotate-temporarily, so first M-y and C-y works alike, + pasting the head of the kill-ring, and prefix arg C-u M-y inserts the + text inserted by the last M-y command. 2006-12-05 Micha,Ak(Bl Cadilhac @@ -39,8 +45,7 @@ * progmodes/fortran.el (fortran-mode-abbrev-table) * progmodes/octave-mod.el (octave-abbrev-table) * progmodes/sql.el (sql-mode-abbrev-table): Define abbrevs even - if abbrev-table is non-nil (saved user abbrevs may have been - restored). + if abbrev-table is non-nil (saved user abbrevs may have been restored). * progmodes/vhdl-mode.el (vhdl-mode-abbrev-table-init): Do not clear abbrev table, else saved abbrevs will not be restored. diff -r b70a720bbe3e -r 00d6850d1b3e lisp/net/browse-url.el --- a/lisp/net/browse-url.el Fri Dec 08 02:56:08 2006 +0000 +++ b/lisp/net/browse-url.el Fri Dec 08 03:17:10 2006 +0000 @@ -760,17 +760,23 @@ (interactive (browse-url-interactive-arg "URL: ")) (unless (interactive-p) (setq args (or args (list browse-url-new-window-flag)))) - (if (functionp browse-url-browser-function) - (apply browse-url-browser-function url args) - ;; The `function' can be an alist; look down it for first match - ;; and apply the function (which might be a lambda). - (catch 'done - (dolist (bf browse-url-browser-function) - (when (string-match (car bf) url) - (apply (cdr bf) url args) - (throw 'done t))) - (error "No browse-url-browser-function matching URL %s" - url)))) + (let ((process-environment (copy-sequence process-environment))) + ;; When connected to various displays, be careful to use the display of + ;; the currently selected frame, rather than the original start display, + ;; which may not even exist any more. + (if (stringp (frame-parameter (selected-frame) 'display)) + (setenv "DISPLAY" (frame-parameter (selected-frame) 'display))) + (if (functionp browse-url-browser-function) + (apply browse-url-browser-function url args) + ;; The `function' can be an alist; look down it for first match + ;; and apply the function (which might be a lambda). + (catch 'done + (dolist (bf browse-url-browser-function) + (when (string-match (car bf) url) + (apply (cdr bf) url args) + (throw 'done t))) + (error "No browse-url-browser-function matching URL %s" + url))))) ;;;###autoload (defun browse-url-at-point (&optional arg)