<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/tasks/gem.rake</filename>
    </added>
    <added>
      <filename>lib/tasks/parsing.rake</filename>
    </added>
    <added>
      <filename>lib/tasks/vendor.rake</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,6 @@
-/pkg
 /doc
+/pkg
+/tmp
 
 /ext/spidermonkey/*.bundle
 /ext/spidermonkey/Makefile</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -65,7 +65,10 @@ lib/johnson/visitors/enumerating_visitor.rb
 lib/johnson/visitors/sexp_visitor.rb
 lib/johnson/visitors/visitor.rb
 lib/rails/init.rb
+lib/tasks/gem.rake
+lib/tasks/parsing.rake
 lib/tasks/testing.rake
+lib/tasks/vendor.rake
 test/helper.rb
 test/johnson/browser_test.rb
 test/johnson/conversions/array_test.rb</diff>
      <filename>MANIFEST.txt</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,11 @@ easy as:
 
   [sudo] gem install johnson
 
+=== Restrictions
+
+Johnson is currently developed and tested on Mac OS X with Ruby
+1.8.6. We'd like to widen our support: contributions are very welcome!
+
 === Development Versions
 
 We periodically update Johnson's gemspec on Github. Rather than</diff>
      <filename>README.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -1,162 +1,38 @@
 require &quot;rubygems&quot;
-require &quot;erb&quot;
 require &quot;hoe&quot;
+require &quot;rake/extensiontask&quot;
 
 require &quot;./lib/johnson/version.rb&quot;
-abort &quot;Need Ruby version 1.8.x!&quot; unless RUBY_VERSION &gt; &quot;1.8&quot;
 
-# what sort of extension are we building?
-kind = Config::CONFIG[&quot;DLEXT&quot;]
-
-CROSS = ENV[&quot;CROSS&quot;]
-MAKE  = ENV[&quot;MAKE&quot;] || RUBY_PLATFORM =~ /freebsd/ ? 'gmake' : 'make'
-LIBJS = FileList[&quot;vendor/spidermonkey/#{CROSS || ''}*.OBJ/libjs.{#{kind},so}&quot;].first || :libjs
-
-GENERATED_NODE = &quot;ext/spidermonkey/immutable_node.c&quot;
-
-HOE = Hoe.new(&quot;johnson&quot;, Johnson::VERSION) do |p|
+HOE = Hoe.new &quot;johnson&quot;, Johnson::VERSION do |p|
   p.developer &quot;John Barnette&quot;,   &quot;jbarnette@rubyforge.org&quot;
   p.developer &quot;Aaron Patterson&quot;, &quot;aaron.patterson@gmail.com&quot;
   p.developer &quot;Yehuda Katz&quot;,     &quot;wycats@gmail.com&quot;
   p.developer &quot;Matthew Draper&quot;,  &quot;matthew@trebex.net&quot;
 
-  p.summary          = &quot;Johnson wraps JavaScript in a loving Ruby embrace.&quot;
   p.history_file     = &quot;CHANGELOG.rdoc&quot;
   p.readme_file      = &quot;README.rdoc&quot;
-  p.extra_rdoc_files = [p.readme_file]
-  p.need_tar         = false
+  p.summary          = &quot;Johnson wraps JavaScript in a loving Ruby embrace.&quot;
   p.url              = &quot;http://github.com/jbarnette/johnson/wikis&quot;
 
-  p.clean_globs = [
-    &quot;lib/johnson/spidermonkey.#{kind}&quot;,
-    &quot;ext/spidermonkey/Makefile&quot;,
-    &quot;ext/spidermonkey/*.{o,so,bundle,log}&quot;,
-    GENERATED_NODE,
-    &quot;vendor/spidermonkey/**/*.OBJ&quot;]
-
-  p.test_globs  = %w(test/**/*_test.rb)
-  p.spec_extras = { :extensions =&gt; [&quot;Rakefile&quot;] }
-  p.extra_deps  = [&quot;rake&quot;]
-end
-
-namespace :gem do
-  task :spec do
-    File.open(&quot;#{HOE.name}.gemspec&quot;, &quot;w&quot;) do |f|
-      HOE.spec.version = &quot;#{HOE.version}.#{Time.now.strftime(&quot;%Y%m%d%H%M%S&quot;)}&quot;
-      f.puts(HOE.spec.to_ruby)
-    end
-  end
-end
-
-# make sure the C bits are up-to-date when testing
-Rake::Task[:test].prerequisites &lt;&lt; :extensions
-
-Rake::Task[:check_manifest].prerequisites &lt;&lt; GENERATED_NODE
-
-task :build =&gt; :extensions
-task :extension =&gt; :build # FIXME: why is this here?
-
-task :extensions =&gt; [&quot;lib/johnson/spidermonkey.#{kind}&quot;]
-
-namespace :extensions do
-  task :clean do
-    Dir.chdir(&quot;ext/spidermonkey&quot;) do
-      sh &quot;rm -f Makefile&quot;
-      sh &quot;rm -f *.{o,so,bundle,log}&quot;
-    end
-  end
-end
-
-build_sm = lambda do
-  cmd = &quot;#{MAKE} -f Makefile.ref&quot;
-  cmd &lt;&lt; &quot; OS_CONFIG=#{CROSS}&quot; if CROSS
-  Dir.chdir(&quot;vendor/spidermonkey&quot;) { sh cmd }
-end
-
-if Symbol === LIBJS
-  task LIBJS, &amp;build_sm
-else
-  file LIBJS, &amp;build_sm
-
-  task LIBJS =&gt; &quot;vendor/spidermonkey/Makefile.ref&quot;
-  task LIBJS =&gt; Dir[&quot;vendor/spidermonkey/*.[ch]&quot;]
-  task LIBJS =&gt; Dir[&quot;vendor/spidermonkey/config/*.mk&quot;]
-end
-
-task LIBJS =&gt; &quot;vendor/spidermonkey/jsapi.h&quot;
-task LIBJS =&gt; &quot;vendor/spidermonkey/config/#{CROSS}.mk&quot; if CROSS
-
-file &quot;vendor/spidermonkey/config/MINGW32.mk&quot; =&gt; &quot;MINGW32.mk&quot; do |t|
-  cp t.prerequisites.first, t.name
-end
-
-file &quot;ext/spidermonkey/spidermonkey.#{kind}&quot; =&gt;
-  [&quot;ext/spidermonkey/Makefile&quot;] + FileList[&quot;ext/spidermonkey/*.{c,h}&quot;].to_a do |t|
-
-  old_time = File.mtime(t.name) rescue nil
-  Dir.chdir(&quot;ext/spidermonkey&quot;) { sh &quot;#{MAKE}&quot; }
-
-  # If make chose not to rebuild the file, we'll touch it, so we don't
-  # bother to call make again next time.
-  sh &quot;touch #{t.name}&quot; if old_time &amp;&amp; File.mtime(t.name) &lt;= old_time
-end
+  p.extra_rdoc_files = [p.readme_file]
+  p.need_tar         = false
+  p.test_globs       = %w(test/**/*_test.rb)
 
-# for testing, we toss the SpiderMonkey extension in lib/johnson
-file &quot;lib/johnson/spidermonkey.#{kind}&quot; =&gt;
-  &quot;ext/spidermonkey/spidermonkey.#{kind}&quot; do |t|
+  p.clean_globs     &lt;&lt; &quot;lib/johnson/spidermonkey.bundle&quot;
+  p.clean_globs     &lt;&lt; &quot;tmp&quot;
+  p.clean_globs     &lt;&lt; &quot;vendor/spidermonkey/**/*.OBJ&quot;
 
-  cp t.prerequisites.first, t.name
+  p.extra_deps      &lt;&lt; &quot;rake&quot;
+  p.extra_dev_deps  &lt;&lt; &quot;rake-compiler&quot;
 end
 
-file &quot;ext/spidermonkey/Makefile&quot; =&gt;
-  [LIBJS, GENERATED_NODE, &quot;ext/spidermonkey/extconf.rb&quot;] do
-  
-  dirs = (CROSS ? [ENV[&quot;CROSSLIB&quot;]] : []) + $:
-  if defined?(RbConfig)
-    ruby_exec = File.join(RbConfig::CONFIG[&quot;bindir&quot;], RbConfig::CONFIG[&quot;ruby_install_name&quot;])
-  end
-  ruby_exec ||= &quot;ruby&quot;
-  command = [ruby_exec] + dirs.map{|dir| &quot;-I#{File.expand_path dir}&quot;} + [&quot;extconf.rb&quot;]
-  Dir.chdir(&quot;ext/spidermonkey&quot;) { sh *command }
+Rake::ExtensionTask.new &quot;spidermonkey&quot;, HOE.spec do |ext|
+  ext.lib_dir = &quot;lib/johnson&quot;
 end
 
-def jsops
-  ops = []
-  File.open(&quot;vendor/spidermonkey/jsopcode.tbl&quot;, &quot;rb&quot;) { |f|
-    f.each_line do |line|
-      if line =~ /^OPDEF\((\w+),/
-        ops &lt;&lt; $1
-      end
-    end
-  }
-  ops
-end
+HOE.spec.extensions = Dir[&quot;ext/**/extconf.rb&quot;]
 
-def tokens
-  toks = []
-  File.open(&quot;vendor/spidermonkey/jsscan.h&quot;, &quot;rb&quot;) { |f|
-    f.each_line do |line|
-      line.scan(/TOK_\w+/).each do |token|
-        next if token == &quot;TOK_ERROR&quot;
-        toks &lt;&lt; token
-      end
-    end
-  }
-  toks.uniq
-end
-
-file GENERATED_NODE =&gt; [&quot;ext/spidermonkey/immutable_node.c.erb&quot;, &quot;vendor/spidermonkey/jsopcode.tbl&quot;, &quot;vendor/spidermonkey/jsscan.h&quot;] do |t|
-  template = ERB.new(File.open(t.prerequisites.first, &quot;rb&quot;) { |x| x.read })
-  File.open(GENERATED_NODE, &quot;wb&quot;) { |f|
-    f.write template.result(binding)
-  }
-end
+task :test =&gt; :compile
 
 Dir[&quot;lib/tasks/*.rake&quot;].each { |f| load f }
-
-# Evil evil hack.  Do not run tests when gem installs
-if ENV['RUBYARCHDIR']
-  prereqs = Rake::Task[:default].prerequisites
-  prereqs.clear
-  prereqs &lt;&lt; :build
-end</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,25 +1,30 @@
-# this needs to happen before mkmf is required.
+# this needs to happen before mkmf is required
 ENV[&quot;ARCHFLAGS&quot;] = &quot;-arch #{`uname -p` =~ /powerpc/ ? 'ppc' : 'i386'}&quot;
 
+require &quot;find&quot;
 require &quot;mkmf&quot;
 
-if Config::CONFIG['target_os'] == 'mingw32'
-  $libs = append_library($libs, &quot;winmm&quot;)
-  $CFLAGS &lt;&lt; &quot; -DXP_WIN -DXP_WIN32&quot;
-else
-  $CFLAGS &lt;&lt; &quot; -g -DXP_UNIX&quot;
-end
-$CFLAGS &lt;&lt; &quot; -O3 -Wall -Wextra -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline&quot;
+cflags  = %w(g)
+defines = %w(XP_UNIX)
 
-spidermonkey_base_dir = &quot;../../vendor/spidermonkey&quot;
+warnings  = %w(all extra cast-qual write-strings conversion missing-noreturn)
+warnings &lt;&lt; &quot;inline&quot;
 
-spidermonkey_obj_dir = Dir[spidermonkey_base_dir + &quot;/#{ENV['CROSS'] || ''}*.OBJ&quot;].first
+cflags.concat warnings.collect { |w| &quot;W#{w}&quot; }
+cflags.concat defines.collect  { |d| &quot;D#{d}&quot; }
 
-dir_config(&quot;johnson/spidermonkey&quot;)
+$CFLAGS &lt;&lt; cflags.collect { |f| &quot; -#{f}&quot; }.join(&quot; &quot;)
 
-find_header(&quot;jsautocfg.h&quot;, spidermonkey_obj_dir)
-find_header(&quot;jsapi.h&quot;, spidermonkey_base_dir)
+spidermonkey_dir = File.expand_path File.dirname(__FILE__) +
+  &quot;/../../vendor/spidermonkey&quot;
 
-$LOCAL_LIBS &lt;&lt; spidermonkey_obj_dir + &quot;/libjs.a&quot;
+libjs = Dir[spidermonkey_dir + &quot;/**/libjs.a&quot;].first
+abort &quot;libjs.a isn't built!&quot; unless libjs
+$LOCAL_LIBS&lt;&lt; libjs
 
-create_makefile(&quot;johnson/spidermonkey&quot;)
+dir_config &quot;spidermonkey&quot;
+
+find_header &quot;jsautocfg.h&quot;, File.dirname(libjs)
+find_header &quot;jsapi.h&quot;, spidermonkey_dir
+
+create_makefile &quot;spidermonkey&quot;</diff>
      <filename>ext/spidermonkey/extconf.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
 
 Gem::Specification.new do |s|
   s.name = %q{johnson}
-  s.version = &quot;1.0.0.20090326122910&quot;
+  s.version = &quot;1.0.0.20090326154650&quot;
 
   s.required_rubygems_version = Gem::Requirement.new(&quot;&gt;= 0&quot;) if s.respond_to? :required_rubygems_version=
   s.authors = [&quot;John Barnette&quot;, &quot;Aaron Patterson&quot;, &quot;Yehuda Katz&quot;, &quot;Matthew Draper&quot;]
@@ -11,16 +11,15 @@ Gem::Specification.new do |s|
   s.description = %q{}
   s.email = [&quot;jbarnette@rubyforge.org&quot;, &quot;aaron.patterson@gmail.com&quot;, &quot;wycats@gmail.com&quot;, &quot;matthew@trebex.net&quot;]
   s.executables = [&quot;johnson&quot;]
-  s.extensions = [&quot;Rakefile&quot;]
-  s.extra_rdoc_files = [&quot;MANIFEST.txt&quot;, &quot;cross-compile.txt&quot;, &quot;README.rdoc&quot;]
-  s.files = [&quot;.autotest&quot;, &quot;CHANGELOG.rdoc&quot;, &quot;MANIFEST.txt&quot;, &quot;MINGW32.mk&quot;, &quot;README.rdoc&quot;, &quot;Rakefile&quot;, &quot;bin/johnson&quot;, &quot;cross-compile.txt&quot;, &quot;ext/spidermonkey/context.c&quot;, &quot;ext/spidermonkey/context.h&quot;, &quot;ext/spidermonkey/conversions.c&quot;, &quot;ext/spidermonkey/conversions.h&quot;, &quot;ext/spidermonkey/debugger.c&quot;, &quot;ext/spidermonkey/debugger.h&quot;, &quot;ext/spidermonkey/extconf.rb&quot;, &quot;ext/spidermonkey/extensions.c&quot;, &quot;ext/spidermonkey/extensions.h&quot;, &quot;ext/spidermonkey/global.c&quot;, &quot;ext/spidermonkey/global.h&quot;, &quot;ext/spidermonkey/idhash.c&quot;, &quot;ext/spidermonkey/idhash.h&quot;, &quot;ext/spidermonkey/immutable_node.c&quot;, &quot;ext/spidermonkey/immutable_node.c.erb&quot;, &quot;ext/spidermonkey/immutable_node.h&quot;, &quot;ext/spidermonkey/jroot.h&quot;, &quot;ext/spidermonkey/js_land_proxy.c&quot;, &quot;ext/spidermonkey/js_land_proxy.h&quot;, &quot;ext/spidermonkey/ruby_land_proxy.c&quot;, &quot;ext/spidermonkey/ruby_land_proxy.h&quot;, &quot;ext/spidermonkey/runtime.c&quot;, &quot;ext/spidermonkey/runtime.h&quot;, &quot;ext/spidermonkey/spidermonkey.c&quot;, &quot;ext/spidermonkey/spidermonkey.h&quot;, &quot;johnson.gemspec&quot;, &quot;js/johnson/browser.js&quot;, &quot;js/johnson/browser/env.js&quot;, &quot;js/johnson/browser/jquery.js&quot;, &quot;js/johnson/browser/xmlsax.js&quot;, &quot;js/johnson/browser/xmlw3cdom.js&quot;, &quot;js/johnson/cli.js&quot;, &quot;js/johnson/prelude.js&quot;, &quot;js/johnson/template.js&quot;, &quot;lib/johnson.rb&quot;, &quot;lib/johnson/cli.rb&quot;, &quot;lib/johnson/cli/options.rb&quot;, &quot;lib/johnson/error.rb&quot;, &quot;lib/johnson/nodes.rb&quot;, &quot;lib/johnson/nodes/binary_node.rb&quot;, &quot;lib/johnson/nodes/for.rb&quot;, &quot;lib/johnson/nodes/for_in.rb&quot;, &quot;lib/johnson/nodes/function.rb&quot;, &quot;lib/johnson/nodes/list.rb&quot;, &quot;lib/johnson/nodes/node.rb&quot;, &quot;lib/johnson/nodes/ternary_node.rb&quot;, &quot;lib/johnson/parser.rb&quot;, &quot;lib/johnson/parser/syntax_error.rb&quot;, &quot;lib/johnson/runtime.rb&quot;, &quot;lib/johnson/spidermonkey/context.rb&quot;, &quot;lib/johnson/spidermonkey/debugger.rb&quot;, &quot;lib/johnson/spidermonkey/immutable_node.rb&quot;, &quot;lib/johnson/spidermonkey/js_land_proxy.rb&quot;, &quot;lib/johnson/spidermonkey/mutable_tree_visitor.rb&quot;, &quot;lib/johnson/spidermonkey/ruby_land_proxy.rb&quot;, &quot;lib/johnson/spidermonkey/runtime.rb&quot;, &quot;lib/johnson/version.rb&quot;, &quot;lib/johnson/visitable.rb&quot;, &quot;lib/johnson/visitors.rb&quot;, &quot;lib/johnson/visitors/dot_visitor.rb&quot;, &quot;lib/johnson/visitors/ecma_visitor.rb&quot;, &quot;lib/johnson/visitors/enumerating_visitor.rb&quot;, &quot;lib/johnson/visitors/sexp_visitor.rb&quot;, &quot;lib/johnson/visitors/visitor.rb&quot;, &quot;lib/rails/init.rb&quot;, &quot;srcs/xmlparser-0.6.8.tar&quot;, &quot;test/assets/index.html&quot;, &quot;test/assets/jquery_test.html&quot;, &quot;test/helper.rb&quot;, &quot;test/johnson/browser_test.rb&quot;, &quot;test/johnson/conversions/array_test.rb&quot;, &quot;test/johnson/conversions/boolean_test.rb&quot;, &quot;test/johnson/conversions/callable_test.rb&quot;, &quot;test/johnson/conversions/file_test.rb&quot;, &quot;test/johnson/conversions/nil_test.rb&quot;, &quot;test/johnson/conversions/number_test.rb&quot;, &quot;test/johnson/conversions/regexp_test.rb&quot;, &quot;test/johnson/conversions/string_test.rb&quot;, &quot;test/johnson/conversions/struct_test.rb&quot;, &quot;test/johnson/conversions/symbol_test.rb&quot;, &quot;test/johnson/conversions/thread_test.rb&quot;, &quot;test/johnson/error_test.rb&quot;, &quot;test/johnson/extensions_test.rb&quot;, &quot;test/johnson/nodes/array_literal_test.rb&quot;, &quot;test/johnson/nodes/array_node_test.rb&quot;, &quot;test/johnson/nodes/binary_node_test.rb&quot;, &quot;test/johnson/nodes/bracket_access_test.rb&quot;, &quot;test/johnson/nodes/delete_test.rb&quot;, &quot;test/johnson/nodes/do_while_test.rb&quot;, &quot;test/johnson/nodes/dot_accessor_test.rb&quot;, &quot;test/johnson/nodes/export_test.rb&quot;, &quot;test/johnson/nodes/for_test.rb&quot;, &quot;test/johnson/nodes/function_test.rb&quot;, &quot;test/johnson/nodes/if_test.rb&quot;, &quot;test/johnson/nodes/import_test.rb&quot;, &quot;test/johnson/nodes/label_test.rb&quot;, &quot;test/johnson/nodes/let_test.rb&quot;, &quot;test/johnson/nodes/object_literal_test.rb&quot;, &quot;test/johnson/nodes/return_test.rb&quot;, &quot;test/johnson/nodes/semi_test.rb&quot;, &quot;test/johnson/nodes/switch_test.rb&quot;, &quot;test/johnson/nodes/ternary_test.rb&quot;, &quot;test/johnson/nodes/throw_test.rb&quot;, &quot;test/johnson/nodes/try_node_test.rb&quot;, &quot;test/johnson/nodes/typeof_test.rb&quot;, &quot;test/johnson/nodes/unary_node_test.rb&quot;, &quot;test/johnson/nodes/void_test.rb&quot;, &quot;test/johnson/nodes/while_test.rb&quot;, &quot;test/johnson/nodes/with_test.rb&quot;, &quot;test/johnson/prelude_test.rb&quot;, &quot;test/johnson/runtime_test.rb&quot;, &quot;test/johnson/spidermonkey/context_test.rb&quot;, &quot;test/johnson/spidermonkey/immutable_node_test.rb&quot;, &quot;test/johnson/spidermonkey/js_land_proxy_test.rb&quot;, &quot;test/johnson/spidermonkey/ruby_land_proxy_test.rb&quot;, &quot;test/johnson/spidermonkey/runtime_test.rb&quot;, &quot;test/johnson/version_test.rb&quot;, &quot;test/johnson/visitors/dot_visitor_test.rb&quot;, &quot;test/johnson/visitors/enumerating_visitor_test.rb&quot;, &quot;test/johnson_test.rb&quot;, &quot;test/jquery_units/simple.js&quot;, &quot;test/jquery_units/test.js&quot;, &quot;test/jquery_units/test_helper.js&quot;, &quot;test/jquery_units/units/ajax.js&quot;, &quot;test/jquery_units/units/core.js&quot;, &quot;test/jquery_units/units/event.js&quot;, &quot;test/jquery_units/units/fx.js&quot;, &quot;test/jquery_units/units/offset.js&quot;, &quot;test/jquery_units/units/selector.js&quot;, &quot;test/jspec/helper.js&quot;, &quot;test/jspec/jspec.js&quot;, &quot;test/jspec/simple_spec.js&quot;, &quot;test/parser_test.rb&quot;, &quot;vendor/spidermonkey/.cvsignore&quot;, &quot;vendor/spidermonkey/Makefile.in&quot;, &quot;vendor/spidermonkey/Makefile.ref&quot;, &quot;vendor/spidermonkey/README.html&quot;, &quot;vendor/spidermonkey/SpiderMonkey.rsp&quot;, &quot;vendor/spidermonkey/Y.js&quot;, &quot;vendor/spidermonkey/build.mk&quot;, &quot;vendor/spidermonkey/config.mk&quot;, &quot;vendor/spidermonkey/config/AIX4.1.mk&quot;, &quot;vendor/spidermonkey/config/AIX4.2.mk&quot;, &quot;vendor/spidermonkey/config/AIX4.3.mk&quot;, &quot;vendor/spidermonkey/config/Darwin.mk&quot;, &quot;vendor/spidermonkey/config/Darwin1.3.mk&quot;, &quot;vendor/spidermonkey/config/Darwin1.4.mk&quot;, &quot;vendor/spidermonkey/config/Darwin5.2.mk&quot;, &quot;vendor/spidermonkey/config/Darwin5.3.mk&quot;, &quot;vendor/spidermonkey/config/FreeBSD.mk&quot;, &quot;vendor/spidermonkey/config/HP-UXB.10.10.mk&quot;, &quot;vendor/spidermonkey/config/HP-UXB.10.20.mk&quot;, &quot;vendor/spidermonkey/config/HP-UXB.11.00.mk&quot;, &quot;vendor/spidermonkey/config/IRIX.mk&quot;, &quot;vendor/spidermonkey/config/IRIX5.3.mk&quot;, &quot;vendor/spidermonkey/config/IRIX6.1.mk&quot;, &quot;vendor/spidermonkey/config/IRIX6.2.mk&quot;, &quot;vendor/spidermonkey/config/IRIX6.3.mk&quot;, &quot;vendor/spidermonkey/config/IRIX6.5.mk&quot;, &quot;vendor/spidermonkey/config/Linux_All.mk&quot;, &quot;vendor/spidermonkey/config/Mac_OS10.0.mk&quot;, &quot;vendor/spidermonkey/config/OSF1V4.0.mk&quot;, &quot;vendor/spidermonkey/config/OSF1V5.0.mk&quot;, &quot;vendor/spidermonkey/config/SunOS4.1.4.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.10.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.3.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.4.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.5.1.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.5.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.6.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.7.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.8.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.9.mk&quot;, &quot;vendor/spidermonkey/config/WINNT4.0.mk&quot;, &quot;vendor/spidermonkey/config/WINNT5.0.mk&quot;, &quot;vendor/spidermonkey/config/WINNT5.1.mk&quot;, &quot;vendor/spidermonkey/config/WINNT5.2.mk&quot;, &quot;vendor/spidermonkey/config/WINNT6.0.mk&quot;, &quot;vendor/spidermonkey/config/dgux.mk&quot;, &quot;vendor/spidermonkey/editline/Makefile.ref&quot;, &quot;vendor/spidermonkey/editline/README&quot;, &quot;vendor/spidermonkey/editline/editline.3&quot;, &quot;vendor/spidermonkey/editline/editline.c&quot;, &quot;vendor/spidermonkey/editline/editline.h&quot;, &quot;vendor/spidermonkey/editline/sysunix.c&quot;, &quot;vendor/spidermonkey/editline/unix.h&quot;, &quot;vendor/spidermonkey/fdlibm/.cvsignore&quot;, &quot;vendor/spidermonkey/fdlibm/Makefile.in&quot;, &quot;vendor/spidermonkey/fdlibm/Makefile.ref&quot;, &quot;vendor/spidermonkey/fdlibm/e_acos.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_acosh.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_asin.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_atan2.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_atanh.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_cosh.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_exp.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_fmod.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_gamma.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_gamma_r.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_hypot.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_j0.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_j1.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_jn.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_lgamma.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_lgamma_r.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_log.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_log10.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_pow.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_rem_pio2.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_remainder.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_scalb.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_sinh.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_sqrt.c&quot;, &quot;vendor/spidermonkey/fdlibm/fdlibm.h&quot;, &quot;vendor/spidermonkey/fdlibm/fdlibm.mak&quot;, &quot;vendor/spidermonkey/fdlibm/fdlibm.mdp&quot;, &quot;vendor/spidermonkey/fdlibm/k_cos.c&quot;, &quot;vendor/spidermonkey/fdlibm/k_rem_pio2.c&quot;, &quot;vendor/spidermonkey/fdlibm/k_sin.c&quot;, &quot;vendor/spidermonkey/fdlibm/k_standard.c&quot;, &quot;vendor/spidermonkey/fdlibm/k_tan.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_asinh.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_atan.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_cbrt.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_ceil.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_copysign.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_cos.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_erf.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_expm1.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_fabs.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_finite.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_floor.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_frexp.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_ilogb.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_isnan.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_ldexp.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_lib_version.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_log1p.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_logb.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_matherr.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_modf.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_nextafter.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_rint.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_scalbn.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_signgam.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_significand.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_sin.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_tan.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_tanh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_acos.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_acosh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_asin.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_atan2.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_atanh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_cosh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_exp.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_fmod.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_gamma.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_gamma_r.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_hypot.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_j0.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_j1.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_jn.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_lgamma.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_lgamma_r.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_log.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_log10.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_pow.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_remainder.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_scalb.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_sinh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_sqrt.c&quot;, &quot;vendor/spidermonkey/javascript-trace.d&quot;, &quot;vendor/spidermonkey/js.c&quot;, &quot;vendor/spidermonkey/js.mak&quot;, &quot;vendor/spidermonkey/js.mdp&quot;, &quot;vendor/spidermonkey/js.msg&quot;, &quot;vendor/spidermonkey/js3240.rc&quot;, &quot;vendor/spidermonkey/jsOS240.def&quot;, &quot;vendor/spidermonkey/jsapi.c&quot;, &quot;vendor/spidermonkey/jsapi.h&quot;, &quot;vendor/spidermonkey/jsarena.c&quot;, &quot;vendor/spidermonkey/jsarena.h&quot;, &quot;vendor/spidermonkey/jsarray.c&quot;, &quot;vendor/spidermonkey/jsarray.h&quot;, &quot;vendor/spidermonkey/jsatom.c&quot;, &quot;vendor/spidermonkey/jsatom.h&quot;, &quot;vendor/spidermonkey/jsbit.h&quot;, &quot;vendor/spidermonkey/jsbool.c&quot;, &quot;vendor/spidermonkey/jsbool.h&quot;, &quot;vendor/spidermonkey/jsclist.h&quot;, &quot;vendor/spidermonkey/jscntxt.c&quot;, &quot;vendor/spidermonkey/jscntxt.h&quot;, &quot;vendor/spidermonkey/jscompat.h&quot;, &quot;vendor/spidermonkey/jsconfig.h&quot;, &quot;vendor/spidermonkey/jsconfig.mk&quot;, &quot;vendor/spidermonkey/jscpucfg.c&quot;, &quot;vendor/spidermonkey/jscpucfg.h&quot;, &quot;vendor/spidermonkey/jsdate.c&quot;, &quot;vendor/spidermonkey/jsdate.h&quot;, &quot;vendor/spidermonkey/jsdbgapi.c&quot;, &quot;vendor/spidermonkey/jsdbgapi.h&quot;, &quot;vendor/spidermonkey/jsdhash.c&quot;, &quot;vendor/spidermonkey/jsdhash.h&quot;, &quot;vendor/spidermonkey/jsdtoa.c&quot;, &quot;vendor/spidermonkey/jsdtoa.h&quot;, &quot;vendor/spidermonkey/jsdtracef.c&quot;, &quot;vendor/spidermonkey/jsdtracef.h&quot;, &quot;vendor/spidermonkey/jsemit.c&quot;, &quot;vendor/spidermonkey/jsemit.h&quot;, &quot;vendor/spidermonkey/jsexn.c&quot;, &quot;vendor/spidermonkey/jsexn.h&quot;, &quot;vendor/spidermonkey/jsfile.c&quot;, &quot;vendor/spidermonkey/jsfile.h&quot;, &quot;vendor/spidermonkey/jsfile.msg&quot;, &quot;vendor/spidermonkey/jsfun.c&quot;, &quot;vendor/spidermonkey/jsfun.h&quot;, &quot;vendor/spidermonkey/jsgc.c&quot;, &quot;vendor/spidermonkey/jsgc.h&quot;, &quot;vendor/spidermonkey/jshash.c&quot;, &quot;vendor/spidermonkey/jshash.h&quot;, &quot;vendor/spidermonkey/jsify.pl&quot;, &quot;vendor/spidermonkey/jsinterp.c&quot;, &quot;vendor/spidermonkey/jsinterp.h&quot;, &quot;vendor/spidermonkey/jsinvoke.c&quot;, &quot;vendor/spidermonkey/jsiter.c&quot;, &quot;vendor/spidermonkey/jsiter.h&quot;, &quot;vendor/spidermonkey/jskeyword.tbl&quot;, &quot;vendor/spidermonkey/jskwgen.c&quot;, &quot;vendor/spidermonkey/jslibmath.h&quot;, &quot;vendor/spidermonkey/jslock.c&quot;, &quot;vendor/spidermonkey/jslock.h&quot;, &quot;vendor/spidermonkey/jslocko.asm&quot;, &quot;vendor/spidermonkey/jslog2.c&quot;, &quot;vendor/spidermonkey/jslong.c&quot;, &quot;vendor/spidermonkey/jslong.h&quot;, &quot;vendor/spidermonkey/jsmath.c&quot;, &quot;vendor/spidermonkey/jsmath.h&quot;, &quot;vendor/spidermonkey/jsnum.c&quot;, &quot;vendor/spidermonkey/jsnum.h&quot;, &quot;vendor/spidermonkey/jsobj.c&quot;, &quot;vendor/spidermonkey/jsobj.h&quot;, &quot;vendor/spidermonkey/jsopcode.c&quot;, &quot;vendor/spidermonkey/jsopcode.h&quot;, &quot;vendor/spidermonkey/jsopcode.tbl&quot;, &quot;vendor/spidermonkey/jsotypes.h&quot;, &quot;vendor/spidermonkey/jsparse.c&quot;, &quot;vendor/spidermonkey/jsparse.h&quot;, &quot;vendor/spidermonkey/jsprf.c&quot;, &quot;vendor/spidermonkey/jsprf.h&quot;, &quot;vendor/spidermonkey/jsproto.tbl&quot;, &quot;vendor/spidermonkey/jsprvtd.h&quot;, &quot;vendor/spidermonkey/jspubtd.h&quot;, &quot;vendor/spidermonkey/jsregexp.c&quot;, &quot;vendor/spidermonkey/jsregexp.h&quot;, &quot;vendor/spidermonkey/jsreops.tbl&quot;, &quot;vendor/spidermonkey/jsscan.c&quot;, &quot;vendor/spidermonkey/jsscan.h&quot;, &quot;vendor/spidermonkey/jsscope.c&quot;, &quot;vendor/spidermonkey/jsscope.h&quot;, &quot;vendor/spidermonkey/jsscript.c&quot;, &quot;vendor/spidermonkey/jsscript.h&quot;, &quot;vendor/spidermonkey/jsshell.msg&quot;, &quot;vendor/spidermonkey/jsstddef.h&quot;, &quot;vendor/spidermonkey/jsstr.c&quot;, &quot;vendor/spidermonkey/jsstr.h&quot;, &quot;vendor/spidermonkey/jstypes.h&quot;, &quot;vendor/spidermonkey/jsutil.c&quot;, &quot;vendor/spidermonkey/jsutil.h&quot;, &quot;vendor/spidermonkey/jsxdrapi.c&quot;, &quot;vendor/spidermonkey/jsxdrapi.h&quot;, &quot;vendor/spidermonkey/jsxml.c&quot;, &quot;vendor/spidermonkey/jsxml.h&quot;, &quot;vendor/spidermonkey/lock_SunOS.s&quot;, &quot;vendor/spidermonkey/perfect.js&quot;, &quot;vendor/spidermonkey/plify_jsdhash.sed&quot;, &quot;vendor/spidermonkey/prmjtime.c&quot;, &quot;vendor/spidermonkey/prmjtime.h&quot;, &quot;vendor/spidermonkey/resource.h&quot;, &quot;vendor/spidermonkey/rules.mk&quot;, &quot;vendor/spidermonkey/win32.order&quot;]
+  s.extra_rdoc_files = [&quot;Manifest.txt&quot;, &quot;docs/cross-compile.txt&quot;, &quot;README.rdoc&quot;]
+  s.files = [&quot;.autotest&quot;, &quot;CHANGELOG.rdoc&quot;, &quot;MINGW32.mk&quot;, &quot;Manifest.txt&quot;, &quot;README.rdoc&quot;, &quot;Rakefile&quot;, &quot;bin/johnson&quot;, &quot;docs/cross-compile.txt&quot;, &quot;ext/spidermonkey/context.c&quot;, &quot;ext/spidermonkey/context.h&quot;, &quot;ext/spidermonkey/conversions.c&quot;, &quot;ext/spidermonkey/conversions.h&quot;, &quot;ext/spidermonkey/debugger.c&quot;, &quot;ext/spidermonkey/debugger.h&quot;, &quot;ext/spidermonkey/extconf.rb&quot;, &quot;ext/spidermonkey/extensions.c&quot;, &quot;ext/spidermonkey/extensions.h&quot;, &quot;ext/spidermonkey/global.c&quot;, &quot;ext/spidermonkey/global.h&quot;, &quot;ext/spidermonkey/idhash.c&quot;, &quot;ext/spidermonkey/idhash.h&quot;, &quot;ext/spidermonkey/immutable_node.c&quot;, &quot;ext/spidermonkey/immutable_node.c.erb&quot;, &quot;ext/spidermonkey/immutable_node.h&quot;, &quot;ext/spidermonkey/jroot.h&quot;, &quot;ext/spidermonkey/js_land_proxy.c&quot;, &quot;ext/spidermonkey/js_land_proxy.h&quot;, &quot;ext/spidermonkey/ruby_land_proxy.c&quot;, &quot;ext/spidermonkey/ruby_land_proxy.h&quot;, &quot;ext/spidermonkey/runtime.c&quot;, &quot;ext/spidermonkey/runtime.h&quot;, &quot;ext/spidermonkey/spidermonkey.c&quot;, &quot;ext/spidermonkey/spidermonkey.h&quot;, &quot;johnson.gemspec&quot;, &quot;js/johnson/cli.js&quot;, &quot;js/johnson/prelude.js&quot;, &quot;lib/johnson.rb&quot;, &quot;lib/johnson/cli.rb&quot;, &quot;lib/johnson/cli/options.rb&quot;, &quot;lib/johnson/error.rb&quot;, &quot;lib/johnson/nodes.rb&quot;, &quot;lib/johnson/nodes/binary_node.rb&quot;, &quot;lib/johnson/nodes/for.rb&quot;, &quot;lib/johnson/nodes/for_in.rb&quot;, &quot;lib/johnson/nodes/function.rb&quot;, &quot;lib/johnson/nodes/list.rb&quot;, &quot;lib/johnson/nodes/node.rb&quot;, &quot;lib/johnson/nodes/ternary_node.rb&quot;, &quot;lib/johnson/parser.rb&quot;, &quot;lib/johnson/parser/syntax_error.rb&quot;, &quot;lib/johnson/runtime.rb&quot;, &quot;lib/johnson/spidermonkey/context.rb&quot;, &quot;lib/johnson/spidermonkey/debugger.rb&quot;, &quot;lib/johnson/spidermonkey/immutable_node.rb&quot;, &quot;lib/johnson/spidermonkey/js_land_proxy.rb&quot;, &quot;lib/johnson/spidermonkey/mutable_tree_visitor.rb&quot;, &quot;lib/johnson/spidermonkey/ruby_land_proxy.rb&quot;, &quot;lib/johnson/spidermonkey/runtime.rb&quot;, &quot;lib/johnson/version.rb&quot;, &quot;lib/johnson/visitable.rb&quot;, &quot;lib/johnson/visitors.rb&quot;, &quot;lib/johnson/visitors/dot_visitor.rb&quot;, &quot;lib/johnson/visitors/ecma_visitor.rb&quot;, &quot;lib/johnson/visitors/enumerating_visitor.rb&quot;, &quot;lib/johnson/visitors/sexp_visitor.rb&quot;, &quot;lib/johnson/visitors/visitor.rb&quot;, &quot;lib/rails/init.rb&quot;, &quot;lib/tasks/gem.rake&quot;, &quot;lib/tasks/parsing.rake&quot;, &quot;lib/tasks/testing.rake&quot;, &quot;lib/tasks/vendor.rake&quot;, &quot;test/helper.rb&quot;, &quot;test/johnson/browser_test.rb&quot;, &quot;test/johnson/conversions/array_test.rb&quot;, &quot;test/johnson/conversions/boolean_test.rb&quot;, &quot;test/johnson/conversions/callable_test.rb&quot;, &quot;test/johnson/conversions/file_test.rb&quot;, &quot;test/johnson/conversions/nil_test.rb&quot;, &quot;test/johnson/conversions/number_test.rb&quot;, &quot;test/johnson/conversions/regexp_test.rb&quot;, &quot;test/johnson/conversions/string_test.rb&quot;, &quot;test/johnson/conversions/struct_test.rb&quot;, &quot;test/johnson/conversions/symbol_test.rb&quot;, &quot;test/johnson/conversions/thread_test.rb&quot;, &quot;test/johnson/error_test.rb&quot;, &quot;test/johnson/extensions_test.rb&quot;, &quot;test/johnson/nodes/array_literal_test.rb&quot;, &quot;test/johnson/nodes/array_node_test.rb&quot;, &quot;test/johnson/nodes/binary_node_test.rb&quot;, &quot;test/johnson/nodes/bracket_access_test.rb&quot;, &quot;test/johnson/nodes/delete_test.rb&quot;, &quot;test/johnson/nodes/do_while_test.rb&quot;, &quot;test/johnson/nodes/dot_accessor_test.rb&quot;, &quot;test/johnson/nodes/export_test.rb&quot;, &quot;test/johnson/nodes/for_test.rb&quot;, &quot;test/johnson/nodes/function_test.rb&quot;, &quot;test/johnson/nodes/if_test.rb&quot;, &quot;test/johnson/nodes/import_test.rb&quot;, &quot;test/johnson/nodes/label_test.rb&quot;, &quot;test/johnson/nodes/let_test.rb&quot;, &quot;test/johnson/nodes/object_literal_test.rb&quot;, &quot;test/johnson/nodes/return_test.rb&quot;, &quot;test/johnson/nodes/semi_test.rb&quot;, &quot;test/johnson/nodes/switch_test.rb&quot;, &quot;test/johnson/nodes/ternary_test.rb&quot;, &quot;test/johnson/nodes/throw_test.rb&quot;, &quot;test/johnson/nodes/try_node_test.rb&quot;, &quot;test/johnson/nodes/typeof_test.rb&quot;, &quot;test/johnson/nodes/unary_node_test.rb&quot;, &quot;test/johnson/nodes/void_test.rb&quot;, &quot;test/johnson/nodes/while_test.rb&quot;, &quot;test/johnson/nodes/with_test.rb&quot;, &quot;test/johnson/prelude_test.rb&quot;, &quot;test/johnson/runtime_test.rb&quot;, &quot;test/johnson/spidermonkey/context_test.rb&quot;, &quot;test/johnson/spidermonkey/immutable_node_test.rb&quot;, &quot;test/johnson/spidermonkey/js_land_proxy_test.rb&quot;, &quot;test/johnson/spidermonkey/ruby_land_proxy_test.rb&quot;, &quot;test/johnson/spidermonkey/runtime_test.rb&quot;, &quot;test/johnson/version_test.rb&quot;, &quot;test/johnson/visitors/dot_visitor_test.rb&quot;, &quot;test/johnson/visitors/enumerating_visitor_test.rb&quot;, &quot;test/johnson_test.rb&quot;, &quot;test/parser_test.rb&quot;, &quot;vendor/spidermonkey/.cvsignore&quot;, &quot;vendor/spidermonkey/Makefile.in&quot;, &quot;vendor/spidermonkey/Makefile.ref&quot;, &quot;vendor/spidermonkey/README.html&quot;, &quot;vendor/spidermonkey/SpiderMonkey.rsp&quot;, &quot;vendor/spidermonkey/Y.js&quot;, &quot;vendor/spidermonkey/build.mk&quot;, &quot;vendor/spidermonkey/config.mk&quot;, &quot;vendor/spidermonkey/config/AIX4.1.mk&quot;, &quot;vendor/spidermonkey/config/AIX4.2.mk&quot;, &quot;vendor/spidermonkey/config/AIX4.3.mk&quot;, &quot;vendor/spidermonkey/config/Darwin.mk&quot;, &quot;vendor/spidermonkey/config/Darwin1.3.mk&quot;, &quot;vendor/spidermonkey/config/Darwin1.4.mk&quot;, &quot;vendor/spidermonkey/config/Darwin5.2.mk&quot;, &quot;vendor/spidermonkey/config/Darwin5.3.mk&quot;, &quot;vendor/spidermonkey/config/FreeBSD.mk&quot;, &quot;vendor/spidermonkey/config/HP-UXB.10.10.mk&quot;, &quot;vendor/spidermonkey/config/HP-UXB.10.20.mk&quot;, &quot;vendor/spidermonkey/config/HP-UXB.11.00.mk&quot;, &quot;vendor/spidermonkey/config/IRIX.mk&quot;, &quot;vendor/spidermonkey/config/IRIX5.3.mk&quot;, &quot;vendor/spidermonkey/config/IRIX6.1.mk&quot;, &quot;vendor/spidermonkey/config/IRIX6.2.mk&quot;, &quot;vendor/spidermonkey/config/IRIX6.3.mk&quot;, &quot;vendor/spidermonkey/config/IRIX6.5.mk&quot;, &quot;vendor/spidermonkey/config/Linux_All.mk&quot;, &quot;vendor/spidermonkey/config/Mac_OS10.0.mk&quot;, &quot;vendor/spidermonkey/config/OSF1V4.0.mk&quot;, &quot;vendor/spidermonkey/config/OSF1V5.0.mk&quot;, &quot;vendor/spidermonkey/config/SunOS4.1.4.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.10.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.3.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.4.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.5.1.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.5.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.6.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.7.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.8.mk&quot;, &quot;vendor/spidermonkey/config/SunOS5.9.mk&quot;, &quot;vendor/spidermonkey/config/WINNT4.0.mk&quot;, &quot;vendor/spidermonkey/config/WINNT5.0.mk&quot;, &quot;vendor/spidermonkey/config/WINNT5.1.mk&quot;, &quot;vendor/spidermonkey/config/WINNT5.2.mk&quot;, &quot;vendor/spidermonkey/config/WINNT6.0.mk&quot;, &quot;vendor/spidermonkey/config/dgux.mk&quot;, &quot;vendor/spidermonkey/editline/Makefile.ref&quot;, &quot;vendor/spidermonkey/editline/README&quot;, &quot;vendor/spidermonkey/editline/editline.3&quot;, &quot;vendor/spidermonkey/editline/editline.c&quot;, &quot;vendor/spidermonkey/editline/editline.h&quot;, &quot;vendor/spidermonkey/editline/sysunix.c&quot;, &quot;vendor/spidermonkey/editline/unix.h&quot;, &quot;vendor/spidermonkey/fdlibm/.cvsignore&quot;, &quot;vendor/spidermonkey/fdlibm/Makefile.in&quot;, &quot;vendor/spidermonkey/fdlibm/Makefile.ref&quot;, &quot;vendor/spidermonkey/fdlibm/e_acos.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_acosh.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_asin.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_atan2.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_atanh.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_cosh.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_exp.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_fmod.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_gamma.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_gamma_r.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_hypot.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_j0.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_j1.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_jn.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_lgamma.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_lgamma_r.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_log.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_log10.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_pow.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_rem_pio2.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_remainder.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_scalb.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_sinh.c&quot;, &quot;vendor/spidermonkey/fdlibm/e_sqrt.c&quot;, &quot;vendor/spidermonkey/fdlibm/fdlibm.h&quot;, &quot;vendor/spidermonkey/fdlibm/fdlibm.mak&quot;, &quot;vendor/spidermonkey/fdlibm/fdlibm.mdp&quot;, &quot;vendor/spidermonkey/fdlibm/k_cos.c&quot;, &quot;vendor/spidermonkey/fdlibm/k_rem_pio2.c&quot;, &quot;vendor/spidermonkey/fdlibm/k_sin.c&quot;, &quot;vendor/spidermonkey/fdlibm/k_standard.c&quot;, &quot;vendor/spidermonkey/fdlibm/k_tan.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_asinh.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_atan.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_cbrt.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_ceil.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_copysign.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_cos.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_erf.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_expm1.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_fabs.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_finite.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_floor.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_frexp.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_ilogb.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_isnan.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_ldexp.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_lib_version.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_log1p.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_logb.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_matherr.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_modf.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_nextafter.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_rint.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_scalbn.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_signgam.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_significand.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_sin.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_tan.c&quot;, &quot;vendor/spidermonkey/fdlibm/s_tanh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_acos.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_acosh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_asin.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_atan2.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_atanh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_cosh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_exp.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_fmod.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_gamma.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_gamma_r.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_hypot.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_j0.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_j1.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_jn.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_lgamma.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_lgamma_r.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_log.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_log10.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_pow.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_remainder.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_scalb.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_sinh.c&quot;, &quot;vendor/spidermonkey/fdlibm/w_sqrt.c&quot;, &quot;vendor/spidermonkey/javascript-trace.d&quot;, &quot;vendor/spidermonkey/js.c&quot;, &quot;vendor/spidermonkey/js.mak&quot;, &quot;vendor/spidermonkey/js.mdp&quot;, &quot;vendor/spidermonkey/js.msg&quot;, &quot;vendor/spidermonkey/js3240.rc&quot;, &quot;vendor/spidermonkey/jsOS240.def&quot;, &quot;vendor/spidermonkey/jsapi.c&quot;, &quot;vendor/spidermonkey/jsapi.h&quot;, &quot;vendor/spidermonkey/jsarena.c&quot;, &quot;vendor/spidermonkey/jsarena.h&quot;, &quot;vendor/spidermonkey/jsarray.c&quot;, &quot;vendor/spidermonkey/jsarray.h&quot;, &quot;vendor/spidermonkey/jsatom.c&quot;, &quot;vendor/spidermonkey/jsatom.h&quot;, &quot;vendor/spidermonkey/jsbit.h&quot;, &quot;vendor/spidermonkey/jsbool.c&quot;, &quot;vendor/spidermonkey/jsbool.h&quot;, &quot;vendor/spidermonkey/jsclist.h&quot;, &quot;vendor/spidermonkey/jscntxt.c&quot;, &quot;vendor/spidermonkey/jscntxt.h&quot;, &quot;vendor/spidermonkey/jscompat.h&quot;, &quot;vendor/spidermonkey/jsconfig.h&quot;, &quot;vendor/spidermonkey/jsconfig.mk&quot;, &quot;vendor/spidermonkey/jscpucfg.c&quot;, &quot;vendor/spidermonkey/jscpucfg.h&quot;, &quot;vendor/spidermonkey/jsdate.c&quot;, &quot;vendor/spidermonkey/jsdate.h&quot;, &quot;vendor/spidermonkey/jsdbgapi.c&quot;, &quot;vendor/spidermonkey/jsdbgapi.h&quot;, &quot;vendor/spidermonkey/jsdhash.c&quot;, &quot;vendor/spidermonkey/jsdhash.h&quot;, &quot;vendor/spidermonkey/jsdtoa.c&quot;, &quot;vendor/spidermonkey/jsdtoa.h&quot;, &quot;vendor/spidermonkey/jsdtracef.c&quot;, &quot;vendor/spidermonkey/jsdtracef.h&quot;, &quot;vendor/spidermonkey/jsemit.c&quot;, &quot;vendor/spidermonkey/jsemit.h&quot;, &quot;vendor/spidermonkey/jsexn.c&quot;, &quot;vendor/spidermonkey/jsexn.h&quot;, &quot;vendor/spidermonkey/jsfile.c&quot;, &quot;vendor/spidermonkey/jsfile.h&quot;, &quot;vendor/spidermonkey/jsfile.msg&quot;, &quot;vendor/spidermonkey/jsfun.c&quot;, &quot;vendor/spidermonkey/jsfun.h&quot;, &quot;vendor/spidermonkey/jsgc.c&quot;, &quot;vendor/spidermonkey/jsgc.h&quot;, &quot;vendor/spidermonkey/jshash.c&quot;, &quot;vendor/spidermonkey/jshash.h&quot;, &quot;vendor/spidermonkey/jsify.pl&quot;, &quot;vendor/spidermonkey/jsinterp.c&quot;, &quot;vendor/spidermonkey/jsinterp.h&quot;, &quot;vendor/spidermonkey/jsinvoke.c&quot;, &quot;vendor/spidermonkey/jsiter.c&quot;, &quot;vendor/spidermonkey/jsiter.h&quot;, &quot;vendor/spidermonkey/jskeyword.tbl&quot;, &quot;vendor/spidermonkey/jskwgen.c&quot;, &quot;vendor/spidermonkey/jslibmath.h&quot;, &quot;vendor/spidermonkey/jslock.c&quot;, &quot;vendor/spidermonkey/jslock.h&quot;, &quot;vendor/spidermonkey/jslocko.asm&quot;, &quot;vendor/spidermonkey/jslog2.c&quot;, &quot;vendor/spidermonkey/jslong.c&quot;, &quot;vendor/spidermonkey/jslong.h&quot;, &quot;vendor/spidermonkey/jsmath.c&quot;, &quot;vendor/spidermonkey/jsmath.h&quot;, &quot;vendor/spidermonkey/jsnum.c&quot;, &quot;vendor/spidermonkey/jsnum.h&quot;, &quot;vendor/spidermonkey/jsobj.c&quot;, &quot;vendor/spidermonkey/jsobj.h&quot;, &quot;vendor/spidermonkey/jsopcode.c&quot;, &quot;vendor/spidermonkey/jsopcode.h&quot;, &quot;vendor/spidermonkey/jsopcode.tbl&quot;, &quot;vendor/spidermonkey/jsotypes.h&quot;, &quot;vendor/spidermonkey/jsparse.c&quot;, &quot;vendor/spidermonkey/jsparse.h&quot;, &quot;vendor/spidermonkey/jsprf.c&quot;, &quot;vendor/spidermonkey/jsprf.h&quot;, &quot;vendor/spidermonkey/jsproto.tbl&quot;, &quot;vendor/spidermonkey/jsprvtd.h&quot;, &quot;vendor/spidermonkey/jspubtd.h&quot;, &quot;vendor/spidermonkey/jsregexp.c&quot;, &quot;vendor/spidermonkey/jsregexp.h&quot;, &quot;vendor/spidermonkey/jsreops.tbl&quot;, &quot;vendor/spidermonkey/jsscan.c&quot;, &quot;vendor/spidermonkey/jsscan.h&quot;, &quot;vendor/spidermonkey/jsscope.c&quot;, &quot;vendor/spidermonkey/jsscope.h&quot;, &quot;vendor/spidermonkey/jsscript.c&quot;, &quot;vendor/spidermonkey/jsscript.h&quot;, &quot;vendor/spidermonkey/jsshell.msg&quot;, &quot;vendor/spidermonkey/jsstddef.h&quot;, &quot;vendor/spidermonkey/jsstr.c&quot;, &quot;vendor/spidermonkey/jsstr.h&quot;, &quot;vendor/spidermonkey/jstypes.h&quot;, &quot;vendor/spidermonkey/jsutil.c&quot;, &quot;vendor/spidermonkey/jsutil.h&quot;, &quot;vendor/spidermonkey/jsxdrapi.c&quot;, &quot;vendor/spidermonkey/jsxdrapi.h&quot;, &quot;vendor/spidermonkey/jsxml.c&quot;, &quot;vendor/spidermonkey/jsxml.h&quot;, &quot;vendor/spidermonkey/lock_SunOS.s&quot;, &quot;vendor/spidermonkey/perfect.js&quot;, &quot;vendor/spidermonkey/plify_jsdhash.sed&quot;, &quot;vendor/spidermonkey/prmjtime.c&quot;, &quot;vendor/spidermonkey/prmjtime.h&quot;, &quot;vendor/spidermonkey/resource.h&quot;, &quot;vendor/spidermonkey/rules.mk&quot;, &quot;vendor/spidermonkey/win32.order&quot;]
   s.has_rdoc = true
   s.homepage = %q{http://github.com/jbarnette/johnson/wikis}
   s.rdoc_options = [&quot;--main&quot;, &quot;README.rdoc&quot;]
   s.require_paths = [&quot;lib&quot;, &quot;ext&quot;]
   s.rubyforge_project = %q{johnson}
   s.rubygems_version = %q{1.3.1}
-  s.summary = %q{}
+  s.summary = %q{Johnson wraps JavaScript in a loving Ruby embrace.}
   s.test_files = [&quot;test/johnson/browser_test.rb&quot;, &quot;test/johnson/conversions/array_test.rb&quot;, &quot;test/johnson/conversions/boolean_test.rb&quot;, &quot;test/johnson/conversions/callable_test.rb&quot;, &quot;test/johnson/conversions/file_test.rb&quot;, &quot;test/johnson/conversions/nil_test.rb&quot;, &quot;test/johnson/conversions/number_test.rb&quot;, &quot;test/johnson/conversions/regexp_test.rb&quot;, &quot;test/johnson/conversions/string_test.rb&quot;, &quot;test/johnson/conversions/struct_test.rb&quot;, &quot;test/johnson/conversions/symbol_test.rb&quot;, &quot;test/johnson/conversions/thread_test.rb&quot;, &quot;test/johnson/error_test.rb&quot;, &quot;test/johnson/extensions_test.rb&quot;, &quot;test/johnson/nodes/array_literal_test.rb&quot;, &quot;test/johnson/nodes/array_node_test.rb&quot;, &quot;test/johnson/nodes/binary_node_test.rb&quot;, &quot;test/johnson/nodes/bracket_access_test.rb&quot;, &quot;test/johnson/nodes/delete_test.rb&quot;, &quot;test/johnson/nodes/do_while_test.rb&quot;, &quot;test/johnson/nodes/dot_accessor_test.rb&quot;, &quot;test/johnson/nodes/export_test.rb&quot;, &quot;test/johnson/nodes/for_test.rb&quot;, &quot;test/johnson/nodes/function_test.rb&quot;, &quot;test/johnson/nodes/if_test.rb&quot;, &quot;test/johnson/nodes/import_test.rb&quot;, &quot;test/johnson/nodes/label_test.rb&quot;, &quot;test/johnson/nodes/let_test.rb&quot;, &quot;test/johnson/nodes/object_literal_test.rb&quot;, &quot;test/johnson/nodes/return_test.rb&quot;, &quot;test/johnson/nodes/semi_test.rb&quot;, &quot;test/johnson/nodes/switch_test.rb&quot;, &quot;test/johnson/nodes/ternary_test.rb&quot;, &quot;test/johnson/nodes/throw_test.rb&quot;, &quot;test/johnson/nodes/try_node_test.rb&quot;, &quot;test/johnson/nodes/typeof_test.rb&quot;, &quot;test/johnson/nodes/unary_node_test.rb&quot;, &quot;test/johnson/nodes/void_test.rb&quot;, &quot;test/johnson/nodes/while_test.rb&quot;, &quot;test/johnson/nodes/with_test.rb&quot;, &quot;test/johnson/prelude_test.rb&quot;, &quot;test/johnson/runtime_test.rb&quot;, &quot;test/johnson/spidermonkey/context_test.rb&quot;, &quot;test/johnson/spidermonkey/immutable_node_test.rb&quot;, &quot;test/johnson/spidermonkey/js_land_proxy_test.rb&quot;, &quot;test/johnson/spidermonkey/ruby_land_proxy_test.rb&quot;, &quot;test/johnson/spidermonkey/runtime_test.rb&quot;, &quot;test/johnson/version_test.rb&quot;, &quot;test/johnson/visitors/dot_visitor_test.rb&quot;, &quot;test/johnson/visitors/enumerating_visitor_test.rb&quot;, &quot;test/johnson_test.rb&quot;, &quot;test/parser_test.rb&quot;]
 
   if s.respond_to? :specification_version then
@@ -29,13 +28,16 @@ Gem::Specification.new do |s|
 
     if Gem::Version.new(Gem::RubyGemsVersion) &gt;= Gem::Version.new('1.2.0') then
       s.add_runtime_dependency(%q&lt;rake&gt;, [&quot;&gt;= 0&quot;])
+      s.add_development_dependency(%q&lt;rake-compiler&gt;, [&quot;&gt;= 0&quot;])
       s.add_development_dependency(%q&lt;hoe&gt;, [&quot;&gt;= 1.11.0&quot;])
     else
       s.add_dependency(%q&lt;rake&gt;, [&quot;&gt;= 0&quot;])
+      s.add_dependency(%q&lt;rake-compiler&gt;, [&quot;&gt;= 0&quot;])
       s.add_dependency(%q&lt;hoe&gt;, [&quot;&gt;= 1.11.0&quot;])
     end
   else
     s.add_dependency(%q&lt;rake&gt;, [&quot;&gt;= 0&quot;])
+    s.add_dependency(%q&lt;rake-compiler&gt;, [&quot;&gt;= 0&quot;])
     s.add_dependency(%q&lt;hoe&gt;, [&quot;&gt;= 1.11.0&quot;])
   end
 end</diff>
      <filename>johnson.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -5,9 +5,6 @@ require &quot;test/unit&quot;
   $LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), path)))
 end
 
-# If the test isn't running from Rake, make sure the extension's current.
-Rake rescue Dir.chdir(File.dirname(__FILE__) + &quot;/..&quot;) { %x(rake extensions) }
-
 require &quot;johnson&quot;
 
 module Johnson</diff>
      <filename>test/helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a12facc634077d343f0cbf2011876ecbed8fafab</id>
    </parent>
  </parents>
  <author>
    <name>John Barnette</name>
    <email>jbarnette@gmail.com</email>
  </author>
  <url>http://github.com/jbarnette/johnson/commit/4feabae8dc036d9f2b9c123698719496c94918c4</url>
  <id>4feabae8dc036d9f2b9c123698719496c94918c4</id>
  <committed-date>2009-03-26T16:13:43-07:00</committed-date>
  <authored-date>2009-03-26T15:35:49-07:00</authored-date>
  <message>Build system cleanups.

I've changed the way we build, and in the process made things
(temporarily, I hope) a lot less cross-platform. Rather than doing our
own dance, I've switched everything to use rake-compiler
(rake/extensiontask), which removed a lot of code.

I've also removed anything related to platforms or cross-compilation:
The build assumes Mac OS X, though it might work on other Unixish
systems. Wider support will be back at some point.</message>
  <tree>332211d233dd8491ed67f29cbc9eb45ee463456f</tree>
  <committer>
    <name>John Barnette</name>
    <email>jbarnette@gmail.com</email>
  </committer>
</commit>
