chiark / gitweb /
Major effort to plug slot-name leaks.
[sod] / src / parser / parser-impl.lisp
index 0a7d667e1f44635d54ef9ea250d1c874a1adf00e..352a72514d48052711c326e9406aab6e721ec306 100644 (file)
@@ -129,12 +129,12 @@ (defmethod parser-places-must-be-released-p ((context list-parser)) nil)
 
 (export 'string-parser)
 (defclass string-parser (character-parser-context)
-  ((string :initarg :string :reader parser-string)
+  ((%string :initarg :string :reader parser-string)
    (index :initarg :index :initform 0 :reader parser-index)
-   (length :initform (gensym "LEN-") :reader parser-length)))
+   (%length :initform (gensym "LEN-") :reader parser-length)))
 
 (defmethod wrap-parser ((context string-parser) form)
-  (with-slots (string index length) context
+  (with-slots ((string %string) index (length %length)) context
     `(let* (,@(unless (symbolp string)
                (let ((s string))
                  (setf string (gensym "STRING-"))