cython/cython — pull request #316 by lambdafu (2014-08-17 04:02:12+00:00)
Title: If cppclass is redefined, make sure the this pointer enters the correct scope

If the change is not made, in case of a redefined cppclass, the first CppClassScope gets both this pointers declared, while the second CppClassScope is left without a this pointer. The consequence is very confusing error messages like "undeclared name not builtin: this" or "Accessing Python attribute not allowed without gil'" (depending on gil).

Even though it is currently not very useful to declare/define a cppclass twice, I think this should be fixed, because in fact the wrong scope is modified, the error message is confusing, and in the future declaring and defining a cppclass may actually be useful (I added a test case with a suggestive syntax).