* [bug#46308] [PATCH 0/1] Fix 2 corner cases for option hint
@ 2021-02-04 23:00 zimoun
2021-02-04 23:02 ` [bug#46308] [PATCH 1/1] guix: scripts: Fix corner cases of hint for option typo zimoun
0 siblings, 1 reply; 3+ messages in thread
From: zimoun @ 2021-02-04 23:00 UTC (permalink / raw)
To: 46308; +Cc: zimoun
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug#46308] [PATCH 1/1] guix: scripts: Fix corner cases of hint for option typo.
2021-02-04 23:00 [bug#46308] [PATCH 0/1] Fix 2 corner cases for option hint zimoun
@ 2021-02-04 23:02 ` zimoun
2021-02-24 22:51 ` bug#46308: [PATCH 0/1] Fix 2 corner cases for option hint Ludovic Courtès
0 siblings, 1 reply; 3+ messages in thread
From: zimoun @ 2021-02-04 23:02 UTC (permalink / raw)
To: 46308; +Cc: zimoun
* 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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#46308: [PATCH 0/1] Fix 2 corner cases for option hint
2021-02-04 23:02 ` [bug#46308] [PATCH 1/1] guix: scripts: Fix corner cases of hint for option typo zimoun
@ 2021-02-24 22:51 ` Ludovic Courtès
0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2021-02-24 22:51 UTC (permalink / raw)
To: zimoun; +Cc: 46308-done
Hi,
zimoun <zimon.toutoune@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’.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-02-24 22:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-04 23:00 [bug#46308] [PATCH 0/1] Fix 2 corner cases for option hint zimoun
2021-02-04 23:02 ` [bug#46308] [PATCH 1/1] guix: scripts: Fix corner cases of hint for option typo zimoun
2021-02-24 22:51 ` bug#46308: [PATCH 0/1] Fix 2 corner cases for option hint Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.