diff mbox series

[bug#56089] refresh: Repurpose '-L' for '--load-path'.

Message ID 20220619133313.2271-1-ludo@gnu.org
State Accepted
Headers show
Series [bug#56089] refresh: Repurpose '-L' for '--load-path'. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Ludovic Courtès June 19, 2022, 1:33 p.m. UTC
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

Tobias Geerinckx-Rice June 19, 2022, 2:41 p.m. UTC | #1
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
M June 19, 2022, 2:49 p.m. UTC | #2
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.
Ludovic Courtès June 20, 2022, 7:32 a.m. UTC | #3
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’.
Efraim Flashner June 20, 2022, 11:04 a.m. UTC | #4
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.
Ludovic Courtès June 22, 2022, 9:50 p.m. UTC | #5
Pushed!

  2873433c72 news: Add entry for 'guix refresh -L' change.
  bdf4221767 refresh: Repurpose '-L' for '--load-path'.

Ludo’.
diff mbox series

Patch

diff --git a/doc/guix.texi b/doc/guix.texi
index 86348fc02c..43b550311d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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}).
 
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index 4d52200b84..14329751f8 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -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"))