[PATCH 0/1] upgrade: Allow several regexps (fix #44928).

  • Done
  • quality assurance status badge
Details
2 participants
  • Mathieu Othacehe
  • zimoun
Owner
unassigned
Submitted by
zimoun
Severity
normal
Z
Z
zimoun wrote on 28 Nov 2020 21:26
(address . guix-patches@gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20201128202631.27734-1-zimon.toutoune@gmail.com
Dear,

Fixes https://bugs.gnu.org/44928 describing that the 2nd raises an error:

$ guix upgrade foo bar
guix upgrade: error: bar: extraneous argument

And it is not the case with "guix package -u foo bar". I am not convinced by
the patch but after thinking a bit, the 'match' does not seem necessary
because the options are correctly handled by SRFI-37 and any extra term is
potentially an other regexp. The 'opts' is correctly formed and then
"guix-package" does all the job.

Well, I have been too lazy to create something in the test suite; someone
should do. :-) Testing "guix package --upgrade" and "guix upgrade". Maybe a
v2 of this tiny patch? ;-)


Feedback welcome.

All the best,
simon


zimoun (1):
upgrade: Allow several regexps.

guix/scripts/upgrade.scm | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)


base-commit: 8ea2d7c2fa4d4ad7b4cf522fa259561beeeda072
--
2.29.2
Z
Z
zimoun wrote on 28 Nov 2020 21:32
[PATCH 1/1] upgrade: Allow several regexps.
(address . 44931@debbugs.gnu.org)(name . zimoun)(address . zimon.toutoune@gmail.com)
20201128203245.30190-1-zimon.toutoune@gmail.com
Reported by Luis Felipe <luis.felipe.la@protonmail.com>.

* guix/scripts/upgrade.scm (guix-upgrade): Allow several regexps and remove
"extraneous arguement" check.
---
guix/scripts/upgrade.scm | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

Toggle diff (30 lines)
diff --git a/guix/scripts/upgrade.scm b/guix/scripts/upgrade.scm
index dcbcb2ab09..0eaae01e46 100644
--- a/guix/scripts/upgrade.scm
+++ b/guix/scripts/upgrade.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jakub K?dzio?ka <kuba@kadziolka.net>
+;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,13 +77,9 @@ This is an alias for 'guix package -u'.\n"))
(define (handle-argument arg result arg-handler)
;; Accept at most one non-option argument, and treat it as an upgrade
;; regexp.
- (match (assq-ref result 'upgrade)
- (#f
- (values (alist-cons 'upgrade arg
- (alist-delete 'upgrade result))
+ (values (alist-cons 'upgrade arg
+ (delete '(upgrade . #f) result))
arg-handler))
- (_
- (leave (G_ "~A: extraneous argument~%") arg))))
(define opts
(parse-command-line args %options
--
2.29.2
M
M
Mathieu Othacehe wrote on 1 Dec 2020 11:36
(name . zimoun)(address . zimon.toutoune@gmail.com)(address . 44931-done@debbugs.gnu.org)
87h7p53jal.fsf@gnu.org
Hey zimoun,

Toggle quote (3 lines)
> + (values (alist-cons 'upgrade arg
> + (delete '(upgrade . #f) result))

I fixed the indentation and the matching commentary and pushed as
86971616c139597ffa9e20acc75533ff90176450.

Thanks,

Mathieu
Closed
Z
Z
zimoun wrote on 1 Dec 2020 13:42
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 44931-done@debbugs.gnu.org)
86k0u1vgrw.fsf@gmail.com
Hi Mathieu,

On Tue, 01 Dec 2020 at 11:36, Mathieu Othacehe <othacehe@gnu.org> wrote:

Toggle quote (6 lines)
>> + (values (alist-cons 'upgrade arg
>> + (delete '(upgrade . #f) result))
>
> I fixed the indentation and the matching commentary and pushed as
> 86971616c139597ffa9e20acc75533ff90176450.

It is weird: I should miss something in my workflow because it is the
second time if not more that you fix the indentation. Anyway!

Thank,
simon
Closed
?