diff options
-rw-r--r-- | Lisp/data-types.lisp | 3 | ||||
-rw-r--r-- | Lisp/libobjcl.lisp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/Lisp/data-types.lisp b/Lisp/data-types.lisp index 7c09306..7c08891 100644 --- a/Lisp/data-types.lisp +++ b/Lisp/data-types.lisp @@ -127,7 +127,8 @@ The following calls are all equivalent: (c2mop:set-funcallable-instance-function selector #'(lambda (receiver &rest args) - (apply #'invoke-by-name receiver selector args)))) + (apply #'invoke-by-name receiver selector args))) + selector) (defmethod initialize-instance :after ((selector selector) diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp index f733211..a1e25cb 100644 --- a/Lisp/libobjcl.lisp +++ b/Lisp/libobjcl.lisp @@ -938,7 +938,8 @@ separating parts by hyphens works nicely in all of the `:INVERT`, :pointer (%objcl-method-selector (mem-aref method-array :pointer i)))) - (foreign-free method-array)))))) + (unless (zerop (mem-ref count-buf :unsigned-int)) + (foreign-free method-array))))))) (collect-methods class) (collect-methods (%objcl-class-metaclass class)))) |