From d329f216e300cb51a3793baf1f937612b4b542f0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 7 Jun 2019 23:01:58 +0200 Subject: [PATCH] Fix #1444: recentf hangs Emacs on quit & cleanup Caused by using file-truename on (disconnected) remote files, which invoked TRAMP authentication. Replaces #1451 --- core/core-editor.el | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/core/core-editor.el b/core/core-editor.el index 655bb3fc7..6950a3c04 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -105,14 +105,19 @@ detected.") recentf-auto-cleanup 'never recentf-max-menu-items 0 recentf-max-saved-items 200 - recentf-filename-handlers '(file-truename abbreviate-file-name) recentf-exclude - (list #'file-remote-p "\\.\\(?:gz\\|gif\\|svg\\|png\\|jpe?g\\)$" - "^/tmp/" "^/ssh:" "\\.?ido\\.last$" "\\.revive$" "/TAGS$" - "^/var/folders/.+$" + (list "\\.\\(?:gz\\|gif\\|svg\\|png\\|jpe?g\\)$" "^/tmp/" "^/ssh:" + "\\.?ido\\.last$" "\\.revive$" "/TAGS$" "^/var/folders/.+$" ;; ignore private DOOM temp files (recentf-apply-filename-handlers doom-local-dir))) + (defun doom--recent-file-truename (file) + (if (or (file-remote-p file nil t) + (not (file-remote-p file))) + (file-truename file) + file)) + (setq recentf-filename-handlers '(doom--recent-file-truename abbreviate-file-name)) + (defun doom|recentf-touch-buffer () "Bump file in recent file list when it is switched or written to." (when buffer-file-name