anchor.diff:          (setf (foreign-record-bit-size record) bit-size))
         (unless (= 0 bit-alignment)
           (setf (foreign-record-bit-alignment record) bit-alignment))
  -      (if (car field-list)
  -          (progn
  -            (setf (foreign-record-fields record)
  -                  (parse-record-fields type name field-list))
  -            (when incomplete-p
  -              (remhash name *foreign-incomplete*)))
  -          (setf (gethash name *foreign-incomplete*) record))
  +      (when (car field-list)
  +        (setf (foreign-record-fields record)
  +              (parse-record-fields type name field-list)))
         record)))
   
   (defun define-foreign-enum (name id value-list)
  
positive.code: appropriate."
    (assert (member type '(:struct :union)))
    (with-wrap-attempt ("define foreign ~A ~S" type name) name
      (let* ((record (gethash name *foreign-incomplete*))
             (incomplete-p record))
        (unless record
          (setf record (make-instance 'foreign-record
                                      :name name
  
negative.code: (defvar *foreign-types* (make-hash-table :test 'equal))
  (defvar *foreign-functions* (make-hash-table))
  (defvar *foreign-externs* (make-hash-table))
  
   ;; Temporary record indexing
  