[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/dired-duplicates 887560b192 42/57: Get rid of separator
From: |
ELPA Syncer |
Subject: |
[elpa] externals/dired-duplicates 887560b192 42/57: Get rid of separator files |
Date: |
Sat, 4 Nov 2023 06:58:30 -0400 (EDT) |
branch: externals/dired-duplicates
commit 887560b19267cb13199c872497689faf7b4779ab
Author: Harald Judt <h.judt@gmx.at>
Commit: Harald Judt <h.judt@gmx.at>
Get rid of separator files
Grouping will be implemented by directly modifying the Dired buffer, which
makes it possible to simply use empty lines. This will be a much prettier
approach and not such an ugly hack.
---
dired-duplicates.el | 58 ++++++-----------------------------------------------
1 file changed, 6 insertions(+), 52 deletions(-)
diff --git a/dired-duplicates.el b/dired-duplicates.el
index e479c602d6..8b403e40c0 100644
--- a/dired-duplicates.el
+++ b/dired-duplicates.el
@@ -51,24 +51,6 @@
:tag "Dired Duplicates"
:group 'dired)
-(defcustom dired-duplicates-use-separators
- t
- "Whether to use a separator dummy file for separating search results."
- :group 'dired-duplicates
- :tag "Separate search results"
- :type 'boolean)
-
-(defcustom dired-duplicates-separator-file
- (concat (temporary-file-directory) (make-string 40 ?-))
- "Path and name of the separator file.
-
-This file is used for making search results easier to discern.
-It will be created immediately before and deleted as soon as
-possible after the search operation finishes."
- :group 'dired-duplicates
- :tag "Separator dummy file"
- :type 'string)
-
(defcustom dired-duplicates-checksum-exec
"sha256sum"
"Name of the executable used for creating file checksums.
@@ -123,28 +105,6 @@ The executable used is defined by
`dired-duplicates-checksum-exec'."
nil
t))))
-(defun dired-duplicates--ensure-separator-file ()
- "Ensure that the separator file exists.
-
-The file is specified by `dired-duplicates-separator-file'."
- (unless (file-exists-p dired-duplicates-separator-file)
- (make-empty-file dired-duplicates-separator-file)))
-
-(defun dired-duplicates--remove-separator-file ()
- "Remove the separator file specified by `dired-duplicates-separator-file'."
- (when (file-exists-p dired-duplicates-separator-file)
- (delete-file dired-duplicates-separator-file nil)))
-
-(defmacro dired-duplicates-with-separator-file (&rest body)
- "Ensure separator file gets created and cleaned up before and after BODY."
- `(unwind-protect
- (progn
- (when dired-duplicates-use-separators
- (dired-duplicates--ensure-separator-file))
- ,@body)
- (when dired-duplicates-use-separators
- (dired-duplicates--remove-separator-file))))
-
(defun dired-duplicates--apply-file-filter-functions (files)
"Apply file filter functions to FILES, returning the resulting list."
(if (and dired-duplicates-file-filter-functions files)
@@ -190,10 +150,7 @@ duplicate files as values."
(cl-return checksum-table)))
(defun dired-duplicates--generate-dired-list (&optional directories)
- "Generate a list of grouped duplicate files in DIRECTORIES.
-
-Optionally they can be separated by a separator file specified by
-`dired-duplicates-separator-file'."
+ "Generate a list of grouped duplicate files in DIRECTORIES."
(cl-loop with dupes-table = (dired-duplicates--find-and-filter-files
(or directories
dired-duplicates-directories))
@@ -203,8 +160,7 @@ Optionally they can be separated by a separator file
specified by
dired-duplicates-size-comparison-function
:key #'cl-second)
for (checksum) in sorted-sums
- append (cdr (gethash checksum dupes-table))
- when dired-duplicates-use-separators append (list
dired-duplicates-separator-file)))
+ append (cdr (gethash checksum dupes-table))))
(defun dired-duplicates-dired-revert (&optional arg noconfirm)
"Revert function used instead of `dired-revert' for Dired buffers.
@@ -216,8 +172,7 @@ The args ARG and NOCONFIRM are passed through from
(append (list (car dired-directory))
(dired-duplicates--generate-dired-list)))
(message "Reverting buffer complete.")
- (dired-duplicates-with-separator-file
- (dired-revert arg noconfirm)))
+ (dired-revert arg noconfirm))
;;;###autoload
(defun dired-duplicates (directories)
@@ -237,10 +192,9 @@ The results will be shown in a Dired buffer."
(if-let ((results (dired-duplicates--generate-dired-list directories)))
(progn
(message "Finding duplicate files in %s completed." truncated-dirs)
- (dired-duplicates-with-separator-file
- (dired (cons "/" results))
- (setq-local dired-duplicates-directories directories)
- (setq-local revert-buffer-function 'dired-duplicates-dired-revert)))
+ (dired (cons "/" results))
+ (setq-local dired-duplicates-directories directories)
+ (setq-local revert-buffer-function 'dired-duplicates-dired-revert))
(message "No duplicate files found in %s." truncated-dirs))))
(provide 'dired-duplicates)
- [elpa] externals/dired-duplicates 86a12647a5 23/57: flymake: Fix unknown and deprecated function warnings, (continued)
- [elpa] externals/dired-duplicates 86a12647a5 23/57: flymake: Fix unknown and deprecated function warnings, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 193e498e5d 25/57: Fix indentation and find-duplicates-with-separator-file macro var names, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 0dc415a2b1 28/57: Rename source file to match package name, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates ad2855a5e0 29/57: Add package information and GPL-3 license, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 6508b208e2 30/57: Add option to search directories recursively or not, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 03ad95f3a9 31/57: Add README.org, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 4cfe600a15 36/57: Use user-error instead of error in find-duplicates-checksum-file, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates b4a7b0a3e7 38/57: Lower required emacs version to 27.1, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 31c1aa8880 40/57: Rename all occurrences of find-duplicates to dired-duplicates, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 6df828caac 41/57: README.org: Add more detailed explanations, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 887560b192 42/57: Get rid of separator files,
ELPA Syncer <=
- [elpa] externals/dired-duplicates 4c17bcdcc0 43/57: Separate search results using empty lines, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 0a9a5d8b65 44/57: Make separating results optional again, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 4664aed213 46/57: Fix truncating directories when calling dired-duplicates non-interactively, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 94319f44f7 47/57: Improve checking parameters and handling parameter errors, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 3c16f56388 48/57: Install workarounds for Emacs Dired bug #57565, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates c6193334fd 50/57: Update copyright notice to point to the FSF, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates c1dbfc5bcd 53/57: Improve error handling of checksum program, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates b5a9eb1cc1 26/57: flymake: Fix warning about unused lexical variables, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 4fde2fbfa7 33/57: Fix first lines of docstrings, ELPA Syncer, 2023/11/04
- [elpa] externals/dired-duplicates 94542206f7 49/57: Update GPL3 LICENSE file, ELPA Syncer, 2023/11/04