unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf.
@ 2023-12-21  3:26 Vladimir Nikishkin
  2023-12-21  9:37 ` Eli Zaretskii
  2023-12-24 14:39 ` Stefan Kangas
  0 siblings, 2 replies; 8+ messages in thread
From: Vladimir Nikishkin @ 2023-12-21  3:26 UTC (permalink / raw)
  To: 67946

[-- Attachment #1: Type: text/plain, Size: 17224 bytes --]

Dear Emacs Developers,

I have the following setting in my init.el

(add-hook 'buffer-list-update-hook 'recentf-track-opened-file)
(add-hook 'buffer-list-update 'recentf-save-list)

The first one is the one recommended by describe-function recentf-mode,
and the second one is to make this switch persistent, and resistant to
emacs being killed.

However, I am getting a lot of messages like
`Wrote /home/lockywolf/.emacs.d/recentf', which are not very helpful
normally.

I am attaching a trivial patch (001_patch-recentf-verbose.patch), which
adds a `recentf-verbose' defcustom, which, when set to nil, would
suppress these messages.

Please, consider including it into Emacs.


In GNU Emacs 30.0.50 (build 1, x86_64-slackware-linux-gnu, GTK+ Version
 3.24.31, cairo version 1.16.0) of 2023-09-22 built on
 laptop.lockywolf.net
Windowing system distributor 'The X.Org Foundation', version 11.0.12014000
System Description: Slackware 15.0 x86_64

Configured using:
 'configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc
 --localstatedir=/var --program-prefix= --program-suffix=
 --mandir=/usr/man --infodir=/usr/info --without-gconf
 --without-gsettings --with-modules --with-json
 --with-native-compilation=aot --with-imagemagick --with-pdumper
 --with-xwidgets --enable-year2038 --with-tree-sitter --with-cairo-xcb
 --build=x86_64-slackware-linux 'CFLAGS=-O2 -fPIC -g''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ IMAGEMAGICK
JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
WEBP X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB

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

Major mode: Dired by name

Minor modes in effect:
  memento-mori-mode: t
  highlight-doxygen-global-mode: t
  hes-mode: t
  global-highlight-parentheses-mode: t
  highlight-parentheses-mode: t
  global-color-identifiers-mode: t
  frecentf-mode: t
  idle-org-agenda-mode: t
  gnus-dired-mode: t
  mu4e-modeline-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  ido-everywhere: t
  async-bytecomp-package-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  server-mode: t
  global-flycheck-mode: t
  global-hl-todo-mode: t
  gdb-many-windows: t
  global-company-mode: t
  company-mode: t
  auto-insert-mode: t
  pdf-occur-dired-minor-mode: t
  pdf-occur-global-minor-mode: t
  shackle-mode: t
  dired-omit-mode: t
  global-auto-revert-mode: t
  electric-pair-mode: t
  which-function-mode: t
  global-hl-line-mode: t
  global-display-fill-column-indicator-mode: t
  display-fill-column-indicator-mode: t
  global-hi-lock-mode: t
  hi-lock-mode: t
  windmove-mode: t
  savehist-mode: t
  recentf-mode: t
  save-place-mode: t
  super-save-mode: t
  xterm-mouse-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  global-prettify-symbols-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
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  auto-save-visited-mode: t
  abbrev-mode: t

Load-path shadows:
/home/lockywolf/.emacs.d/elpa/company-cmake-0.1/company-cmake hides /home/lockywolf/.emacs.d/elpa/company-20230303.2331/company-cmake
/home/lockywolf/OfficialRepos/org-noter/org-noter hides /home/lockywolf/.emacs.d/elpa/org-noter-20230728.2037/org-noter
/home/lockywolf/OfficialRepos/org-noter/org-noter-core hides /home/lockywolf/.emacs.d/elpa/org-noter-20230728.2037/org-noter-core
/home/lockywolf/.emacs.d/elpa/cmake-mode-20230323.1312/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/lockywolf/.emacs.d/elpa/transient-20231112.923/transient hides /usr/share/emacs/30.0.50/lisp/transient
/home/lockywolf/.emacs.d/elpa/bind-key-20230203.2004/bind-key hides /usr/share/emacs/30.0.50/lisp/use-package/bind-key
/home/lockywolf/.emacs.d/elpa/flim-20230205.1423/sasl hides /usr/share/emacs/30.0.50/lisp/net/sasl

Features:
(shadow mail-extr face-remap emacsbug time-stamp shortdoc bug-reference
c++-ts-mode c-ts-mode c-ts-common cl-print ffap misearch multi-isearch
vc-git matlab matlab-scan matlab-syntax matlab-compat pulse dired-aux
company-oddmuse company-keywords make-mode company-etags company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb init rc-local lockywolf-postamble-laptop
display-line-numbers lockywolf-exwm exwm exwm-input xcb-keysyms
exwm-manage exwm-floating xcb-cursor xcb-render exwm-layout
exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xkb xcb-xproto
xcb-types xcb-debug lockywolf-erc erc-track erc-match erc erc-backend
erc-networks erc-common erc-compat erc-loaddefs lockywolf-equake equake
lockywolf-gui-x11 hamburger-menu lockywolf-gui-general diary-lib
diary-loaddefs memento-mori highlight-doxygen highlight-escape-sequences
highlight-parentheses rainbow-mode color-identifiers-mode prettify-greek
form-feed tsdh-dark-theme lockywolf-calc calc calc-loaddefs calc-macs
lockywolf-monitoring frecentf persist frecency a dirtrack
idle-org-agenda lockywolf-autocomplete-ido avy
lockywolf-org-scientific-large org-download org-attach org-mind-map
org-sticky-header org-pdftools pdf-annot facemenu org-noter
org-noter-djvu org-noter-nov org-noter-pdf org-noter-core org2blog ox-wp
writegood-mode metaweblog xml-rpc url-http url-auth url-gw nsm hydra lv
htmlize org-journal org-crypt cal-iso org-sidebar org-ql-search
org-ql-view ov org-super-agenda ht org-ql peg ts org-habit org-duration
org-mru-clock ox-beamer ox-org ox-md ox-extra ox-odt rng-loc rng-uri
rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table
ox-ascii ox-publish ox org-clock ob-maxima ob-fortran ob-shell ob-latex
ob-scheme geiser-impl help-fns radix-tree geiser-custom geiser-base
geiser ob-C ob-plantuml org-tempo tempo org-protocol ox-youtube org-ebib
org-bibtex-extras ol-bibtex ox-bibtex org-inlinetask
org-fancy-priorities lockywolf-cryptography pinentry lockywolf-elfeed
lockywolf-email-pim bbdb bbdb-site gnus-dired mu4e-speedbar speedbar
ezimage dframe mu4e mu4e-org mu4e-notification notifications mu4e-main
mu4e-view gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig
gnus-sum gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap
nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win
mu4e-headers mu4e-compose mu4e-draft mu4e-actions mu4e-search mu4e-lists
mu4e-bookmarks mu4e-mark mu4e-message flow-fill mu4e-contacts
mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server
mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window
mu4e-obsolete message-view-patch auth-source-xoauth2 auth-source-pass
smtpmail-multi smtpmail khardel yaml-mode vdirel org-vcard lockywolf-tex
company-auctex vdm-snippets yasnippet bib-cite auctex-latexmk latex
latex-flymake tex-ispell tex-style tex texmathp cdlatex lockywolf-bibtex
ivy-bibtex bibtex-completion org-capture biblio biblio-download
biblio-dissemin biblio-ieee biblio-hal biblio-dblp biblio-crossref
biblio-arxiv timezone biblio-doi biblio-core ido f f-shortdoc s ebib
helm helm-global-bindings helm-easymenu helm-core async-bytecomp
helm-source helm-multi-match helm-lib async ivy delsel ivy-faces
ivy-overlay colir ebib-reading-list ebib-notes org-element org-persist
org-id org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-src ob-comint org-pcomplete org-list org-footnote
org-faces org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table
org-keys oc org-loaddefs cal-menu calendar cal-loaddefs ol org-fold
org-fold-core org-compat avl-tree org-version org-macs ebib-filters
ebib-keywords ebib-utils ebib-db parsebib mule-util bibretrieve
bibtex-utils reftex reftex-loaddefs reftex-vars bibtex
lockywolf-plantuml flycheck-plantuml plantuml-mode lockywolf-matlab
lockywolf-scheme scheme-complete scheme lockywolf-emacs-lisp
paredit-menu paredit lockywolf-helm lockywolf-vala vala-mode cc-langs
lockywolf-cpp clang-format+ clang-format eldoc-cmake cmake-mode rst
company-c-headers flycheck-clangcheck google-c-style cc-mode cc-fonts
cc-guess cc-menus cc-cmds lockywolf-fortran f90 lockywolf-bash sh-script
smie treesit executable lockywolf-version-control magit-bookmark
magit-submodule magit-blame magit-stash magit-reflog magit-bisect
magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit
magit-sequence magit-notes magit-worktree magit-tag magit-merge
magit-branch magit-reset magit-files magit-refs magit-status magit
magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode
git-commit log-edit message sendmail yank-media rfc822 mml mml-sec epa
epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader pcvs-util add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
server magit-mode transient magit-git magit-base crm magit-section vc
vc-dispatcher lockywolf-spellchecking-hard languagetool
languagetool-server languagetool-console languagetool-java
languagetool-issue languagetool-correction languagetool-core flycheck
lockywolf-spellchecking-simple hl-todo compat flyspell ispell
lockywolf-debugging gdb-mi bindat gud lockywolf-advanced-editing eglot
external-completion jsonrpc flymake-proc flymake diff diff-mode ert
debug backtrace markdown-mode color company autoinsert ediff ediff-merg
ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util
lockywolf-ggtags ggtags hippie-exp etags fileloop xref project ewoc
lockywolf-tramp lockywolf-shells esh-help dash em-unix em-smart esh-mode
esh-var eshell esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util lockywolf-paper-pdf-djvu djvu pdf-occur
ibuf-ext ibuffer ibuffer-loaddefs tablist advice tablist-filter
semantic/wisent/comp semantic/wisent semantic/wisent/wisent
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local find-func cedet pdf-isearch let-alist pdf-misc
pdf-tools pdf-view derived pdf-cache pdf-info tq pdf-util pdf-macs
doc-view jka-compr image-mode exif ps-print ps-print-loaddefs lpr
lockywolf-downloaded-packages diminish shackle trace mic-paren cl
lockywolf-dired dired-x lockywolf-treesitter lockywolf-standard-packages
artist picture reporter rect eww url-queue thingatpt shr pixel-fill
kinsoku url-file svg dom puny mm-url gnus nnheader gnus-util range woman
man info-colors secrets dbus comp comp-cstr warnings xml locate dired
dired-loaddefs arc-mode archive-mode compile autorevert filenotify
elec-pair which-func imenu hl-line display-fill-column-indicator hi-lock
foldout edmacro kmacro noutline outline windmove bookmark
text-property-search savehist recentf tree-widget saveplace tramp-sh
tramp trampver tramp-integration files-x tramp-message tramp-compat xdg
shell pcomplete comint ansi-osc ring parse-time iso8601 time-date
format-spec ansi-color tramp-loaddefs super-save rmail rfc6068 rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils image-file
image-converter cl-extra help-mode
lockywolf-handy-own-functions-keybindings lockywolf-basic-init xt-mouse
use-package-ensure-system-package system-packages cus-edit pp cus-load
icons wid-edit use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core init-custom finder-inf 0blayout-autoloads
auctex-latexmk-autoloads auth-source-xoauth2-autoloads
bind-key-autoloads cdlatex-autoloads centered-cursor-mode-autoloads
chatgpt-shell-autoloads cmake-font-lock-autoloads cmake-mode-autoloads
color-identifiers-mode-autoloads anaconda-mode-autoloads
auctex-autoloads tex-site company-emoji-autoloads company-math-autoloads
ac-php-core-autoloads company-quickhelp-autoloads
company-shell-autoloads company-autoloads consult-eglot-autoloads
consult-autoloads csv-mode-autoloads debpaste-autoloads
diminish-autoloads djvu-autoloads ebib-autoloads elisp-depmap-autoloads
emms-info-mediainfo-autoloads emms-autoloads ess-autoloads
exwm-x-autoloads exwm-autoloads flycheck-ocaml-autoloads
flycheck-phpstan-autoloads flymake-easy-autoloads frecentf-autoloads
frecency-autoloads a-autoloads geiser-chez-autoloads
geiser-chibi-autoloads geiser-mit-autoloads geiser-racket-autoloads
geiser-stklos-autoloads geiser-autoloads flycheck-autoloads
gitlab-pipeline-autoloads ghub-autoloads go-mode-autoloads
graphviz-dot-mode-autoloads haskell-mode-autoloads
highlight-doxygen-autoloads highlight-escape-sequences-autoloads
highlight-indent-guides-autoloads highlight-parentheses-autoloads
hy-mode-autoloads i3wm-autoloads i3wm-config-mode-autoloads
imenu-list-autoloads info-colors-autoloads ivy-bibtex-autoloads
ivy-autoloads jabber-autoloads fsm-autoloads jupyter-autoloads
khardel-autoloads kotlin-mode-autoloads languagetool-autoloads
lua-mode-autoloads magit-todos-autoloads hl-todo-autoloads
markdown-preview-mode-autoloads markdown-mode-autoloads
math-symbol-lists-autoloads matlab-mode-autoloads merlin-autoloads
mermaid-mode-autoloads mermaid-ts-mode-autoloads
message-view-patch-autoloads magit-autoloads pcase git-commit-autoloads
mic-paren-autoloads mu4e-conversation-autoloads
mu4e-jump-to-list-autoloads nginx-mode-autoloads ob-hy-autoloads
ob-mermaid-autoloads ocaml-ts-mode-autoloads org-bib-mode-autoloads
org-contrib-autoloads org-download-autoloads org-imenu-autoloads
org-journal-autoloads org-mru-clock-autoloads org-pdftools-autoloads
org-noter-autoloads org-ref-autoloads citeproc-autoloads
bibtex-completion-autoloads biblio-autoloads biblio-core-autoloads
org-roam-autoloads magit-section-autoloads emacsql-autoloads
org-sidebar-autoloads org-ql-autoloads org-sticky-header-autoloads
org-super-agenda-autoloads org-xlatex-autoloads org2blog-autoloads
metaweblog-autoloads ov-autoloads ox-pandoc-autoloads paredit-autoloads
parsebib-autoloads pcre2el-autoloads pcsv-autoloads
pdf-drop-mode-autoloads pdf-view-pagemark-autoloads pdf-tools-autoloads
peg-autoloads persist-autoloads phpstan-autoloads php-mode-autoloads
pomm-autoloads alert-autoloads log4e-autoloads gntp-autoloads
pos-tip-autoloads pythonic-autoloads f-autoloads qml-mode-autoloads
qt-pro-mode-autoloads queue-autoloads rainbow-mode-autoloads
semi-autoloads flim-autoloads apel-autoloads shell-maker-autoloads
sml-mode-autoloads smog-autoloads spell-fu-autoloads
sr-speedbar-autoloads srv-autoloads string-inflection-autoloads
sudo-edit-autoloads tablist-autoloads telega-autoloads
rainbow-identifiers-autoloads transient-autoloads treemacs-autoloads
cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads treepy-autoloads
ts-autoloads dash-autoloads tuareg-autoloads rx caml-autoloads cc-styles
cc-align cc-engine cc-vars cc-defs vdirel-autoloads helm-autoloads
popup-autoloads helm-core-autoloads async-autoloads org-vcard-autoloads
visual-fill-column-autoloads websocket-autoloads with-editor-autoloads
info compat-autoloads writegood-mode-autoloads xml-rpc-autoloads
yaml-mode-autoloads s-autoloads zmq-autoloads package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd touch-screen 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 xwidget-internal dbusbind inotify lcms2 dynamic-setting
font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process native-compile emacs)

Memory information:
((conses 16 1523764 420437) (symbols 48 99499 0) (strings 32 382852 18970)
 (string-bytes 1 12879328) (vectors 16 147918) (vector-slots 8 3842385 201399)
 (floats 8 1392 9690) (intervals 56 11091 4667) (buffers 992 41))

-- 
Your sincerely,
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 001_patch-recentf-verbose.patch --]
[-- Type: text/x-patch, Size: 965 bytes --]

