]> code.delx.au - gnu-emacs/commitdiff
Fix various uses of display-buffer and pop-to-buffer
authorChong Yidong <cyd@stupidchicken.com>
Sat, 10 Sep 2011 21:15:28 +0000 (17:15 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 10 Sep 2011 21:15:28 +0000 (17:15 -0400)
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.

lisp/ChangeLog
lisp/buff-menu.el
lisp/mail/reporter.el
lisp/mail/sendmail.el
lisp/progmodes/compile.el
lisp/progmodes/gdb-mi.el
lisp/progmodes/gud.el
lisp/progmodes/python.el
lisp/replace.el
lisp/textmodes/bibtex.el
lisp/window.el

index 1a997152194be2524b87e41c5ea65d00e21e887f..50ae33a7d6ead58361c8683670c0cb1d7b993c42 100644 (file)
@@ -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>
 
        * window.el (display-buffer-alist): Add entry for buffers
index 2be74cf5efb87b856daadf600a861d392bbd0429..d757453c05124d879aa3a844090212823b65db90 100644 (file)
@@ -586,22 +586,16 @@ in the selected frame."
   "Make the other window select this line's buffer.
 The current window remains selected."
   (interactive)
-  (let ((pop-up-windows t)
-       same-window-buffer-names
-       same-window-regexps)
-    (display-buffer (Buffer-menu-buffer t))))
+  (display-buffer (Buffer-menu-buffer t) t))
 
 (defun Buffer-menu-2-window ()
   "Select this line's buffer, with previous buffer in second window."
   (interactive)
   (let ((buff (Buffer-menu-buffer t))
-       (menu (current-buffer))
-       (pop-up-windows t)
-       same-window-buffer-names
-       same-window-regexps)
+       (menu (current-buffer)))
     (delete-other-windows)
     (switch-to-buffer (other-buffer))
-    (pop-to-buffer buff)
+    (switch-to-buffer-other-window buff)
     (bury-buffer menu)))
 
 (defun Buffer-menu-toggle-read-only ()
index 45700d4d60d250860e8885fedf3c86094714875f..6c5448aca837da8da223a13ca0068850bff78847 100644 (file)
@@ -332,12 +332,11 @@ mail-sending package is used for editing and sending the message."
        hookvar)
     ;; do the work
     (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.
-    (let (same-window-buffer-names same-window-regexps)
-      (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)))
+    (pop-to-buffer mailbuf)
     (goto-char (point-min))
     (mail-position-on-field "to")
     (insert address)
index 4dc961762568a1851d1681dacbdff15a724642c8..6e5c9a6b25721e30e0a4be9cb49a768b93c2fc34 100644 (file)
@@ -565,11 +565,7 @@ To change your decision later, customize `send-mail-function'.\n")
                                    send-actions return-action
                                    &rest ignored)
   (if switch-function
-      (let ((special-display-buffer-names nil)
-           (special-display-regexps nil)
-           (same-window-buffer-names nil)
-           (same-window-regexps nil))
-       (funcall switch-function "*mail*")))
+      (funcall switch-function "*mail*"))
   (let ((cc (cdr (assoc-string "cc" other-headers t)))
        (in-reply-to (cdr (assoc-string "in-reply-to" 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)
   "Like `mail' command, but display mail buffer in another window."
   (interactive "P")
-  (let ((pop-up-windows t)
-       (special-display-buffer-names nil)
-       (special-display-regexps nil)
-       (same-window-buffer-names nil)
-       (same-window-regexps nil))
-    (pop-to-buffer "*mail*"))
+  (switch-to-buffer-other-window "*mail*")
   (mail noerase to subject in-reply-to cc replybuffer sendactions))
 
 ;;;###autoload
 (defun mail-other-frame (&optional noerase to subject in-reply-to cc replybuffer sendactions)
   "Like `mail' command, but display mail buffer in another frame."
   (interactive "P")
-  (let ((pop-up-frames t)
-       (special-display-buffer-names nil)
-       (special-display-regexps nil)
-       (same-window-buffer-names nil)
-       (same-window-regexps nil))
-    (pop-to-buffer "*mail*"))
+  (switch-to-buffer-other-frame "*mail*")
   (mail noerase to subject in-reply-to cc replybuffer sendactions))
 
 ;; Do not add anything but external entries on this page.
index cd891a8df602afdf6c99bf8597c6d13dde130cce..619c423902c8640ad7c46a38cb66e4335e7e248a 100644 (file)
@@ -2408,9 +2408,8 @@ and overlay is highlighted between MK and END-MK."
                             ;; also do this while we change buffer
                             (compilation-set-window w msg)
                             compilation-highlight-regexp)))
