X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/e0808c472145fc81e52898bc9ac289e10c4f4f41..2bc73f786f7dc35ecff3e1484a6376aae1de4962:/src/pset-impl.lisp diff --git a/src/pset-impl.lisp b/src/pset-impl.lisp index e3e505f..e340389 100644 --- a/src/pset-impl.lisp +++ b/src/pset-impl.lisp @@ -65,6 +65,15 @@ (defmethod coerce-property-value ((value symbol) (type (eql :symbol)) (wanted (eql :id))) (frob-identifier (symbol-name value))) +;;; Types. + +(defmethod coerce-property-value + ((value string) (type (eql :id)) (wanted (eql :type))) + (or (and (boundp '*module-type-map*) + (gethash value *module-type-map*)) + (find-simple-c-type value) + (error "Unknown type `~A'" value))) + ;;;-------------------------------------------------------------------------- ;;; Property sets.