diff --git a/lisp/recentf.el b/lisp/recentf.el
index 94ae871763b..b9272cb672e 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -319,6 +319,11 @@ recentf-show-file-shortcuts-flag
 used as shortcuts to open the Nth file."
   :group 'recentf
   :type 'boolean)
+
+(defcustom recentf-verbose t
+  "Non-nil means to show debugging messages related to the recentf machinery."
+  :group 'recentf
+  :type 'boolean)
 \f
 ;;; Utilities
 ;;
@@ -1324,7 +1329,10 @@ recentf-save-list
                 (format ";; coding: %s\n" recentf-save-file-coding-system)
                 ";; End:\n")
         (write-region (point-min) (point-max)
-                      (expand-file-name recentf-save-file))
+                      (expand-file-name recentf-save-file)
+                      nil
+                      recentf-verbose
+                      )
         (when recentf-save-file-modes
           (set-file-modes recentf-save-file recentf-save-file-modes))
         nil)

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf.
  2023-12-21  3:26 bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf Vladimir Nikishkin
@ 2023-12-21  9:37 ` Eli Zaretskii
  2023-12-24 14:39 ` Stefan Kangas
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2023-12-21  9:37 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: 67946

> From: Vladimir Nikishkin <for_emacs-recentf-patch_2023-12-21@lockywolf.net>
> Date: Thu, 21 Dec 2023 11:26:52 +0800
> 
> I have the following setting in my init.el
> 
> (add-hook 'buffer-list-update-hook 'recentf-track-opened-file)
> (add-hook 'buffer-list-update 'recentf-save-list)
> 
> The first one is the one recommended by describe-function recentf-mode,
> and the second one is to make this switch persistent, and resistant to
> emacs being killed.
> 
> However, I am getting a lot of messages like
> `Wrote /home/lockywolf/.emacs.d/recentf', which are not very helpful
> normally.
> 
> I am attaching a trivial patch (001_patch-recentf-verbose.patch), which
> adds a `recentf-verbose' defcustom, which, when set to nil, would
> suppress these messages.

