1 ;;; -*- lexical-binding: t -*-
5 (setq recentf-exclude (list
6 "/\\.emacs\\.d/recentf$"
9 (setq recentf-max-saved-items 1000)
11 (run-with-idle-timer 30 t #'my/recentf-periodic)
13 (defvar my/recentf-list-prev nil)
15 (defun my/recentf-periodic ()
16 (when (my/recentf-has-changed)
17 (my/with-inhibit-message #'recentf-cleanup)
18 (when (equal recentf-list my/recentf-list-prev)
19 (my/with-inhibit-message #'recentf-save-list)
20 (setq my/recentf-list-prev recentf-list))))
22 (defun my/recentf-has-changed ()
23 (not (equal recentf-list my/recentf-list-prev)))
25 (defun my/with-inhibit-message (function)
26 (let ((old-inhibit-message inhibit-message))
27 (setq inhibit-message t)
30 (setq inhibit-message old-inhibit-message))))