~ruther/guix-local

a9892f8f2daceb5bc8595e4d01611936e2c403a4 — Ludovic Courtès 4 years ago a5c24f6
style: Refer to source files by absolute file names.

Previously, "guix style PACKAGE" would end up modifying a file looked up
under the current directory since the location associated with PACKAGE
is usually a relative file name.

* guix/scripts/style.scm (absolute-location): New procedure.
(simplify-package-inputs): Use it.
1 files changed, 9 insertions(+), 1 deletions(-)

M guix/scripts/style.scm
M guix/scripts/style.scm => guix/scripts/style.scm +9 -1
@@ 392,6 392,14 @@ doing it."
                             (G_ "would be edited~%")))
                     str)))

(define (absolute-location loc)
  "Replace the file name in LOC by an absolute location."
  (location (if (string-prefix? "/" (location-file loc))
                (location-file loc)
                (search-path %load-path (location-file loc)))
            (location-line loc)
            (location-column loc)))

(define* (simplify-package-inputs package
                                  #:key (policy 'silent)
                                  (edit-expression edit-expression))


@@ 413,7 421,7 @@ PACKAGE."
                    #f)
                   (location
                    (edit-expression
                     (location->source-properties location)
                     (location->source-properties (absolute-location location))
                     (lambda (str)
                       (define matches?
                         (match policy