~ruther/guix-local

f3044a4b7b4fd8b51a65c95bca1d22b252863dc9 — Mathieu Lirzin 10 years ago 90ca918
lint: Rewrite 'check-patch-file-names'.

* guix/scripts/lint.scm (check-patch-file-names): Improve clarity by
reversing the logic.
1 files changed, 13 insertions(+), 16 deletions(-)

M guix/scripts/lint.scm
M guix/scripts/lint.scm => guix/scripts/lint.scm +13 -16
@@ 413,24 413,21 @@ warning for PACKAGE mentionning the FIELD."
(define (check-patch-file-names package)
  "Emit a warning if the patches requires by PACKAGE are badly named or if the
patch could not be found."
  (guard (c ((message-condition? c)               ;raised by 'search-patch'
  (guard (c ((message-condition? c)     ;raised by 'search-patch'
             (emit-warning package (condition-message c)
                           'patch-file-names)))
    (let ((patches   (and=> (package-source package) origin-patches))
          (name      (package-name package)))
      (when (and patches
                 (any (match-lambda
                        ((? string? patch)
                         (let ((file (basename patch)))
                           (not (eq? (string-contains file name) 0))))
                        (_
                         ;; This must be an <origin> or something like that.
                         #f))
                      patches))
        (emit-warning package
                      (_ "file names of patches should start with \
the package name")
                      'patch-file-names)))))
    (unless (every (match-lambda        ;patch starts with package name?
                     ((? string? patch)
                      (and=> (string-contains (basename patch)
                                              (package-name package))
                             zero?))
                     (_  #f))     ;must be an <origin> or something like that.
                   (or (and=> (package-source package) origin-patches)
                       '()))
      (emit-warning
       package
       (_ "file names of patches should start with the package name")
       'patch-file-names))))

(define (escape-quotes str)
  "Replace any quote character in STR by an escaped quote character."