From c1098ad8614af0cf52d057df6e9c2a17aaf19fe3 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Thu, 26 May 2016 09:26:09 +0100 Subject: [PATCH 1/1] src/lexer-proto.lisp (lexer-error): Fix spin from bad `format' string. Organization: Straylight/Edgeware From: Mark Wooding What should have been the `else' branch of the hairy list presentation said `~;:' instead of `~:;', with the result that if there are four or more expected character sequences, no branch of the conditional matches, and the loop body doesn't consume any items so it spins forever. --- src/lexer-proto.lisp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lexer-proto.lisp b/src/lexer-proto.lisp index d6d33cb..1850326 100644 --- a/src/lexer-proto.lisp +++ b/src/lexer-proto.lisp @@ -82,7 +82,7 @@ (export 'lexer-error) (defun lexer-error (char-scanner expected consumedp) "Signal a continuable lexical error." (cerror* "Lexical error: ~ - expected ~{~#[~;~A~;~A or ~A~;:~A, ~]~} ~ + expected ~{~#[~;~A~;~A or ~A~:;~A, ~]~} ~ but found ~/sod::show-char/~ ~@[ at ~A~]" (mapcar (lambda (exp) -- [mdw]