Thanks, I have a few comments about the proposed changes:

> +(defcustom recentf-verbose t
> +  "Non-nil means to show debugging messages related to the recentf machinery."
> +  :group 'recentf
> +  :type 'boolean)

This currently only controls the "Wrote" message, so "show debugging
messages" is a bit misleading.

Also, new defcustoms should have a :version tag

> @@ -1324,7 +1329,10 @@ recentf-save-list
>                  (format ";; coding: %s\n" recentf-save-file-coding-system)
>                  ";; End:\n")
>          (write-region (point-min) (point-max)
> -                      (expand-file-name recentf-save-file))
> +                      (expand-file-name recentf-save-file)
> +                      nil
> +                      recentf-verbose
> +                      )

You pass the value of recentf-verbose, either nil or t, to
write-region, but the only way to suppress the "Wrote" message from
write-region is to pass a non-nil, non-t value in the 5th argument;
see the doc string of write-region.  So the above will not suppress
the "Wrote" message, neither if the new defcustom is t nor if it is
nil, and the code needs some simple changes to do what you want.  Am I
missing something?

Finally, this change needs a NEWS entry.  And please accompany the
change with a ChangeLog-style commit log message; see CONTRIBUTE for
how to format the log message, and see "git log" in the repository for
examples of how we do this in practice.

