Edgewall Software

Opened 16 years ago

Last modified 15 years ago

#7510 closed defect

global name 'GeneratorExit' is not defined — at Version 2

Reported by: millman@… Owned by:
Priority: normal Milestone:
Component: general Version: 0.10.5
Severity: normal Keywords: python24
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Christian Boos)

With Python 2.4 and Trac 10.5 certain macros (e.g., Image) raise an exception:

  global name 'GeneratorExit' is not defined

I think GeneratorExit was introduced in Python 2.5: http://docs.python.org/whatsnew/pep-342.html

Removing the following lines

 449                except GeneratorExit:
 450                    # never catch GeneratorExit
 451                    raise

from /usr/lib/python2.4/site-packages/trac/wiki/macros.py resolves this issue.

This is the reason the change in 10.5 was introduced: http://trac.edgewall.org/ticket/5339

Adding the following to the top of the module:

   try:
       GeneratorExit
   except NameError:
       class GeneratorExit(Exception): pass

would allow the fix for 5339 to stay.

Change History (2)

comment:1 by anonymous, 16 years ago

I can confirm that the fix suggested in the ticket works, after being hit by the same bug as well.

comment:2 by Christian Boos, 15 years ago

Description: modified (diff)
Keywords: python24 added
Milestone: 0.10.60.11.6

Seems indeed needed for 2.4

Note: See TracTickets for help on using tickets.