aboutsummaryrefslogtreecommitdiff
path: root/guix/scripts/edit.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/scripts/edit.scm')
-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)))))