From: espen Date: Thu, 31 May 2001 21:52:15 +0000 (+0000) Subject: Small bug fix X-Git-Tag: clg-0-90~373 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/commitdiff_plain/23e9322758a58525e968a6d94e9a3bf837b3473d?ds=sidebyside Small bug fix --- diff --git a/glib/gforeign.lisp b/glib/gforeign.lisp index 38a003e..d883e7a 100644 --- a/glib/gforeign.lisp +++ b/glib/gforeign.lisp @@ -15,7 +15,7 @@ ;; 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: gforeign.lisp,v 1.9 2001/05/11 15:57:57 espen Exp $ +;; $Id: gforeign.lisp,v 1.10 2001/05/31 21:52:15 espen Exp $ (in-package "GLIB") @@ -54,6 +54,8 @@ (defun find-type-method (type fname) (defun find-applicable-type-method (type-spec fname &optional (error t)) (flet ((find-superclass-method (class) (when class + (unless (class-finalized-p class) + (finalize-inheritance class)) (dolist (super (cdr (pcl::class-precedence-list class))) (return-if (find-type-method super fname))))) (find-expanded-type-method (type-spec) @@ -321,7 +323,7 @@ (defun %defbinding (foreign-name lisp-name lambda-list (dolist (arg args) (destructuring-bind (var expr type-spec style) arg (let ((declaration (translate-type-spec type-spec)) - (deallocation (cleanup-alien type-spec expr t))) + (deallocation (cleanup-alien type-spec var t))) (cond ((member style '(:out :in-out)) (alien-types `(* ,declaration)) @@ -616,7 +618,6 @@ (deftype-method translate-from-alien string )))) (deftype-method cleanup-alien string (type-spec c-string &optional weak-ref) - (declare (ignore type-spec)) (when weak-ref (unreference-alien type-spec c-string)))