chiark / gitweb /
Update automatically managed build utilities.
[sod] / src / parser / parser-expr-impl.lisp
index e0c681b700420a3915e6bf22dc67c4aaa34f3c51..41c154f2a73af801799866477ed17cc3dd8c289d 100644 (file)
@@ -116,14 +116,14 @@ (defmethod push-operator
 
 (defmethod apply-operator
     ((operator simple-unary-operator) (state expression-parse-state))
-  (with-slots (function) operator
+  (with-slots ((function %function)) operator
     (with-slots (valstack) state
       (assert (not (null valstack)))
       (push (funcall function (pop valstack)) valstack))))
 
 (defmethod apply-operator
     ((operator simple-binary-operator) (state expression-parse-state))
-  (with-slots (function) operator
+  (with-slots ((function %function)) operator
     (with-slots (valstack) state
       (assert (not (or (null valstack)
                       (null (cdr valstack)))))
@@ -151,7 +151,7 @@ (defmethod push-operator
          (let ((head (car opstack)))
            (cond ((not (typep head 'open-parenthesis))
                   (apply-operator head state))
-                 ((not (eq (slot-value head 'tag) tag))
+                 ((not (eql (slot-value head 'tag) tag))
                   (fail))
                  (t
                   (return)))