Re: robust_apply, signal refactoring and #6857

2008-03-24 Thread Leo Soto M.

On Mon, Mar 24, 2008 at 10:30 AM, Jeremy Dunck <[EMAIL PROTECTED]> wrote:
>
>  On Sat, Mar 22, 2008 at 3:04 PM, Leo Soto M. <[EMAIL PROTECTED]> wrote:
>  ...
>  >  On the other hand, all this gymnastic is done to allow receivers which
>  >  do not conform to the full API of a signal (i.e., does not accept all
>  >  signal arguments). What is the real reason behind this? Signal
>  >  "extensibility"?
>
>  Yeah, that's the idea.  We're trying to keep some backwards
>  compatibility, and the existing system provides that argument
>  matching.  Even some existing signal handlers in Django rely on it.
>
>  Even so, it may be worth dropping.  Numbers soon.

I am sure you already know it, but let me point out that this
backward-incompatibility would be very easy to fix, just adding a
**kwargs formal argument to every signal receiver. It seems like the
idiomatic way to have "extensible" method signatures.

Then, all the machinery messing with co_code would dissapear. As a
side effect, the non-descriptor implementation of method saferefs
could use curry(), for full compatibility with the default saferef
implementation.

-- 
Leo Soto M.
http://blog.leosoto.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~--~~~~--~~--~--~---



Re: robust_apply, signal refactoring and #6857

2008-03-24 Thread Jeremy Dunck

On Sat, Mar 22, 2008 at 3:04 PM, Leo Soto M. <[EMAIL PROTECTED]> wrote:
...
>  On the other hand, all this gymnastic is done to allow receivers which
>  do not conform to the full API of a signal (i.e., does not accept all
>  signal arguments). What is the real reason behind this? Signal
>  "extensibility"?

Yeah, that's the idea.  We're trying to keep some backwards
compatibility, and the existing system provides that argument
matching.  Even some existing signal handlers in Django rely on it.

Even so, it may be worth dropping.  Numbers soon.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~--~~~~--~~--~--~---