From 4fb8e4a38dc966a31c0bf7a04f162068ffe138a2 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Sun, 6 Oct 2019 13:02:22 -0400 Subject: [PATCH] Avoid incorrect use of `cadr`. (#2848) Fixes #2847. --- racket/collects/racket/pretty.rkt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/racket/collects/racket/pretty.rkt b/racket/collects/racket/pretty.rkt index 9e2f3d68bc..c45650ecaa 100644 --- a/racket/collects/racket/pretty.rkt +++ b/racket/collects/racket/pretty.rkt @@ -779,10 +779,13 @@ (cond [(and (or (eq? (car expr) 'unquote) (eq? (car expr) 'unsyntax)) - (symbol? (cadr expr))) + ;; don't use cadr here since `car` and `cdr` are arguments to + ;; this function + (symbol? (car (cdr expr)))) + (define v (car (cdr expr))) (define s (if display? - (symbol->string (cadr expr)) - (format "~s" (cadr expr)))) + (symbol->string v) + (format "~s" v))) (when (and (positive? (string-length s)) (eqv? #\@ (string-ref s 0))) ;; Avoid ambiguity by adding a space