diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt index 42b6988036..38052342fe 100644 --- a/racket/collects/compiler/private/xform.rkt +++ b/racket/collects/compiler/private/xform.rkt @@ -233,6 +233,9 @@ (define IS "(?:u|U|l|L)*") (define symbol-complex (trans (seqs L (arbno (alt L D))))) + + ;; Accomodate things like 10_1 in `availability` attributes: + (define pseudo-symbol-complex (trans (seqs (arbno D) "_" (arbno D)))) (define number-complex (trans (alt* @@ -376,6 +379,11 @@ (loop (cdar m) (cons (symbol (subbytes s (caar m) (cdar m))) result)))] + [(regexp-match-positions pseudo-symbol-complex s p) + => (lambda (m) + (loop (cdar m) + (cons (symbol (subbytes s (caar m) (cdar m))) + result)))] [(regexp-match-positions number-complex s p) => (lambda (m) (loop (cdar m)