emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/denote 96e5161051 1/5: Fix: Handle no-matching-files in


From: ELPA Syncer
Subject: [elpa] externals/denote 96e5161051 1/5: Fix: Handle no-matching-files in denote-sort-dired
Date: Mon, 11 Dec 2023 04:02:09 -0500 (EST)

branch: externals/denote
commit 96e51610510dfe033b3b8c240d8f07c1bd95f44d
Author: Vedang Manerikar <ved.manerikar@gmail.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Fix: Handle no-matching-files in denote-sort-dired
    
    Where there are no files matching the input regex,
    `denote-sort-get-directory-files` returns nil. Passing this to `dired`
    throws an error:
    ```
    (file-missing "Reading directory" "No such file or directory" 
".../denote/Testing Dired")
    ```
    
    This commit handles the empty case by returning an appropriate error
    message.
---
 denote-sort.el | 39 ++++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/denote-sort.el b/denote-sort.el
index ac3fed55c1..c2face4642 100644
--- a/denote-sort.el
+++ b/denote-sort.el
@@ -174,26 +174,27 @@ a non-nil value, respectively."
     (denote-sort-component-prompt)
     (y-or-n-p "Reverse sort? ")))
   (let* ((default-directory (denote-directory))
-         ;; NOTE 2023-12-04: Passing the FILES-MATCHING-REGEXP here produces
-         ;; an error if the regexp contains a wildcard for a directory.  I
-         ;; can reproduce this in emacs -Q and am not sure if it is a bug.
-         ;; Anyway, I will report it upstream, but even if it is fixed we
-         ;; cannot use it for now (whatever fix will be available for Emacs
-         ;; 30+).
-         ;;
-         ;; (format "Denote sort `%s' by `%s'" files-matching-regexp 
sort-by-component)
+         ;; NOTE 2023-12-04: Passing the FILES-MATCHING-REGEXP as
+         ;; buffer-name produces an error if the regexp contains a
+         ;; wildcard for a directory. I can reproduce this in emacs -Q
+         ;; and am not sure if it is a bug. Anyway, I will report it
+         ;; upstream, but even if it is fixed we cannot use it for now
+         ;; (whatever fix will be available for Emacs 30+).
+         (denote-sort-dired-buffer-name (format "Denote sort `%s' by `%s'" 
files-matching-regexp sort-by-component))
          (buffer-name (format "Denote sort by `%s' at %s" sort-by-component 
(format-time-string "%T")))
-         (files (denote-sort-get-directory-files files-matching-regexp 
sort-by-component reverse))
-         (dired-buffer (dired (cons buffer-name (mapcar #'file-relative-name 
files)))))
-    (setq denote-sort--dired-buffer dired-buffer)
-    (with-current-buffer dired-buffer
-      (setq-local revert-buffer-function
-                  (lambda (&rest _)
-                    (kill-buffer dired-buffer)
-                    (denote-sort-dired files-matching-regexp sort-by-component 
reverse)))))
-  ;; Because of the above NOTE, I am printing a message.  Not what I
-  ;; want, but it is better than nothing...
-  (message "Denote sort `%s' by `%s'" files-matching-regexp sort-by-component))
+         (files (denote-sort-get-directory-files files-matching-regexp 
sort-by-component reverse)))
+    (if (car files)
+        (let ((dired-buffer (dired (cons buffer-name (mapcar 
#'file-relative-name files)))))
+          (setq denote-sort--dired-buffer dired-buffer)
+          (with-current-buffer dired-buffer
+            (setq-local revert-buffer-function
+                        (lambda (&rest _)
+                          (kill-buffer dired-buffer)
+                          (denote-sort-dired files-matching-regexp 
sort-by-component reverse))))
+          ;; Because of the above NOTE, I am printing a message.  Not what I
+          ;; want, but it is better than nothing...
+          (message denote-sort-dired-buffer-name))
+      (message "No matching files for %s" denote-sort-dired-buffer-name))))
 
 (provide 'denote-sort)
 ;;; denote-sort.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]