From: Chong Yidong Date: Fri, 2 Sep 2011 16:38:40 +0000 (-0400) Subject: Remove pop-to-buffer-same-window. X-Git-Tag: emacs-pretest-24.0.90~104^2~152^2~6 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c33134511b466d746312becbc0e4ef59bb9258ac;p=emacs.git Remove pop-to-buffer-same-window. * lisp/window.el (pop-to-buffer-1, pop-to-buffer-same-window): Deleted. (pop-to-buffer): Change interactive spec. Pass second argument directly to display-buffer. (display-buffer): Fix interactive spec. Use functionp to distinguish between a function and a list of functions. * lisp/abbrev.el (edit-abbrevs): * lisp/arc-mode.el (archive-extract): * lisp/autoinsert.el (auto-insert): * lisp/bookmark.el (bookmark-bmenu-list): * lisp/files.el (find-file): * lisp/view.el (view-buffer): * lisp/progmodes/compile.el (compilation-goto-locus): * lisp/textmodes/bibtex.el (bibtex-initialize): Use switch-to-buffer. * lisp/org/ob-ref.el (org-babel-ref-goto-headline-id): * lisp/org/org.el (org-get-location, org-tree-to-indirect-buffer) (org-mark-ring-goto, org-refile, org-add-log-note) (org-revert-all-org-buffers, org-switchb) (org-cycle-agenda-files, org-submit-bug-report) (org-goto-marker-or-bmk): * lisp/org/org-agenda.el (org-prepare-agenda, org-agenda-switch-to): * lisp/org/org-capture.el (org-capture-goto-target) (org-capture-fill-template): * lisp/org/org-clock.el (org-clock-goto): * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file): * lisp/org/org-exp.el (org-export-as-org): * lisp/org/org-feed.el (org-feed-show-raw-feed): * lisp/org/org-html.el (org-export-htmlize-generate-css): * lisp/org/org-id.el (org-id-goto): * lisp/org/org-irc.el (org-irc-visit-erc): * lisp/org/org-mobile.el (org-mobile-apply): * lisp/org/org-publish.el (org-publish-org-to, org-publish-find-date): * lisp/org/org-remember.el (org-go-to-remember-target): * lisp/org/org-src.el (org-src-switch-to-buffer) (org-edit-fixed-width-region): Use switch-to-buffer. * lisp/org/org-compat.el (org-pop-to-buffer-same-window): Deleted. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7ea1dffe1c2..ea320e51e1c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,20 @@ +2011-09-02 Chong Yidong + + * window.el (pop-to-buffer-1, pop-to-buffer-same-window): Deleted. + (pop-to-buffer): Change interactive spec. Pass second argument + directly to display-buffer. + (display-buffer): Fix interactive spec. Use functionp to + distinguish between a function and a list of functions. + + * abbrev.el (edit-abbrevs): + * arc-mode.el (archive-extract): + * autoinsert.el (auto-insert): + * bookmark.el (bookmark-bmenu-list): + * files.el (find-file): + * view.el (view-buffer): + * progmodes/compile.el (compilation-goto-locus): + * textmodes/bibtex.el (bibtex-initialize): Use switch-to-buffer. + 2011-09-02 Chong Yidong * window.el (display-buffer-alist): Doc fix. diff --git a/lisp/abbrev.el b/lisp/abbrev.el index 3795dd46010..5a7a741a3a6 100644 --- a/lisp/abbrev.el +++ b/lisp/abbrev.el @@ -159,7 +159,7 @@ where NAME and EXPANSION are strings with quotes, USECOUNT is an integer, and HOOK is any valid function or may be omitted (it is usually omitted)." (interactive) - (pop-to-buffer-same-window (prepare-abbrev-list-buffer))) + (switch-to-buffer (prepare-abbrev-list-buffer))) (defun edit-abbrevs-redefine () "Redefine abbrevs according to current buffer contents." diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index ea875b9989d..e3d1955ded5 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -1083,7 +1083,7 @@ using `make-temp-file', and the generated name is returned." (view-buffer buffer (and just-created 'kill-buffer-if-not-modified))) ((eq other-window-p 'display) (display-buffer buffer)) (other-window-p (switch-to-buffer-other-window buffer)) - (t (pop-to-buffer-same-window buffer)))))) + (t (switch-to-buffer buffer)))))) (defun archive-*-extract (archive name command) (let* ((default-directory (file-name-as-directory archive-tmpdir)) diff --git a/lisp/autoinsert.el b/lisp/autoinsert.el index 3b849cece22..5793c3180be 100644 --- a/lisp/autoinsert.el +++ b/lisp/autoinsert.el @@ -360,7 +360,7 @@ Matches the visited file name against the elements of `auto-insert-alist'." (save-window-excursion ;; make buffer visible before skeleton or function ;; which might ask the user for something - (pop-to-buffer-same-window (current-buffer)) + (switch-to-buffer (current-buffer)) (if (and (consp action) (not (eq (car action) 'lambda))) (skeleton-insert action) diff --git a/lisp/bookmark.el b/lisp/bookmark.el index bb7ad153e8b..51e869e3a21 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -1539,7 +1539,7 @@ deletion, or > if it is flagged for displaying." (bookmark-maybe-load-default-file) (let ((buf (get-buffer-create "*Bookmark List*"))) (if (called-interactively-p 'interactive) - (pop-to-buffer-same-window buf) + (switch-to-buffer buf) (set-buffer buf))) (let ((inhibit-read-only t)) (erase-buffer) diff --git a/lisp/files.el b/lisp/files.el index 07188e152b3..5bdb26f4e92 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1342,8 +1342,8 @@ automatically choosing a major mode, use \\[find-file-literally]." (confirm-nonexistent-file-or-buffer))) (let ((value (find-file-noselect filename nil nil wildcards))) (if (listp value) - (mapcar #'pop-to-buffer-same-window (nreverse value)) - (pop-to-buffer-same-window value)))) + (mapcar 'switch-to-buffer (nreverse value)) + (switch-to-buffer value)))) (defun find-file-other-window (filename &optional wildcards) "Edit file FILENAME, in another window. diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index 625e0926c52..d63929d794e 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog @@ -1,3 +1,29 @@ +2011-09-02 Chong Yidong + + * org-compat.el (org-pop-to-buffer-same-window): Deleted. + + * ob-ref.el (org-babel-ref-goto-headline-id): + * org.el (org-get-location, org-tree-to-indirect-buffer) + (org-mark-ring-goto, org-refile, org-add-log-note) + (org-revert-all-org-buffers, org-switchb) + (org-cycle-agenda-files, org-submit-bug-report) + (org-goto-marker-or-bmk): + * org-agenda.el (org-prepare-agenda, org-agenda-switch-to): + * org-capture.el (org-capture-goto-target) + (org-capture-fill-template): + * org-clock.el (org-clock-goto): + * org-ctags.el (org-ctags-visit-buffer-or-file): + * org-exp.el (org-export-as-org): + * org-feed.el (org-feed-show-raw-feed): + * org-html.el (org-export-htmlize-generate-css): + * org-id.el (org-id-goto): + * org-irc.el (org-irc-visit-erc): + * org-mobile.el (org-mobile-apply): + * org-publish.el (org-publish-org-to, org-publish-find-date): + * org-remember.el (org-go-to-remember-target): + * org-src.el (org-src-switch-to-buffer) + (org-edit-fixed-width-region): Use switch-to-buffer. + 2011-08-31 Martin Rudalics * org-compat.el (org-pop-to-buffer-same-window): Remove LABEL diff --git a/lisp/org/ob-ref.el b/lisp/org/ob-ref.el index b27bd20db40..d0a2c14bee9 100644 --- a/lisp/org/ob-ref.el +++ b/lisp/org/ob-ref.el @@ -61,8 +61,6 @@ (declare-function org-narrow-to-subtree "org" ()) (declare-function org-id-find-id-in-file "org-id" (id file &optional markerp)) (declare-function org-show-context "org" (&optional key)) -(declare-function org-pop-to-buffer-same-window - "org-compat" (&optional buffer-or-name norecord label)) (defvar org-babel-ref-split-regexp "[ \f\t\n\r\v]*\\(.+?\\)[ \f\t\n\r\v]*=[ \f\t\n\r\v]*\\(.+\\)[ \f\t\n\r\v]*") @@ -96,7 +94,7 @@ the variable." (m (when file (org-id-find-id-in-file id file 'marker)))) (when (and file m) (message "file:%S" file) - (org-pop-to-buffer-same-window (marker-buffer m)) + (switch-to-buffer (marker-buffer m)) (goto-char m) (move-marker m nil) (org-show-context) diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index 9f23c4011d1..aea284fe72c 100644 --- a/lisp/org/org-agenda.el +++ b/lisp/org/org-agenda.el @@ -60,8 +60,6 @@ (declare-function org-is-habit-p "org-habit" (&optional pom)) (declare-function org-habit-parse-todo "org-habit" (&optional pom)) (declare-function org-habit-get-priority "org-habit" (habit &optional moment)) -(declare-function org-pop-to-buffer-same-window "org-compat" - (&optional buffer-or-name norecord label)) (defvar calendar-mode-map) (defvar org-clock-current-task) ; defined in org-clock.el @@ -3067,7 +3065,7 @@ the global options and expect it to be applied to the entire view.") (awin (select-window awin)) ((not (setq org-pre-agenda-window-conf (current-window-configuration)))) ((equal org-agenda-window-setup 'current-window) - (org-pop-to-buffer-same-window abuf)) + (switch-to-buffer abuf)) ((equal org-agenda-window-setup 'other-window) (org-switch-to-buffer-other-window abuf)) ((equal org-agenda-window-setup 'other-frame) @@ -3078,7 +3076,7 @@ the global options and expect it to be applied to the entire view.") ;; additional test in case agenda is invoked from within agenda ;; buffer via elisp link (unless (equal (current-buffer) abuf) - (org-pop-to-buffer-same-window abuf))) + (switch-to-buffer abuf))) (setq buffer-read-only nil) (let ((inhibit-read-only t)) (erase-buffer)) (org-agenda-mode) @@ -6972,7 +6970,7 @@ at the text of the entry itself." (org-agenda-error))) (buffer (marker-buffer marker)) (pos (marker-position marker))) - (org-pop-to-buffer-same-window buffer) + (switch-to-buffer buffer) (and delete-other-windows (delete-other-windows)) (widen) (goto-char pos) diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el index 133460b49ec..05cca0e311e 100644 --- a/lisp/org/org-capture.el +++ b/lisp/org/org-capture.el @@ -57,8 +57,6 @@ (date &optional keep-restriction)) (declare-function org-table-get-specials "org-table" ()) (declare-function org-table-goto-line "org-table" (N)) -(declare-function org-pop-to-buffer-same-window "org-compat" - (&optional buffer-or-name norecord label)) (defvar org-remember-default-headline) (defvar org-remember-templates) @@ -1201,7 +1199,7 @@ The user is queried for the template." (error "No capture template selected")) (org-capture-set-plist entry) (org-capture-set-target-location) - (org-pop-to-buffer-same-window (org-capture-get :buffer)) + (switch-to-buffer (org-capture-get :buffer)) (goto-char (org-capture-get :pos)))) (defun org-capture-get-indirect-buffer (&optional buffer prefix) @@ -1311,7 +1309,7 @@ The template may still contain \"%?\" for cursor positioning." (sit-for 1)) (save-window-excursion (delete-other-windows) - (org-pop-to-buffer-same-window (get-buffer-create "*Capture*")) + (switch-to-buffer (get-buffer-create "*Capture*")) (erase-buffer) (insert template) (goto-char (point-min)) diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el index 4cf26e359f1..de5087e163c 100644 --- a/lisp/org/org-clock.el +++ b/lisp/org/org-clock.el @@ -36,7 +36,6 @@ (declare-function calendar-absolute-from-iso "cal-iso" (&optional date)) (declare-function notifications-notify "notifications" (&rest params)) -(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label)) (defvar org-time-stamp-formats) (defvar org-ts-what) @@ -1498,7 +1497,7 @@ With prefix arg SELECT, offer recently clocked tasks for selection." (setq recent t) (car org-clock-history)) (t (error "No active or recent clock task"))))) - (org-pop-to-buffer-same-window (marker-buffer m)) + (switch-to-buffer (marker-buffer m)) (if (or (< m (point-min)) (> m (point-max))) (widen)) (goto-char m) (org-show-entry) diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el index 9b0a935a515..896acc5aeae 100644 --- a/lisp/org/org-compat.el +++ b/lisp/org/org-compat.el @@ -432,15 +432,6 @@ With two arguments, return floor and remainder of their quotient." (let ((q (floor x y))) (list q (- x (if y (* y q) q))))) -;; `pop-to-buffer-same-window' has been introduced with Emacs 24.1. -(defun org-pop-to-buffer-same-window - (&optional buffer-or-name norecord label) - "Pop to buffer specified by BUFFER-OR-NAME in the selected window." - (if (fboundp 'pop-to-buffer-same-window) - (funcall - 'pop-to-buffer-same-window buffer-or-name norecord) - (funcall 'switch-to-buffer buffer-or-name norecord))) - (provide 'org-compat) diff --git a/lisp/org/org-ctags.el b/lisp/org/org-ctags.el index 9ba5024d58b..48eced9ea08 100644 --- a/lisp/org/org-ctags.el +++ b/lisp/org/org-ctags.el @@ -140,8 +140,6 @@ (require 'org) -(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label)) - (defgroup org-ctags nil "Options concerning use of ctags within org mode." :tag "Org-Ctags" @@ -387,7 +385,7 @@ the new file." (cond ((get-buffer (concat name ".org")) ;; Buffer is already open - (org-pop-to-buffer-same-window (get-buffer (concat name ".org")))) + (switch-to-buffer (get-buffer (concat name ".org")))) ((file-exists-p filename) ;; File exists but is not open --> open it (message "Opening existing org file `%S'..." diff --git a/lisp/org/org-exp.el b/lisp/org/org-exp.el index 59459b0d578..ee8e6027706 100644 --- a/lisp/org/org-exp.el +++ b/lisp/org/org-exp.el @@ -47,8 +47,6 @@ (declare-function org-inlinetask-remove-END-maybe "org-inlinetask" ()) (declare-function org-table-cookie-line-p "org-table" (line)) (declare-function org-table-colgroup-line-p "org-table" (line)) -(declare-function org-pop-to-buffer-same-window "org-compat" - (&optional buffer-or-name norecord label)) (autoload 'org-export-generic "org-export-generic" "Export using the generic exporter" t) @@ -2974,7 +2972,7 @@ directory." (region (buffer-string)) str-ret) (save-excursion - (org-pop-to-buffer-same-window buffer) + (switch-to-buffer buffer) (erase-buffer) (insert region) (let ((org-inhibit-startup t)) (org-mode)) diff --git a/lisp/org/org-feed.el b/lisp/org/org-feed.el index a07ecc619e5..d1b31f11b4a 100644 --- a/lisp/org/org-feed.el +++ b/lisp/org/org-feed.el @@ -436,7 +436,7 @@ it can be a list structured like an entry in `org-feed-alist'." (if (stringp feed) (setq feed (assoc feed org-feed-alist))) (unless feed (error "No such feed in `org-feed-alist")) - (org-pop-to-buffer-same-window + (switch-to-buffer (org-feed-update feed 'retrieve-only)) (goto-char (point-min))) diff --git a/lisp/org/org-html.el b/lisp/org/org-html.el index 54f6cb44dab..46126ce2573 100644 --- a/lisp/org/org-html.el +++ b/lisp/org/org-html.el @@ -34,8 +34,6 @@ (declare-function org-id-find-id-file "org-id" (id)) (declare-function htmlize-region "ext:htmlize" (beg end)) -(declare-function org-pop-to-buffer-same-window - "org-compat" (&optional buffer-or-name norecord label)) (defgroup org-export-html nil "Options specific for HTML export of Org-mode files." @@ -2265,7 +2263,7 @@ that uses these same face definitions." (when (and (symbolp f) (or (not i) (not (listp i)))) (insert (org-add-props (copy-sequence "1") nil 'face f)))) (htmlize-region (point-min) (point-max)))) - (org-pop-to-buffer-same-window "*html*") + (switch-to-buffer "*html*") (goto-char (point-min)) (if (re-search-forward " marker (point-max)) (< marker (point-min))) (widen)) (goto-char marker) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 79fec080d57..5f99cfe0028 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -2413,7 +2413,7 @@ and overlay is highlighted between MK and END-MK." ;; display the source in another window. (let ((pop-up-windows t)) (pop-to-buffer (marker-buffer mk) 'other-window)) - (pop-to-buffer-same-window (marker-buffer mk))) + (switch-to-buffer (marker-buffer mk))) (unless (eq (goto-char mk) (point)) ;; If narrowing gets in the way of going to the right place, widen. (widen) diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index a660bdb6488..0383251523f 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -3060,7 +3060,7 @@ When called interactively, FORCE is t, CURRENT is t if current buffer uses ;; select BibTeX buffer (if select (if buffer-list - (pop-to-buffer-same-window + (switch-to-buffer (completing-read "Switch to BibTeX buffer: " (mapcar 'buffer-name buffer-list) nil t diff --git a/lisp/view.el b/lisp/view.el index 96fecd9df1c..11cbc79449f 100644 --- a/lisp/view.el +++ b/lisp/view.el @@ -318,7 +318,7 @@ EXIT-ACTION to `kill-buffer-if-not-modified' avoids this." (progn (switch-to-buffer buffer) (message "Not using View mode because the major mode is special")) - (pop-to-buffer-same-window buffer) + (switch-to-buffer buffer) (view-mode-enter nil exit-action))) ;;;###autoload diff --git a/lisp/window.el b/lisp/window.el index 8bdf4131c51..d078fbec35d 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -4584,7 +4584,8 @@ frame (actually the last non-minibuffer frame), except if case check all visible or iconified frames. Otherwise, FRAME can be a specific frame, `visible' (all visible frames), 0 (all frames on the current terminal), or t (all frames)." - (interactive "BDisplay buffer:\nP") + (interactive (list (read-buffer "Display buffer: " (other-buffer)) + (if current-prefix-arg t))) (let ((buffer (window-normalize-buffer-to-display buffer-or-name)) ;; Handle the old form of the first argument. (inhibit-same-window (and action (not (listp action))))) @@ -4609,7 +4610,7 @@ frames on the current terminal), or t (all frames)." (functions (apply 'append (mapcar (lambda (x) (setq x (car x)) - (if (listp x) x (list x))) + (if (functionp x) (list x) x)) actions))) (alist (apply 'append (mapcar 'cdr actions))) window) @@ -4822,70 +4823,42 @@ return the window. If no suitable window is found, return nil." ;;; Display + selection commands: -(defun pop-to-buffer (buffer-or-name &optional other-window norecord) - "Select buffer BUFFER-OR-NAME in some window, preferably a different one. -BUFFER-OR-NAME may be a buffer, a string \(a buffer name), or -nil. If BUFFER-OR-NAME is a string not naming an existent -buffer, create a buffer with that name. If BUFFER-OR-NAME is -nil, choose some other buffer. - -If `pop-up-windows' is non-nil, windows can be split to display -the buffer. If optional second arg OTHER-WINDOW is non-nil, -insist on finding another window even if the specified buffer is -already visible in the selected window, and ignore -`same-window-regexps' and `same-window-buffer-names'. - -If the window to show BUFFER-OR-NAME is not on the selected +(defun pop-to-buffer (buffer &optional action norecord) + "Select buffer BUFFER in some window, preferably a different one. +BUFFER may be a buffer, a string (a buffer name), or nil. If it +is a string not naming an existent buffer, create a buffer with +that name. If BUFFER is nil, choose some other buffer. Return +the buffer. + +This uses `display-buffer' as a subroutine. The optional ACTION +argument is passed to `display-buffer' as its ACTION argument. +See `display-buffer' for more information. ACTION is t if called +interactively with a prefix argument, which means to pop to a +window other than the selected one even if the buffer is already +displayed in the selected window. + +If the window to show BUFFER is not on the selected frame, raise that window's frame and give it input focus. -This function returns the buffer it switched to. This uses the -function `display-buffer' as a subroutine; see the documentation -of `display-buffer' for additional customization information. - Optional third arg NORECORD non-nil means do not put this buffer at the front of the list of recently selected ones." - (interactive "BPop to buffer:\nP") - (pop-to-buffer-1 buffer-or-name (if other-window t nil) norecord)) - -(defun pop-to-buffer-same-window (&optional buffer-or-name norecord) - "Pop to buffer specified by BUFFER-OR-NAME in the selected window. -Another window will be used only if the buffer can't be shown in -the selected window, usually because it is dedicated to another -buffer. Optional arguments BUFFER-OR-NAME and NORECORD are as -for `pop-to-buffer'." - (interactive "BPop to buffer in selected window:\nP") - (pop-to-buffer-1 buffer-or-name 'same-window norecord)) - -(defun pop-to-buffer-1 (buffer-or-name window-choice norecord) - (set-buffer (window-normalize-buffer-to-display - ;; BUFFER-OR-NAME nil means another buffer. - (or buffer-or-name - (other-buffer (current-buffer))))) - (let ((old-window (selected-window)) - (old-frame (selected-frame)) - (same-window-buffer-names same-window-buffer-names) - (same-window-regexps same-window-regexps)) - (if (eq window-choice t) - (setq same-window-buffer-names nil - same-window-regexps nil)) - (let* ((action - ;; Based on the WINDOW-CHOICE argument, choose an action - ;; argument to pass to `display-buffer'. - (cond - ((eq window-choice 'same-window) - '((display-buffer-reuse-selected-window - display-buffer-same-window))) - (window-choice - '(nil (inhibit-same-window . t))))) - (window (display-buffer (current-buffer) action)) - (frame (window-frame window))) - (if (eq frame old-frame) - ;; Make sure new window gets selected (Bug#8615), (Bug#6954). - (select-window window norecord) - ;; If `display-buffer' has chosen another frame, make sure it - ;; gets input focus. - (select-frame-set-input-focus frame norecord)) - (current-buffer)))) + (interactive (list (read-buffer "Pop to buffer: " (other-buffer)) + (if current-prefix-arg t))) + (setq buffer (window-normalize-buffer-to-display + ;; BUFFER nil means another buffer. + (or buffer (other-buffer)))) + (set-buffer buffer) + (let* ((old-window (selected-window)) + (old-frame (selected-frame)) + (window (display-buffer (current-buffer) action)) + (frame (window-frame window))) + (if (eq frame old-frame) + ;; Make sure new window is selected (Bug#8615), (Bug#6954). + (select-window window norecord) + ;; If `display-buffer' has chosen another frame, make sure it + ;; gets input focus. + (select-frame-set-input-focus frame norecord)) + buffer)) (defun read-buffer-to-switch (prompt) "Read the name of a buffer to switch to, prompting with PROMPT.