(address . guix-patches@gnu.org)(name . Maciej Kalandyk)(address . m.kalandyk@outlook.com)
This patch fixes error with guix locate --clear that causes it to display error when no files are supplied
Change-Id: I0e9ca223d6406c78b0dd8ff93976c3077d89e103
Signed-off-by: Maciej Kalandyk <m.kalandyk@outlook.com>
---
guix/scripts/locate.scm | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
Toggle diff (51 lines)
diff --git a/guix/scripts/locate.scm b/guix/scripts/locate.scm
index ae64f46896..93faa1aea2 100644
--- a/guix/scripts/locate.scm
+++ b/guix/scripts/locate.scm
@@ -634,6 +634,9 @@ (define-command (guix-locate . args)
(_
(leave (G_ "~a: unknown indexing method~%") method))))))
+ (if (and (null? files) (not (or update? clear?)))
+ (leave (G_ "no files to search for~%")))
+
;; Populate the database if needed.
(let* ((stat (stat database #f))
(age (and stat (file-age stat)))
@@ -649,20 +652,18 @@ (define-command (guix-locate . args)
(if (assoc-ref opts 'stats?)
(print-statistics database)
- (match (call-with-database database
- (lambda (db)
- (append-map (lambda (file)
- (matching-packages db file
- #:glob? glob?))
- files)))
- (()
- (if (null? files)
- (unless update?
- (leave (G_ "no files to search for~%")))
+ (unless (null? files)
+ (match (call-with-database database
+ (lambda (db)
+ (append-map (lambda (file)
+ (matching-packages db file
+ #:glob? glob?))
+ files)))
+ (()
(leave (N_ "file~{ '~a'~} not found in database '~a'~%"
"files~{ '~a'~} not found in database '~a'~%"
(length files))
- files database)))
- (matches
- (leave-on-EPIPE
- (print-matching-results matches))))))))
+ files database))
+ (matches
+ (leave-on-EPIPE
+ (print-matching-results matches)))))))))
base-commit: 6d7e181ba18d11c92409a93936025fb46b9c8171
--
2.41.0