<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,4 +1,11 @@
 Makefile
+js32.dll
+js32.lib
 mkmf.log
+mozjs
+pkg-config.exe
 spidermonkey.o
+spidermonkey.obj
 spidermonkey.so
+spidermonkey-*-mswin32.*
+vc60.pdb</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -466,10 +466,10 @@ rb_smjs_convert_prim( JSContext* cx, jsval value ){
   JSObject* jo;
   sSMJS_Class* so;
   JSType t;
+  VALUE context;
   JS_AddNamedRoot( cx, &amp;value, &quot;rb_smjs_convert_prim&quot; );
   t = JS_TypeOfValue( cx, value );
   JS_RemoveRoot( cx, &amp;value );
-  VALUE context;
   switch( t ){
   case JSTYPE_VOID:    return Qnil;
   case JSTYPE_STRING:  return rb_smjs_to_s( cx, value );
@@ -544,8 +544,8 @@ rb_smjs_raise_ruby( JSContext* cx ){
     // If it was originally a Ruby exception, we continue that.
     se = JS_GetInstancePrivate( cx, jo, &amp;JSRubyExceptionClass, NULL );
     if( se ){
-      JS_RemoveRoot( cx, &amp;jsvalerror );
       int st = se-&gt;status;
+      JS_RemoveRoot( cx, &amp;jsvalerror );
       se-&gt;status = 0;
       rb_jump_tag( st );
     }
@@ -567,12 +567,13 @@ rb_smjs_raise_js( JSContext* cx, int status ){
   sSMJS_Value* sv;
   jsval stack_string;
   VALUE rb_g;
+  VALUE context;
   VALUE rb_e = rb_gv_get( &quot;$!&quot; );
+  sSMJS_Context* cs;
 
   ATTEMPT_GC( cx );
 
-  VALUE context = RBSMContext_FROM_JsContext( cx );
-  sSMJS_Context* cs;
+  context = RBSMContext_FROM_JsContext( cx );
   Data_Get_Struct( context, sSMJS_Context, cs );
 
   trace(&quot;rb_smjs_raise_js(cx=%x, status=%x)&quot;, cx, status);
@@ -587,10 +588,11 @@ rb_smjs_raise_js( JSContext* cx, int status ){
   Data_Get_Struct( rb_g, sSMJS_Value, sv );
 
   if( JS_CallFunctionName( cx, JSVAL_TO_OBJECT( sv-&gt;value ), &quot;__getStack__&quot;, 0, NULL, &amp;stack_string ) ){
+    VALUE rb_stack, stack_list;
     JS_AddNamedRoot( cx, &amp;stack_string, &quot;rb_smjs_raise_js:stack_string&quot; );
-    VALUE rb_stack = rb_smjs_to_s( cx, stack_string );
+    rb_stack = rb_smjs_to_s( cx, stack_string );
 
-    VALUE stack_list = rb_iv_get( rb_e, &quot;@all_stacks&quot; );
+    stack_list = rb_iv_get( rb_e, &quot;@all_stacks&quot; );
     if( !RTEST( stack_list ) ){
       stack_list = rb_ary_new();
       rb_iv_set( rb_e, &quot;@all_stacks&quot;, stack_list );
@@ -1382,6 +1384,10 @@ rbsm_ruby_to_jsarray( JSContext* cx, VALUE obj ){
 static JSObject*
 rbsm_ruby_to_jsobject( JSContext* cx, VALUE obj ){
 
+  JSObject* jo;
+  sSMJS_Value* sv;
+  sSMJS_Class* so;
+  
   // Check if we've already converted this object into a JS Object
   if(rb_gv_get(RBSMJS_RUBY_TO_JS_MAP) == Qnil) rb_gv_set(RBSMJS_RUBY_TO_JS_MAP, rb_hash_new());
   if(rb_funcall(rb_gv_get(RBSMJS_RUBY_TO_JS_MAP), rb_intern(&quot;key?&quot;), 1, obj) == Qtrue) {
@@ -1391,22 +1397,20 @@ rbsm_ruby_to_jsobject( JSContext* cx, VALUE obj ){
 
   ATTEMPT_GC( cx );
   
-  JSObject* jo;
-  sSMJS_Value* sv;
-  sSMJS_Class* so;
-  
   if( rb_obj_is_kind_of( obj, cJSValue ) ){
     Data_Get_Struct( obj, sSMJS_Value, sv );
     return JSVAL_TO_OBJECT( sv-&gt;value );
   }
   if( rb_obj_is_kind_of( obj, rb_cTime ) ){
+    VALUE msec;
     trace(&quot;creating Time&quot;);
-    VALUE msec = rb_funcall( obj, rb_intern( &quot;to_i&quot; ), 0 );
+    msec = rb_funcall( obj, rb_intern( &quot;to_i&quot; ), 0 );
     return rbsm_ruby_to_jsdate( cx, msec );
   }
   if( rb_obj_is_kind_of( obj, rb_cDate ) ){
+    VALUE msec;
     trace(&quot;creating Date&quot;);
-    VALUE msec = rb_funcall( rb_funcall( obj, rb_intern( &quot;strftime&quot; ), 1, rb_str_new2( &quot;%s&quot; ) ), rb_intern( &quot;to_i&quot; ), 0);
+    msec = rb_funcall( rb_funcall( obj, rb_intern( &quot;strftime&quot; ), 1, rb_str_new2( &quot;%s&quot; ) ), rb_intern( &quot;to_i&quot; ), 0);
     return rbsm_ruby_to_jsdate( cx, msec );
   }
   if( rb_obj_is_kind_of( obj, rb_cArray ) ){</diff>
      <filename>spidermonkey.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>788f172d01b758bcce3eaa9c61903f0ed8f40bdc</id>
    </parent>
  </parents>
  <author>
    <name>Matthew Draper</name>
    <email>matthew@trebex.net</email>
  </author>
  <url>http://github.com/matthewd/ruby-mozjs/commit/33fe0088cf543663f20feb7bee503fcdb6d6fdbc</url>
  <id>33fe0088cf543663f20feb7bee503fcdb6d6fdbc</id>
  <committed-date>2008-07-16T22:00:29-07:00</committed-date>
  <authored-date>2008-07-16T22:00:29-07:00</authored-date>
  <message>Apparently, I haven't done an MSVC build for a while.</message>
  <tree>864382ed7171b8d0b9d4be728e952404e2b6ce94</tree>
  <committer>
    <name>Matthew Draper</name>
    <email>matthew@trebex.net</email>
  </committer>
</commit>
