diff --git a/scheme/last-revision b/scheme/last-revision index f488b51..216fc43 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1466 +1467 diff --git a/scheme/psyntax.expander.ss b/scheme/psyntax.expander.ss index f1ed79c..d5cb97c 100644 --- a/scheme/psyntax.expander.ss +++ b/scheme/psyntax.expander.ss @@ -545,6 +545,7 @@ [(pair? x) (cons (strip-annotations (car x)) (strip-annotations (cdr x)))] + [(vector? x) (vector-map strip-annotations x)] [(annotation? x) (annotation-stripped x)] [else x])) @@ -552,8 +553,10 @@ (lambda (x m*) (if (top-marked? m*) (if (or (annotation? x) - (and (pair? x) - (annotation? (car x)))) + (and (pair? x) + (annotation? (car x))) + (and (vector? x) (> (vector-length x) 0) + (annotation? (vector-ref x 0)))) ;;; TODO: Ask Kent why this is a sufficient test (strip-annotations x) x)