chiark / gitweb /
src/pset-parse.lisp: Evaluate the expression in `? SEXP'.
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)
Trap errors, because they shouldn't abort the run.

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