From c17640f9820498c0f95bf2e841268baa1c6cfc9b Mon Sep 17 00:00:00 2001
From: Slava Pestov <slava@factorcode.org>
Date: Sat, 24 Nov 2007 16:28:40 -0500
Subject: [PATCH] Cocoa fixes

---
 extra/cocoa/cocoa.factor             | 3 ++-
 extra/cocoa/messages/messages.factor | 9 ++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/extra/cocoa/cocoa.factor b/extra/cocoa/cocoa.factor
index ddfb601be5..f13a5e2ab0 100644
--- a/extra/cocoa/cocoa.factor
+++ b/extra/cocoa/cocoa.factor
@@ -58,8 +58,9 @@ SYMBOL: super-sent-messages
     "NSSavePanel"
     "NSView"
     "NSWindow"
+    "NSWorkspace"
 } [
-    f import-objc-class
+    [ ] import-objc-class
 ] each
 
 : <NSString> ( str -- alien ) <CFString> -> autorelease ;
diff --git a/extra/cocoa/messages/messages.factor b/extra/cocoa/messages/messages.factor
index 91c4262312..54ddbaa0cf 100644
--- a/extra/cocoa/messages/messages.factor
+++ b/extra/cocoa/messages/messages.factor
@@ -4,7 +4,7 @@ USING: alien alien.c-types alien.compiler
 arrays assocs combinators compiler inference.transforms kernel
 math namespaces parser prettyprint prettyprint.sections
 quotations sequences strings words cocoa.runtime io macros
-memoize ;
+memoize debugger ;
 IN: cocoa.messages
 
 : make-sender ( method function -- quot )
@@ -201,8 +201,11 @@ H{
 : import-objc-class ( name quot -- )
     2dup unless-defined
     dupd define-objc-class-word
-    dup objc-class register-objc-methods
-    objc-meta-class register-objc-methods ;
+    [
+        dup
+        objc-class register-objc-methods
+        objc-meta-class register-objc-methods
+    ] curry try ;
 
 : root-class ( class -- root )
     dup objc-class-super-class [ root-class ] [ ] ?if ;