From f9a27d86155b3f436daa755e2b9d89c71afa8e8d Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Mon, 5 Apr 2010 23:38:56 -0400 Subject: [PATCH] Minor fixes to a recent contribution to ido.el * ido.el (ido-use-virtual-buffers, ido-virtual): Moved a ChangeLog comment to code, and added a :version tag. (ido-virtual-buffers): Moved defvar to fix byte-compiler warning. --- lisp/ChangeLog | 19 +++++++------------ lisp/ido.el | 17 ++++++++++++++++- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d875b01e858..5cd9e08d5e7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2010-04-06 John Wiegley + + * ido.el (ido-use-virtual-buffers, ido-virtual): Moved a ChangeLog + comment to code, and added a :version tag. + (ido-virtual-buffers): Moved defvar to fix byte-compiler warning. + 2010-04-06 Juanma Barranquero Enable recentf-mode if using virtual buffers. @@ -41,18 +47,7 @@ 2010-04-04 John Wiegley * ido.el (ido-use-virtual-buffers): New variable to indicate - whether "virtual buffer" support is enabled for IDO. Essentially - it works as follows: Say you are visiting a file and the buffer - gets cleaned up by mignight.el. Later, you want to switch to that - buffer, but find it's no longer open. With virtual buffers - enabled, the buffer name stays in the buffer list (using the - ido-virtual face, and always at the end), and if you select it, it - opens the file back up again. This allows you to think less about - whether recently opened files are still open or not. Most of the - time you can quit Emacs, restart, and then switch to a file buffer - that was previously open as if it still were. NOTE: This feature - has been present in iswitchb for several years now, and I'm - porting the same logic to IDO. + whether "virtual buffer" support is enabled for IDO. (ido-virtual): Face used to indicate virtual buffers in the list. (ido-buffer-internal): If a buffer is chosen, and no such buffer exists, but a virtual buffer of that name does (which would be why diff --git a/lisp/ido.el b/lisp/ido.el index 4200475bfce..53b18374d1e 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -777,8 +777,19 @@ can be completed using TAB, (defcustom ido-use-virtual-buffers nil "If non-nil, refer to past buffers as well as existing ones. -This feature relies upon the `recentf' package, which will be +Essentially it works as follows: Say you are visiting a file and +the buffer gets cleaned up by mignight.el. Later, you want to +switch to that buffer, but find it's no longer open. With +virtual buffers enabled, the buffer name stays in the buffer +list (using the ido-virtual face, and always at the end), and if +you select it, it opens the file back up again. This allows you +to think less about whether recently opened files are still open +or not. Most of the time you can quit Emacs, restart, and then +switch to a file buffer that was previously open as if it still +were. + This feature relies upon the `recentf' package, which will be enabled if this variable is configured to a non-nil value." + :version "24.1" :type 'boolean :group 'ido) @@ -808,6 +819,7 @@ subdirs in the alternatives." (defface ido-virtual '((t (:inherit font-lock-builtin-face))) "Face used by ido for matching virtual buffer names." + :version "24.1" :group 'ido) (defface ido-indicator '((((min-colors 88) (class color)) @@ -1124,6 +1136,9 @@ Only used if `ido-use-virtual-buffers' is non-nil.") ;; Set to 'ignore to inhibit switching between find-file/switch-buffer. (defvar ido-context-switch-command) +;; Caches list of names generated by `ido-add-virtual-buffers-to-list' +(defvar ido-virtual-buffers nil) + ;;; FUNCTIONS (defun ido-active (&optional merge) -- 2.39.5