>From 9577b975915066f95ea744b54d25f594d7ceeeac Mon Sep 17 00:00:00 2001 From: Leo Date: Thu, 15 Apr 2010 08:39:13 +0100 Subject: [PATCH 1/3] New function ido-toggle-virtual-buffers and bind to C-o --- lisp/ido.el | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/lisp/ido.el b/lisp/ido.el index ac97aed..704bf22 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -1633,6 +1633,7 @@ This function also adds a hook to the minibuffer." (define-key map "\C-x\C-f" 'ido-enter-find-file) (define-key map "\C-x\C-b" 'ido-fallback-command) (define-key map "\C-k" 'ido-kill-buffer-at-head) + (define-key map "\C-o" 'ido-toggle-virtual-buffers) (set-keymap-parent map ido-common-completion-map) (setq ido-buffer-completion-map map))) @@ -2182,6 +2183,7 @@ If cursor is not at the end of the user input, move to end of input." (ido-current-directory nil) (ido-directory-nonreadable nil) (ido-directory-too-big nil) + (ido-use-virtual-buffers ido-use-virtual-buffers) (require-match (confirm-nonexistent-file-or-buffer)) (buf (ido-read-internal 'buffer (or prompt "Buffer: ") 'ido-buffer-history default require-match initial)) @@ -2707,6 +2709,16 @@ C-x C-f ... C-d enter `dired' on current directory." (setq ido-exit 'keep) (exit-minibuffer)))) +(defun ido-toggle-virtual-buffers () + "Toggle the use of virtual buffers. +See `ido-use-virtual-buffers' for explanation of virtual buffer." + (interactive) + (when (and ido-mode (eq ido-cur-item 'buffer)) + (setq ido-use-virtual-buffers (not ido-use-virtual-buffers)) + (setq ido-text-init ido-text) + (setq ido-exit 'refresh) + (exit-minibuffer))) + (defun ido-reread-directory () "Read current directory again. May be useful if cached version is no longer valid, but directory -- 1.7.0.4