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.*") #rx".*expected number of values not received.*")
(err/rt-test (begin (for/fold ([x 1]) () (values 1 2)) 1) (err/rt-test (begin (for/fold ([x 1]) () (values 1 2)) 1)
exn:fail:contract:arity? 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) (err/rt-test (begin (for/fold ([x 1] [y 2]) ([i (in-range 10)]) 1) 1)
exn:fail:contract:arity? exn:fail:contract:arity?
#rx".*expected number of values not received.*") #rx".*expected number of values not received.*")
@ -753,7 +753,7 @@
#rx"expected: hash\\?") #rx"expected: hash\\?")
(err/rt-test (for ([x (in-hash (hash 1 2))]) x) (err/rt-test (for ([x (in-hash (hash 1 2))]) x)
exn:fail:contract:arity? 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) (err/rt-test (for ([x (in-hash 1 2 3)]) x)
exn:fail:contract:arity?) exn:fail:contract:arity?)

View File

@ -1118,14 +1118,17 @@
(syntax-test #'(cond [(< 2 3) (define x 2)] [else 5])) (syntax-test #'(cond [(< 2 3) (define x 2)] [else 5]))
(syntax-test #'(cond [else (define x 2)])) (syntax-test #'(cond [else (define x 2)]))
;; No good way to test in mzc: (define (definition-arity-error? x)
(error-test #'(define x (values)) exn:application:arity?) (and (exn:application:arity? x)
(error-test #'(define x (values 1 2)) exn:application:arity?) (regexp-match? #rx"expected number of values not received" (exn-message x))))
(error-test #'(define-values () 3) exn:application:arity?)
(error-test #'(define-values () (values 1 3)) exn:application:arity?) (error-test #'(define x (values)) definition-arity-error?)
(error-test #'(define-values (x y) (values)) exn:application:arity?) (error-test #'(define x (values 1 2)) definition-arity-error?)
(error-test #'(define-values (x y) 3) exn:application:arity?) (error-test #'(define-values () 3) definition-arity-error?)
(error-test #'(define-values (x y) (values 1 2 3)) exn:application:arity?) (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)) (begin (define ed-t1 1) (define ed-t2 2))
(test 1 'begin-define ed-t1) (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". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x".
*************** ***************
*** 266,275 **** *** 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 3 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 3 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: "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: "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: "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: "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: "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 ---- --- 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 3 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 3 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: "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 (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) 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 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: "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: "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: "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 **** *** 4037,4043 ****
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". 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". 3.mo:Expected error in mat letrec: "attempt to assign undefined variable b".
*************** ***************
*** 266,277 **** *** 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 3 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 3 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: "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: "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: "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: "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: "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".
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: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
--- 266,277 ---- --- 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 3 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 3 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: "incorrect number of arguments 1 to #<procedure>". ! 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: "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: "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: "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 2 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: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
*************** ***************
*** 308,315 **** *** 308,315 ****

View File

@ -36,27 +36,27 @@
3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x". 3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x".
*************** ***************
*** 191,200 **** *** 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 3 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 3 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: "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: "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: "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: "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: "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 ---- --- 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 3 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 3 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: "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 (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) 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 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: "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: "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: "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 **** *** 3645,3651 ****
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"". 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". 3.mo:Expected error in mat letrec: "attempt to assign undefined variable b".
*************** ***************
*** 191,202 **** *** 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 3 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 3 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: "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: "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: "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: "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: "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".
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: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
--- 191,202 ---- --- 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 3 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 3 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: "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: "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: "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: "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 2 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: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
*************** ***************
*** 233,240 **** *** 233,240 ****

View File

@ -183,30 +183,30 @@
3.mo:Expected error in mat letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a".
*************** ***************
*** 266,277 **** *** 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 3 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 3 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: "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: "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: "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: "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: "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".
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: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
--- 266,277 ---- --- 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 3 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 3 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: "incorrect number of arguments 1 to #<procedure>". ! 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: "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: "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: "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 2 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: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
*************** ***************
*** 7466,7472 **** *** 7466,7472 ****

View File

@ -170,30 +170,30 @@
3.mo:Expected error in mat letrec: "attempt to reference undefined variable a". 3.mo:Expected error in mat letrec: "attempt to reference undefined variable a".
*************** ***************
*** 191,202 **** *** 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 3 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 3 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: "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: "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: "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: "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: "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".
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: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
--- 197,208 ---- --- 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 3 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 3 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: "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: "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: "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: "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 2 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: "cdr: a is not a pair". 3.mo:Expected error in mat mrvs: "cdr: a is not a pair".
*************** ***************
*** 4004,4019 **** *** 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: "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: "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 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 0 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 3 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 3 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: "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: "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: "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: "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: "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".
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: "cdr: a is not a pair". 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)".
3.mo:Expected error in mat let-values: "invalid syntax (let-values ((x)))". 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: "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: "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 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 0 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 3 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 3 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: "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: "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: "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: "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: "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".
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: "cdr: a is not a pair". 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)".
3.mo:Expected error in mat let-values: "invalid syntax (let-values ((x)))". 3.mo:Expected error in mat let-values: "invalid syntax (let-values ((x)))".

View File

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

View File

@ -11366,7 +11366,7 @@
(literal ,(make-info-literal #t 'object '$oops (constant symbol-value-disp))) (literal ,(make-info-literal #t 'object '$oops (constant symbol-value-disp)))
,(%constant sfalse) ,(%constant sfalse)
(literal ,(make-info-literal #f 'object (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))) (length t*)) 0)))
(set! ,lvalue ,(%constant svoid)))] (set! ,lvalue ,(%constant svoid)))]
[else (sorry! who "unexpected Rhs expression ~s" e)]))))))) [else (sorry! who "unexpected Rhs expression ~s" e)])))))))
@ -11784,7 +11784,7 @@
(literal ,(make-info-literal #t 'object '$oops (constant symbol-value-disp))) (literal ,(make-info-literal #t 'object '$oops (constant symbol-value-disp)))
,(%constant sfalse) ,(%constant sfalse)
(literal ,(make-info-literal #f 'object (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)) (length t*)) 0))
()) ())
(true))]) (true))])

View File

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

View File

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

View File

@ -64,8 +64,11 @@
(getprop n 'error-rename n))) (getprop n 'error-rename n)))
(define is-not-a-str "~s is not a") (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) (define (rewrite-format who str irritants)
(#%printf ">> ~s\n" str)
(cond (cond
[(equal? str "attempt to reference undefined variable ~s") [(equal? str "attempt to reference undefined variable ~s")
(values (string-append (values (string-append
@ -75,6 +78,18 @@
[(and (equal? str "undefined for ~s") [(and (equal? str "undefined for ~s")
(equal? irritants '(0))) (equal? irritants '(0)))
(values "division by zero" null)] (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") [(equal? str "~s is not a pair")
(format-error-values "contract violation\n expected: pair?\n given: ~s" (format-error-values "contract violation\n expected: pair?\n given: ~s"
irritants)] irritants)]

View File

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

View File

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

View File

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

View File

@ -129,4 +129,5 @@
`(call-with-values (lambda () ,rhs) `(call-with-values (lambda () ,rhs)
(case-lambda (case-lambda
[,ids ,body] [,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 (cond
[no-prompt? [no-prompt?
(cons (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))] (loop (cdr l) mut-l null (reverse ids) knowns))]
[else [else
(define expr (define expr