anchor.diff:  	type
         (let ((name (find-foreign-type-name type-number)))
   	(cond
  -	 ((and name (type-number-from-glib-name name nil))
  +	 ((and name (not (= (type-number-from-glib-name name nil) type-number)))
   	  ;; This is a hack because GdkEvent seems to be registered
   	  ;; multiple times
   	  (type-from-number (type-number-from-glib-name name)))
  
positive.code: 
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (defclass ginstance-class (proxy-class)
      ()))
  
  
  (defmethod shared-initialize :after ((class ginstance-class) names &key name gtype)
    (let* ((class-name (or name (class-name class)))
  	 (super (most-specific-proxy-superclass class))
  	 (foreign-name (or (first gtype) (default-type-init-name class-name)))
  	 (type-number 
  	  (or 
  	   (find-type-number class-name)
  	   (if (type-number-from-glib-name foreign-name nil)
  	       (register-type class-name foreign-name)
  	     (register-new-type class-name (class-name super) foreign-name)))))
      (unless (eq (class-name super) (supertype type-number))
        (warn "~A is the super type for ~A in the gobject type system."
         (supertype type-number) class-name))
  
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: gtype.lisp,v 1.36 2006-02-01 22:48:39 espen Exp $
  
  (in-package "GLIB")
  
  