anchor.diff:        (:metaclass ginterface-class)
         (:gtype ,(register-type-as type)))))
   
  -(defun ginterface-dependencies (type)
  +(defun ginterface-dependencies (type options)
     (delete-duplicates 
      (cons
       (supertype type)
  -    (mapcar #'param-value-type (query-object-interface-properties type)))))
  +    (append
  +     (mapcar #'param-value-type (query-object-interface-properties type))
  +     (loop
  +      for slot in (getf options :slots)
  +      as type = (getf (rest slot) :type)
  +      when (and type (symbolp type) (find-type-number type))
  +      collect (find-type-number type))))))
  +
   
   (register-derivable-type 'ginterface "GInterface" 'expand-ginterface-type 'ginterface-dependencies)
  
positive.code:   (declare (ignore type))
    (alien-type 'gobject))
  
  (define-type-method size-of ((type ginterface))
    (declare (ignore type))
    (size-of 'gobject))
  
  (define-type-method from-alien-form ((type ginterface) location)
    (declare (ignore type))
    (from-alien-form 'gobject location))
  
  (define-type-method from-alien-function ((type ginterface))
    (declare (ignore type))
    (from-alien-function 'gobject))
  
  (define-type-method to-alien-form ((type ginterface) instance)
    (declare (ignore type))
    (to-alien-form 'gobject instance))
  
  (define-type-method to-alien-function ((type ginterface))
    (declare (ignore type))
    (to-alien-function 'gobject))
  
  (define-type-method reader-function ((type ginterface))
    (declare (ignore type))
    (reader-function 'gobject))
  
  (define-type-method writer-function ((type ginterface))
    (declare (ignore type))
    (writer-function 'gobject))
  
  (define-type-method destroy-function ((type ginterface))
    (declare (ignore type))
    (destroy-function 'gobject))
  
  
  ;;;;
  
negative.code: ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  ;; $Id: ginterface.lisp,v 1.17 2006-04-25 22:02:34 espen Exp $
  
  (in-package "GLIB")
  
  