diff options
author | Ludovic Courtès <ludo@gnu.org> | 2013-01-24 22:00:54 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2013-01-24 23:33:51 +0100 |
commit | 3b9c00208868a75e6b77445fcd33d82536448bb2 (patch) | |
tree | 4613bbd9dc4b9e9f0fb524354e828c546cf1a783 | |
parent | 313b90125576bfe44de518c8898dfa2d8089f267 (diff) | |
download | guix-3b9c00208868a75e6b77445fcd33d82536448bb2.tar.gz |
guix-package: Error out when passed a non-option argument.
* guix-package.in (guix-package)[parse-options]: Call `leave' when passed a non-option argument. Reported by Andreas Enge <andreas@enge.fr>. * tests/guix-package.sh: Add test.
-rw-r--r-- | guix-package.in | 2 | ||||
-rw-r--r-- | tests/guix-package.sh | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/guix-package.in b/guix-package.in index 85ac358555..37a1df0c11 100644 --- a/guix-package.in +++ b/guix-package.in @@ -326,7 +326,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (lambda (opt name arg result) (leave (_ "~A: unrecognized option~%") name)) (lambda (arg result) - (alist-cons 'argument arg result)) + (leave (_ "~A: extraneous argument~%") arg)) %default-options)) (define (guile-missing?) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 603ae98d74..02ece68045 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -139,3 +139,6 @@ fi # Failed attempt to roll back. if guix-package --bootstrap --roll-back; then false; else true; fi + +# Extraneous argument. +! guix-package install foo-bar |