From: Mark Wooding Date: Thu, 26 May 2016 08:26:09 +0000 (+0100) Subject: src/parser/scanner-impl.lisp: Add missing `scanner-unread' method. X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/commitdiff_plain/2392e488500d311472fef01d2226b5a15e5ca65e src/parser/scanner-impl.lisp: Add missing `scanner-unread' method. For some reason, `string-scanner' didn't have this defined. --- diff --git a/doc/SYMBOLS b/doc/SYMBOLS index 0d41e6b..ddf63e5 100644 --- a/doc/SYMBOLS +++ b/doc/SYMBOLS @@ -2037,6 +2037,7 @@ scanner-token sod:sod-token-scanner scanner-unread charbuf-scanner t + string-scanner t cl:shared-initialize charbuf-scanner t [:after] simple-binary-operator t [:after] diff --git a/src/parser/scanner-impl.lisp b/src/parser/scanner-impl.lisp index 00c41eb..8bca29f 100644 --- a/src/parser/scanner-impl.lisp +++ b/src/parser/scanner-impl.lisp @@ -81,6 +81,9 @@ (defmethod scanner-current-char ((scanner string-scanner)) (defmethod scanner-step ((scanner string-scanner)) (incf (string-scanner-index scanner))) +(defmethod scanner-unread ((scanner string-scanner) char) + (decf (string-scanner-index scanner))) + (defmethod scanner-capture-place ((scanner string-scanner)) (string-scanner-index scanner))