From 69d9a020949c77c77b449c1faf04397b95eef5b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 15 Nov 2023 18:12:24 +0100 Subject: [PATCH] =?UTF-8?q?locate:=20Accept=20=E2=80=98--clear=E2=80=99=20?= =?UTF-8?q?without=20additional=20arguments.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes a bug whereby ‘guix locate --clear’ would end with the “no files to search for” error. Fixes . * guix/scripts/locate.scm (guix-locate): Do not emit “no files to search for” error when 'clear? is set in OPTS. * tests/guix-locate.sh: Test it. Reported-by: Maciej Kalandyk Change-Id: Ib8fa125c18481d7f5408bd89df9503713527641d --- guix/scripts/locate.scm | 2 +- tests/guix-locate.sh | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/guix/scripts/locate.scm b/guix/scripts/locate.scm index ae64f46896..92af3509bf 100644 --- a/guix/scripts/locate.scm +++ b/guix/scripts/locate.scm @@ -657,7 +657,7 @@ Locate FILE and return the list of packages that contain it.\n")) files))) (() (if (null? files) - (unless update? + (unless (or update? (assoc-ref opts 'clear?)) (leave (G_ "no files to search for~%"))) (leave (N_ "file~{ '~a'~} not found in database '~a'~%" "files~{ '~a'~} not found in database '~a'~%" diff --git a/tests/guix-locate.sh b/tests/guix-locate.sh index 43f8ba53b0..de0ea5769d 100755 --- a/tests/guix-locate.sh +++ b/tests/guix-locate.sh @@ -70,3 +70,9 @@ then $cmd_store guile | grep "$(guix build guile-bootstrap)/bin/guile" $cmd_store boot-9.scm | grep ^guile-bootstrap fi + +# The command below is an error: "no files to search for"... +guix locate && false + +# ... but this one is fine. +guix locate --clear