title: Builder throwing "wrong number of arguments" error when passed a block in Ruby 1.9
body: <p>I'm trying to upgrade a Ruby 1.8 app to 1.9 and hit a bit of a roadblock here.  In Ruby 1.8.7, I can pass on a block to Builder 3.0.0 and it gets called as expected:</p>
  
  <pre><code>1.8.7 :003 &gt; @builder = Builder::XmlMarkup.new
  1.8.7 :004 &gt; block = lambda { puts "foo" }
  1.8.7 :005 &gt; @builder.tag(&amp;block)
  foo
  </code></pre>
  
  <p>But in 1.9, I get this error:</p>
  
  <pre><code>1.9.3p0 :002 &gt; @builder = Builder::XmlMarkup.new
  1.9.3p0 :003 &gt; block = lambda { puts "foo" }
  1.9.3p0 :004 &gt; @builder.content(&amp;block)
  ArgumentError: wrong number of arguments (1 for 0)
    from (irb):3:in `block in irb_binding'
    from /Users/dev/.bundle/ruby/1.9.1/gems/builder-3.0.0/lib/builder/xmlbase.rb:155:in `call'
    ...
  </code></pre>
  
  <p>And rewriting that as a stabby lambda (which is just syntactic sugar, right?) doesn't help:</p>
  
  <pre><code>1.9.3p0 :006 &gt; block = -&gt; { puts "foo" }
  1.9.3p0 :007 &gt; @builder.content(&amp;block)
  ArgumentError: wrong number of arguments (1 for 0)
  </code></pre>
  
  <p>Passing an actual block instead of a reference to one does work:</p>
  
  <pre><code>1.9.3p0 :008 &gt; @builder.content { puts "foo" }
  foo
  </code></pre>
  
  <p>Help?</p>