From 82055bb780cf6b8f0d3c53ca0eac635bf7e18d7e Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Wed, 3 Feb 2010 15:47:25 -0500 Subject: [PATCH] iswitchb.el (iswitchb-completions): Add bookmark files to the list of files considered for "virtual buffer" completions. --- lisp/ChangeLog | 5 +++++ lisp/iswitchb.el | 25 ++++++++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3e133665570..36df1bd0b72 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-02-03 John Wiegley + + * iswitchb.el (iswitchb-completions): Add bookmark files to the + list of files considered for "virtual buffer" completions. + 2010-02-03 Michael Albinus * net/ange-ftp.el (ange-ftp-insert-directory): Parse directory diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el index ea4b00dc90d..ee06db6f78f 100644 --- a/lisp/iswitchb.el +++ b/lisp/iswitchb.el @@ -1274,7 +1274,7 @@ Modified from `icomplete-completions'." ;; consult the list of past visited files, to see if we can find ;; the file which the user might thought was still open. (when (and iswitchb-use-virtual-buffers (null comps) - recentf-list) + (or recentf-list bookmark-alist)) (setq iswitchb-virtual-buffers nil) (let ((head recentf-list) name) (while head @@ -1289,15 +1289,30 @@ Modified from `icomplete-completions'." (setq iswitchb-virtual-buffers (cons (cons name (car head)) iswitchb-virtual-buffers))) - (setq head (cdr head))) - (setq iswitchb-virtual-buffers (nreverse iswitchb-virtual-buffers) - comps (mapcar 'car iswitchb-virtual-buffers)) + (setq head (cdr head)))) + (let ((head bookmark-alist) name path) + (while head + (if (and (setq path (cdr (assq 'filename (cdar head)))) + (setq name (file-name-nondirectory path)) + (string-match (if iswitchb-regexp + iswitchb-text + (regexp-quote iswitchb-text)) name) + (null (get-file-buffer path)) + (not (assoc name iswitchb-virtual-buffers)) + (not (iswitchb-ignore-buffername-p name)) + (file-exists-p path)) + (setq iswitchb-virtual-buffers + (cons (cons name path) + iswitchb-virtual-buffers))) + (setq head (cdr head)))) + (setq iswitchb-virtual-buffers (nreverse iswitchb-virtual-buffers) + comps (mapcar 'car iswitchb-virtual-buffers)) (let ((comp comps)) (while comp (put-text-property 0 (length (car comp)) 'face 'iswitchb-virtual-matches (car comp)) - (setq comp (cdr comp)))))) + (setq comp (cdr comp))))) (cond ((null comps) (format " %sNo match%s" open-bracket-determined -- 2.39.2