src/parser/scanner-impl.lisp: Add missing `scanner-unread' method.
authorMark Wooding <mdw@distorted.org.uk>
Thu, 26 May 2016 08:26:09 +0000 (09:26 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 8 Jun 2018 18:58:28 +0000 (19:58 +0100)
For some reason, `string-scanner' didn't have this defined.

doc/SYMBOLS
src/parser/scanner-impl.lisp

index 0d41e6b..ddf63e5 100644 (file)
@@ -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]
index 00c41eb..8bca29f 100644 (file)
@@ -81,6 +81,9 @@
 (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))