summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-07 00:41:33 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-07 00:41:33 +0100
commit5f83cd7ee8cd3e1860f111b8f4b89afdc0b97d00 (patch)
tree2d4176c50f500805b369c6af9f3bd23ee287c50e
parent869adead6800b00d8dc17a9dfa2bdaf83a175c67 (diff)
Use ENSURE-GENERIC-FUNCTION-USING-CLASS instead of ENSURE-GENERIC-FUNCTION.
darcs-hash:be3185662285bada199f68b1622c0be4ab399f29
-rw-r--r--Lisp/method-definition.lisp15
-rw-r--r--Lisp/tests.lisp4
2 files changed, 16 insertions, 3 deletions
diff --git a/Lisp/method-definition.lisp b/Lisp/method-definition.lisp
index 0d94401..451732c 100644
--- a/Lisp/method-definition.lisp
+++ b/Lisp/method-definition.lisp
@@ -223,7 +223,20 @@ __super__"
;; it means it's simply going to be
;; initialised when a method is first
;; added to the generic function.
- (ensure-generic-function
+ ;;
+ ;; For some reason,
+ ;; ENSURE-GENERIC-FUNCTION raises an
+ ;; error on Allegro CL claiming that
+ ;; MAKE-INSTANCE of
+ ;; OBJECTIVE-C-GENERIC-FUNCTION does
+ ;; not understand the
+ ;; :GENERIC-FUNCTION-CLASS initarg.
+ ;; Calling
+ ;; ENSURE-GENERIC-FUNCTION-USING-CLASS
+ ;; instead does not display this
+ ;; behaviour. Weird.
+ (ensure-generic-function-using-class
+ nil
',real-name
:generic-function-class
(find-class 'objective-c-generic-function)
diff --git a/Lisp/tests.lisp b/Lisp/tests.lisp
index 170f41c..902cc34 100644
--- a/Lisp/tests.lisp
+++ b/Lisp/tests.lisp
@@ -432,11 +432,11 @@
(incf *class-counter*))))
(numclass-name (intern (format nil "~A~D"
'#:mlk-test-number
- (incf *class-counter*))
+ *class-counter*)
'#:objective-c-classes))
(subnumclass-name (intern (format nil "~A~D"
'#:mlk-test-sub-number
- (incf *class-counter*))
+ *class-counter*)
'#:objective-c-classes))
(class nil)
(instance nil)