~ruther/guix-local

d9b767640c9e9582ef026ec14008eeab19a4e2ba — Hilton Chain 1 year, 2 months ago 2ca0b95
scripts: import: Skip existing definition for ‘--insert’ option.

* guix/scripts/import.scm (guix-import): Skip existing definition for
‘--insert’ option.

Change-Id: I2c4242669f974b263a018ab0cf56538bd7c81d06
1 files changed, 13 insertions(+), 10 deletions(-)

M guix/scripts/import.scm
M guix/scripts/import.scm => guix/scripts/import.scm +13 -10
@@ 152,16 152,19 @@ PROC callback."
             (lambda (expr)
               (match expr
                 (((? define-prefix? define-prefix) term _ ...)
                  (let ((source-properties
                         (find-definition-insertion-location
                          file term #:define-prefix define-prefix)))
                    (if source-properties
                      (insert-expression source-properties expr)
                      (let ((port (open-file file "a")))
                        (pretty-print-with-comments port expr)
                        (newline port)
                        (newline port)
                        (close-port port)))))))))
                  ;; Skip existing definition.
                  (unless (find-definition-location
                           file term #:define-prefix define-prefix)
                    (let ((source-properties
                           (find-definition-insertion-location
                            file term #:define-prefix define-prefix)))
                      (if source-properties
                          (insert-expression source-properties expr)
                          (let ((port (open-file file "a")))
                            (pretty-print-with-comments port expr)
                            (newline port)
                            (newline port)
                            (close-port port))))))))))
       (import-as-definitions importer
                              (cons (string-append "--file-to-insert=" file)
                                    args)