From 23735137eb666e9fe2e848563615bca5bcea1282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 8 Nov 2017 11:16:25 +0100 Subject: ui: Define and honor '&error-location' and '&fix-hint' conditions. * guix/utils.scm (&error-location, &fix-hint): New condition types. * guix/ui.scm (report-load-error): Handle them. (call-with-error-handling): Honor '&error-location'. --- guix/utils.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'guix/utils.scm') diff --git a/guix/utils.scm b/guix/utils.scm index eb1ec29b32..c0ffed172a 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -28,6 +28,7 @@ #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-35) #:use-module (srfi srfi-39) #:use-module (ice-9 binary-ports) #:autoload (rnrs io ports) (make-custom-binary-input-port) @@ -60,6 +61,14 @@ source-properties->location location->source-properties + &error-location + error-location? + error-location + + &fix-hint + fix-hint? + condition-fix-hint + nix-system->gnu-triplet gnu-triplet->nix-system %current-system @@ -750,6 +759,14 @@ a location object." (column . ,(location-column loc)) (filename . ,(location-file loc)))) +(define-condition-type &error-location &error + error-location? + (location error-location)) ; + +(define-condition-type &fix-hint &condition + fix-hint? + (hint condition-fix-hint)) ;string + ;;; Local Variables: ;;; eval: (put 'call-with-progress-reporter 'scheme-indent-function 1) ;;; End: -- cgit v1.2.3