Commit c3313451 authored by Chong Yidong's avatar Chong Yidong

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)
* lisp/org/org-agenda.el (org-prepare-agenda, org-agenda-switch-to):
* lisp/org/org-capture.el (org-capture-goto-target)
* 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.
parent 81ec0c88
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.
......@@ -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)."
(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."
......@@ -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))
......@@ -360,7 +360,7 @@ Matches the visited file name against the elements of `auto-insert-alist'."
;; 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)
......@@ -1539,7 +1539,7 @@ deletion, or > if it is flagged for displaying."
(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))
......@@ -1342,8 +1342,8 @@ automatically choosing a major mode, use \\[find-file-literally]."
(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.
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-agenda.el (org-prepare-agenda, org-agenda-switch-to):
* org-capture.el (org-capture-goto-target)
* 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
......@@ -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)
......@@ -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))
......@@ -6972,7 +6970,7 @@ at the text of the entry itself."
(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))
(goto-char pos)
......@@ -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-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))
(org-pop-to-buffer-same-window (get-buffer-create "*Capture*"))
(switch-to-buffer (get-buffer-create "*Capture*"))
(insert template)
(goto-char (point-min))
......@@ -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)
......@@ -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)
'pop-to-buffer-same-window buffer-or-name norecord)
(funcall 'switch-to-buffer buffer-or-name norecord)))
(provide 'org-compat)
......@@ -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."
((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'..."
......@@ -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))
(org-pop-to-buffer-same-window buffer)
(switch-to-buffer buffer)
(insert region)
(let ((org-inhibit-startup t)) (org-mode))
......@@ -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-feed-update feed 'retrieve-only))
(goto-char (point-min)))
......@@ -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 "<style" nil t)
(delete-region (point-min) (match-beginning 0)))
......@@ -74,8 +74,6 @@
(require 'org)
(declare-function message-make-fqdn "message" ())
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
;;; Customization
......@@ -255,7 +253,7 @@ Move the cursor to that entry in that buffer."
(let ((m (org-id-find id 'marker)))
(unless m
(error "Cannot find entry with ID \"%s\"" id))
(org-pop-to-buffer-same-window (marker-buffer m))
(switch-to-buffer (marker-buffer m))
(goto-char m)
(move-marker m nil)
......@@ -60,8 +60,6 @@
(declare-function erc-server-buffer "erc" ())
(declare-function erc-get-server-nickname-list "erc" ())
(declare-function erc-cmd-JOIN "erc" (channel &optional key))
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
(defvar org-irc-client 'erc
"The IRC client to act on.")
......@@ -234,7 +232,7 @@ default."
(throw 'found x))))))
(if chan-buf
(org-pop-to-buffer-same-window chan-buf)
(switch-to-buffer chan-buf)
;; if we got a nick, and they're in the chan,
;; then start a chat with them
(let ((nick (pop link)))
......@@ -245,9 +243,9 @@ default."
(insert (concat nick ": ")))
(error "%s not found in %s" nick chan-name)))))
(org-pop-to-buffer-same-window server-buffer)
(switch-to-buffer server-buffer)
(erc-cmd-JOIN chan-name))))
(org-pop-to-buffer-same-window server-buffer)))
(switch-to-buffer server-buffer)))
;; no server match, make new connection
(erc-select :server server :port port))))
......@@ -38,9 +38,6 @@
(eval-when-compile (require 'cl))
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
(defgroup org-mobile nil
"Options concerning support for a viewer/editor on a mobile device."
:tag "Org Mobile"
......@@ -912,7 +909,7 @@ If BEG and END are given, only do this in that region."
(buffer-file-name (current-buffer))))))
(error (setq org-mobile-error msg))))
(when org-mobile-error
(org-pop-to-buffer-same-window (marker-buffer marker))
(switch-to-buffer (marker-buffer marker))
(goto-char marker)
(incf cnt-error)
(insert (if (stringp (nth 1 org-mobile-error))
......@@ -369,8 +369,6 @@ This is a compatibility function for Emacsen without `delete-dups'."
(declare-function org-publish-delete-dups "org-publish" (list))
(declare-function find-lisp-find-files "find-lisp" (directory regexp))
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
;;; Getting project information out of org-publish-project-alist
......@@ -561,7 +559,7 @@ PUB-DIR is the publishing directory."
(make-directory pub-dir t))
(let ((visiting (find-buffer-visiting filename)))
(org-pop-to-buffer-same-window (or visiting (find-file filename)))
(switch-to-buffer (or visiting (find-file filename)))
(let* ((plist (cons :buffer-will-be-killed (cons t plist)))
(init-buf (current-buffer))
(init-point (point))
......@@ -862,7 +860,7 @@ system's modification time.
It returns time in `current-time' format."
(let ((visiting (find-buffer-visiting file)))
(org-pop-to-buffer-same-window (or visiting (find-file-noselect file nil t)))
(switch-to-buffer (or visiting (find-file-noselect file nil t)))
(let* ((plist (org-infile-export-plist))
(date (plist-get plist :date)))
(unless visiting
......@@ -40,8 +40,6 @@
(declare-function remember "remember" (&optional initial))
(declare-function remember-buffer-desc "remember" ())
(declare-function remember-finalize "remember" ())
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
(defvar remember-save-after-remembering)
(defvar remember-register)
......@@ -788,7 +786,7 @@ The user is queried for the template."
(setq heading org-remember-default-headline))
(setq visiting (org-find-base-buffer-visiting file))
(if (not visiting) (find-file-noselect file))
(org-pop-to-buffer-same-window (or visiting (get-file-buffer file)))
(switch-to-buffer (or visiting (get-file-buffer file)))
(goto-char (point-min))
(if (re-search-forward
......@@ -42,8 +42,6 @@
(declare-function org-at-table.el-p "org" ())
(declare-function org-get-indentation "org" (&optional line))
(declare-function org-switch-to-buffer-other-window "org" (&rest args))
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
(defcustom org-edit-src-region-extra nil
"Additional regexps to identify regions for editing with `org-edit-src-code'.
......@@ -341,7 +339,7 @@ buffer."
(defun org-src-switch-to-buffer (buffer context)
(case org-src-window-setup
(org-pop-to-buffer-same-window buffer))
(switch-to-buffer buffer))
(switch-to-buffer-other-window buffer))
......@@ -352,7 +350,7 @@ buffer."
(delete-frame frame)))
(kill-buffer (current-buffer))
(org-pop-to-buffer-same-window buffer))
(switch-to-buffer buffer))
(switch-to-buffer-other-frame buffer))))
......@@ -364,7 +362,7 @@ buffer."
(message "Invalid value %s for org-src-window-setup"
(symbol-name org-src-window-setup))
(org-pop-to-buffer-same-window buffer))))
(switch-to-buffer buffer))))
(defun org-src-construct-edit-buffer-name (org-buffer-name lang)
"Construct the buffer name for a source editing buffer."
......@@ -424,7 +422,7 @@ the fragment in the Org-mode buffer."
begline (save-excursion (goto-char beg) (org-current-line)))
(if (and (setq buffer (org-edit-src-find-buffer beg end))
(y-or-n-p "Return to existing edit buffer? [n] will revert changes: "))
(org-pop-to-buffer-same-window buffer)
(switch-to-buffer buffer)
(when buffer
(with-current-buffer buffer
(if (boundp 'org-edit-src-overlay)
......@@ -444,7 +442,7 @@ the fragment in the Org-mode buffer."
(define-key map [mouse-1] 'org-edit-src-continue)
(overlay-put ovl :read-only "Leave me alone")
(org-pop-to-buffer-same-window buffer)
(switch-to-buffer buffer)
(insert code)
(remove-text-properties (point-min) (point-max)
'(display nil invisible nil intangible nil))
......@@ -105,7 +105,6 @@
(declare-function org-inlinetask-at-task-p "org-inlinetask" ())
(declare-function org-inlinetask-outline-regexp "org-inlinetask" ())
(declare-function org-inlinetask-toggle-visibility "org-inlinetask" ())
(declare-function org-pop-to-buffer-same-window "org-compat" (&optional buffer-or-name norecord label))
(declare-function org-at-clock-log-p "org-clock" ())
(declare-function org-clock-timestamps-up "org-clock" ())
(declare-function org-clock-timestamps-down "org-clock" ())
......@@ -6651,7 +6650,7 @@ or nil."
(and (get-buffer "*org-goto*") (kill-buffer "*org-goto*"))
(condition-case nil
(make-indirect-buffer (current-buffer) "*org-goto*")
(error (make-indirect-buffer (current-buffer) "*org-goto*"))))
......@@ -6789,7 +6788,7 @@ frame is not changed."
(and arg (eq org-indirect-buffer-display 'dedicated-frame)))
(select-frame (make-frame))
(org-pop-to-buffer-same-window ibuf)
(switch-to-buffer ibuf)
(org-set-frame-title heading))
((eq org-indirect-buffer-display 'dedicated-frame)
......@@ -6798,10 +6797,10 @@ frame is not changed."
(setq org-indirect-dedicated-frame (make-frame)))))
(org-pop-to-buffer-same-window ibuf)
(switch-to-buffer ibuf)
(org-set-frame-title (concat "Indirect: " heading)))
((eq org-indirect-buffer-display 'current-window)
(org-pop-to-buffer-same-window ibuf))
(switch-to-buffer ibuf))
((eq org-indirect-buffer-display 'other-window)
(pop-to-buffer ibuf))
(t (error "Invalid value")))
......@@ -9833,7 +9832,7 @@ onto the ring."
(setq p org-mark-ring))
(setq org-mark-ring-last-goto p)
(setq m (car p))
(org-pop-to-buffer-same-window (marker-buffer m))
(switch-to-buffer (marker-buffer m))
(goto-char m)
(if (or (outline-invisible-p) (org-invisible-p2)) (org-show-context 'mark-goto))))
......@@ -10429,7 +10428,7 @@ prefix argument (`C-u C-u C-u C-c C-w')."
(find-file-noselect file)))
(if goto
(org-pop-to-buffer-same-window nbuf)
(switch-to-buffer nbuf)
(goto-char pos)
(org-show-context 'org-goto))
(if regionp
......@@ -12041,7 +12040,7 @@ EXTRA is additional text that will be inserted into the notes buffer."
(setq org-log-note-window-configuration (current-window-configuration))
(move-marker org-log-note-return-to (point))
(org-pop-to-buffer-same-window (marker-buffer org-log-note-marker))
(switch-to-buffer (marker-buffer org-log-note-marker))
(goto-char org-log-note-marker)
(org-switch-to-buffer-other-window "*Org Note*")
......@@ -15883,7 +15882,7 @@ changes from another. I believe the procedure must be like this:
(lambda (b)
(when (and (with-current-buffer b (org-mode-p))
(with-current-buffer b buffer-file-name))
(org-pop-to-buffer-same-window b)
(switch-to-buffer b)
(revert-buffer t 'no-confirm)))
(when (and (featurep 'org-id) org-id-track-globally)
......@@ -15907,7 +15906,7 @@ Set `org-completion-use-ido' to make it use ido instead."
(org-completion-use-ido org-completion-use-ido))
(unless (or org-completion-use-ido org-completion-use-iswitchb)
(setq org-completion-use-iswitchb t))
(org-icompleting-read "Org buffer: "
(mapcar 'list (mapcar 'buffer-name blist))
nil t))))
......@@ -16074,7 +16073,7 @@ If the current buffer does not, find the first agenda file."
(find-file (car files))
(throw 'exit t))))
(find-file (car fs)))
(if (buffer-base-buffer) (org-pop-to-buffer-same-window (buffer-base-buffer)))))
(if (buffer-base-buffer) (switch-to-buffer (buffer-base-buffer)))))
(defun org-agenda-file-to-front (&optional to-end)
"Move/add the current file to the top of the agenda file list.
......@@ -18511,7 +18510,7 @@ information about your Org-mode version and configuration."
(let (list)
(org-pop-to-buffer-same-window (get-buffer-create "*Warn about privacy*"))
(switch-to-buffer (get-buffer-create "*Warn about privacy*"))
(insert "You are about to submit a bug report to the Org-mode mailing list.
......@@ -18708,7 +18707,7 @@ With prefix arg UNCOMPILED, load the uncompiled versions."
(if (and marker (marker-buffer marker)
(buffer-live-p (marker-buffer marker)))
(org-pop-to-buffer-same-window (marker-buffer marker))
(switch-to-buffer (marker-buffer marker))
(if (or (> marker (point-max)) (< marker (point-min)))
(goto-char marker)
......@@ -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.
......@@ -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
(completing-read "Switch to BibTeX buffer: "
(mapcar 'buffer-name buffer-list)
nil t
......@@ -318,7 +318,7 @@ EXIT-ACTION to `kill-buffer-if-not-modified' avoids this."
(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)))
......@@ -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))
(alist (apply 'append (mapcar 'cdr actions)))
......@@ -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