cs: adjust result-arity error messages

Relevant to #3325
This commit is contained in:
Matthew Flatt 2020-12-14 15:46:37 -07:00
parent f76b814dd7
commit 0a28dd1064
20 changed files with 185 additions and 122 deletions

View File

@ -676,7 +676,7 @@
#rx".*expected number of values not received.*")
(err/rt-test (begin (for/fold ([x 1]) () (values 1 2)) 1)
exn:fail:contract:arity?
#rx"expected number of values not received|returned two values to single value return context")
#rx"expected number of values not received")
(err/rt-test (begin (for/fold ([x 1] [y 2]) ([i (in-range 10)]) 1) 1)
exn:fail:contract:arity?
#rx".*expected number of values not received.*")
@ -753,7 +753,7 @@
#rx"expected: hash\\?")
(err/rt-test (for ([x (in-hash (hash 1 2))]) x)
exn:fail:contract:arity?
#rx"expected number of values not received|returned two values to single value return context")
#rx"expected number of values not received")
(err/rt-test (for ([x (in-hash 1 2 3)]) x)
exn:fail:contract:arity?)

View File

@ -1118,14 +1118,17 @@
(syntax-test #'(cond [(< 2 3) (define x 2)] [else 5]))
(syntax-test #'(cond [else (define x 2)]))
;; No good way to test in mzc:
(error-test #'(define x (values)) exn:application:arity?)
(error-test #'(define x (values 1 2)) exn:application:arity?)
(error-test #'(define-values () 3) exn:application:arity?)
(error-test #'(define-values () (values 1 3)) exn:application:arity?)
(error-test #'(define-values (x y) (values)) exn:application:arity?)
(error-test #'(define-values (x y) 3) exn:application:arity?)
(error-test #'(define-values (x y) (values 1 2 3)) exn:application:arity?)
(define (definition-arity-error? x)
(and (exn:application:arity? x)
(regexp-match? #rx"expected number of values not received" (exn-message x))))
(error-test #'(define x (values)) definition-arity-error?)
(error-test #'(define x (values 1 2)) definition-arity-error?)
(error-test #'(define-values () 3) definition-arity-error?)
(error-test #'(define-values () (values 1 3)) definition-arity-error?)
(error-test #'(define-values (x y) (values)) definition-arity-error?)
(error-test #'(define-values (x y) 3) definition-arity-error?)
(error-test #'(define-values (x y) (values 1 2 3)) definition-arity-error?)
(begin (define ed-t1 1) (define ed-t2 2))
(test 1 'begin-define ed-t1)

View File

@ -36,27 +36,27 @@
3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x".
***************
*** 266,275 ****
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
! 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
--- 266,275 ----
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect argument count in call (call-with-values (lambda () 5 (values 2)) (lambda (x y) (+ x y)))".
! 3.mo:Expected error in mat mrvs: "incorrect argument count in call (call-with-values values (lambda (x) x))".
! 3.mo:Expected error in mat mrvs: "incorrect argument count in call (call-with-values values (lambda (x y) x))".
! 3.mo:Expected error in mat mrvs: "incorrect argument count in call (call-with-values f (lambda (x y) x))".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
***************
*** 4037,4043 ****
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"".

View File

@ -19,30 +19,30 @@
3.mo:Expected error in mat letrec: "attempt to assign undefined variable b".
***************
*** 266,277 ****
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
! 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
! 3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
--- 266,277 ----
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments 1 to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments 0 to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments 0 to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments 0 to #<procedure>".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
! 3.mo:Expected error in mat mrvs: "call-with-values: 17 is not a procedure".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
***************
*** 308,315 ****

View File

@ -36,27 +36,27 @@
3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x".
***************
*** 191,200 ****
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
! 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
--- 191,200 ----
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect argument count in call (call-with-values (lambda () 5 (values 2)) (lambda (x y) (+ x y)))".
! 3.mo:Expected error in mat mrvs: "incorrect argument count in call (call-with-values values (lambda (x) x))".
! 3.mo:Expected error in mat mrvs: "incorrect argument count in call (call-with-values values (lambda (x y) x))".
! 3.mo:Expected error in mat mrvs: "incorrect argument count in call (call-with-values f (lambda (x y) x))".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
***************
*** 3645,3651 ****
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"".

View File

@ -19,30 +19,30 @@
3.mo:Expected error in mat letrec: "attempt to assign undefined variable b".
***************
*** 191,202 ****
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
! 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
! 3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
--- 191,202 ----
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments to #<procedure>".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
! 3.mo:Expected error in mat mrvs: "call-with-values: 17 is not a procedure".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
***************
*** 233,240 ****

View File

@ -183,30 +183,30 @@
3.mo:Expected error in mat letrec: "attempt to reference undefined variable a".
***************
*** 266,277 ****
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
! 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
! 3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
--- 266,277 ----
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments 1 to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments 0 to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments 0 to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments 0 to #<procedure>".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
! 3.mo:Expected error in mat mrvs: "call-with-values: 17 is not a procedure".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
***************
*** 7466,7472 ****

View File

@ -170,30 +170,30 @@
3.mo:Expected error in mat letrec: "attempt to reference undefined variable a".
***************
*** 191,202 ****
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
! 3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
! 3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
! 3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
--- 197,208 ----
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments to #<procedure>".
! 3.mo:Expected error in mat mrvs: "incorrect number of arguments to #<procedure>".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
! 3.mo:Expected error in mat mrvs: "call-with-values: 17 is not a procedure".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
***************
*** 4004,4019 ****

View File

@ -262,18 +262,18 @@ primvars.mo:Expected error in mat trace-output-port: "trace-output-port: #<input
3.mo:Expected error in mat define-values: "duplicate variable in define-values left-hand side (x . x)".
3.mo:Expected error in mat define-values: "define-values: incorrect number of values from rhs (values)".
3.mo:Expected error in mat define-values: "duplicate variable in define-values left-hand side ($dv-foo2-x . $dv-foo2-x)".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
3.mo:Expected error in mat let-values: "invalid syntax (let-values)".
3.mo:Expected error in mat let-values: "invalid syntax (let-values ((x)))".

View File

@ -187,18 +187,18 @@ primvars.mo:Expected error in mat trace-output-port: "trace-output-port: #<input
3.mo:Expected error in mat define-values: "duplicate variable in define-values left-hand side (x . x)".
3.mo:Expected error in mat define-values: "define-values: incorrect number of values from rhs (values)".
3.mo:Expected error in mat define-values: "duplicate variable in define-values left-hand side ($dv-foo2-x . $dv-foo2-x)".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned three values to single value return context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 3 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "returned zero values to single value return context".
3.mo:Expected error in mat mrvs: "returned 0 values to single value return context".
3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "incorrect number of values received in multiple value context".
3.mo:Expected error in mat mrvs: "variable $mrvs-foo is not bound".
3.mo:Expected error in mat mrvs: "attempt to apply non-procedure 17".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned two values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "returned 2 values to single value return context".
3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
3.mo:Expected error in mat let-values: "invalid syntax (let-values)".
3.mo:Expected error in mat let-values: "invalid syntax (let-values ((x)))".

View File

@ -1317,7 +1317,7 @@
(noncontinuable-interrupt))]
[(ERROR_VALUES) (cnt)
($oops #f
"returned ~r values to single value return context"
"returned ~a values to single value return context"
cnt)]
[(ERROR_MVLET) (cnt)
($oops #f

View File

@ -11366,7 +11366,7 @@
(literal ,(make-info-literal #t 'object '$oops (constant symbol-value-disp)))
,(%constant sfalse)
(literal ,(make-info-literal #f 'object
(format "returned ~r values to single value return context"
(format "returned ~a values to single value return context"
(length t*)) 0)))
(set! ,lvalue ,(%constant svoid)))]
[else (sorry! who "unexpected Rhs expression ~s" e)])))))))
@ -11784,7 +11784,7 @@
(literal ,(make-info-literal #t 'object '$oops (constant symbol-value-disp)))
,(%constant sfalse)
(literal ,(make-info-literal #f 'object
(format "returned ~r values to single value return context"
(format "returned ~a values to single value return context"
(length t*)) 0))
())
(true))])

View File

@ -20893,6 +20893,7 @@ static const char *startup_source =
" unsafe-struct?"
" unsafe-struct"
" raise-binding-result-arity-error"
" raise-definition-result-arity-error"
" structure-type-lookup-prefab-uid"
" struct-type-constructor-add-guards"
" impersonator-val"

View File

@ -31,6 +31,7 @@
[call-with-module-prompt (known-procedure 2)]
[raise-binding-result-arity-error (known-procedure 4)]
[raise-definition-result-arity-error (known-procedure 4)]
[make-pthread-parameter (known-procedure 2)]
[engine-block (known-procedure 1)]

View File

@ -64,8 +64,11 @@
(getprop n 'error-rename n)))
(define is-not-a-str "~s is not a")
(define result-arity-msg-head "returned ")
(define result-arity-msg-tail " values to single value return context")
(define (rewrite-format who str irritants)
(#%printf ">> ~s\n" str)
(cond
[(equal? str "attempt to reference undefined variable ~s")
(values (string-append
@ -75,6 +78,18 @@
[(and (equal? str "undefined for ~s")
(equal? irritants '(0)))
(values "division by zero" null)]
[(and (string-prefix? result-arity-msg-head str)
(string-suffix? result-arity-msg-tail str))
(values (string-append "result arity mismatch;\n"
" expected number of values not received\n"
" expected: 1\n"
" received: " (let ([s (substring str
(string-length result-arity-msg-head)
(- (string-length str) (string-length result-arity-msg-tail)))])
(if (equal? s "~a")
(number->string (car irritants))
s)))
null)]
[(equal? str "~s is not a pair")
(format-error-values "contract violation\n expected: pair?\n given: ~s"
irritants)]

View File

@ -24512,7 +24512,7 @@
(begin
(begin-unsafe (hash-set! built-in-symbols built-in-s_0 #t))
built-in-s_0))))
(define effect_2243
(define effect_2278
(begin
(void
(begin
@ -24580,6 +24580,7 @@
unsafe-struct?
unsafe-struct
raise-binding-result-arity-error
raise-definition-result-arity-error
structure-type-lookup-prefab-uid
struct-type-constructor-add-guards
impersonator-val

View File

@ -20991,10 +20991,14 @@
(list ids_0 body_0)
(list
'args
(list*
'raise-binding-result-arity-error
(length ids_0)
'(args))))))))))))
(let ((app_0
(if (eq? target_0 'system) '() '(|#%app/no-return|))))
(qq-append
app_0
(list*
'raise-binding-result-arity-error
(length ids_0)
'(args))))))))))))))
(define equal-implies-eq?
(lambda (e_0)
(let ((hd_0
@ -23192,32 +23196,57 @@
app_0
app_1
(if no-prompt?_0
(cons
schemified_0
(let ((app_2 (cdr l_0)))
(loop_0
add-import!_0
allow-inline?_0
allow-set!-undefined?_0
datum-intern?_0
explicit-unnamed?_0
exports_0
extra-variables_0
final-knowns_0
imports_0
mutated_0
no-prompt?_0
prim-knowns_0
primitives_0
serializable?-box_0
simples_0
target_0
unsafe-mode?_0
app_2
mut-l_0
null
(reverse$1 ids_0)
knowns_0)))
(let ((app_2
(if (if unsafe-mode?_0
unsafe-mode?_0
(let ((or-part_0 (eq? target_0 'system)))
(if or-part_0
or-part_0
(if (pair? ids_0)
(null? (cdr ids_0))
#f))))
schemified_0
(list
'define-values
ids_0
(list
'call-with-values
(list 'lambda '() rhs_0)
(list
'case-lambda
(list ids_0 (list* 'values ids_0))
(list
'vals
(list*
'raise-definition-result-arity-error
(list 'quote ids_0)
'(vals)))))))))
(cons
app_2
(let ((app_3 (cdr l_0)))
(loop_0
add-import!_0
allow-inline?_0
allow-set!-undefined?_0
datum-intern?_0
explicit-unnamed?_0
exports_0
extra-variables_0
final-knowns_0
imports_0
mutated_0
no-prompt?_0
prim-knowns_0
primitives_0
serializable?-box_0
simples_0
target_0
unsafe-mode?_0
app_3
mut-l_0
null
(reverse$1 ids_0)
knowns_0))))
(let ((expr_0
(let ((app_2
(list

View File

@ -93,6 +93,7 @@
unsafe-struct?
unsafe-struct
raise-binding-result-arity-error
raise-definition-result-arity-error
structure-type-lookup-prefab-uid
struct-type-constructor-add-guards
impersonator-val

View File

@ -129,4 +129,5 @@
`(call-with-values (lambda () ,rhs)
(case-lambda
[,ids ,body]
[args (#%app/no-return raise-binding-result-arity-error ,(length ids) args)]))])])]))
[args (,@(if (aim? target 'system) '() '(#%app/no-return))
raise-binding-result-arity-error ,(length ids) args)]))])])]))

View File

@ -342,7 +342,18 @@
(cond
[no-prompt?
(cons
schemified
(cond
[(or unsafe-mode?
(aim? target 'system)
(and (pair? ids) (null? (cdr ids))))
schemified]
[else
`(define-values ,ids
(call-with-values
(lambda () ,rhs)
(case-lambda
[,ids (values . ,ids)]
[vals (raise-definition-result-arity-error ',ids vals)])))])
(loop (cdr l) mut-l null (reverse ids) knowns))]
[else
(define expr