[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