Thanks!

On Aug 16, 2008, at 7:05 AM, Hoyt Koepke wrote:

> Hello,
>
> I've been playing around with the cython code annotation feature, and
> I think I've found a couple easily fixable bugs in the html code
> annotation feature.  I'm using the latest version from the mercurial
> repository (1053:e5976a417edf).
>
> First bug.  I get the following backtrace:
>
> [EMAIL PROTECTED]:~/workspace/clsynth-cython/clsynth$ cython -a
> transforms.pyx
> Traceback (most recent call last):
>  File "/home/hoytak/sysroot/bin/cython", line 8, in <module>
>    main(command_line = 1)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 694, in main
>    result = compile(sources, options)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 671, in compile
>    return compile_multiple(source, options)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 641, in compile_multiple
>    result = run_pipeline(source, options)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 503, in run_pipeline
>    err, enddata = context.run_pipeline(pipeline, source)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 169, in run_pipeline
>    data = phase(data)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 114, in generate_pyx_code
>    module_node.process_implementation(options, result)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/ModuleNode.py",
> line 67, in process_implementation
>    self.generate_c_code(env, options, result)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/ModuleNode.py",
> line 283, in generate_c_code
>    self.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 157, in annotate
>    self.body.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 287, in annotate
>    stat.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 287, in annotate
>    stat.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 157, in annotate
>    self.body.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 287, in annotate
>    stat.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 3067, in annotate
>    case.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 3044, in annotate
>    body.annotate(code)
> NameError: global name 'body' is not defined
>
>
>
> It seems this error can be fixed by adding a "self." in 3044 in
> Nodes.py (see attached patch).  When this is fixed, I get another  
> error, namely
>
>
> [EMAIL PROTECTED]:~/workspace/clsynth-cython/clsynth$ cython -a
> transforms.pyx
> Traceback (most recent call last):
>  File "/home/hoytak/sysroot/bin/cython", line 8, in <module>
>    main(command_line = 1)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 694, in main
>    result = compile(sources, options)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 671, in compile
>    return compile_multiple(source, options)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 641, in compile_multiple
>    result = run_pipeline(source, options)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 503, in run_pipeline
>    err, enddata = context.run_pipeline(pipeline, source)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 169, in run_pipeline
>    data = phase(data)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Main.py",
> line 114, in generate_pyx_code
>    module_node.process_implementation(options, result)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/ModuleNode.py",
> line 67, in process_implementation
>    self.generate_c_code(env, options, result)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/ModuleNode.py",
> line 283, in generate_c_code
>    self.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 157, in annotate
>    self.body.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 287, in annotate
>    stat.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 287, in annotate
>    stat.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 157, in annotate
>    self.body.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 287, in annotate
>    stat.annotate(code)
>  File "/home/hoytak/sysroot/lib/python2.5/site-packages/Cython/ 
> Compiler/Nodes.py",
> line 3068, in annotate
>    self.else_clause.annotate(code)
> AttributeError: 'NoneType' object has no attribute 'annotate'
>
>
>
> The documentation for this method says that self.else_clause can be
> None, so I assume adding a test for that works as a patch.  After  
> doing that,
> everything works fine for me.  I attached the patch; let me know if  
> I'm missing
> something  If you want me to file a bug report, I can do that also.
>
> --Hoyt
>
>
>
> --
> +++++++++++++++++++++++++++++++++++
> Hoyt Koepke
> UBC Department of Computer Science
> http://www.cs.ubc.ca/~hoytak/
> [EMAIL PROTECTED]
> +++++++++++++++++++++++++++++++++++
>
>
>
> -- 
> +++++++++++++++++++++++++++++++++++
> Hoyt Koepke
> UBC Department of Computer Science
> http://www.cs.ubc.ca/~hoytak/
> [EMAIL PROTECTED]
> ++++++++++++++++++++++++++++++++++ 
> +<annotate_patch.diff>_______________________________________________
> Cython-dev mailing list
> [email protected]
> http://codespeak.net/mailman/listinfo/cython-dev

_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to