Subject: 31.0.50; recentf-open-files reports opening the last file accessed
From: Rick <[email-masked]>
To: [email-masked]
Date: Sun, 1 Jun 2025 18:34:45 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

--text follows this line--
You can recreate most of the problem starting with -Q however you must
have a previously populated recentf file before starting.

M-x recentf-mode
M-x recentf-open-files

Now switch to the *Messagers* buffer and notice something similar to:

     Loading /home/rick/.emacs.d/recentf...done     Cleaning up the 
recentf list...done (0 removed)     Mark set     Open 
/snap/emacs/2827/usr/share/emacs/31.0.50/lisp/files.el.gz

Observe that it claims to have opened the most recent item on recentf-list,
as loaded from the pre-populated recentf file.  In my case .../files.el.gz.

There doesn't seem to be a buffer actually associated with the file but
it's unclear whether it was subsequently closed or a spurious message.

Personally, because my .emacs contains the following and I run in server
mode I get additional messages that may be helpful.

|... '(recentf-auto-cleanup 'never) '(recentf-max-menu-items 40) 
'(recentf-max-saved-items 200) '(recentf-menu-filter 
'recentf-arrange-by-mode) '(recentf-menu-open-all-flag t) '(recentf-mode 
t) '(recentf-show-file-shortcuts-flag nil) |
...

|(setq initial-buffer-choice 'recentf-open-files)|

With the above (some of which could be irrelevant but I didn't narrow down)
I get the following.  Notice that it reports opening the file 3 times.  
It also
contains "Collapse node" messages which I see no reference to in either
recentf.el or wid-edit.el (its only dependency?).  So I can't tell what 
is emitting
them but it's clearly related and may tell you more than it does me:-)

|Starting Emacs daemon. Collapse node Open 
~/snap/emacs/site-lisp/anchored-transpose.el Collapse node Open 
~/snap/emacs/site-lisp/anchored-transpose.el [2 times] When done with 
this frame, type C-x 5 0 Mark set Collapse node|

I tried (debug-on-entry recentf-open-files) and the messages get
created if I simply type 'c' at the debug prompt.  But when I try
stepping thru the code I get to the end and I'm presented with a
proper menu buffer without ever encountering any code that might
have emitted the messages - AND the messages DO NOT appear.

This left me out of my depth.  Otherwise I'd have tried to debug and
at least report which functions were involved if not a solution proposal.

In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
  3.24.41, cairo version 1.18.0) of 2025-05-25 built on lcy02-amd64-118
Repository revision: 10e023c15c03ca32d3c9b1ad54111ef4ede6de73
Repository branch: master
System Description: Ubuntu 24.04.2 LTS

Configured using:
  'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3
  --without-xaw3d --with-modules --with-cairo
  --with-native-compilation=aot --with-pgtk --with-xinput2
  --with-tree-sitter 'CFLAGS=-isystem
  /build/emacs/parts/emacs/install/usr/include -isystem
  /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem
  /build/emacs/stage/usr/include -O2' 'CPPFLAGS=-isystem
  /build/emacs/parts/emacs/install/usr/include -isystem
  /build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu -isystem
  /build/emacs/stage/usr/include'
  'LDFLAGS=-L/build/emacs/parts/emacs/install/lib
  -L/build/emacs/parts/emacs/install/usr/lib
  -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu
  -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu
  -L/build/emacs/stage/usr/lib''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
   value of $LANG: en_US.UTF-8
   value of $XMODIFIERS: @im=ibus
   locale-coding-system: utf-8-unix

Major mode: Messages

Minor modes in effect:
   recentf-mode: t
   tooltip-mode: t
   global-eldoc-mode: t
   eldoc-mode: t
   show-paren-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   minibuffer-regexp-mode: t
   buffer-read-only: t
   line-number-mode: t
   indent-tabs-mode: t
   transient-mark-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug lisp-mnt message mailcap yank-media puny
dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils cus-start cus-load recentf
tree-widget wid-edit time-date compile text-property-search comint
subr-x ansi-osc ansi-color ring comp-run bytecomp byte-compile
comp-common rx warnings icons cl-loaddefs cl-lib rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/pgtk-win pgtk-win term/common-win touch-screen
pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list
replace newcomment text-mode lisp-mode prog-mode register page tab-bar
menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse
jit-lock font-lock syntax font-core term/tty-colors frame minibuffer
nadvice seq simple cl-generic indonesian philippine cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop
case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar
make-network-process tty-child-frames native-compile emacs)

Memory information:
((conses 16 88314 19791) (symbols 48 8421 0) (strings 32 20906 1600)
  (string-bytes 1 716862) (vectors 16 12038)
  (vector-slots 8 163474 8069) (floats 8 27 2) (intervals 56 460 0)
  (buffers 1064 12))