summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi2
-rw-r--r--guix/scripts/refresh.scm17
2 files changed, 8 insertions, 11 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 97fa3b6548..6b6604a426 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3285,7 +3285,7 @@ In addition, @command{guix refresh} can be passed one or more package
 names, as in this example:
 
 @example
-guix refresh -u emacs idutils
+guix refresh -u emacs idutils gcc-4.8.4
 @end example
 
 @noindent
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index 04886499a2..28519d78e2 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;;
@@ -207,16 +207,13 @@ update would trigger a complete rebuild."
          (list-dependent? (assoc-ref opts 'list-dependent?))
          (key-download    (assoc-ref opts 'key-download))
          (packages
-          (match (concatenate
-                  (filter-map (match-lambda
-                               (('argument . value)
-                                (let ((p (find-packages-by-name value)))
-                                  (when (null? p)
-                                    (leave (_ "~a: no package by that name~%")
-                                           value))
-                                  p))
+          (match (filter-map (match-lambda
+                               (('argument . spec)
+                                ;; Take either the specified version or the
+                                ;; latest one.
+                                (specification->package spec))
                                (_ #f))
-                              opts))
+                             opts)
                  (()                          ; default to all packages
                   (let ((select? (match (assoc-ref opts 'select)
                                         ('core core-package?)