summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2007-09-26 13:19:53 +0200
committerMatthias Benkard <code@mail.matthias.benkard.de>2007-09-26 13:19:53 +0200
commiteae07aa1068527038ccc7457b00962665d3bd721 (patch)
treeedeb1d1281077a49ac109c4edb056611afcdabcc
parent6bda4966b9885c19dff28fe218a2923bc2ecd4db (diff)
Make OBJC-EQUAL check for OBJC-EQLity before trying isEqual:.
darcs-hash:00a735f71d9c0f34a711e2bf83a4224770009e35
-rw-r--r--Lisp/utilities.lisp11
1 files changed, 6 insertions, 5 deletions
diff --git a/Lisp/utilities.lisp b/Lisp/utilities.lisp
index b8cfa23..9702fec 100644
--- a/Lisp/utilities.lisp
+++ b/Lisp/utilities.lisp
@@ -33,11 +33,12 @@
(defun id-equal (x y)
- (truep (if (typep x '(or id objc-class exception))
- (primitive-invoke x :is-equal :char y)
- (progn
- (assert (typep y '(or id objc-class exception)))
- (primitive-invoke y :is-equal :char x)))))
+ (or (id-eql x y)
+ (truep (if (typep x '(or id objc-class exception))
+ (primitive-invoke x :is-equal :char y)
+ (progn
+ (assert (typep y '(or id objc-class exception)))
+ (primitive-invoke y :is-equal :char x))))))
(defun objc-typep (x class-designator)