This patch reimplements the innards of pushdecl, which deals with local and namespace scope pushing. I managed to collapse or remove a lot of special casing, which I think greatly improves the readability of this piece of code. We're still not onto the performance improvements though. nathan -- Nathan Sidwell