summaryrefslogtreecommitdiffstats
path: root/lisp/init-recentf.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-06-18 21:54:30 +0200
committerMartin Polden <mpolden@mpolden.no>2022-06-18 21:57:12 +0200
commit8a3d0edb72612eec139913c382cdc7053329716e (patch)
tree5f3056cee7f7a504b517f29e266403ebcc30ab39 /lisp/init-recentf.el
parent8274c2621ac5d20fa07a39719e960a1f4e7d7597 (diff)
recentf: exclude files in symlinked user-emacs-directory
Diffstat (limited to 'lisp/init-recentf.el')
-rw-r--r--lisp/init-recentf.el8
1 files changed, 8 insertions, 0 deletions
diff --git a/lisp/init-recentf.el b/lisp/init-recentf.el
index f9380c3..5a9ac1a 100644
--- a/lisp/init-recentf.el
+++ b/lisp/init-recentf.el
@@ -2,6 +2,13 @@
;;; Commentary:
;;; Code:
+(defun mpolden/recentf-exclude-p (filename)
+ "Return non-nil if file FILENAME is in a symlinked `user-emacs-directory'."
+ (and (not (file-remote-p filename))
+ (file-in-directory-p filename user-emacs-directory)
+ (file-symlink-p (directory-file-name user-emacs-directory))
+ (not (equal filename (file-truename filename)))))
+
(use-package recentf
:init
;; set number of entries to save
@@ -10,6 +17,7 @@
:config
;; ignore files in elpa directory as these may be opened by package.el
(add-to-list 'recentf-exclude (expand-file-name "elpa" user-emacs-directory))
+ (add-to-list 'recentf-exclude #'mpolden/recentf-exclude-p)
(recentf-mode 1))
(provide 'init-recentf)