diff --git a/lib/srfi/38.scm b/lib/srfi/38.scm index 9830970e..9650f309 100644 --- a/lib/srfi/38.scm +++ b/lib/srfi/38.scm @@ -187,6 +187,10 @@ (define (read-named-char c in) (let ((name (read-name c in))) (cond ((assoc name named-chars string-ci=?) => cdr) + ((and (or (eqv? c #\x) (eqv? c #\X)) + (string->number (substring name 1 (string-length name)) + 16)) + => integer->char) (else (error "unknown char name" name))))) (define (read-type-id in) (let ((ch (peek-char in)))