From: Robert Bradshaw Date: Tue, 21 Apr 2009 09:11:16 +0000 (-0700) Subject: __name__ == "__main__" for embedded modules X-Git-Tag: 0.11.2.rc1~52^2~4 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=611591bfd3629d7f242fde73b378cc6d7d79af0b;p=cython.git __name__ == "__main__" for embedded modules --- diff --git a/Cython/Compiler/CmdLine.py b/Cython/Compiler/CmdLine.py index f48cfb58..d70223a4 100644 --- a/Cython/Compiler/CmdLine.py +++ b/Cython/Compiler/CmdLine.py @@ -73,7 +73,6 @@ def parse_command_line(args): options = CompilationOptions(default_options) sources = [] while args: - print args if args[0].startswith("-"): option = pop_arg() if option in ("-V", "--version"): diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py index 97d5f218..8a6364fc 100644 --- a/Cython/Compiler/ModuleNode.py +++ b/Cython/Compiler/ModuleNode.py @@ -56,6 +56,8 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): else: env.doc = self.doc env.directives = self.directives + if Options.embed: + self.__main__cname = env.intern_identifier(EncodedString("__main__")) self.body.analyse_declarations(env) def process_implementation(self, options, result): @@ -1803,6 +1805,12 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): env.module_cname, Naming.builtins_cname, code.error_goto(self.pos))) + if Options.embed: + code.putln( + 'if (__Pyx_SetAttrString(%s, "__name__", %s) < 0) %s;' % ( + env.module_cname, + self.__main__cname, + code.error_goto(self.pos))) if Options.pre_import is not None: code.putln( '%s = PyImport_AddModule(__Pyx_NAMESTR("%s"));' % ( @@ -2459,7 +2467,7 @@ int main(int argc, char** argv) { #else PyInit_%(module_name)s(name); #endif - r = PyErr_Occurred(); + r = PyErr_Occurred() != NULL; Py_Finalize(); return r; }