GNU bug report logs -
#46308
[PATCH 0/1] Fix 2 corner cases for option hint
Previous Next
Reported by: zimoun <zimon.toutoune <at> gmail.com>
Date: Thu, 4 Feb 2021 23:01:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 46308 in the body.
You can then email your comments to 46308 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#46308
; Package
guix-patches
.
(Thu, 04 Feb 2021 23:01:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
zimoun <zimon.toutoune <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Thu, 04 Feb 2021 23:01:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi,
First,
--8<---------------cut here---------------start------------->8---
$ guix package --shw=hello
guix package: error: shw=hello: unrecognized option
--8<---------------cut here---------------end--------------->8---
becomes
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix package --shw=hello
guix package: error: shw=hello: unrecognized option
hint: Did you mean `show'?
--8<---------------cut here---------------end--------------->8---
And second the ugly (introduced by ’option’hint):
--8<---------------cut here---------------start------------->8---
$ guix package -Z
Backtrace:
11 (primitive-load "/home/simon/.config/guix/current/bin/guix")
In guix/ui.scm:
2162:12 10 (run-guix-command _ . _)
In guix/scripts/package.scm:
1075:2 9 (guix-package . _)
In ice-9/boot-9.scm:
1731:15 8 (with-exception-handler #<procedure 7fc66e356f00 at ice-9/boot-9.scm:1815:7 (exn)> _ # _ …)
In srfi/srfi-37.scm:
113:18 7 (next-arg)
In unknown file:
6 (_ #<procedure 7fc66e356ea0 at srfi/srfi-37.scm:114:22 ()> #<procedure list _> #<hash-t…>)
In guix/scripts.scm:
121:2 5 (_ _ #\Z _ . _)
In guix/utils.scm:
920:4 4 (string-closest _ _ #:threshold _)
In guix/combinators.scm:
46:26 3 (fold2 #<procedure 7fc66e24a660 at guix/utils.scm:920:11 (test closest minimal)> #f # (…))
In guix/utils.scm:
921:25 2 (_ "help" #f +inf.0)
911:12 1 (string-distance #\Z "help")
In unknown file:
0 (string->list #\Z #<undefined> #<undefined>)
ERROR: In procedure string->list:
In procedure string->list: Wrong type argument in position 1 (expecting string): #\Z
--8<---------------cut here---------------end--------------->8---
is fixed:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix package -Z
guix package: error: Z: unrecognized option
--8<---------------cut here---------------end--------------->8---
A corner case is still missing:
$ ./pre-inst-env guix environment -ah-hoc hello
guix environment: error: a: unrecognized option
where it could be nice to hint for. But from my understanding, it is not possible with SRFI-37.
All the best,
simon
zimoun (1):
guix: scripts: Fix corner cases of hint for option typo.
guix/scripts.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
base-commit: 5ae09d7979a0696d862b9555314eab199f7ce576
--
2.29.2
Information forwarded
to
guix-patches <at> gnu.org
:
bug#46308
; Package
guix-patches
.
(Thu, 04 Feb 2021 23:03:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 46308 <at> debbugs.gnu.org (full text, mbox):
* guix/scripts.scm (option-hint): Fix corner cases.
---
guix/scripts.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/guix/scripts.scm b/guix/scripts.scm
index c9ea9f2e29..1773894bc2 100644
--- a/guix/scripts.scm
+++ b/guix/scripts.scm
@@ -118,7 +118,12 @@ procedure, but both the category and synopsis are meant to be read (parsed) by
according to'string-distance'."
(define (options->long-names options)
(filter string? (append-map option-names options)))
- (string-closest guess (options->long-names options) #:threshold 3))
+ (match guess
+ ((? string?)
+ (match (string-split guess #\=)
+ ((name rest ...)
+ (string-closest name (options->long-names options) #:threshold 3))))
+ (_ #f)))
(define (args-fold* args options unrecognized-option-proc operand-proc . seeds)
"A wrapper on top of `args-fold' that does proper user-facing error
--
2.29.2
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Wed, 24 Feb 2021 22:52:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
zimoun <zimon.toutoune <at> gmail.com>
:
bug acknowledged by developer.
(Wed, 24 Feb 2021 22:52:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 46308-done <at> debbugs.gnu.org (full text, mbox):
Hi,
zimoun <zimon.toutoune <at> gmail.com> skribis:
> * guix/scripts.scm (option-hint): Fix corner cases.
Applied! I also reverted the change I made in
11f11d7ecb817d1421f8b5340bcced59396d8708, which addressed the
short-option problem you mention.
Thanks,
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 25 Mar 2021 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 29 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.