Comment 1 for bug 1473506

Revision history for this message
Attila Lendvai (attila-lendvai) wrote :

using ENSURE-PARSED-BASE-TYPE instead of PARSE-TYPE fixes it:

(defun convert-from-foreign (value type)
  (translate-from-foreign value (ensure-parsed-base-type type)))

(define-compiler-macro convert-from-foreign (value type)
  (if (constantp type)
      (expand-from-foreign value (ensure-parsed-base-type (eval type)))
      `(translate-from-foreign ,value (parse-type ,type))))

but also breaks some other tests.