-    ;; Ideally, the window-size should be passed to `display-buffer' (via
-    ;; something like special-display-buffer) so it's only used when
-    ;; creating a new window.
+    ;; Ideally, the window-size should be passed to `display-buffer'
+    ;; so it's only used when creating a new window.
     (unless pre-existing (compilation-set-window-height w))
 
     (if from-compilation-buffer
index 87209a78ffbdef94494cf86e9598a569534801e2..d55a9eed3f0a2911fef88b22dce1bd04e888967e 100644 (file)
@@ -3980,18 +3980,12 @@ SPLIT-HORIZONTAL and show BUF in the new window."
 (defun gdb-frame-gdb-buffer ()
   "Display GUD buffer in a new frame."
   (interactive)
-  (let ((special-display-regexps (append special-display-regexps '(".*")))
-       (special-display-frame-alist
-        (remove '(menu-bar-lines) (remove '(tool-bar-lines)
-                                          gdb-frame-parameters)))
-       (same-window-regexps nil))
-    (display-buffer gud-comint-buffer)))
+  (display-buffer-other-frame gud-comint-buffer))
 
 (defun gdb-display-gdb-buffer ()
   "Display GUD buffer."
   (interactive)
-  (let ((same-window-regexps nil))
-    (select-window (display-buffer gud-comint-buffer nil 0))))
+  (pop-to-buffer gud-comint-buffer nil 0))
 
 (defun gdb-set-window-buffer (name &optional ignore-dedicated window)
   "Set buffer of selected window to NAME and dedicate window.
index 3c7addee3b841386bd0d6a20438241283da2d131..534082544b6ebe4a889c3522affcac72e05e900d 100644 (file)
@@ -112,20 +112,9 @@ Used to grey out relevant toolbar icons.")
 (defun gud-goto-info ()
   "Go to relevant Emacs info node."
   (interactive)
-  (let ((same-window-regexps same-window-regexps)
-       (display-buffer-reuse-frames t))
-    (catch 'info-found
-      (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"))))
+  (if (eq gud-minor-mode 'gdbmi)
+      (info-other-window "(emacs)GDB Graphical Interface")
+    (info-other-window "(emacs)Debuggers")))
 
 (defun gud-tool-bar-item-visible-no-fringe ()
   (not (or (eq (buffer-local-value 'major-mode (window-buffer)) 'speedbar-mode)
index 3f923f496b9abd62a66c6842749eeb7169cb3524..38bf9552b2a3b7f5306dde90e0c3f2a900e4be5b 100644 (file)
@@ -86,7 +86,6 @@
 (add-to-list 'interpreter-mode-alist (cons (purecopy "python") 'python-mode))
 ;;;###autoload
 (add-to-list 'auto-mode-alist (cons (purecopy "\\.py\\'")  'python-mode))
-(add-to-list 'same-window-buffer-names (purecopy "*Python*"))
 \f
 ;;;; Font lock
 
index fb98a714dff8bc70b9a578390db45536a35146f2..ee430fd9855c4174985a91948fc51424228b62b2 100644 (file)
@@ -928,7 +928,7 @@ To return to ordinary Occur mode, use \\[occur-mode]."
 
 (defalias 'occur-mode-mouse-goto 'occur-mode-goto-occurrence)
 (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))
   (let ((pos
          (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)))
              (save-excursion
                (goto-char (posn-point (event-end event)))
-               (occur-mode-find-occurrence)))))
-        same-window-buffer-names
-        same-window-regexps)
-    (pop-to-buffer (marker-buffer pos))
+               (occur-mode-find-occurrence))))))
+    (pop-to-buffer (marker-buffer pos) t)
     (goto-char pos)
     (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."
   (interactive)
   (let ((pos (occur-mode-find-occurrence))
-       window
-       ;; Bind these to ensure `display-buffer' puts it in another window.
-       same-window-buffer-names
-       same-window-regexps)
-    (setq window (display-buffer (marker-buffer pos)))
+       window)
+    (setq window (display-buffer (marker-buffer pos) t))
     ;; This is the way to set point in the proper window.
     (save-selected-window
       (select-window window)
index 0383251523f2c28664f98ecda31ffa66fa5c79bc..3efb2f158c09a923955079b661cb4b338da5f8e7 100644 (file)
@@ -4038,10 +4038,8 @@ A prefix arg negates the value of `bibtex-search-entry-globally'."
                 ;; `bibtex-search-entry' moves point if key found
                 (setq found (bibtex-search-entry key)))))
         (cond ((and found display)
-               (let ((same-window-buffer-names
-                      (cons (buffer-name buffer) same-window-buffer-names)))
-                 (pop-to-buffer buffer)
-                 (bibtex-reposition-window)))
+              (switch-to-buffer buffer)
+              (bibtex-reposition-window))
               (found (set-buffer buffer))
               (display (message "Key `%s' not found" key)))
         found)
index 2afd608907d7c6b743227601a685c933692545fe..72cad635ab5ccdcdc65ebe325128b57b6c672fa0 100644 (file)
@@ -4499,8 +4499,9 @@ BUFFER-OR-NAME and return that buffer."
     (current-buffer)))
 
 (defvar display-buffer-alist
-  '(("\\`\\*\\(scheme\\|ielm\\|shell\\|\\(unsent \\)?mail\\|inferior-lisp\
-\\|Customiz.*\\|info\\|rlogin-.*\\|telnet-.*\\|rsh-.*\\|gud-.*\\)\\*\\(<[0-9]+>\\)?"
+  '(("\\`\\*\\(scheme\\|ielm\\|shell\\|\\(unsent \\)?mail\\|\
+inferior-lisp\\|Python\\|Customiz.*\\|info\\|rlogin-.*\\|\
+telnet-.*\\|rsh-.*\\|gud-.*\\)\\*\\(<[0-9]+>\\)?"
      . (display-buffer-same-window)))
   "Alist of conditional actions for `display-buffer'.
 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)
 
 (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.  Return the window chosen for displaying BUFFER-OR-NAME,
 or nil if no such window is found.