]> git.eshelyaron.com Git - emacs.git/commitdiff
Work around bad interaction between dired-omit-mode and recover-session
authorLars Ingebrigtsen <larsi@gnus.org>
Wed, 9 Oct 2019 23:34:14 +0000 (01:34 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Wed, 9 Oct 2019 23:34:14 +0000 (01:34 +0200)
* lisp/files.el (recover-session): Add ugly hack to try to ensure
that we're actually showing the session files (bug#36223).

lisp/files.el

index 20bc204b0618c5779187bdb19bad8681303232d9..fdd7c75ced655c1963ea23db2ee2d819f0aeaf0c 100644 (file)
@@ -6211,6 +6211,8 @@ an auto-save file."
           (after-find-file nil nil t))
          (t (user-error "Recover-file canceled")))))
 
+(defvar dired-mode-hook)
+
 (defun recover-session ()
   "Recover auto save files from a previous Emacs session.
 This command first displays a Dired buffer showing you the
@@ -6230,7 +6232,12 @@ Then you'll be asked about a number of files to recover."
                                (concat "\\`" (regexp-quote nd)))
                             t)
       (error "No previous sessions to recover")))
-  (let ((ls-lisp-support-shell-wildcards t))
+  (require 'dired)
+  (let ((ls-lisp-support-shell-wildcards t)
+        ;; Ensure that we don't omit the session files as the user may
+        ;; have (as suggested by the manual) `dired-omit-mode' in the
+        ;; hook.
+        (dired-mode-hook (delete 'dired-omit-mode dired-mode-hook)))
     (dired (concat auto-save-list-file-prefix "*")
           (concat dired-listing-switches " -t")))
   (use-local-map (nconc (make-sparse-keymap) (current-local-map)))