title: Lua unpack bug?
body: <p>I Have stumbled on a weird behavior in Lua unpack function</p>
  
  <pre><code>table1 = {true, nil, true, false, nil, true, nil}
  table2 = {true, false, nil, false, nil, true, nil}
  
  a1,b1,c1,d1,e1,f1,g1 = unpack( table1 )
  print ("table1:",a1,b1,c1,d1,e1,f1,g1)
  
  a2,b2,c2,d2,e2,f2,g2 = unpack( table2 )
  print ("table2:",a2,b2,c2,d2,e2,f2,g2)
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>table1: true    nil true    false   nil nil nil
  table2: true    false   nil nil nil nil nil
  </code></pre>
  
  <p>The second unpack delivers parameters up to the first nil value. I could live with that.
  The first table delivers 4? parameters with one being nil in the middle. It has 4 parameters that are not nil, but they aren't the one that are shown.</p>
  
  <p>Could anyone explain this? 
  This was tried with codepad.org and lua 5.1</p>