Thanks again for working on this.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf.
  2023-12-21  3:26 bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf Vladimir Nikishkin
  2023-12-21  9:37 ` Eli Zaretskii
@ 2023-12-24 14:39 ` Stefan Kangas
  2023-12-25  5:17   ` Vladimir Nikishkin
  1 sibling, 1 reply; 8+ messages in thread
From: Stefan Kangas @ 2023-12-24 14:39 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: 67946

Vladimir Nikishkin <for_emacs-recentf-patch_2023-12-21@lockywolf.net>
writes:

> I have the following setting in my init.el
>
> (add-hook 'buffer-list-update-hook 'recentf-track-opened-file)
> (add-hook 'buffer-list-update 'recentf-save-list)
>
> The first one is the one recommended by describe-function recentf-mode,
> and the second one is to make this switch persistent, and resistant to
> emacs being killed.
>
> However, I am getting a lot of messages like
> `Wrote /home/lockywolf/.emacs.d/recentf', which are not very helpful
> normally.

When are these messages helpful?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf.
  2023-12-24 14:39 ` Stefan Kangas
@ 2023-12-25  5:17   ` Vladimir Nikishkin
  2023-12-25 12:25     ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Vladimir Nikishkin @ 2023-12-25  5:17 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 67946


Stefan Kangas <stefankangas@gmail.com> writes:

