From: Mark Wooding Date: Thu, 26 May 2016 08:26:09 +0000 (+0100) Subject: src/pset-parse.lisp: Evaluate the expression in `? SEXP'. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/commitdiff_plain/c6ec484fcf13c0faab6ce5bbbb6ff510387763a5?hp=b944e68b291d56a561c8797e138b95f1b1092d0a src/pset-parse.lisp: Evaluate the expression in `? SEXP'. Trap errors, because they shouldn't abort the run. --- diff --git a/src/pset-parse.lisp b/src/pset-parse.lisp index 6619e1b..b3b1d8c 100644 --- a/src/pset-parse.lisp +++ b/src/pset-parse.lisp @@ -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