<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,7 +2,7 @@
 ;; this file gets evaluated when the bundle is injected
 ;;
 (unless $console ;; guard against multiple injection        
-        (load &quot;console&quot;)        
+        (load &quot;console&quot;)     
         (set $console ((NuConsoleWindowController alloc) init))
         (if (set appName (((NSBundle mainBundle) localizedInfoDictionary) objectForKey:&quot;CFBundleName&quot;))
             (($console window) setTitle:&quot;Nu Console (#{appName})&quot;))</diff>
      <filename>examples/NuAnywhere/NuConsole/nu/main.nu</filename>
    </modified>
    <modified>
      <diff>@@ -5,8 +5,9 @@
 (set @nu_files 	  (filelist &quot;^nu/.*\.nu$&quot;))
 (set @frameworks  '(&quot;Cocoa&quot; &quot;Nu&quot; &quot;Carbon&quot;))
 
-(set @ldflags &quot; -framework Cocoa -framework Nu -framework Carbon -linject -L../libinject &quot;)
+(set @ldflags &quot; -framework Cocoa -framework Nu -framework Carbon -linject -L../libinject -fobjc-gc &quot;)
 (set @includes &quot; -I../libinject/objc&quot;)
+(set @mflags &quot; -fobjc-gc &quot;)
 
 ;; framework description
 (set @framework &quot;NuInject&quot;)</diff>
      <filename>examples/NuAnywhere/NuInject/Nukefile</filename>
    </modified>
    <modified>
      <diff>@@ -126,6 +126,7 @@
                    (w makeKeyAndOrderFront:self)))
           
           (@console setFonts) ;; apparently this must be done AFTER the window is brought onscreen
+          (@console loadFile:&quot;~/.nu&quot;)
           self)
      
      ;; When a window resizes, move the cursor to the end of the input.
@@ -176,7 +177,12 @@
 ;; It controls a Cocoa text view containing an interactive Nu console.
 (class NuConsoleViewController is NSObject
      (ivar (id) textview (id) startOfInput (id) insertionPoint (id) parser (id) history (id) index (id) count (id) chunk)
-     
+
+     (imethod (id) loadFile:(id)file is
+         ((_parser parse: (NSString stringWithContentsOfFile:
+										(file stringByResolvingSymlinksInPath)))
+             evalWithContext: (_parser context)))
+
      ;; Initialize a controller with a specified frame.
      (imethod (id) initWithFrame:(NSRect) frame is
           (super init)
@@ -338,6 +344,7 @@
                               (unless (@parser incomplete)
                                       (set @insertionPoint @startOfInput)
                                       (set result (@parser eval: code))
+                                      (((@parser symbolTable) symbolWithString: &quot;!!&quot;) setValue: result)
                                       (if (send result respondsToSelector:&quot;escapedStringRepresentation&quot;)
                                           (then (set stringToDisplay (send result escapedStringRepresentation)))
                                           (else (set stringToDisplay (send result stringValue))))</diff>
      <filename>nu/console.nu</filename>
    </modified>
    <modified>
      <diff>@@ -1296,7 +1296,7 @@ id add_method_to_class(Class c, NSString *methodName, NSString *signature, NuBlo
     if (!nu_block_table) nu_block_table = st_init_numtable();
     // watch for problems caused by these ugly casts...
     st_insert(nu_block_table, (long) imp, (long) block);
-    [[NSGarbageCollector defaultCollector] disableCollectorForPointer: block];
+	[[NSGarbageCollector defaultCollector] disableCollectorForPointer: block];
 
     // insert the method handler in the class method table
     nu_class_replaceMethod(c, selector, imp, signature_str);</diff>
      <filename>objc/bridge.m</filename>
    </modified>
    <modified>
      <diff>@@ -646,7 +646,6 @@ limitations under the License.
         NuSymbolTable *symbolTable = [context objectForKey:SYMBOLS_KEY];
         id object = [context lookupObjectForKey:[symbolTable symbolWithCString:&quot;self&quot;]];
         id ivar = [[symbol stringValue] substringFromIndex:1];
-        //NSLog(@&quot;setting value for ivar %@ to %@&quot;, ivar, result);
         [object setValue:result forIvar:ivar];
     }
     else {</diff>
      <filename>objc/operator.m</filename>
    </modified>
    <modified>
      <diff>@@ -104,10 +104,9 @@ static int add_to_array(st_data_t k, st_data_t v, st_data_t d)
 
 - (void) removeSymbol:(NuSymbol *) symbol
 {
-    //NSLog(@&quot;removing symbol %@ from table&quot;, [symbol stringValue]);
     st_delete(symbol_table, (st_data_t *) &amp;(symbol-&gt;string), 0);
     [symbol release]; // on behalf of the table
-    [[NSGarbageCollector defaultCollector] enableCollectorForPointer:self];    
+    [[NSGarbageCollector defaultCollector] enableCollectorForPointer: symbol];
 }
 
 @end</diff>
      <filename>objc/symbol.m</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>1c1ef72f35cb5f0d942d75e52bcac6db67f98c28</id>
    </parent>
    <parent>
      <id>e6d9ec82a687992c6f8a76547cfb643265f9ba83</id>
    </parent>
  </parents>
  <author>
    <name>Tim Burks</name>
    <email>tim@sunfire.neontology.com</email>
  </author>
  <url>http://github.com/timburks/nu/commit/1d34518c0b31b2c93ffd500ee521c4b3ea6ee9e2</url>
  <id>1d34518c0b31b2c93ffd500ee521c4b3ea6ee9e2</id>
  <committed-date>2008-12-28T14:12:10-08:00</committed-date>
  <authored-date>2008-12-28T14:12:10-08:00</authored-date>
  <message>Merge git://github.com/ekellner/nu

Conflicts:

	examples/NuAnywhere/NuInject/Nukefile
	objc/bridge.m
	objc/symbol.m</message>
  <tree>725c79c82a0ef01ae74b804fb7780f026b4f1553</tree>
  <committer>
    <name>Tim Burks</name>
    <email>tim@sunfire.neontology.com</email>
  </committer>
</commit>
