diff --git a/pkgs/racket-test-core/tests/racket/basic.rktl b/pkgs/racket-test-core/tests/racket/basic.rktl index a33c2919a6..906adfcbd1 100644 --- a/pkgs/racket-test-core/tests/racket/basic.rktl +++ b/pkgs/racket-test-core/tests/racket/basic.rktl @@ -2126,6 +2126,7 @@ (err/rt-test (raise-result-arity-error #f (expt 2 100) #f) exn:fail:contract:arity?) (err/rt-test (raise-result-arity-error #f (expt 2 100) "\n in: extra") exn:fail:contract:arity?) (err/rt-test (raise-result-arity-error #f (expt 2 100) "\n in: extra" 1 2 3 4 5) exn:fail:contract:arity?) +(err/rt-test (raise-result-arity-error 'oops 5 "%") exn:fail:contract:arity?) (define (exn:fail:contract:arity?/#f e) (not (exn:fail:contract:arity? e))) diff --git a/racket/src/racket/src/error.c b/racket/src/racket/src/error.c index 762f062b7d..87154fee76 100644 --- a/racket/src/racket/src/error.c +++ b/racket/src/racket/src/error.c @@ -3055,7 +3055,7 @@ static Scheme_Object *raise_result_arity_error(int argc, Scheme_Object *argv[]) scheme_wrong_return_arity(where, expected, argc-3, got_argv, - detail, + (detail ? "%s" : NULL), detail, NULL); return scheme_void;