summaryrefslogtreecommitdiff
path: root/module/ice-9/read.scm
diff options
context:
space:
mode:
authorMichael Gran <spk121@yahoo.com>2021-03-05 22:24:40 -0800
committerMichael Gran <spk121@yahoo.com>2021-03-05 22:24:40 -0800
commit1ae9a8df3a5893118715c4100548e9e55d2a4d90 (patch)
tree1859e3bc8240cb0392f975fdddccce33167635d4 /module/ice-9/read.scm
parent9fb550b945f6cc9d109d83f6621ceac69896d763 (diff)
downloadguile-1ae9a8df3a5893118715c4100548e9e55d2a4d90.tar.gz
Handle <eof> in reader's character escape sequences
* module/ice-9/read.scm (read-r6rs-hex-escape, read-fixed-hex-escape): modified
Diffstat (limited to 'module/ice-9/read.scm')
-rw-r--r--module/ice-9/read.scm6
1 files changed, 6 insertions, 0 deletions
diff --git a/module/ice-9/read.scm b/module/ice-9/read.scm
index bc9e15288..3b8fd3537 100644
--- a/module/ice-9/read.scm
+++ b/module/ice-9/read.scm
@@ -249,8 +249,12 @@
(cond
((hex-digit ch) => (lambda (digit) (lp (+ (* 16 res) digit))))
((eqv? ch #\;) (integer->char res))
+ ((eof-object? ch)
+ (error "unexpected end of input in character escape sequence"))
(else
(error "invalid character in escape sequence: ~S" ch)))))))
+ ((eof-object? ch)
+ (error "unexpected end of input in character escape sequence"))
(else
(error "invalid character in escape sequence: ~S" ch)))))
@@ -263,6 +267,8 @@
((hex-digit ch) =>
(lambda (digit)
(lp (1- len) (+ (* res 16) digit))))
+ ((eof-object? ch)
+ (error "unexpected end of input in character escape sequence"))
(else
(error "invalid character in escape sequence: ~S" ch)))))))