Re: [IronPython] Bug in handling of keyword arguments for __call__
Excellent - thanks, Dino. We have workarounds for our specific uses in the meantime. Regards, Giles Dino Viehland wrote: They're certainly very similar but I'm not entirely certain if they're the same (although they may be). In the other bug type.__call__ is a type object which isn't right. If we were picking up type.__call__ instead of F.__call__ then I'd expect a different exception (as type.__call__ is a type, and types are callable w/ kw-args). I won't be certain until I look at it closer but I would expect that we're looking up the wrong thing when we do the call on f but I'm not sure where we'd be getting the wrong thing from. The good news is both of these are fixed in some internal (post v1.1) builds but the bad news is those aren't on CodePlex yet. *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *On Behalf Of *Andrew *Sent:* Wednesday, February 14, 2007 10:54 AM *To:* Discussion of IronPython *Subject:* Re: [IronPython] Bug in handling of keyword arguments for __call__ It seems that this refers to Item # 7594: http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=7594 2007/2/14, Giles Thomas <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>: Many thanks, Dino. This might be of use when debugging: IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. >>> class F(object): ... def __call__(self, *args, **kwargs): ... print "F.__call__(%s, %s)" % (args, kwargs) ... >>> print F.__call__ >>> Dino Viehland wrote: > Thanks for the bug report. I've opened bug #8246 to track this ( http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=8246). > > -Original Message- > From: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>] On Behalf Of Giles Thomas > Sent: Wednesday, February 14, 2007 7:17 AM > To: Discussion of IronPython > Subject: [IronPython] Bug in handling of keyword arguments for __call__ > > Hi, > > It looks like there's a problem with calling a callable object using the > "**" dictionary-unpacking syntax for keyword arguments. Here's a > minimal repro. > > In CPython: > > > Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on > win32 > Type "help", "copyright", "credits" or "license" for more information. > >>> class F(object): > ... def __call__(self, *args, **kwargs): > ... print args, kwargs > ... > >>> f = F() > >>> f(*(1,), **{'a' : 23}) > (1,) {'a': 23} > >>> > > > In IP 1.0.1 (also checked against 1.1 alpha): > > - > IronPython 1.0 (1.0.61005.1977 ) on .NET 2.0.50727.42 > Copyright (c) Microsoft Corporation. All rights reserved. > >>> class F(object): > ... def __call__(self, *args, **kwargs): > ... print args, kwargs > ... > >>> f = F() > >>> f(*(1,), **{'a' : 23}) > Traceback (most recent call last): > File , line 0, in ##23 > Exception: this object is not callable with keyword parameters > - > > > Regards, > > Giles > > -- > Giles Thomas > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > +44 (0) 20 7253 6372 > > Resolver Systems Ltd > 17a Clerkenwell Road, London EC1M 5RD, UK > VAT No.: GB 893 5643 79 > Registered in England and Wales as company number 5467329. > Registered address: 843 Finchley Road, London NW11 8NA, UK > > ___ > users mailing list > users@lists.ironpython.com <mailto:users@lists.ironpython.com> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > ___ > users mailing list > users@lists.ironpython.com <mailto:users@lists.ironpython.com> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- Giles Thomas [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> +44 (0) 20 7253 6372 Resolver Systems Ltd 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK ___ users mailing list users@lists.ironpython.com <mailto:users@lists.ironpython.com> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com -- Giles Thomas [EMAIL PROTECTED] +44 (0) 20 7253 6372 Resolver Systems Ltd 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
Re: [IronPython] Bug in handling of keyword arguments for __call__
They're certainly very similar but I'm not entirely certain if they're the same (although they may be). In the other bug type.__call__ is a type object which isn't right. If we were picking up type.__call__ instead of F.__call__ then I'd expect a different exception (as type.__call__ is a type, and types are callable w/ kw-args). I won't be certain until I look at it closer but I would expect that we're looking up the wrong thing when we do the call on f but I'm not sure where we'd be getting the wrong thing from. The good news is both of these are fixed in some internal (post v1.1) builds but the bad news is those aren't on CodePlex yet. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Andrew Sent: Wednesday, February 14, 2007 10:54 AM To: Discussion of IronPython Subject: Re: [IronPython] Bug in handling of keyword arguments for __call__ It seems that this refers to Item # 7594: http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=7594 2007/2/14, Giles Thomas <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >: Many thanks, Dino. This might be of use when debugging: IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. >>> class F(object): ... def __call__(self, *args, **kwargs): ... print "F.__call__(%s, %s)" % (args, kwargs) ... >>> print F.__call__ >>> Dino Viehland wrote: > Thanks for the bug report. I've opened bug #8246 to track this ( > http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=8246). > > -Original Message- > From: [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> [mailto:[EMAIL > PROTECTED]<mailto:[EMAIL PROTECTED]>] On Behalf Of Giles Thomas > Sent: Wednesday, February 14, 2007 7:17 AM > To: Discussion of IronPython > Subject: [IronPython] Bug in handling of keyword arguments for __call__ > > Hi, > > It looks like there's a problem with calling a callable object using the > "**" dictionary-unpacking syntax for keyword arguments. Here's a > minimal repro. > > In CPython: > > > Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on > win32 > Type "help", "copyright", "credits" or "license" for more information. > >>> class F(object): > ... def __call__(self, *args, **kwargs): > ... print args, kwargs > ... > >>> f = F() > >>> f(*(1,), **{'a' : 23}) > (1,) {'a': 23} > >>> > > > In IP 1.0.1 (also checked against 1.1 alpha): > > - > IronPython 1.0 (1.0.61005.1977 ) on .NET 2.0.50727.42 > Copyright (c) Microsoft Corporation. All rights reserved. > >>> class F(object): > ... def __call__(self, *args, **kwargs): > ... print args, kwargs > ... > >>> f = F() > >>> f(*(1,), **{'a' : 23}) > Traceback (most recent call last): > File , line 0, in ##23 > Exception: this object is not callable with keyword parameters > - > > > Regards, > > Giles > > -- > Giles Thomas > [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> > +44 (0) 20 7253 6372 > > Resolver Systems Ltd > 17a Clerkenwell Road, London EC1M 5RD, UK > VAT No.: GB 893 5643 79 > Registered in England and Wales as company number 5467329. > Registered address: 843 Finchley Road, London NW11 8NA, UK > > ___ > users mailing list > users@lists.ironpython.com<mailto:users@lists.ironpython.com> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > ___ > users mailing list > users@lists.ironpython.com <mailto:users@lists.ironpython.com> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- Giles Thomas [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> +44 (0) 20 7253 6372 Resolver Systems Ltd 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK ___ users mailing list users@lists.ironpython.com<mailto:users@lists.ironpython.com> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
Re: [IronPython] Bug in handling of keyword arguments for __call__
It seems that this refers to Item # 7594: http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=7594 2007/2/14, Giles Thomas <[EMAIL PROTECTED]>: Many thanks, Dino. This might be of use when debugging: IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. >>> class F(object): ... def __call__(self, *args, **kwargs): ... print "F.__call__(%s, %s)" % (args, kwargs) ... >>> print F.__call__ >>> Dino Viehland wrote: > Thanks for the bug report. I've opened bug #8246 to track this ( http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=8246). > > -Original Message- > From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED] On Behalf Of Giles Thomas > Sent: Wednesday, February 14, 2007 7:17 AM > To: Discussion of IronPython > Subject: [IronPython] Bug in handling of keyword arguments for __call__ > > Hi, > > It looks like there's a problem with calling a callable object using the > "**" dictionary-unpacking syntax for keyword arguments. Here's a > minimal repro. > > In CPython: > > > Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on > win32 > Type "help", "copyright", "credits" or "license" for more information. > >>> class F(object): > ... def __call__(self, *args, **kwargs): > ... print args, kwargs > ... > >>> f = F() > >>> f(*(1,), **{'a' : 23}) > (1,) {'a': 23} > >>> > > > In IP 1.0.1 (also checked against 1.1 alpha): > > - > IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42 > Copyright (c) Microsoft Corporation. All rights reserved. > >>> class F(object): > ... def __call__(self, *args, **kwargs): > ... print args, kwargs > ... > >>> f = F() > >>> f(*(1,), **{'a' : 23}) > Traceback (most recent call last): > File , line 0, in ##23 > Exception: this object is not callable with keyword parameters > - > > > Regards, > > Giles > > -- > Giles Thomas > [EMAIL PROTECTED] > +44 (0) 20 7253 6372 > > Resolver Systems Ltd > 17a Clerkenwell Road, London EC1M 5RD, UK > VAT No.: GB 893 5643 79 > Registered in England and Wales as company number 5467329. > Registered address: 843 Finchley Road, London NW11 8NA, UK > > ___ > users mailing list > users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > ___ > users mailing list > users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- Giles Thomas [EMAIL PROTECTED] +44 (0) 20 7253 6372 Resolver Systems Ltd 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
Re: [IronPython] Bug in handling of keyword arguments for __call__
Many thanks, Dino. This might be of use when debugging: IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. >>> class F(object): ... def __call__(self, *args, **kwargs): ... print "F.__call__(%s, %s)" % (args, kwargs) ... >>> print F.__call__ >>> Dino Viehland wrote: > Thanks for the bug report. I've opened bug #8246 to track this > (http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=8246). > > -Original Message- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Giles Thomas > Sent: Wednesday, February 14, 2007 7:17 AM > To: Discussion of IronPython > Subject: [IronPython] Bug in handling of keyword arguments for __call__ > > Hi, > > It looks like there's a problem with calling a callable object using the > "**" dictionary-unpacking syntax for keyword arguments. Here's a > minimal repro. > > In CPython: > > > Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on > win32 > Type "help", "copyright", "credits" or "license" for more information. > >>> class F(object): > ... def __call__(self, *args, **kwargs): > ... print args, kwargs > ... > >>> f = F() > >>> f(*(1,), **{'a' : 23}) > (1,) {'a': 23} > >>> > > > In IP 1.0.1 (also checked against 1.1 alpha): > > - > IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42 > Copyright (c) Microsoft Corporation. All rights reserved. > >>> class F(object): > ... def __call__(self, *args, **kwargs): > ... print args, kwargs > ... > >>> f = F() > >>> f(*(1,), **{'a' : 23}) > Traceback (most recent call last): > File , line 0, in ##23 > Exception: this object is not callable with keyword parameters > - > > > Regards, > > Giles > > -- > Giles Thomas > [EMAIL PROTECTED] > +44 (0) 20 7253 6372 > > Resolver Systems Ltd > 17a Clerkenwell Road, London EC1M 5RD, UK > VAT No.: GB 893 5643 79 > Registered in England and Wales as company number 5467329. > Registered address: 843 Finchley Road, London NW11 8NA, UK > > ___ > users mailing list > users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > ___ > users mailing list > users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > -- Giles Thomas [EMAIL PROTECTED] +44 (0) 20 7253 6372 Resolver Systems Ltd 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
Re: [IronPython] Bug in handling of keyword arguments for __call__
Thanks for the bug report. I've opened bug #8246 to track this (http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=8246). -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Giles Thomas Sent: Wednesday, February 14, 2007 7:17 AM To: Discussion of IronPython Subject: [IronPython] Bug in handling of keyword arguments for __call__ Hi, It looks like there's a problem with calling a callable object using the "**" dictionary-unpacking syntax for keyword arguments. Here's a minimal repro. In CPython: Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> class F(object): ... def __call__(self, *args, **kwargs): ... print args, kwargs ... >>> f = F() >>> f(*(1,), **{'a' : 23}) (1,) {'a': 23} >>> In IP 1.0.1 (also checked against 1.1 alpha): - IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. >>> class F(object): ... def __call__(self, *args, **kwargs): ... print args, kwargs ... >>> f = F() >>> f(*(1,), **{'a' : 23}) Traceback (most recent call last): File , line 0, in ##23 Exception: this object is not callable with keyword parameters - Regards, Giles -- Giles Thomas [EMAIL PROTECTED] +44 (0) 20 7253 6372 Resolver Systems Ltd 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
[IronPython] Bug in handling of keyword arguments for __call__
Hi, It looks like there's a problem with calling a callable object using the "**" dictionary-unpacking syntax for keyword arguments. Here's a minimal repro. In CPython: Python 2.4.3 (#69, Mar 29 2006, 17:35:34) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> class F(object): ... def __call__(self, *args, **kwargs): ... print args, kwargs ... >>> f = F() >>> f(*(1,), **{'a' : 23}) (1,) {'a': 23} >>> In IP 1.0.1 (also checked against 1.1 alpha): - IronPython 1.0 (1.0.61005.1977) on .NET 2.0.50727.42 Copyright (c) Microsoft Corporation. All rights reserved. >>> class F(object): ... def __call__(self, *args, **kwargs): ... print args, kwargs ... >>> f = F() >>> f(*(1,), **{'a' : 23}) Traceback (most recent call last): File , line 0, in ##23 Exception: this object is not callable with keyword parameters - Regards, Giles -- Giles Thomas [EMAIL PROTECTED] +44 (0) 20 7253 6372 Resolver Systems Ltd 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK ___ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com