I've added it at http://ironpython.codeplex.com/workitem/33341
The formatting is screwed up now because I didn't relies it wouldn't preserve any spacing (even returns!). I'm trying to fix it up, but the site seems very slow at the moment - about a minute between any requests to the site. For now, importing directly seems to work, or I'll play around with removing the call/warning to see if that works - it's only a deprecation. Many thanks, Nick On 12 Nov 2012, at 16:05, Jeff Hardy <jdha...@gmail.com> wrote: > On Mon, Nov 12, 2012 at 2:03 AM, Nicholas Devenish <misno...@gmail.com> wrote: >> Hi Jeff again, >> >>> In inspect.py, just before line 758, it looks at co.co_argcount and >>> co.co_varnames and assumes that they are the same length, but my guess >>> is that they might not be when compiled with pyc. If you can figure >>> out exactly what getargspec is being called on, that might help make a >>> simpler reproduction that I can work off of. >> >> >> I spent some time this morning trying to reduce down to a standalone test >> case; I've got it down to the following, and don't understand what is going >> wrong so can't work out what else to remove; sorry about the large chain of >> functions, but it seems to somehow be involved. I hope it is helpful: >> >>> from functools import update_wrapper >>> import inspect >>> >>> def decorator(target): >>> def decorate(fn): >>> return inspect.getargspec(fn) >>> return update_wrapper(decorate, target) >>> >>> def _decorate_with_warning(func): >>> @decorator >>> def warned(fn): >>> pass >>> warned(func) >>> >>> @_decorate_with_warning >>> def execute_at(self, event_name, target): >>> def call_event(target, connection): >>> if self._somefun(event_name, target, connection): >>> pass >> >> As before, it runs fine as a standalone script >> $ ipy testipy.py >> >> But compiling with: >>> pyc /out:TestIPy testily.py >>> ipy >>>> import clr >>>> clr.AddReferenceToFileAndPath("TestIPy.dll") >>>> import testipy >> >> Gives the same traceback: >>> Traceback (most recent call last): >>> File "runtest.py", line 3, in <module> >>> File "testipy", line 3, in <module> >>> File "testipy", line 14, in _decorate_with_warning >>> File "testipy", line 7, in decorate >>> File "c:\Program Files\IronPython 2.7\Lib\inspect.py", line 820, in >>> getargspec >>> File "c:\Program Files\IronPython 2.7\Lib\inspect.py", line 762, in getargs >>> IndexError: index out of range: 2 >> >> I hope this is helpful! > > Very, thank you. Do you think you could open an issue > (http://ironpython.codeplex.com/WorkItem/Create) and put the smaller > repro in it? I'll try to take a look at it soon because I'm working on > the compiler code anyway, but at least with an issue it won't get > completely forgotten. > > - Jeff
_______________________________________________ Ironpython-users mailing list Ironpython-users@python.org http://mail.python.org/mailman/listinfo/ironpython-users