diff options
Diffstat (limited to 'Python/ceval.c')
-rw-r--r-- | Python/ceval.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index b28f17c6d8..727bc0c4d7 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -786,13 +786,6 @@ eval_code(co, globals, locals, arg) break; case UNPACK_ARG: - /* Implement various compatibility hacks: - (a) f(a,b,...) should accept f((1,2,...)) - (b) f((a,b,...)) should accept f(1,2,...) - (c) f(self,(a,b,...)) should accept f(x,1,2,...) - Actually, (c) is dangerous, and (b) seems - unnecessary, but (a) can't be missed... - */ { int n; if (EMPTY()) { @@ -809,6 +802,12 @@ eval_code(co, globals, locals, arg) break; } n = gettuplesize(v); +#ifdef COMPAT_HACKS +/* Implement various compatibility hacks (for 0.9.4 or earlier): + (a) f(a,b,...) accepts f((1,2,...)) + (b) f((a,b,...)) accepts f(1,2,...) + (c) f(self,(a,b,...)) accepts f(x,1,2,...) +*/ if (n == 1 && oparg != 1) { /* Rule (a) */ w = gettupleitem(v, 0); @@ -819,7 +818,6 @@ eval_code(co, globals, locals, arg) n = gettuplesize(v); } } -#ifdef COMPAT_HACKS /* Compatibility hacks no longer needed (I think) */ else if (n != 1 && oparg == 1) { /* Rule (b) */ PUSH(v); |