summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/edit.scm17
1 files changed, 10 insertions, 7 deletions
diff --git a/guix/scripts/edit.scm b/guix/scripts/edit.scm
index 30146af10b..fa10a16f31 100644
--- a/guix/scripts/edit.scm
+++ b/guix/scripts/edit.scm
@@ -59,6 +59,15 @@ Start $EDITOR to edit the definitions of PACKAGE...\n"))
              file path))
     absolute-file-name))
 
+(define (package->location-specification package)
+  "Return the location specification for PACKAGE for a typical editor command
+line."
+  (let ((loc (package-location package)))
+    (list (string-append "+"
+                         (number->string
+                          (location-line loc)))
+          (search-path* %load-path (location-file loc)))))
+
 
 (define (guix-edit . args)
   (with-error-handling
@@ -71,10 +80,4 @@ Start $EDITOR to edit the definitions of PACKAGE...\n"))
                            (package-full-name package))))
                 packages)
       (apply execlp (%editor) (%editor)
-             (append-map (lambda (package)
-                           (let ((loc (package-location package)))
-                             (list (string-append "+"
-                                                  (number->string
-                                                   (location-line loc)))
-                                   (search-path* %load-path (location-file loc)))))
-                         packages)))))
+             (append-map package->location-specification packages)))))