[Python-Dev] rexec.py unuseable
Duncan Booth
duncan at rcp.co.uk
Wed Dec 17 04:17:25 EST 2003
Luke Kenneth Casson Leighton <lkcl at lkcl.net> wrote in
news:20031216212312.GL17021 at lkcl.net:
> foo3.bar() // executed okay
> foo3.bar.__set_ccl__(deny_ccl)
>
> foo3.bar()
> *** EXCEPTION: execute capability barred to "all functions".
This behaviour seems to imply a rather fundamental change to the way that
Python handles bound methods. At present every time you access foo.bar you
get a new object created, but I think from your description that you want
to be able to associate a ccl with all the foo.bar objects.
Or to put it another way:
fn1 = foo3.bar
fn1() // executed okay
fn2 = foo3.bar
fn2.__set_ccl__(deny_ccl)
fn2()
*** EXCEPTION: execute capability barred to "all functions".
fn1()
*** ??? What should this do.
If I set a ccl on fn2, should it also affect access to fn1? They are
separate objects, so shouldn't they have separate ccls? If they share a
common ccl, then how is it going to be stored without impacting heavily on
every method call?
--
Duncan Booth duncan.booth at suttoncourtenay.org.uk
int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3"
"\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure?
More information about the Python-Dev
mailing list