chiark / gitweb /
src/pset-parse.lisp: Evaluate the expression in `? SEXP'.
[sod] / src / pset-parse.lisp
index 6619e1bfef599b8979044ef2f6eb170795a52a31..b3b1d8ca571612e0e89f34a4200c9301bf664553 100644 (file)
@@ -100,7 +100,8 @@     (defun parse-expression (scanner)
                                   (sexp (read stream t)))
                              (scanner-step scanner)
                              (multiple-value-bind (type value)
-                                 (decode-property sexp)
+                                 (restart-case (decode-property (eval sexp))
+                                   (continue () (values :invalid nil)))
                                (values (cons type value) t t))))
                           (#\{
                            (values (cons :fragment