aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2024-09-03 18:12:56 +0100
committerArun Isaac2024-09-05 16:22:49 +0100
commitfe5b482b478261d32870a3a7e2cdb7ef0e78f67b (patch)
treea4c0e8c38a680271274c1cbcd12f4c411635d799
parentd145134fb75635d7ae53630e93cb637536fde024 (diff)
downloadravanan-fe5b482b478261d32870a3a7e2cdb7ef0e78f67b.tar.gz
ravanan-fe5b482b478261d32870a3a7e2cdb7ef0e78f67b.tar.lz
ravanan-fe5b482b478261d32870a3a7e2cdb7ef0e78f67b.zip
command-line-tool: Disambiguate error from raise-error.
error reports an error to the user. raise-error raises an exception and is meant for programmers. * ravanan/command-line-tool.scm: Import error from (rnrs base) as raise-error. (build-command, collect-input-files, resolve-inputs, build-command-line-tool-script): Use raise-error instead of error.
-rw-r--r--ravanan/command-line-tool.scm14
1 files changed, 8 insertions, 6 deletions
diff --git a/ravanan/command-line-tool.scm b/ravanan/command-line-tool.scm
index 542e481..391ed81 100644
--- a/ravanan/command-line-tool.scm
+++ b/ravanan/command-line-tool.scm
@@ -17,7 +17,7 @@
;;; along with ravanan. If not, see <https://www.gnu.org/licenses/>.
(define-module (ravanan command-line-tool)
- #:use-module ((rnrs base) #:select (assertion-violation))
+ #:use-module ((rnrs base) #:select (assertion-violation (error . raise-error)))
#:use-module ((rnrs conditions) #:select (define-condition-type))
#:use-module (rnrs exceptions)
#:use-module (srfi srfi-1)
@@ -233,7 +233,7 @@ G-expressions are inserted."
(let* ((type (formal-parameter-type type-tree))
(matched-type (match-type input type)))
(unless matched-type
- (error "Type mismatch" input type))
+ (raise-error input "Type mismatch" input type))
(let ((position
(from-maybe
(maybe-let* ((position (maybe-assoc-ref binding "position")))
@@ -329,7 +329,7 @@ basename of the original path, and not the store-interned path."
(let* ((type (formal-parameter-type type-tree))
(matched-type (match-type input type)))
(unless matched-type
- (error "Type mismatch" input type))
+ (raise-error input "Type mismatch" input type))
(cond
;; Recurse over array types.
;; TODO: Implement record and enum types.
@@ -370,7 +370,7 @@ original path, and not the store-interned path."
(let* ((type (formal-parameter-type type-tree))
(matched-type (match-type input type)))
(unless matched-type
- (error "Type mismatch" input type))
+ (raise-error input "Type mismatch" input type))
;; TODO: Implement record and enum types.
(cond
;; Recurse over array types.
@@ -731,7 +731,9 @@ named @var{name} with @var{inputs} using tools from Guix manifest
'null))
(matched-type (match-type output-value output-type)))
(unless matched-type
- (error "Type mismatch" output-value output-type))
+ (raise-error output-value
+ "Type mismatch"
+ output-value output-type))
(case matched-type
((null)
(list))
@@ -762,7 +764,7 @@ named @var{name} with @var{inputs} using tools from Guix manifest
(from-maybe
(maybe-assoc-ref (just output)
"outputBinding" "glob")
- (error "glob output binding not specified")))
+ (raise-error #f "glob output binding not specified")))
other-outputs)))))
out
#:pretty #t)