From eae07aa1068527038ccc7457b00962665d3bd721 Mon Sep 17 00:00:00 2001
From: Matthias Benkard <code@mail.matthias.benkard.de>
Date: Wed, 26 Sep 2007 13:19:53 +0200
Subject: Make OBJC-EQUAL check for OBJC-EQLity before trying isEqual:.

darcs-hash:00a735f71d9c0f34a711e2bf83a4224770009e35
---
 Lisp/utilities.lisp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

(limited to 'Lisp')

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)
-- 
cgit v1.2.3