96e793360b
It turned out a lot of the namespace stuff still worked. The biggest thing for the first pass is that we don't fallback to the global function or constant if there isn't a namespaced one. Also, when a constant has a ##\## anywhere in it it throw an error when it isn't defined, instead of assuming the string.