[IronPython] FlowDocument XAML syntax highlighting and restructured text
Michael Foord
fuzzyman at voidspace.org.uk
Wed Aug 12 00:35:47 CEST 2009
Dino Viehland wrote:
> programmatic API?
>
The functions with 17 arguments that don't work... This is how you call
docutils programatically. I can trigger the bug with the rst2html.py
scripts but to dig into what is calling it I really want to call the
APIs directly.
Michael
>
>> -----Original Message-----
>> From: users-bounces at lists.ironpython.com [mailto:users-
>> bounces at lists.ironpython.com] 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
>>> Users at lists.ironpython.com
>>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>>
>>>
>> --
>> http://www.ironpythoninaction.com/
>> http://www.voidspace.org.uk/blog
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.ironpython.com
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog
More information about the Ironpython-users
mailing list