rendered paste body(require 'recentf)
(recentf-mode 1)
(defun recentf-iswitchb-complete ()
"find a file in the recently open file using iswitcb for completion"
(interactive)
(let* ((all-files recentf-list)
(file-assoc-list (mapcar (lambda (x) (cons (file-name-nondirectory x) x)) all-files))
(filename-list (remove-duplicates (mapcar 'car file-assoc-list) :test 'string=))
(iswitchb-make-buflist-hook
(lambda ()
(setq iswitchb-temp-buflist filename-list)))
(filename (iswitchb-read-buffer "Find Recent File: "))
(result-list (delq nil (mapcar (lambda (x) (if (string= (car x) filename) (cdr x))) file-assoc-list)))
(result-length (length result-list)))
(find-file
(cond
((= result-length 0) filename)
((= result-length 1) (car result-list))
( t
(let ( (iswitchb-make-buffer-list-hook
(lambda ()
(setq iswitchb-temp-buflist result-list))))
(iswitchb-read-buffer (format "%d matches:" result-length))))))))
(global-set-key (kbd "C-x C-r") 'recentf-iswitchb-complete)