programmatic API? > -----Original Message----- > From: [email protected] [mailto:users- > [email protected]] On Behalf Of Michael Foord > Sent: Tuesday, August 11, 2009 3:20 PM > To: Discussion of IronPython > Subject: Re: [IronPython] FlowDocument XAML syntax highlighting and > restructured text > > Dino Viehland wrote: > > Michael wrote: > > > >> Nope, no class definitions - it just uses .NET functionality. It's a > >> very short bit of code really - 77 lines of which 30 lines are a > >> dictionary defining a category mapping. > >> > > > > I looked at this closer looking at all combinations of > __new__/__init__ > > being defined and calling the super class w/ and w/o arguments. Our > > behavior on warnings seems to be correct - we're a little less strict > > on when we report errors though which I'll fix. > > > I definitely get a warning with IronPython 2.6 and *no* warning with > Python 2.6. > > I tried digging a bit further in, but it's late and I'm hampered by the > programmatic API not working with 2.6B2. > > Michael > > > > Did you get no warnings from CPython 2.6? The one other difference > > I've noticed is that CPython seems to only warn once - even when I > > replace all of the functions in warnings to get past it's report-once > > caching - where we warn multiple times. I'm inclined to not > replicate > > the behavior that specifically right now. > > > > try: > > import warnings > > except ImportError: > > import _warnings as warnings > > > > def warn_explicit(*args): > > print 'my warn', args > > import sys > > x = sys._getframe(0) > > while x: > > print x.f_code > > x = x.f_back > > > > warnings.warn_explicit = warn_explicit > > warnings.warn = warn_explicit > > warnings._show_warning = warn_explicit > > warnings.showwarning = warn_explicit > > import _warnings > > _warnings.warn_explicit = warn_explicit > > _warnings.warn = warn_explicit > > _warnings._show_warning = warn_explicit > > _warnings.showwarning = warn_explicit > > > > print 'I warn:' > > class x(object): > > def __init__(self, *args): > > object.__init__(self, *args) > > def __new__(cls, *args): > > return object.__new__(cls, *args) > > > > x(42) > > > > > > print 'I warn once in cpy:' > > for i in xrange(2): > > class x(object): > > def __init__(self, *args): > > object.__init__(self, *args) > > def __new__(cls, *args): > > return object.__new__(cls, *args) > > > > x(42) > > _______________________________________________ > > Users mailing list > > [email protected] > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > -- > http://www.ironpythoninaction.com/ > http://www.voidspace.org.uk/blog > > > _______________________________________________ > Users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