> Vladimir Nikishkin <for_emacs-recentf-patch_2023-12-21@lockywolf.net>
> writes:
>
>> I have the following setting in my init.el
>>
>> (add-hook 'buffer-list-update-hook 'recentf-track-opened-file)
>> (add-hook 'buffer-list-update 'recentf-save-list)
>>
>> The first one is the one recommended by describe-function recentf-mode,
>> and the second one is to make this switch persistent, and resistant to
>> emacs being killed.
>>
>> However, I am getting a lot of messages like
>> `Wrote /home/lockywolf/.emacs.d/recentf', which are not very helpful
>> normally.
>
> When are these messages helpful?

Are you suggesting to turn them off unconditionally?

It would make sense, I guess. It might be useful when debugging "why is
my recentf file not updated", but if such an issue arises, I guess,
instrumenting "recentf-save-list" is more of a straightforward thing?

-- 
Your sincerely,
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf.
  2023-12-25  5:17   ` Vladimir Nikishkin
@ 2023-12-25 12:25     ` Eli Zaretskii
  2023-12-25 21:50       ` Stefan Kangas
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2023-12-25 12:25 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: 67946, stefankangas

> Cc: 67946@debbugs.gnu.org
> From: Vladimir Nikishkin <for_emacs-recentf-patch_2023-12-21@lockywolf.net>
> Date: Mon, 25 Dec 2023 13:17:37 +0800
> 
> 
> Stefan Kangas <stefankangas@gmail.com> writes:
> 
> > Vladimir Nikishkin <for_emacs-recentf-patch_2023-12-21@lockywolf.net>
> > writes:
> >
> >> I have the following setting in my init.el
> >>
> >> (add-hook 'buffer-list-update-hook 'recentf-track-opened-file)
> >> (add-hook 'buffer-list-update 'recentf-save-list)
> >>
> >> The first one is the one recommended by describe-function recentf-mode,
> >> and the second one is to make this switch persistent, and resistant to
> >> emacs being killed.
> >>
> >> However, I am getting a lot of messages like
> >> `Wrote /home/lockywolf/.emacs.d/recentf', which are not very helpful
> >> normally.
> >
> > When are these messages helpful?
> 
> Are you suggesting to turn them off unconditionally?

If we decide to turn it off, we will need a knob to revert to the old
behavior, because after so many years of the existing behavior,
someone somewhere might be used to it.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf.
  2023-12-25 12:25     ` Eli Zaretskii
