Mercurial > emacs
diff lisp/files.el @ 94248:63d5fa94ea09
(read-buffer-to-switch): New function.
(switch-to-buffer-other-window, switch-to-buffer-other-frame):
Change interactive spec to call read-buffer-to-switch instead of
using the letter "B".
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 22 Apr 2008 19:48:02 +0000 |
parents | 959a3833d833 |
children | 1a8916b995cf |
line wrap: on
line diff
--- a/lisp/files.el Tue Apr 22 19:47:13 2008 +0000 +++ b/lisp/files.el Tue Apr 22 19:48:02 2008 +0000 @@ -1039,6 +1039,17 @@ (rename-file encoded new-encoded ok-if-already-exists) newname)) +(defun read-buffer-to-switch (prompt) + "Read the name of a buffer to switch to and return as a string. +It is intended for `switch-to-buffer' family of commands since they +need to omit the name of current buffer from the list of complations +and default values." + (minibuffer-with-setup-hook + (lambda () + (set (make-local-variable 'minibuffer-completion-table) + (internal-complete-buffer-except (other-buffer (current-buffer) t)))) + (read-buffer prompt (other-buffer (current-buffer))))) + (defun switch-to-buffer-other-window (buffer &optional norecord) "Select buffer BUFFER in another window. If BUFFER does not identify an existing buffer, then this function @@ -1053,7 +1064,8 @@ This uses the function `display-buffer' as a subroutine; see its documentation for additional customization information." - (interactive "BSwitch to buffer in other window: ") + (interactive + (list (read-buffer-to-switch "Switch to buffer in other window: "))) (let ((pop-up-windows t) ;; Don't let these interfere. same-window-buffer-names same-window-regexps) @@ -1067,7 +1079,8 @@ This uses the function `display-buffer' as a subroutine; see its documentation for additional customization information." - (interactive "BSwitch to buffer in other frame: ") + (interactive + (list (read-buffer-to-switch "Switch to buffer in other frame: "))) (let ((pop-up-frames t) same-window-buffer-names same-window-regexps) (prog1