From 91cfdac307b809863c33e3f9086f2e93c54960d1 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Thu, 15 Nov 2018 21:18:07 -0500 Subject: [PATCH] Throw an error when missing a single quote We used to loop forever here because of the lack of 'eof-object?' test! * geesh/lexer.scm (get-single-quotation): Throw an error on unexpected end-of-file. --- geesh/lexer.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/geesh/lexer.scm b/geesh/lexer.scm index 1d2a9af..52f6e7c 100644 --- a/geesh/lexer.scm +++ b/geesh/lexer.scm @@ -365,6 +365,7 @@ next character statisfies @var{pred} (or is a newline)." (#\' (let loop ((chr (get-char port)) (acc '())) (match chr + ((? eof-object?) (throw 'lex-error)) (#\' `( ,(list->string (reverse! acc)))) (x (loop (get-char port) (cons x acc))))))))