@ 2023-12-25 21:50       ` Stefan Kangas
  2023-12-26  5:58         ` Vladimir Nikishkin
  0 siblings, 1 reply; 8+ messages in thread
From: Stefan Kangas @ 2023-12-25 21:50 UTC (permalink / raw)
  To: Eli Zaretskii, Vladimir Nikishkin; +Cc: 67946

Eli Zaretskii <eliz@gnu.org> writes:

> If we decide to turn it off, we will need a knob to revert to the old
> behavior, because after so many years of the existing behavior,
> someone somewhere might be used to it.

I think the existing patch basically has that already, but it seems to
be lacking a NEWS entry and a :version tag for the defcustom before it
can go in.

Vladimir, could you fix that and send a new patch?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf.
  2023-12-25 21:50       ` Stefan Kangas
@ 2023-12-26  5:58         ` Vladimir Nikishkin
  2023-12-26 12:41           ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Vladimir Nikishkin @ 2023-12-26  5:58 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: Eli Zaretskii, 67946

[-- Attachment #1: Type: text/plain, Size: 651 bytes --]


Stefan Kangas <stefankangas@gmail.com> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>> If we decide to turn it off, we will need a knob to revert to the old
>> behavior, because after so many years of the existing behavior,
>> someone somewhere might be used to it.
>
> I think the existing patch basically has that already, but it seems to
> be lacking a NEWS entry and a :version tag for the defcustom before it
> can go in.
>
> Vladimir, could you fix that and send a new patch?

Added an entry to etc/NEWS, and, seems, fixed the actual verbosity
message printing condition.

-- 
Your sincerely,
Vladimir Nikishkin (MiEr, lockywolf)
(Laptop)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 001_patch-recentf-verbose_v2.patch --]
[-- Type: text/x-patch, Size: 1846 bytes --]

diff --git a/etc/NEWS b/etc/NEWS
index 1ff2f8a149f..9bc58e790f5 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1046,7 +1046,11 @@ desktop restoration to continue.
 Similarly to buffer restoration by Desktop, 'recentf-mode' checking
 of the accessibility of remote files can now time out if
 'remote-file-name-access-timeout' is set to a positive number.
-
+*** New use option 'recentf-verbose'.
+By default 'recentf-save-list' prints a message when saving the
+recentf list. The new option, if set to nil, suppresses this message.
+If more debugging info suppression switches are to be added, this
+option might become more useful.
 ** Notifications
 
 +++
