On Mon, Aug 26, 2013 at 4:00 PM, Tim Hill <drtimhill@gmail.com> wrote:When you declare a variable with local local, you make a _new_ variable. You do not overwrite the old one. The second local declaration in your code is not lexically in scope of foo, so why would it overwrite it?When you set a variable without local, you assign a new value to the existing variable, if it exists, or to the _G/_ENV table, if it does not.