[bug#56089] refresh: Repurpose '-L' for '--load-path'.
Commit Message
This incompatible change fixes an inconsistency with other commands
where '-L' is short for '--load-path'.
* guix/scripts/refresh.scm (%options): Add --load-path option from
%STANDARD-BUILD-OPTIONS. Remove #\L shortcut for --list-updaters, and
remove --load-path option that lacked the #\L shortcut.
(show-help): Update accordingly.
* doc/guix.texi (Invoking guix refresh): Update accordingly.
---
doc/guix.texi | 2 +-
guix/scripts/refresh.scm | 22 ++++++----------------
2 files changed, 7 insertions(+), 17 deletions(-)
Hi!
This patch fixes a CLI inconsistency. It introduces an incompatibility,
but one that's probably acceptable: '--list-updaters' is rarely used.
Commit 21f4fbdd8453e489fb89825c4226a0a0bda2bc17 purposefully
introduced '--load-path' without the '-L' shorthand; in hindsight,
reclaiming '-L' for '--load-path' sounds preferable to me.
Objections?
Ludo'.
base-commit: 7f208f68dea828fe02718ca8ce81d5975136cff8
Comments
Ludovic Courtès 写道:
> Objections?
Absolutely not. I can't imagine anyone using ‘guix refresh
--list-updaters’ in scripts.
If somebody (=again, not me) does object (=a thing I definitely
will not be doing), I'd still make the change but special-case an
‘-L’ as the last argument as a deprecated alias for
‘--list-updaters’. With a big fat warning that it will stop
working one day.
Thanks!
T G-R
Ludovic Courtès schreef op zo 19-06-2022 om 15:33 [+0200]:
> This incompatible change fixes an inconsistency with other commands
> where '-L' is short for '--load-path'.
Seems nice, but because it's an incompatible change, maybe a short
channel news entry would be good?
Greetings,
Maxime.
Maxime Devos <maximedevos@telenet.be> skribis:
> Ludovic Courtès schreef op zo 19-06-2022 om 15:33 [+0200]:
>> This incompatible change fixes an inconsistency with other commands
>> where '-L' is short for '--load-path'.
>
> Seems nice, but because it's an incompatible change, maybe a short
> channel news entry would be good?
Since this is very much an edge case, I’m not sure it’s worth it, but no
strong opinion. Thoughts?
Ludo’.
On Mon, Jun 20, 2022 at 09:32:43AM +0200, Ludovic Courtès wrote:
> Maxime Devos <maximedevos@telenet.be> skribis:
>
> > Ludovic Courtès schreef op zo 19-06-2022 om 15:33 [+0200]:
> >> This incompatible change fixes an inconsistency with other commands
> >> where '-L' is short for '--load-path'.
> >
> > Seems nice, but because it's an incompatible change, maybe a short
> > channel news entry would be good?
>
> Since this is very much an edge case, I’m not sure it’s worth it, but no
> strong opinion. Thoughts?
I think a news entry would be good.
Pushed!
2873433c72 news: Add entry for 'guix refresh -L' change.
bdf4221767 refresh: Repurpose '-L' for '--load-path'.
Ludo’.
@@ -13715,7 +13715,6 @@ gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11
@end example
@item --list-updaters
-@itemx -L
List available updaters and exit (see @option{--type} above).
For each updater, display the fraction of packages it covers; at the
@@ -13846,6 +13845,7 @@ the user whether to download it or not. This is the default behavior.
Use @var{host} as the OpenPGP key server when importing a public key.
@item --load-path=@var{directory}
+@itemx -L @var{directory}
Add @var{directory} to the front of the package module search path
(@pxref{Package Modules}).
@@ -81,7 +81,10 @@ (define %options
(names (map string->symbol
(string-tokenize arg not-comma))))
(alist-cons 'updaters names result))))
- (option '(#\L "list-updaters") #f #f
+ (find (lambda (option)
+ (member "load-path" (option-names option)))
+ %standard-build-options)
+ (option '("list-updaters") #f #f
(lambda args
(list-updaters-and-exit)))
(option '(#\m "manifest") #t #f
@@ -119,19 +122,6 @@ (define %options
(leave (G_ "unsupported policy: ~a~%")
arg)))))
- ;; The short option -L is already used by --list-updaters, therefore
- ;; it needs to be removed from %standard-build-options.
- (let ((load-path-option (find (lambda (option)
- (member "load-path"
- (option-names option)))
- %standard-build-options)))
- (option
- (filter (lambda (name) (not (equal? #\L name)))
- (option-names load-path-option))
- (option-required-arg? load-path-option)
- (option-optional-arg? load-path-option)
- (option-processor load-path-option)))
-
(option '(#\h "help") #f #f
(lambda args
(show-help)
@@ -160,7 +150,7 @@ (define (show-help)
-t, --type=UPDATER,... restrict to updates from the specified updaters
(e.g., 'gnu')"))
(display (G_ "
- -L, --list-updaters list available updaters and exit"))
+ --list-updaters list available updaters and exit"))
(display (G_ "
-l, --list-dependent list top-level dependent packages that would need to
be rebuilt as a result of upgrading PACKAGE..."))
@@ -182,7 +172,7 @@ (define (show-help)
used when 'key-download' is not specified"))
(newline)
(display (G_ "
- --load-path=DIR prepend DIR to the package module search path"))
+ -L, --load-path=DIR prepend DIR to the package module search path"))
(newline)
(display (G_ "
-h, --help display this help and exit"))