diff --git a/lisp/recentf.el b/lisp/recentf.el
index 94ae871763b..616bd373232 100644
--- a/lisp/recentf.el
+++ b/lisp/recentf.el
@@ -319,6 +319,13 @@ recentf-show-file-shortcuts-flag
 used as shortcuts to open the Nth file."
   :group 'recentf
   :type 'boolean)
+
+(defcustom recentf-verbose 1
+  "0 means to not show debugging messages related to the recentf machinery.
+1 means show messages that were printed by default on Emacs <= 29.1."
+  :group 'recentf
+  :type 'integer
+  :version "30.1")
 \f
 ;;; Utilities
 ;;
@@ -1324,7 +1331,12 @@ recentf-save-list
                 (format ";; coding: %s\n" recentf-save-file-coding-system)
                 ";; End:\n")
         (write-region (point-min) (point-max)
-                      (expand-file-name recentf-save-file))
+                      (expand-file-name recentf-save-file)
+                      nil
+                      (if (= recentf-verbose 1)
+                          nil ;; show "Wrote ..." messages.
+                        1) ;; non-nil, non-t, non-string, do not show.
+                      )
         (when recentf-save-file-modes
           (set-file-modes recentf-save-file recentf-save-file-modes))
         nil)

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf.
  2023-12-26  5:58         ` Vladimir Nikishkin
@ 2023-12-26 12:41           ` Eli Zaretskii
  0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2023-12-26 12:41 UTC (permalink / raw)
  To: Vladimir Nikishkin; +Cc: 67946, stefankangas

> From: Vladimir Nikishkin <for_emacs-recentf-patch_2023-12-21@lockywolf.net>
> Cc: Eli Zaretskii <eliz@gnu.org>, 67946@debbugs.gnu.org
> Date: Tue, 26 Dec 2023 13:58:45 +0800
> 
> Stefan Kangas <stefankangas@gmail.com> writes:
> 
> > Eli Zaretskii <eliz@gnu.org> writes:
> >
> >> If we decide to turn it off, we will need a knob to revert to the old
> >> behavior, because after so many years of the existing behavior,
> >> someone somewhere might be used to it.
> >
> > I think the existing patch basically has that already, but it seems to
> > be lacking a NEWS entry and a :version tag for the defcustom before it
> > can go in.
> >
> > Vladimir, could you fix that and send a new patch?
> 
> Added an entry to etc/NEWS, and, seems, fixed the actual verbosity
> message printing condition.

Thanks, a few minor comments:

> --- a/etc/NEWS
> +++ b/etc/NEWS
> @@ -1046,7 +1046,11 @@ desktop restoration to continue.
>  Similarly to buffer restoration by Desktop, 'recentf-mode' checking
>  of the accessibility of remote files can now time out if
>  'remote-file-name-access-timeout' is set to a positive number.
> -

That empty separator line should not be deleted.

> +*** New use option 'recentf-verbose'.
           ^^^
"user"

> +By default 'recentf-save-list' prints a message when saving the
> +recentf list. The new option, if set to nil, suppresses this message.
               ^^
Two spaces between sentences, please.

> +If more debugging info suppression switches are to be added, this
> +option might become more useful.

I don't think we need this last sentence in NEWS.  NEWS is about
changes that are actually done, not about potential changes in the
future.

> +(defcustom recentf-verbose 1
> +  "0 means to not show debugging messages related to the recentf machinery.
> +1 means show messages that were printed by default on Emacs <= 29.1."

A doc string should start with a single sentence that summarizes what
the variable or function does.  In this case, I suggest

  Whether to show verbose messages about low-level recentf actions.

Also, if we are going to use an integer here, the variable should be
called something like recentf-verbosity.  Alternatively, we could make
it a simple boolean, since we have no plans to extend it to more than
2 levels.

> +  :group 'recentf

Do you need this :group tag?  It shouldn't be needed in this case, I
think.

Finally, the commit log message is still missing.





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-12-26 12:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-21  3:26 bug#67946: 30.0.50; [RFC PATCH] Add an option to not report "Wrote ..." when saving recentf Vladimir Nikishkin
2023-12-21  9:37 ` Eli Zaretskii
2023-12-24 14:39 ` Stefan Kangas
2023-12-25  5:17   ` Vladimir Nikishkin
2023-12-25 12:25     ` Eli Zaretskii
2023-12-25 21:50       ` Stefan Kangas
2023-12-26  5:58         ` Vladimir Nikishkin
2023-12-26 12:41           ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).