From e449af7da940d353a54036fb72e7405d2da362e3 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 11 Oct 1996 16:25:41 +0000 Subject: Ellipses -> Ellipsis rename (the dictionary really says that it should be Ellipsis!). Bumped the API version because a linker-visible symbol is affected. Old C code will still compile -- there's a b/w compat macro. Similarly, old Python code will still run, builtin exports both Ellipses and Ellipsis. --- Include/modsupport.h | 6 ++++-- Include/sliceobject.h | 8 ++++---- Lib/types.py | 2 +- Objects/sliceobject.c | 18 +++++++++--------- Python/bltinmodule.c | 4 +++- Python/compile.c | 2 +- Python/marshal.c | 12 ++++++------ 7 files changed, 28 insertions(+), 24 deletions(-) diff --git a/Include/modsupport.h b/Include/modsupport.h index 4d26523..b3b30ee 100644 --- a/Include/modsupport.h +++ b/Include/modsupport.h @@ -52,8 +52,8 @@ extern PyObject *Py_BuildValue(); extern int PyArg_VaParse Py_PROTO((PyObject *, char *, va_list)); extern PyObject *Py_VaBuildValue Py_PROTO((char *, va_list)); -#define PYTHON_API_VERSION 1005 -#define PYTHON_API_STRING "1005" +#define PYTHON_API_VERSION 1006 +#define PYTHON_API_STRING "1006" /* The API version is maintained (independently from the Python version) so we can detect mismatches between the interpreter and dynamically loaded modules. These are diagnosticised by an error message but @@ -67,6 +67,8 @@ extern PyObject *Py_VaBuildValue Py_PROTO((char *, va_list)); Please add a line or two to the top of this log for each API version change: + 11-Oct-1996 GvR renamed Py_Ellipses to Py_Ellipsis :-( + 30-Jul-1996 GvR Slice and ellipses syntax added 23-Jul-1996 GvR For 1.4 -- better safe than sorry this time :-) diff --git a/Include/sliceobject.h b/Include/sliceobject.h index ac7cd13..6ee4698 100644 --- a/Include/sliceobject.h +++ b/Include/sliceobject.h @@ -4,12 +4,12 @@ extern "C" { #endif -/* The unique ellipses object "..." */ +/* The unique ellipsis object "..." */ -extern DL_IMPORT(PyObject) _Py_EllipsesObject; /* Don't use this directly */ - -#define Py_Ellipses (&_Py_EllipsesObject) +extern DL_IMPORT(PyObject) _Py_EllipsisObject; /* Don't use this directly */ +#define Py_Ellipsis (&_Py_EllipsisObject) +#define Py_Ellipses Py_Ellipsis /* For bad spellers like me :-( */ /* Slice object interface */ diff --git a/Lib/types.py b/Lib/types.py index e1fbc49..c0b3296 100644 --- a/Lib/types.py +++ b/Lib/types.py @@ -48,6 +48,6 @@ except TypeError: FrameType = type(sys.exc_traceback.tb_frame) SliceType = type(slice(0)) -EllipsesType = type(Ellipses) +EllipsisType = type(Ellipsis) del sys, _f, _C, _x # Not for export diff --git a/Objects/sliceobject.c b/Objects/sliceobject.c index 4b81293..a232296 100644 --- a/Objects/sliceobject.c +++ b/Objects/sliceobject.c @@ -1,14 +1,14 @@ /* Written by Jim Hugunin and Chris Chase. -This includes both the singular ellipses object and slice objects. +This includes both the singular ellipsis object and slice objects. Guido, feel free to do whatever you want in the way of copyrights for this file. */ /* -Py_Ellipses encodes the '...' rubber index token. It is similar to +Py_Ellipsis encodes the '...' rubber index token. It is similar to the Py_NoneStruct in that there is no way to create other objects of this type and there is exactly one in existence. */ @@ -16,16 +16,16 @@ this type and there is exactly one in existence. #include "Python.h" static PyObject * -ellipses_repr(op) +ellipsis_repr(op) PyObject *op; { - return PyString_FromString("Ellipses"); + return PyString_FromString("Ellipsis"); } -static PyTypeObject PyEllipses_Type = { +static PyTypeObject PyEllipsis_Type = { PyObject_HEAD_INIT(&PyType_Type) 0, - "ellipses", + "ellipsis", 0, 0, 0, /*tp_dealloc*/ /*never called*/ @@ -33,15 +33,15 @@ static PyTypeObject PyEllipses_Type = { 0, /*tp_getattr*/ 0, /*tp_setattr*/ 0, /*tp_compare*/ - (reprfunc)ellipses_repr, /*tp_repr*/ + (reprfunc)ellipsis_repr, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash */ }; -PyObject _Py_EllipsesObject = { - PyObject_HEAD_INIT(&PyEllipses_Type) +PyObject _Py_EllipsisObject = { + PyObject_HEAD_INIT(&PyEllipsis_Type) }; diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index c1c3ed9..cd3d05f 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -1632,7 +1632,9 @@ initbuiltin() INCREF(builtin_dict); initerrors(); (void) dictinsert(builtin_dict, "None", None); - (void) dictinsert(builtin_dict, "Ellipses", Py_Ellipses); + (void) dictinsert(builtin_dict, "Ellipsis", Py_Ellipsis); + /* And once more for bad spellers like me :-( */ + (void) dictinsert(builtin_dict, "Ellipses", Py_Ellipsis); } diff --git a/Python/compile.c b/Python/compile.c index 60bfd6f..88b6710 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -1032,7 +1032,7 @@ com_subscript(c, n) ch = CHILD(n,0); /* check for rubber index */ if (TYPE(ch) == DOT && TYPE(CHILD(n,1)) == DOT) - com_addoparg(c, LOAD_CONST, com_addconst(c, Py_Ellipses)); + com_addoparg(c, LOAD_CONST, com_addconst(c, Py_Ellipsis)); else { /* check for slice */ if ((TYPE(ch) == COLON || NCH(n) > 1)) diff --git a/Python/marshal.c b/Python/marshal.c index 08ad790..2cd54c6 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -37,7 +37,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #define TYPE_NULL '0' #define TYPE_NONE 'N' -#define TYPE_ELLIPSES '.' +#define TYPE_ELLIPSIS '.' #define TYPE_INT 'i' #define TYPE_FLOAT 'f' #define TYPE_COMPLEX 'x' @@ -130,8 +130,8 @@ w_object(v, p) w_byte(TYPE_NULL, p); else if (v == None) w_byte(TYPE_NONE, p); - else if (v == Py_Ellipses) - w_byte(TYPE_ELLIPSES, p); + else if (v == Py_Ellipsis) + w_byte(TYPE_ELLIPSIS, p); else if (is_intobject(v)) { w_byte(TYPE_INT, p); w_long(getintvalue(v), p); @@ -325,9 +325,9 @@ r_object(p) INCREF(None); return None; - case TYPE_ELLIPSES: - INCREF(Py_Ellipses); - return Py_Ellipses; + case TYPE_ELLIPSIS: + INCREF(Py_Ellipsis); + return Py_Ellipsis; case TYPE_INT: return newintobject(r_long(p)); -- cgit v0.12