mbox

[bug#46308,0/1] Fix 2 corner cases for option hint

Message ID 20210204230028.2275-1-zimon.toutoune@gmail.com
Headers show

Message

Simon Tournier Feb. 4, 2021, 11 p.m. UTC
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