Hello all, We've just had a user report an odd crash of Resolver. Importing the standard library module 'decimal.py' blows up, meaning that Resolver can't start.
We've eventually tracked it down. His machine has a Turkish locale. The decimal module looks up global names by taking method names and looking for an uppercase version (around line 2171 of the Python 2.4 standard library module): rounding_functions = [name for name in Decimal.__dict__.keys() if name.startswith('_round_')] for name in rounding_functions: #name is like _round_half_even, goes to the global ROUND_HALF_EVEN value. globalname = name[1:].upper() val = globals()[globalname] Decimal._pick_rounding_function[val] = name The issue is because one of the method names is '_round_ceiling'. In the Turkish locale, the uppercase version of this is "ROUND_CEİLİNG" (in Turkish uppercase of "i" is "I" with a dot on top of it). Obviously the lookup of the corresponding global fails. In CPython the name is a byte-string, and so '.upper' just uses the ascii uppercase rather than the locale sensitive version - so we see failing to import 'decimal.py' as an IronPython bug. As this badly impacts Resolver we would *love* to see this fixed soon... Resolver is built on IronPython 1.1. Any word from you IP guys on how quickly you can turnaround a new release of the 1.1 branch that addresses this issue? All the best, Michael Foord http://www.manning.com/foord http://www.resolversystems.com/ _______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com