anchor.diff:  ;; License along with this library; if not, write to the Free Software
   ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   
  -;; $Id: glib.lisp,v 1.22 2004-12-26 11:40:58 espen Exp $
  +;; $Id: glib.lisp,v 1.23 2005-01-03 16:38:57 espen Exp $
   
   
   (in-package "GLIB")
  
positive.code:   (check-type id fixnum)
    (multiple-value-bind (user-data p) (gethash id *user-data*)
      (values (car user-data) p)))
  
  (defun destroy-user-data (id)
    (check-type id fixnum)
  
negative.code:   (destructuring-bind (element-type &optional (length '*)) args
      (if (eq length '*)
  	(error "Can't use vector of variable size as return type")
        `(map-c-vector 'vector #'identity ,c-vector ',element-type ',length))))
  
  (defmethod cleanup-form (location (type (eql 'vector)) &rest args)
    (declare (ignore type))
  