diff options
Diffstat (limited to 'lisp/recentf.el')
-rw-r--r-- | lisp/recentf.el | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/lisp/recentf.el b/lisp/recentf.el index a35e33d5742..f2700fcf210 100644 --- a/lisp/recentf.el +++ b/lisp/recentf.el @@ -8,7 +8,7 @@ ;; Maintainer: FSF ;; Keywords: files -(defconst recentf-version "$Revision: 1.26 $") +(defconst recentf-version "$Revision: 1.27 $") ;; This file is part of GNU Emacs. @@ -240,6 +240,12 @@ cleanup the list." ;; Unavailable until recentf has been loaded. (recentf-auto-cleanup)))) +(defcustom recentf-initialize-file-name-history t + "*non-nil means to initialize `file-name-history' with the recent list. +If `file-name-history' is not empty, do nothing." + :group 'recentf + :type 'boolean) + (defcustom recentf-load-hook nil "*Normal hook run at end of loading the `recentf' package." :group 'recentf @@ -1143,11 +1149,17 @@ Write data into the file specified by `recentf-save-file'." (defun recentf-load-list () "Load a previously saved recent list. -Read data from the file specified by `recentf-save-file'." +Read data from the file specified by `recentf-save-file'. +When `recentf-initialize-file-name-history' is non-nil, initialize an +empty `file-name-history' with the recent list." (interactive) (let ((file (expand-file-name recentf-save-file))) (when (file-readable-p file) - (load-file file)))) + (load-file file) + (and recentf-initialize-file-name-history + (not file-name-history) + (setq file-name-history (mapcar 'abbreviate-file-name + recentf-list)))))) (defun recentf-cleanup () "Remove all excluded or non-readable files from the recent list." |