From 45968e8a3c497f384d1994a4d279888a42be76c1 Mon Sep 17 00:00:00 2001 From: Sorawee Porncharoenwase Date: Fri, 1 Nov 2019 21:12:31 -0700 Subject: [PATCH] Fix #2885: convert number entity to character --- pkgs/racket-test/tests/xml/num-entity.rkt | 15 +++++++++++++++ racket/collects/xml/private/reader.rkt | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 pkgs/racket-test/tests/xml/num-entity.rkt diff --git a/pkgs/racket-test/tests/xml/num-entity.rkt b/pkgs/racket-test/tests/xml/num-entity.rkt new file mode 100644 index 0000000000..62998e902f --- /dev/null +++ b/pkgs/racket-test/tests/xml/num-entity.rkt @@ -0,0 +1,15 @@ +#lang racket/base +(require xml) + +(module+ test + (require rackunit) + + (define ex #< + +EOF + ) + + (check-equal? + (xml->xexpr (document-element (read-xml (open-input-string ex)))) + '(blah ((foo "1 &\r\n2"))))) diff --git a/racket/collects/xml/private/reader.rkt b/racket/collects/xml/private/reader.rkt index 63c7257217..825be3a6e7 100644 --- a/racket/collects/xml/private/reader.rkt +++ b/racket/collects/xml/private/reader.rkt @@ -180,7 +180,7 @@ [(gt) ">"] [(quot) "\""] [(apos) "'"] - [else #f])) + [else (and (number? name) (string (integer->char name)))])) (define-struct (EOF source) ())