Subject: Re: bug#24208: 24.5; How do I get rid of this message? " Saving file /home/j/var/emacs/recentf...Wrote /home/j/var/emacs/recentf". There does not seem to be a recentf variable to get rid of this message.

From: Robert Cochran <[email-masked]>
Date: Thu, 11 Aug 2016 16:04:11 -0700

Joe M <[email-masked]> writes:

> Hello,
>
> I keep getting this message " Saving file
> /home/j/var/emacs/recentf...Wrote /home/j/var/emacs/recentf". There does
> not seem to be a recentf variable to get rid of this message. It can get
> annoying if the message keeps repeating at a certain interval.

It seems that recentf isn't merely a variable, but an entire mode:

> In GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, X toolkit)
>  of 2016-03-05 on master
> Windowing system distributor `The X.Org Foundation', version 11.0.11704000
> System Description:	Gentoo Base System release 2.2
>
> *snip*
>
> Minor modes in effect:
>   *snip*
>   recentf-mode: t
>
> *rest of information follows*

Here's what it does, according to lisp/recentf.el

> ;;; Commentary:
> 
> ;; This package maintains a menu for visiting files that were operated
> ;; on recently.  When enabled a new "Open Recent" sub menu is
> ;; displayed in the "File" menu.  The recent files list is
> ;; automatically saved across Emacs sessions.  You can customize the
> ;; number of recent files displayed, the location of the menu and
> ;; others options (see the source code for details).
> 
> ;; To enable this package, add the following to your .emacs:
> ;; (recentf-mode 1)

So if you didn't turn it on yourself explicitly and don't want the
functionality, the obvious easy thing to do is figure out where the mode
is being enabled in your init files and remove it.

If you do want it enabled, well... I won't disagree that recentf.el
should be taking more care to silence those writes...

Those writes happen in `recent-save-list`, ultimately via `write-file`:

> (write-file (expand-file-name recentf-save-file))

`write-file` does not appear to have any arguments that allow for
silencing it.

A direct fix can be done to recentf.el: it appears that you can bind
`inhibit-message` to a non-nil value and it will supress that (ala
wrapping it in a `let`), but that appears to be an Emacs 25 feature, and
wouldn't much help you anyways.

Something you can do from your init file, since `recentf-load-list` is
is a Lisp function, is to create some advice that will end up silencing
it. I'm not really sure how to construct such advice, but likely you can
find some suitable ones in a web search.

HTH
-- 
~Robert Cochran

GPG Fingerprint - E778 2DD4 FEA6 6A68 6F26  AD2D E5C3 EB36 4886 8871