mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-17 11:20:39 -08:00
Fix various uses of display-buffer and pop-to-buffer
to avoid using special-display-* and same-window-* variables. * lisp/buff-menu.el (Buffer-menu-switch-other-window): Use second arg of display-buffer. (Buffer-menu-2-window): Use switch-to-buffer-other-window. * lisp/replace.el (occur-mode-goto-occurrence) (occur-mode-display-occurrence) Use second arg of pop-to-buffer and display-buffer. * lisp/window.el (display-buffer-alist): Add *Python*. * lisp/mail/reporter.el (reporter-submit-bug-report): Use second arg of display-buffer. * lisp/mail/sendmail.el (sendmail-user-agent-compose): Don't bind the special-display and same-window variables. (mail-other-window): Use switch-to-buffer-other-window. (mail-other-frame): USe switch-to-buffer-other-frame. * lisp/progmodes/gdb-mi.el (gdb-frame-gdb-buffer): Use display-buffer-other-frame. (gdb-display-gdb-buffer): Use pop-to-buffer. * lisp/progmodes/gud.el (gud-goto-info): Use info-other-window. * lisp/progmodes/python.el: Don't set same-window-buffer-names. * lisp/textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer.
This commit is contained in:
parent
919a69aa08
commit
3199b96fc5
11 changed files with 58 additions and 74 deletions
|
|
@ -1,3 +1,33 @@
|
||||||
|
2011-09-10 Chong Yidong <cyd@stupidchicken.com>
|
||||||
|
|
||||||
|
* buff-menu.el (Buffer-menu-switch-other-window): Use second arg
|
||||||
|
of display-buffer.
|
||||||
|
(Buffer-menu-2-window): Use switch-to-buffer-other-window.
|
||||||
|
|
||||||
|
* replace.el (occur-mode-goto-occurrence)
|
||||||
|
(occur-mode-display-occurrence) Use second arg of pop-to-buffer
|
||||||
|
and display-buffer.
|
||||||
|
|
||||||
|
* mail/reporter.el (reporter-submit-bug-report): Use second arg of
|
||||||
|
display-buffer.
|
||||||
|
|
||||||
|
* mail/sendmail.el (sendmail-user-agent-compose): Don't bind the
|
||||||
|
special-display and same-window variables.
|
||||||
|
(mail-other-window): Use switch-to-buffer-other-window.
|
||||||
|
(mail-other-frame): USe switch-to-buffer-other-frame.
|
||||||
|
|
||||||
|
* progmodes/gdb-mi.el (gdb-frame-gdb-buffer): Use
|
||||||
|
display-buffer-other-frame.
|
||||||
|
(gdb-display-gdb-buffer): Use pop-to-buffer.
|
||||||
|
|
||||||
|
* progmodes/gud.el (gud-goto-info): Use info-other-window.
|
||||||
|
|
||||||
|
* progmodes/python.el: Don't set same-window-buffer-names.
|
||||||
|
|
||||||
|
* textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer.
|
||||||
|
|
||||||
|
* window.el (display-buffer-alist): Add *Python*.
|
||||||
|
|
||||||
2011-09-10 Chong Yidong <cyd@stupidchicken.com>
|
2011-09-10 Chong Yidong <cyd@stupidchicken.com>
|
||||||
|
|
||||||
* window.el (display-buffer-alist): Add entry for buffers
|
* window.el (display-buffer-alist): Add entry for buffers
|
||||||
|
|
|
||||||
|
|
@ -586,22 +586,16 @@ in the selected frame."
|
||||||
"Make the other window select this line's buffer.
|
"Make the other window select this line's buffer.
|
||||||
The current window remains selected."
|
The current window remains selected."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((pop-up-windows t)
|
(display-buffer (Buffer-menu-buffer t) t))
|
||||||
same-window-buffer-names
|
|
||||||
same-window-regexps)
|
|
||||||
(display-buffer (Buffer-menu-buffer t))))
|
|
||||||
|
|
||||||
(defun Buffer-menu-2-window ()
|
(defun Buffer-menu-2-window ()
|
||||||
"Select this line's buffer, with previous buffer in second window."
|
"Select this line's buffer, with previous buffer in second window."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((buff (Buffer-menu-buffer t))
|
(let ((buff (Buffer-menu-buffer t))
|
||||||
(menu (current-buffer))
|
(menu (current-buffer)))
|
||||||
(pop-up-windows t)
|
|
||||||
same-window-buffer-names
|
|
||||||
same-window-regexps)
|
|
||||||
(delete-other-windows)
|
(delete-other-windows)
|
||||||
(switch-to-buffer (other-buffer))
|
(switch-to-buffer (other-buffer))
|
||||||
(pop-to-buffer buff)
|
(switch-to-buffer-other-window buff)
|
||||||
(bury-buffer menu)))
|
(bury-buffer menu)))
|
||||||
|
|
||||||
(defun Buffer-menu-toggle-read-only ()
|
(defun Buffer-menu-toggle-read-only ()
|
||||||
|
|
|
||||||
|
|
@ -332,12 +332,11 @@ mail-sending package is used for editing and sending the message."
|
||||||
hookvar)
|
hookvar)
|
||||||
;; do the work
|
;; do the work
|
||||||
(require 'sendmail)
|
(require 'sendmail)
|
||||||
|
;; Just in case the original buffer is not visible now, bring it
|
||||||
|
;; back somewhere
|
||||||
|
(display-buffer reporter-eval-buffer)
|
||||||
;; If mailbuf did not get made visible before, make it visible now.
|
;; If mailbuf did not get made visible before, make it visible now.
|
||||||
(let (same-window-buffer-names same-window-regexps)
|
(pop-to-buffer mailbuf)
|
||||||
(pop-to-buffer mailbuf)
|
|
||||||
;; Just in case the original buffer is not visible now, bring it
|
|
||||||
;; back somewhere
|
|
||||||
(and pop-up-windows (display-buffer reporter-eval-buffer)))
|
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
(mail-position-on-field "to")
|
(mail-position-on-field "to")
|
||||||
(insert address)
|
(insert address)
|
||||||
|
|
|
||||||
|
|
@ -565,11 +565,7 @@ To change your decision later, customize `send-mail-function'.\n")
|
||||||
send-actions return-action
|
send-actions return-action
|
||||||
&rest ignored)
|
&rest ignored)
|
||||||
(if switch-function
|
(if switch-function
|
||||||
(let ((special-display-buffer-names nil)
|
(funcall switch-function "*mail*"))
|
||||||
(special-display-regexps nil)
|
|
||||||
(same-window-buffer-names nil)
|
|
||||||
(same-window-regexps nil))
|
|
||||||
(funcall switch-function "*mail*")))
|
|
||||||
(let ((cc (cdr (assoc-string "cc" other-headers t)))
|
(let ((cc (cdr (assoc-string "cc" other-headers t)))
|
||||||
(in-reply-to (cdr (assoc-string "in-reply-to" other-headers t)))
|
(in-reply-to (cdr (assoc-string "in-reply-to" other-headers t)))
|
||||||
(body (cdr (assoc-string "body" other-headers t))))
|
(body (cdr (assoc-string "body" other-headers t))))
|
||||||
|
|
@ -1966,24 +1962,14 @@ you can move to one of them and type C-c C-c to recover that one."
|
||||||
(defun mail-other-window (&optional noerase to subject in-reply-to cc replybuffer sendactions)
|
(defun mail-other-window (&optional noerase to subject in-reply-to cc replybuffer sendactions)
|
||||||
"Like `mail' command, but display mail buffer in another window."
|
"Like `mail' command, but display mail buffer in another window."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(let ((pop-up-windows t)
|
(switch-to-buffer-other-window "*mail*")
|
||||||
(special-display-buffer-names nil)
|
|
||||||
(special-display-regexps nil)
|
|
||||||
(same-window-buffer-names nil)
|
|
||||||
(same-window-regexps nil))
|
|
||||||
(pop-to-buffer "*mail*"))
|
|
||||||
(mail noerase to subject in-reply-to cc replybuffer sendactions))
|
(mail noerase to subject in-reply-to cc replybuffer sendactions))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun mail-other-frame (&optional noerase to subject in-reply-to cc replybuffer sendactions)
|
(defun mail-other-frame (&optional noerase to subject in-reply-to cc replybuffer sendactions)
|
||||||
"Like `mail' command, but display mail buffer in another frame."
|
"Like `mail' command, but display mail buffer in another frame."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(let ((pop-up-frames t)
|
(switch-to-buffer-other-frame "*mail*")
|
||||||
(special-display-buffer-names nil)
|
|
||||||
(special-display-regexps nil)
|
|
||||||
(same-window-buffer-names nil)
|
|
||||||
(same-window-regexps nil))
|
|
||||||
(pop-to-buffer "*mail*"))
|
|
||||||
(mail noerase to subject in-reply-to cc replybuffer sendactions))
|
(mail noerase to subject in-reply-to cc replybuffer sendactions))
|
||||||
|
|
||||||
;; Do not add anything but external entries on this page.
|
;; Do not add anything but external entries on this page.
|
||||||
|
|
|
||||||
|
|
@ -2408,9 +2408,8 @@ and overlay is highlighted between MK and END-MK."
|
||||||
;; also do this while we change buffer
|
;; also do this while we change buffer
|
||||||
(compilation-set-window w msg)
|
(compilation-set-window w msg)
|
||||||
compilation-highlight-regexp)))
|
compilation-highlight-regexp)))
|
||||||
;; Ideally, the window-size should be passed to `display-buffer' (via
|
;; Ideally, the window-size should be passed to `display-buffer'
|
||||||
;; something like special-display-buffer) so it's only used when
|
;; so it's only used when creating a new window.
|
||||||
;; creating a new window.
|
|
||||||
(unless pre-existing (compilation-set-window-height w))
|
(unless pre-existing (compilation-set-window-height w))
|
||||||
|
|
||||||
(if from-compilation-buffer
|
(if from-compilation-buffer
|
||||||
|
|
|
||||||
|
|
@ -3980,18 +3980,12 @@ SPLIT-HORIZONTAL and show BUF in the new window."
|
||||||
(defun gdb-frame-gdb-buffer ()
|
(defun gdb-frame-gdb-buffer ()
|
||||||
"Display GUD buffer in a new frame."
|
"Display GUD buffer in a new frame."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((special-display-regexps (append special-display-regexps '(".*")))
|
(display-buffer-other-frame gud-comint-buffer))
|
||||||
(special-display-frame-alist
|
|
||||||
(remove '(menu-bar-lines) (remove '(tool-bar-lines)
|
|
||||||
gdb-frame-parameters)))
|
|
||||||
(same-window-regexps nil))
|
|
||||||
(display-buffer gud-comint-buffer)))
|
|
||||||
|
|
||||||
(defun gdb-display-gdb-buffer ()
|
(defun gdb-display-gdb-buffer ()
|
||||||
"Display GUD buffer."
|
"Display GUD buffer."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((same-window-regexps nil))
|
(pop-to-buffer gud-comint-buffer nil 0))
|
||||||
(select-window (display-buffer gud-comint-buffer nil 0))))
|
|
||||||
|
|
||||||
(defun gdb-set-window-buffer (name &optional ignore-dedicated window)
|
(defun gdb-set-window-buffer (name &optional ignore-dedicated window)
|
||||||
"Set buffer of selected window to NAME and dedicate window.
|
"Set buffer of selected window to NAME and dedicate window.
|
||||||
|
|
|
||||||
|
|
@ -112,20 +112,9 @@ Used to grey out relevant toolbar icons.")
|
||||||
(defun gud-goto-info ()
|
(defun gud-goto-info ()
|
||||||
"Go to relevant Emacs info node."
|
"Go to relevant Emacs info node."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((same-window-regexps same-window-regexps)
|
(if (eq gud-minor-mode 'gdbmi)
|
||||||
(display-buffer-reuse-frames t))
|
(info-other-window "(emacs)GDB Graphical Interface")
|
||||||
(catch 'info-found
|
(info-other-window "(emacs)Debuggers")))
|
||||||
(walk-windows
|
|
||||||
(lambda (window)
|
|
||||||
(if (eq (window-buffer window) (get-buffer "*info*"))
|
|
||||||
(progn
|
|
||||||
(setq same-window-regexps nil)
|
|
||||||
(throw 'info-found nil))))
|
|
||||||
nil 0)
|
|
||||||
(select-frame (make-frame)))
|
|
||||||
(if (eq gud-minor-mode 'gdbmi)
|
|
||||||
(info "(emacs)GDB Graphical Interface")
|
|
||||||
(info "(emacs)Debuggers"))))
|
|
||||||
|
|
||||||
(defun gud-tool-bar-item-visible-no-fringe ()
|
(defun gud-tool-bar-item-visible-no-fringe ()
|
||||||
(not (or (eq (buffer-local-value 'major-mode (window-buffer)) 'speedbar-mode)
|
(not (or (eq (buffer-local-value 'major-mode (window-buffer)) 'speedbar-mode)
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,6 @@
|
||||||
(add-to-list 'interpreter-mode-alist (cons (purecopy "python") 'python-mode))
|
(add-to-list 'interpreter-mode-alist (cons (purecopy "python") 'python-mode))
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(add-to-list 'auto-mode-alist (cons (purecopy "\\.py\\'") 'python-mode))
|
(add-to-list 'auto-mode-alist (cons (purecopy "\\.py\\'") 'python-mode))
|
||||||
(add-to-list 'same-window-buffer-names (purecopy "*Python*"))
|
|
||||||
|
|
||||||
;;;; Font lock
|
;;;; Font lock
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -928,7 +928,7 @@ To return to ordinary Occur mode, use \\[occur-mode]."
|
||||||
|
|
||||||
(defalias 'occur-mode-mouse-goto 'occur-mode-goto-occurrence)
|
(defalias 'occur-mode-mouse-goto 'occur-mode-goto-occurrence)
|
||||||
(defun occur-mode-goto-occurrence (&optional event)
|
(defun occur-mode-goto-occurrence (&optional event)
|
||||||
"Go to the occurrence the current line describes."
|
"Go to the occurrence on the current line."
|
||||||
(interactive (list last-nonmenu-event))
|
(interactive (list last-nonmenu-event))
|
||||||
(let ((pos
|
(let ((pos
|
||||||
(if (null event)
|
(if (null event)
|
||||||
|
|
@ -939,10 +939,8 @@ To return to ordinary Occur mode, use \\[occur-mode]."
|
||||||
(with-current-buffer (window-buffer (posn-window (event-end event)))
|
(with-current-buffer (window-buffer (posn-window (event-end event)))
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(goto-char (posn-point (event-end event)))
|
(goto-char (posn-point (event-end event)))
|
||||||
(occur-mode-find-occurrence)))))
|
(occur-mode-find-occurrence))))))
|
||||||
same-window-buffer-names
|
(pop-to-buffer (marker-buffer pos) t)
|
||||||
same-window-regexps)
|
|
||||||
(pop-to-buffer (marker-buffer pos))
|
|
||||||
(goto-char pos)
|
(goto-char pos)
|
||||||
(run-hooks 'occur-mode-find-occurrence-hook)))
|
(run-hooks 'occur-mode-find-occurrence-hook)))
|
||||||
|
|
||||||
|
|
@ -958,11 +956,8 @@ To return to ordinary Occur mode, use \\[occur-mode]."
|
||||||
"Display in another window the occurrence the current line describes."
|
"Display in another window the occurrence the current line describes."
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((pos (occur-mode-find-occurrence))
|
(let ((pos (occur-mode-find-occurrence))
|
||||||
window
|
window)
|
||||||
;; Bind these to ensure `display-buffer' puts it in another window.
|
(setq window (display-buffer (marker-buffer pos) t))
|
||||||
same-window-buffer-names
|
|
||||||
same-window-regexps)
|
|
||||||
(setq window (display-buffer (marker-buffer pos)))
|
|
||||||
;; This is the way to set point in the proper window.
|
;; This is the way to set point in the proper window.
|
||||||
(save-selected-window
|
(save-selected-window
|
||||||
(select-window window)
|
(select-window window)
|
||||||
|
|
|
||||||
|
|
@ -4038,10 +4038,8 @@ A prefix arg negates the value of `bibtex-search-entry-globally'."
|
||||||
;; `bibtex-search-entry' moves point if key found
|
;; `bibtex-search-entry' moves point if key found
|
||||||
(setq found (bibtex-search-entry key)))))
|
(setq found (bibtex-search-entry key)))))
|
||||||
(cond ((and found display)
|
(cond ((and found display)
|
||||||
(let ((same-window-buffer-names
|
(switch-to-buffer buffer)
|
||||||
(cons (buffer-name buffer) same-window-buffer-names)))
|
(bibtex-reposition-window))
|
||||||
(pop-to-buffer buffer)
|
|
||||||
(bibtex-reposition-window)))
|
|
||||||
(found (set-buffer buffer))
|
(found (set-buffer buffer))
|
||||||
(display (message "Key `%s' not found" key)))
|
(display (message "Key `%s' not found" key)))
|
||||||
found)
|
found)
|
||||||
|
|
|
||||||
|
|
@ -4499,8 +4499,9 @@ BUFFER-OR-NAME and return that buffer."
|
||||||
(current-buffer)))
|
(current-buffer)))
|
||||||
|
|
||||||
(defvar display-buffer-alist
|
(defvar display-buffer-alist
|
||||||
'(("\\`\\*\\(scheme\\|ielm\\|shell\\|\\(unsent \\)?mail\\|inferior-lisp\
|
'(("\\`\\*\\(scheme\\|ielm\\|shell\\|\\(unsent \\)?mail\\|\
|
||||||
\\|Customiz.*\\|info\\|rlogin-.*\\|telnet-.*\\|rsh-.*\\|gud-.*\\)\\*\\(<[0-9]+>\\)?"
|
inferior-lisp\\|Python\\|Customiz.*\\|info\\|rlogin-.*\\|\
|
||||||
|
telnet-.*\\|rsh-.*\\|gud-.*\\)\\*\\(<[0-9]+>\\)?"
|
||||||
. (display-buffer-same-window)))
|
. (display-buffer-same-window)))
|
||||||
"Alist of conditional actions for `display-buffer'.
|
"Alist of conditional actions for `display-buffer'.
|
||||||
This is a list of elements (CONDITION . ACTION), where:
|
This is a list of elements (CONDITION . ACTION), where:
|
||||||
|
|
@ -4565,7 +4566,7 @@ the same form as ALIST. See `display-buffer' for details.")
|
||||||
(put 'display-buffer--other-frame-action 'risky-local-variable t)
|
(put 'display-buffer--other-frame-action 'risky-local-variable t)
|
||||||
|
|
||||||
(defun display-buffer (&optional buffer-or-name action frame)
|
(defun display-buffer (&optional buffer-or-name action frame)
|
||||||
"Display BUFFER-OR-NAME in some window.
|
"Display BUFFER-OR-NAME in some window, without selecting it.
|
||||||
BUFFER-OR-NAME must be a buffer or the name of an existing
|
BUFFER-OR-NAME must be a buffer or the name of an existing
|
||||||
buffer. Return the window chosen for displaying BUFFER-OR-NAME,
|
buffer. Return the window chosen for displaying BUFFER-OR-NAME,
|
||||||
or nil if no such window is found.
|
or nil if no such window is found.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue