lint: Use 'with-error-handling'.
This improves the error message when unable to access ~/.cache as reported by Jonathan Brielmaier <jonathan.brielmaier@web.de> in <https://bugs.gnu.org/42859>. * guix/scripts/lint.scm (guix-lint): Wrap body in 'with-error-handling'.
This commit is contained in:
parent
e45d7f3198
commit
4c5edee1ef
@ -1,7 +1,7 @@
|
|||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
|
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
|
||||||
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||||
@ -174,23 +174,24 @@ run the checkers on all packages.\n"))
|
|||||||
(when (assoc-ref opts 'list?)
|
(when (assoc-ref opts 'list?)
|
||||||
(list-checkers-and-exit checkers))
|
(list-checkers-and-exit checkers))
|
||||||
|
|
||||||
(let ((any-lint-checker-requires-store?
|
(with-error-handling
|
||||||
(any lint-checker-requires-store? checkers)))
|
(let ((any-lint-checker-requires-store?
|
||||||
|
(any lint-checker-requires-store? checkers)))
|
||||||
|
|
||||||
(define (call-maybe-with-store proc)
|
(define (call-maybe-with-store proc)
|
||||||
(if any-lint-checker-requires-store?
|
(if any-lint-checker-requires-store?
|
||||||
(with-store store
|
(with-store store
|
||||||
(proc store))
|
(proc store))
|
||||||
(proc #f)))
|
(proc #f)))
|
||||||
|
|
||||||
(call-maybe-with-store
|
(call-maybe-with-store
|
||||||
(lambda (store)
|
(lambda (store)
|
||||||
(cond
|
(cond
|
||||||
((null? args)
|
((null? args)
|
||||||
(fold-packages (lambda (p r) (run-checkers p checkers
|
(fold-packages (lambda (p r) (run-checkers p checkers
|
||||||
#:store store)) '()))
|
#:store store)) '()))
|
||||||
(else
|
(else
|
||||||
(for-each (lambda (spec)
|
(for-each (lambda (spec)
|
||||||
(run-checkers (specification->package spec) checkers
|
(run-checkers (specification->package spec) checkers
|
||||||
#:store store))
|
#:store store))
|
||||||
args))))))))
|
args)))))))))
|
||||||
|
Loading…
Reference in New Issue
Block a user