src/utilities.lisp (defvar-unbound): Make a variable with docs and no value.
[sod] / src / pset-parse.lisp
index ddc34e0..b3b1d8c 100644 (file)
                                   (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
 ;;;--------------------------------------------------------------------------
 ;;; Parsing property sets.
 
+(export 'parse-property)
 (defun parse-property (scanner pset)
   "Parse a single property using the SCANNER; add it to the PSET."
   ;; property ::= id `=' expression