mirror of https://github.com/python/cpython
This is my patch #876198 plus a NEWS entry and a header frob.
Remove the ability to use (from C) arbitrary objects supporting the read buffer interface as the co_code member of code objects.
This commit is contained in:
parent
e6ed33a6b3
commit
ecfeb7f095
|
@ -81,11 +81,6 @@ PyAPI_FUNC(PyCodeObject *) PyNode_CompileFlags(struct _node *, const char *,
|
|||
#define FUTURE_GENERATORS "generators"
|
||||
#define FUTURE_DIVISION "division"
|
||||
|
||||
/* for internal use only */
|
||||
#define _PyCode_GETCODEPTR(co, pp) \
|
||||
((*(co)->co_code->ob_type->tp_as_buffer->bf_getreadbuffer) \
|
||||
((co)->co_code, 0, (void **)(pp)))
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -12,6 +12,10 @@ What's New in Python 2.4 alpha 1?
|
|||
Core and builtins
|
||||
-----------------
|
||||
|
||||
- Support for arbitrary objects supporting the read-only buffer
|
||||
interface as the co_code field of code objects (something that was
|
||||
only possible to create from C code) has been removed.
|
||||
|
||||
- Made omitted callback and None equivalent for weakref.ref() and
|
||||
weakref.proxy(); the None case wasn't handled correctly in all
|
||||
cases.
|
||||
|
|
|
@ -754,7 +754,7 @@ eval_frame(PyFrameObject *f)
|
|||
consts = co->co_consts;
|
||||
fastlocals = f->f_localsplus;
|
||||
freevars = f->f_localsplus + f->f_nlocals;
|
||||
_PyCode_GETCODEPTR(co, &first_instr);
|
||||
first_instr = PyString_AS_STRING(co->co_code);
|
||||
/* An explanation is in order for the next line.
|
||||
|
||||
f->f_lasti now refers to the index of the last instruction
|
||||
|
|
Loading…
Reference in New Issue