<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Thanks.  And since eql works on ccl::foreign-standard-objects as well; it can be usefule on the cocoa bridge objects.</div><div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">ccl> (defmacro application-native-menubar () `(slot-value (slot-value *application* 'ccl::ui-object) 'ns:_main-menu))</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">APPLICATION-NATIVE-MENUBAR</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">ccl> (type-of (application-native-menubar))</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">NS:NS-MENU</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">ccl> (typep (application-native-menubar) 'foreign-standard-object)</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">T</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">ccl> (eq (application-native-menubar) (application-native-menubar))</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">NIL</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">ccl> (eql (application-native-menubar) (application-native-menubar))</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">T</span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Courier" size="3"><span class="Apple-style-span" style="font-size: 12px;">ccl></span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"> </blockquote><br><div><div>On Jan 30, 2010, at 11:13 AM, Gail Zacharias wrote:</div><blockquote type="cite"><div>EQL compares unboxed macptr's.<br><br>? (eql (%int-to-ptr 123) (%int-to-ptr 123))<br>T<br><br>On Sat, Jan 30, 2010 at 10:19 AM, Ben Hyde <<a href="mailto:bhyde@pobox.com">bhyde@pobox.com</a>> wrote:<br><blockquote type="cite">I could use a bit of critique here.  No doubt I am confused on many<br></blockquote><blockquote type="cite">many different levels, but I think I need something like this.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">(in-package :ccl)<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">(defmethod same-foreign-object ((a foreign-standard-object) (b foreign-<br></blockquote><blockquote type="cite">standard-object))<br></blockquote><blockquote type="cite">  (flet ((raw-addr (x)<br></blockquote><blockquote type="cite">           (let* ((p (%null-ptr)))<br></blockquote><blockquote type="cite">             (%set-macptr-domain p 1)<br></blockquote><blockquote type="cite">             (%setf-macptr p x)<br></blockquote><blockquote type="cite">             (ccl:%ptr-to-int p))))<br></blockquote><blockquote type="cite">    (eq (raw-addr a) (raw-addr b))))<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">This came up because I wanted to toggle the IDE's menubar back and<br></blockquote><blockquote type="cite">forth between my App's menubar and the IDE's one.  That lead to a<br></blockquote><blockquote type="cite">desire to squirrel away the current menubar.   See that (slot-value<br></blockquote><blockquote type="cite">(slot-value *application* 'ccl::ui-object) 'ns:_main-menu)) boxes; so<br></blockquote><blockquote type="cite">eq tests don't work out.   Diving into the objective c bridge leads to<br></blockquote><blockquote type="cite">finding that ns-object is based on foreign-standard-object.   That raw-<br></blockquote><blockquote type="cite">addr code is entirely adhoc -- based on something I saw in the bridge.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Thoughts?<br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">Openmcl-devel mailing list<br></blockquote><blockquote type="cite"><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br></blockquote><blockquote type="cite"><a href="http://clozure.com/mailman/listinfo/openmcl-devel">http://clozure.com/mailman/listinfo/openmcl-devel</a><br></blockquote><blockquote type="cite"><br></blockquote></div></blockquote></div><br></body></html>