From 3244fa7a3cb6dae59ad934002f717be95062d043 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 17 Mar 2021 18:14:58 -0600 Subject: [PATCH] normalize error message for `mem{ber|q|v}` Restore roughly the old error message for BC, but also adjust it to use the modern error-message style (with newlines). --- racket/collects/racket/private/member.rkt | 3 ++- racket/src/bc/src/list.c | 2 +- racket/src/cs/rumble/error-rewrite.ss | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/racket/collects/racket/private/member.rkt b/racket/collects/racket/private/member.rkt index f811747e60..1e2935e0e2 100644 --- a/racket/collects/racket/private/member.rkt +++ b/racket/collects/racket/private/member.rkt @@ -5,7 +5,8 @@ ;; helper for member error cases (define-values (bad-list) (λ (who orig-l) - (raise-mismatch-error who "not a proper list: " orig-l))) + (raise-arguments-error who "not a proper list" + "in" orig-l))) (define-values (member) (letrec-values ([(member) diff --git a/racket/src/bc/src/list.c b/racket/src/bc/src/list.c index 41272d874b..a82323c40b 100644 --- a/racket/src/bc/src/list.c +++ b/racket/src/bc/src/list.c @@ -1742,7 +1742,7 @@ scheme_checked_list_ref(int argc, Scheme_Object *argv[]) static void mem_past_end(const char *name, Scheme_Object *s_arg, Scheme_Object *arg) { scheme_contract_error(name, - "reached a non-pair", + "not a proper list", "in", 1, arg, "looking for", 1, s_arg, NULL); diff --git a/racket/src/cs/rumble/error-rewrite.ss b/racket/src/cs/rumble/error-rewrite.ss index 0822213764..ca71aa4263 100644 --- a/racket/src/cs/rumble/error-rewrite.ss +++ b/racket/src/cs/rumble/error-rewrite.ss @@ -111,7 +111,7 @@ " in: ~s") irritants)] [(or (eq? who 'memq) (eq? who 'memv)) - (values "not a proper list: ~s" irritants)] + (values "not a proper list\n in: ~s" irritants)] [(equal? str "~s is not a valid index for ~s") (cond [(exact-nonnegative-integer? (car irritants))