Package: emacs;
Reported by: Jordan Ellis Coppard <jc+o.emacs <at> wz.ht>
Date: Thu, 6 Feb 2025 13:35:02 UTC
Severity: normal
Tags: unreproducible
Found in version 31.0.50
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 76096 in the body.
You can then email your comments to 76096 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#76096
; Package emacs
.
(Thu, 06 Feb 2025 13:35:02 GMT) Full text and rfc822 format available.Jordan Ellis Coppard <jc+o.emacs <at> wz.ht>
:bug-gnu-emacs <at> gnu.org
.
(Thu, 06 Feb 2025 13:35:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Jordan Ellis Coppard <jc+o.emacs <at> wz.ht> To: bug-gnu-emacs <at> gnu.org Subject: 31.0.50; recentf should not pre-emptively connect to remotes Date: Thu, 06 Feb 2025 22:33:55 +0900
Hi there, I am aware that recentf is documented as establishing connections to remote files. I am also aware of the suggested solution of setting remote-file-name-access-timeout. I argue this is not a solution. remote-file-name-access-timeout is useful after startup if I try and visit a file that is no longer accessible yes, but recentf eagerly doing so when I start Emacs -- and so me having to wait for this timeout before I can even use Emacs -- is asinine. I could add logic to set the timeout incredibly low at startup and then increase it afterwards but then it still results in Tramp trying to connect, and it still clobbers Emacs' state with hidden connection history buffers. recentf's description states: This package maintains a list of recently opened files and makes it easy to visit them. The recent files list is automatically saved across Emacs sessions. I argue it's unhelpful that recentf is so eager (by default) to validate a recently opened file is visitable when a very realistic consequence of that not being the case is Emacs freezes, and extra logic beyond "load this list of remembered file names" occurs. I'd also argue as a user I didn't ask recentf to do that, all I asked it to do was recall a _list of files_ and not _recall a list of files, and then also execute arbitrary commands to establish a remote connection ahead of time to validate that this list contains files which can still be accessed should you want to, even if you never do_. I think if a user wants recentf to do this validation ahead of time they should be given the explicit option to _enable_ that and that by default all recentf should do is load the list it saves from disk. In general this looks to be a problem with any Tramp-syntax file as I also reported with saveplace establishing connections when all it should be doing is recalling a list of file names and offsets in those files. remote-file-name-access-timeout is not the option to control this behaviour as it's unintuitive. When I attempt to explicitly visit a file that is when, I feel, remote-file-name-access-timeout applies. For example, if my suggestions were enacted here this API would result in the current eager-behaviour: (use-package recentf :config (recentf-eagerly-validate-liveness t)) With recentf-eagerly-validate-liveness being an explicit opt-in to behave as it currently does, and perhaps a specific eager-validate timeout. This way a user states that they are fine with Emacs potentially freezing on startup, and that they are fine for a slew of arbitrary Tramp commands to run on startup. I apologise if this is pointed but these eager-helpful behaviours being implicit results in hard to diagnose problems and unexpected behaviour which is frustrating to deal with, especially so given they are part of default behaviour for recentf and others, with no proper opt-out approach. In-general removing this kind of behaviour feels a lot harder than it ought to be. I believe desktop.el behaves similarly but I have yet to look into that. If so, I would echo statements here for that. /Jordan In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin23.6.0, NS appkit-2487.70 Version 14.7.2 (Build 23H311)) of 2025-02-04 built on yote.local Repository revision: 1639ad2814ae100c9f878a1388eb9ffc9d208b07 Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.7.2 Configured using: 'configure --prefix=/opt/local --disable-silent-rules --without-dbus --without-gconf --without-libotf --without-m17n-flt --with-libgmp --with-gnutls --with-xml2 --with-modules --with-sqlite3 --with-webp --infodir /opt/local/share/info/emacs --disable-gc-mark-trace --with-ns --with-lcms2 --without-harfbuzz --without-imagemagick --without-xaw3d --with-rsvg --with-xwidgets --with-native-compilation=aot --with-tree-sitter 'CFLAGS=-pipe -O2 -march=native -mtune=native -Wno-attributes -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64' 'CPPFLAGS=-I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk' 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-no_pie -Wl,-rpath /opt/local/lib/gcc14 -Wl,-rpath /opt/local/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64'' Configured features: ACL GIF GLIB GMP GNUTLS JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM XWIDGETS ZLIB Important settings: value of $LC_CTYPE: en_US.UTF-8 value of $LANG: en_AU.UTF-8 locale-coding-system: utf-8 Major mode: Fundamental Minor modes in effect: global-git-commit-mode: t magit-auto-revert-mode: t global-auto-revert-mode: t mlscroll-mode: t vertico-mode: t marginalia-mode: t eat-eshell-mode: t tabspaces-mode: t popper-echo-mode: t popper-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t meow-global-mode: t meow-mode: t meow-normal-mode: t delete-selection-mode: t meow-esc-mode: t which-key-mode: t electric-pair-mode: t elpaca-use-package-mode: t override-global-mode: t display-battery-mode: t savehist-mode: t global-visual-wrap-prefix-mode: t visual-wrap-prefix-mode: t global-hl-line-mode: t tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t tab-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t minibuffer-regexp-mode: t column-number-mode: 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: /Users/tsujp/.config/emacs/elpaca/builds/modus-themes/theme-loaddefs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/theme-loaddefs /Users/tsujp/.config/emacs/elpaca/builds/transient/transient hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient Features: (shadow sort display-line-numbers whitespace mail-extr emacsbug tramp-cmds js c-ts-common cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs org-indent oc-basic ol-eww eww vtable url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader range ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi tramp-cache time-stamp tramp-sh inspector edebug debug backtrace tree-inspector treeview keycast dap-mode dap-tasks dap-launch lsp-docker yaml posframe dap-overlays lsp-mode lsp-protocol xref tree-widget spinner network-stream nsm markdown-mode lv ht ewoc embark-consult consult magit-bookmark bookmark embark-org embark ffap htmlize zig-mode reformatter 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 package url-handlers magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff diff-mode track-changes git-commit log-edit message sendmail yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor comp comp-cstr server magit-mode browse-url benchmark magit-git magit-base magit-section cursor-sensor crm comp-run comp-common autorevert filenotify mlscroll vertico marginalia eat term/xterm xterm term disp-table ehelp tabspaces dired-x dired dired-loaddefs popper-echo popper org-transclusion org-transclusion-font-lock org-transclusion-src-lines text-clone org-element org-persist avl-tree org-remark org-remark-global-tracking justl inheritenv f dash s esh-mode esh-var eshell esh-cmd generator esh-ext esh-proc esh-opt esh-io esh-arg esh-module esh-module-loaddefs esh-util transient just-mode corfu-popupinfo corfu cus-start edmacro orderless compat meow meow-tutor meow-cheatsheet meow-cheatsheet-layout meow-core meow-shims delsel meow-esc meow-command array meow-thing meow-visual meow-keypad meow-beacon meow-helpers meow-util color meow-keymap meow-face meow-var avy modus-vivendi-theme modus-themes exec-path-from-shell zig-mode-autoloads reformatter-autoloads htmlize-autoloads embark-consult-autoloads embark-autoloads popper-autoloads dap-mode-autoloads bui-autoloads lsp-treemacs-autoloads treemacs-autoloads ace-window-autoloads pfuture-autoloads hydra-autoloads cfrs-autoloads posframe-autoloads lsp-docker-autoloads lsp-mode-autoloads spinner-autoloads markdown-mode-autoloads lv-autoloads yaml-autoloads ht-autoloads keycast-autoloads tree-inspector-autoloads treeview-autoloads inspector-autoloads diff-hl-autoloads org-transclusion-autoloads org-remark-autoloads consult-autoloads tabspaces-autoloads justl-autoloads f-autoloads s-autoloads inheritenv-autoloads just-mode-autoloads eat-autoloads magit-autoloads pcase magit-section-autoloads dash-autoloads transient-autoloads with-editor-autoloads marginalia-autoloads corfu-autoloads vertico-autoloads orderless-autoloads meow-autoloads avy-autoloads mlscroll-autoloads modus-themes-autoloads exec-path-from-shell-autoloads which-key time tramp trampver tramp-integration files-x tramp-message tramp-compat xdg shell parse-time iso8601 tramp-loaddefs kmacro org-id org-refile org-element-ast inline elec-pair org-inlinetask org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date noutline outline org-version ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-compat org-macs flymake project compile text-property-search comint ansi-osc ansi-color ring warnings thingatpt go-ts-mode rx elpaca-menu-elpa treesit vc vc-dispatcher elpaca-menu-melpa elpaca-menu-org elpaca-use-package use-package use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode elpaca-use-package-autoloads elpaca-log elpaca-ui url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source eieio eieio-core password-cache json map byte-opt url-vars mailcap elpaca elpaca-process elpaca-autoloads format-spec battery dbus xml subr-x cl-extra help-mode savehist visual-wrap hl-line cl-macs gv use-package-ensure cl-seq use-package-core bytecomp byte-compile cus-edit pp cus-load icons wid-edit cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win 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 kqueue cocoa ns lcms2 multi-tty make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 915507 610495) (symbols 48 58456 36) (strings 32 301345 56457) (string-bytes 1 7630160) (vectors 16 83554) (vector-slots 8 1016541 236273) (floats 8 670 469) (intervals 56 1149 647) (buffers 992 17))
bug-gnu-emacs <at> gnu.org
:bug#76096
; Package emacs
.
(Thu, 06 Feb 2025 13:46:01 GMT) Full text and rfc822 format available.Message #8 received at 76096 <at> debbugs.gnu.org (full text, mbox):
From: Ship Mints <shipmints <at> gmail.com> To: Jordan Ellis Coppard <jc+o.emacs <at> wz.ht> Cc: 76096 <at> debbugs.gnu.org Subject: Re: bug#76096: 31.0.50; recentf should not pre-emptively connect to remotes Date: Thu, 6 Feb 2025 08:43:48 -0500
[Message part 1 (text/plain, inline)]
If this is sufficient, you can use a predicate to filter out remote files: (defun my/recentf-keep-p (file) (and (not (file-remote-p file)) (file-readable-p file))) (add-to-list 'recentf-keep #'my/recentf-keep-p) On Thu, Feb 6, 2025 at 8:35 AM Jordan Ellis Coppard via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs <at> gnu.org> wrote: > Hi there, > > > I am aware that recentf is documented as establishing connections to > remote files. I am also aware of the suggested solution of setting > remote-file-name-access-timeout. I argue this is not a solution. > > remote-file-name-access-timeout is useful after startup if I try and > visit a file that is no longer accessible yes, but recentf eagerly doing > so when I start Emacs -- and so me having to wait for this timeout > before I can even use Emacs -- is asinine. I could add logic to set the > timeout incredibly low at startup and then increase it afterwards but > then it still results in Tramp trying to connect, and it still clobbers > Emacs' state with hidden connection history buffers. > > recentf's description states: > > This package maintains a list of recently opened files and makes it > easy to visit them. The recent files list is automatically saved > across Emacs sessions. > > I argue it's unhelpful that recentf is so eager (by default) to validate > a recently opened file is visitable when a very realistic consequence of > that not being the case is Emacs freezes, and extra logic beyond "load > this list of remembered file names" occurs. I'd also argue as a user I > didn't ask recentf to do that, all I asked it to do was recall a _list > of files_ and not _recall a list of files, and then also execute > arbitrary commands to establish a remote connection ahead of time to > validate that this list contains files which can still be accessed should > you want to, even if you never do_. > > I think if a user wants recentf to do this validation ahead of time they > should be given the explicit option to _enable_ that and that by default > all recentf should do is load the list it saves from disk. In general > this looks to be a problem with any Tramp-syntax file as I also reported > with saveplace establishing connections when all it should be doing is > recalling a list of file names and offsets in those files. > > remote-file-name-access-timeout is not the option to control this > behaviour as it's unintuitive. When I attempt to explicitly visit a file > that is when, I feel, remote-file-name-access-timeout applies. > > For example, if my suggestions were enacted here this API would result > in the current eager-behaviour: > > (use-package recentf > :config > (recentf-eagerly-validate-liveness t)) > > With recentf-eagerly-validate-liveness being an explicit opt-in to behave > as it currently does, and perhaps a specific eager-validate timeout. > This way a user states that they are fine with Emacs potentially > freezing on startup, and that they are fine for a slew of arbitrary Tramp > commands to run > on startup. > > I apologise if this is pointed but these eager-helpful behaviours being > implicit results in hard to diagnose problems and unexpected behaviour > which is frustrating to deal with, especially so given they are part of > default behaviour for recentf and others, with no proper opt-out > approach. In-general removing this kind of behaviour feels a lot harder > than it ought to be. > > I believe desktop.el behaves similarly but I have yet to look into that. > If so, I would echo statements here for that. > > > /Jordan > > > In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin23.6.0, NS > appkit-2487.70 Version 14.7.2 (Build 23H311)) of 2025-02-04 built on > yote.local > Repository revision: 1639ad2814ae100c9f878a1388eb9ffc9d208b07 > Windowing system distributor 'Apple', version 10.3.2487 > System Description: macOS 14.7.2 > > Configured using: > 'configure --prefix=/opt/local --disable-silent-rules --without-dbus > --without-gconf --without-libotf --without-m17n-flt --with-libgmp > --with-gnutls --with-xml2 --with-modules --with-sqlite3 --with-webp > --infodir /opt/local/share/info/emacs --disable-gc-mark-trace --with-ns > --with-lcms2 --without-harfbuzz --without-imagemagick --without-xaw3d > --with-rsvg --with-xwidgets --with-native-compilation=aot > --with-tree-sitter 'CFLAGS=-pipe -O2 -march=native -mtune=native > -Wno-attributes > -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch > arm64' 'CPPFLAGS=-I/opt/local/include > -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk' > 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-no_pie > -Wl,-rpath /opt/local/lib/gcc14 -Wl,-rpath /opt/local/lib > -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk > -arch arm64'' > > Configured features: > ACL GIF GLIB GMP GNUTLS JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY > KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS > TREE_SITTER WEBP XIM XWIDGETS ZLIB > > Important settings: > value of $LC_CTYPE: en_US.UTF-8 > value of $LANG: en_AU.UTF-8 > locale-coding-system: utf-8 > > Major mode: Fundamental > > Minor modes in effect: > global-git-commit-mode: t > magit-auto-revert-mode: t > global-auto-revert-mode: t > mlscroll-mode: t > vertico-mode: t > marginalia-mode: t > eat-eshell-mode: t > tabspaces-mode: t > popper-echo-mode: t > popper-mode: t > corfu-popupinfo-mode: t > global-corfu-mode: t > corfu-mode: t > meow-global-mode: t > meow-mode: t > meow-normal-mode: t > delete-selection-mode: t > meow-esc-mode: t > which-key-mode: t > electric-pair-mode: t > elpaca-use-package-mode: t > override-global-mode: t > display-battery-mode: t > savehist-mode: t > global-visual-wrap-prefix-mode: t > visual-wrap-prefix-mode: t > global-hl-line-mode: t > tooltip-mode: t > global-eldoc-mode: t > show-paren-mode: t > electric-indent-mode: t > mouse-wheel-mode: t > tool-bar-mode: t > tab-bar-mode: t > menu-bar-mode: t > file-name-shadow-mode: t > context-menu-mode: t > global-font-lock-mode: t > font-lock-mode: t > minibuffer-regexp-mode: t > column-number-mode: 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: > /Users/tsujp/.config/emacs/elpaca/builds/modus-themes/theme-loaddefs hides > /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/theme-loaddefs > /Users/tsujp/.config/emacs/elpaca/builds/transient/transient hides > /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient > > Features: > (shadow sort display-line-numbers whitespace mail-extr emacsbug > tramp-cmds js c-ts-common cc-mode cc-fonts cc-guess cc-menus cc-cmds > cc-styles cc-align cc-engine cc-vars cc-defs org-indent oc-basic ol-eww > eww vtable url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus > nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig > gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group gnus-undo > gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo > gnus-spec gnus-int gnus-range gnus-win gnus nnheader range ol-docview > doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m > ol-doi org-link-doi tramp-cache time-stamp tramp-sh inspector edebug > debug backtrace tree-inspector treeview keycast dap-mode dap-tasks > dap-launch lsp-docker yaml posframe dap-overlays lsp-mode lsp-protocol > xref tree-widget spinner network-stream nsm markdown-mode lv ht ewoc > embark-consult consult magit-bookmark bookmark embark-org embark ffap > htmlize zig-mode reformatter 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 package url-handlers magit-repos magit-apply > magit-wip magit-log which-func imenu magit-diff smerge-mode diff > diff-mode track-changes git-commit log-edit message sendmail yank-media > puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util > mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util > ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader > pcvs-util add-log magit-core magit-autorevert magit-margin > magit-transient magit-process with-editor comp comp-cstr server > magit-mode browse-url benchmark magit-git magit-base magit-section > cursor-sensor crm comp-run comp-common autorevert filenotify mlscroll > vertico marginalia eat term/xterm xterm term disp-table ehelp tabspaces > dired-x dired dired-loaddefs popper-echo popper org-transclusion > org-transclusion-font-lock org-transclusion-src-lines text-clone > org-element org-persist avl-tree org-remark org-remark-global-tracking > justl inheritenv f dash s esh-mode esh-var eshell esh-cmd generator > esh-ext esh-proc esh-opt esh-io esh-arg esh-module esh-module-loaddefs > esh-util transient just-mode corfu-popupinfo corfu cus-start edmacro > orderless compat meow meow-tutor meow-cheatsheet meow-cheatsheet-layout > meow-core meow-shims delsel meow-esc meow-command array meow-thing > meow-visual meow-keypad meow-beacon meow-helpers meow-util color > meow-keymap meow-face meow-var avy modus-vivendi-theme modus-themes > exec-path-from-shell zig-mode-autoloads reformatter-autoloads > htmlize-autoloads embark-consult-autoloads embark-autoloads > popper-autoloads dap-mode-autoloads bui-autoloads lsp-treemacs-autoloads > treemacs-autoloads ace-window-autoloads pfuture-autoloads > hydra-autoloads cfrs-autoloads posframe-autoloads lsp-docker-autoloads > lsp-mode-autoloads spinner-autoloads markdown-mode-autoloads > lv-autoloads yaml-autoloads ht-autoloads keycast-autoloads > tree-inspector-autoloads treeview-autoloads inspector-autoloads > diff-hl-autoloads org-transclusion-autoloads org-remark-autoloads > consult-autoloads tabspaces-autoloads justl-autoloads f-autoloads > s-autoloads inheritenv-autoloads just-mode-autoloads eat-autoloads > magit-autoloads pcase magit-section-autoloads dash-autoloads > transient-autoloads with-editor-autoloads marginalia-autoloads > corfu-autoloads vertico-autoloads orderless-autoloads meow-autoloads > avy-autoloads mlscroll-autoloads modus-themes-autoloads > exec-path-from-shell-autoloads which-key time tramp trampver > tramp-integration files-x tramp-message tramp-compat xdg shell > parse-time iso8601 tramp-loaddefs kmacro org-id org-refile > org-element-ast inline elec-pair org-inlinetask org ob ob-tangle ob-ref > ob-lob ob-table ob-exp org-macro org-src sh-script smie executable > ob-comint org-pcomplete pcomplete org-list org-footnote org-faces > org-entities time-date noutline outline org-version ob-emacs-lisp > ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys > oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-compat > org-macs flymake project compile text-property-search comint ansi-osc > ansi-color ring warnings thingatpt go-ts-mode rx elpaca-menu-elpa > treesit vc vc-dispatcher elpaca-menu-melpa elpaca-menu-org > elpaca-use-package use-package use-package-delight use-package-diminish > use-package-bind-key bind-key easy-mmode elpaca-use-package-autoloads > elpaca-log elpaca-ui url url-proxy url-privacy url-expand url-methods > url-history url-cookie generate-lisp-file url-domsuf url-util url-parse > auth-source eieio eieio-core password-cache json map byte-opt url-vars > mailcap elpaca elpaca-process elpaca-autoloads format-spec battery dbus > xml subr-x cl-extra help-mode savehist visual-wrap hl-line cl-macs gv > use-package-ensure cl-seq use-package-core bytecomp byte-compile > cus-edit pp cus-load icons wid-edit cl-loaddefs cl-lib rmc iso-transl > tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks > lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize > mule-util term/common-win 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 kqueue cocoa ns lcms2 multi-tty > make-network-process tty-child-frames native-compile emacs) > > Memory information: > ((conses 16 915507 610495) (symbols 48 58456 36) (strings 32 301345 56457) > (string-bytes 1 7630160) (vectors 16 83554) (vector-slots 8 1016541 > 236273) (floats 8 670 469) > (intervals 56 1149 647) (buffers 992 17)) > > > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#76096
; Package emacs
.
(Thu, 06 Feb 2025 14:49:01 GMT) Full text and rfc822 format available.Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Jordan Ellis Coppard via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> Cc: Jordan Ellis Coppard <jc+o.emacs <at> wz.ht>, 76096 <at> debbugs.gnu.org Subject: Re: bug#76096: 31.0.50; recentf should not pre-emptively connect to remotes Date: Thu, 06 Feb 2025 15:48:05 +0100
Jordan Ellis Coppard via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > Hi there, Hi Jordan, > I am aware that recentf is documented as establishing connections to > remote files. I am also aware of the suggested solution of setting > remote-file-name-access-timeout. I argue this is not a solution. recentf-keep-default-predicate is designed to prevent unwanted access to remote files. Don't you use it? See also the discussion in bug#26258, bug#27108, and bug#57336. (I'm not a recentf user, so I don't know what I'm speaking about). > /Jordan Best regards, Michael.
bug-gnu-emacs <at> gnu.org
:bug#76096
; Package emacs
.
(Thu, 06 Feb 2025 14:49:02 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#76096
; Package emacs
.
(Thu, 06 Feb 2025 15:02:01 GMT) Full text and rfc822 format available.Message #17 received at 76096 <at> debbugs.gnu.org (full text, mbox):
From: Ship Mints <shipmints <at> gmail.com> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: jc+o.emacs <at> wz.ht, 76096 <at> debbugs.gnu.org Subject: Re: bug#76096: 31.0.50; recentf should not pre-emptively connect to remotes Date: Thu, 6 Feb 2025 09:59:18 -0500
[Message part 1 (text/plain, inline)]
Not that I'm speaking for the OP, but the difference between the default and the predicate I suggested, is that mine does not attempt to check remote file readability at all. The default will check readability when a connection is believed to be established but that can be slow if the connection is "wonky." For example, I keep a connection open to a virtual machine. When I suspend the VM, the detection of the connection status is not instantaneous. On Thu, Feb 6, 2025 at 9:49 AM Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs <at> gnu.org> wrote: > Jordan Ellis Coppard via "Bug reports for GNU Emacs, the Swiss army > knife of text editors" <bug-gnu-emacs <at> gnu.org> writes: > > > Hi there, > > Hi Jordan, > > > I am aware that recentf is documented as establishing connections to > > remote files. I am also aware of the suggested solution of setting > > remote-file-name-access-timeout. I argue this is not a solution. > > recentf-keep-default-predicate is designed to prevent unwanted access to > remote files. Don't you use it? > > See also the discussion in bug#26258, bug#27108, and bug#57336. > > (I'm not a recentf user, so I don't know what I'm speaking about). > > > /Jordan > > Best regards, Michael. > > > >
[Message part 2 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#76096
; Package emacs
.
(Sun, 09 Feb 2025 13:44:02 GMT) Full text and rfc822 format available.Message #20 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Jordan Ellis Coppard <jc+o.emacs <at> wz.ht> To: Michael Albinus <michael.albinus <at> gmx.de>, Jordan Ellis Coppard via Bug reports for GNU "Emacs, " the Swiss army knife of text editors <bug-gnu-emacs <at> gnu.org> Cc: 76096 <at> debbugs.gnu.org Subject: Re: bug#76096: 31.0.50; recentf should not pre-emptively connect to remotes Date: Sun, 9 Feb 2025 22:43:26 +0900
On 6/2/2025 11:48 pm, Michael Albinus wrote: >> I am aware that recentf is documented as establishing connections to >> remote files. I am also aware of the suggested solution of setting >> remote-file-name-access-timeout. I argue this is not a solution. > > recentf-keep-default-predicate is designed to prevent unwanted access to > remote files. Don't you use it Hmm, I've recompiled Emacs from master today on commit 35fa7126903a0ac6a28901d194f0753acf60928d and with the same configuration I'm not seeing this behaviour. I thought this was reproduceable because it happened in the last few versions I had compiled (every 1-2 weeks or so). Perhaps this bug report should be closed; if I see it happen again I'll get a proper emacs -Q reproduction. So.. unsure why or how it's fixed (or if I was the problem) but.. it appears to be now..? /Jordan
bug-gnu-emacs <at> gnu.org
:bug#76096
; Package emacs
.
(Sun, 09 Feb 2025 13:44:03 GMT) Full text and rfc822 format available.bug-gnu-emacs <at> gnu.org
:bug#76096
; Package emacs
.
(Sun, 09 Feb 2025 16:37:02 GMT) Full text and rfc822 format available.Message #26 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Michael Albinus <michael.albinus <at> gmx.de> To: Jordan Ellis Coppard <jc+o.emacs <at> wz.ht> Cc: 76096-done <at> debbugs.gnu.org, "Jordan Ellis Coppard via Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> Subject: Re: bug#76096: 31.0.50; recentf should not pre-emptively connect to remotes Date: Sun, 09 Feb 2025 17:36:39 +0100
Jordan Ellis Coppard <jc+o.emacs <at> wz.ht> writes: Hi Jordan, > Hmm, I've recompiled Emacs from master today on commit > 35fa7126903a0ac6a28901d194f0753acf60928d and with the same > configuration I'm not seeing this behaviour. I thought this was > reproduceable because it happened in the last few versions I had > compiled (every 1-2 weeks or so). > > Perhaps this bug report should be closed; if I see it happen again > I'll get a proper emacs -Q reproduction. Thanks for feedback. I've closed it. And yes, in case of it would be helpful to reproduce it with a naked Emacs (emacs -Q). > /Jordan Best regards, Michael.
Michael Albinus <michael.albinus <at> gmx.de>
:Jordan Ellis Coppard <jc+o.emacs <at> wz.ht>
:Michael Albinus <michael.albinus <at> gmx.de>
to control <at> debbugs.gnu.org
.
(Sun, 09 Feb 2025 16:48:01 GMT) Full text and rfc822 format available.Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 10 Mar 2025 11:24:13 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.