| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent c2721b0 commit cf86e36
9 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -473,6 +473,14 @@ C-API | |||
| 473 | 473 | Library | |
| 474 | 474 | ------- | |
| 475 | 475 | ||
| 476 | + - Issue #7989: Added pure python implementation of the `datetime` | ||
| 477 | + module. The C module is renamed to `_datetime` and if available, | ||
| 478 | + overrides all classes defined in datetime with fast C impementation. | ||
| 479 | + Python implementation is based on the original python prototype for | ||
| 480 | + the datetime module by Tim Peters with minor modifications by the | ||
| 481 | + PyPy project. The test suite now tests `datetime` module with and | ||
| 482 | + without `_datetime` acceleration using the same test cases. | ||
| 483 | + | ||
| 476 | 484 | - Issue #7895: platform.mac_ver() no longer crashes after calling os.fork() | |
| 477 | 485 | ||
| 478 | 486 | - Issue #9323: Fixed a bug in trace.py that resulted in loosing the | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -170,7 +170,7 @@ _symtable symtablemodule.c | |||
| 170 | 170 | #atexit atexitmodule.c # Register functions to be run at interpreter-shutdown | |
| 171 | 171 | #_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator | |
| 172 | 172 | #_pickle _pickle.c # pickle accelerator | |
| 173 | - #datetime datetimemodule.c # date/time type | ||
| 173 | + #_datetime _datetimemodule.c # datetime accelerator | ||
| 174 | 174 | #_bisect _bisectmodule.c # Bisection algorithms | |
| 175 | 175 | #_heapq _heapqmodule.c # Heap queue algorithm | |
| 176 | 176 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -25,7 +25,7 @@ | |||
| 25 | 25 | * final result fits in a C int (this can be an issue on 64-bit boxes). | |
| 26 | 26 | */ | |
| 27 | 27 | #if SIZEOF_INT < 4 | |
| 28 | - # error "datetime.c requires that C int have at least 32 bits" | ||
| 28 | + # error "_datetime.c requires that C int have at least 32 bits" | ||
| 29 | 29 | #endif | |
| 30 | 30 | ||
| 31 | 31 | #define MINYEAR 1 | |
@@ -5086,7 +5086,7 @@ static PyDateTime_CAPI CAPI = { | |||
| 5086 | 5086 | ||
| 5087 | 5087 | static struct PyModuleDef datetimemodule = { | |
| 5088 | 5088 | PyModuleDef_HEAD_INIT, | |
| 5089 | - "datetime", | ||
| 5089 | + "_datetime", | ||
| 5090 | 5090 | "Fast implementation of the datetime type.", | |
| 5091 | 5091 | -1, | |
| 5092 | 5092 | module_methods, | |
@@ -5097,7 +5097,7 @@ static struct PyModuleDef datetimemodule = { | |||
| 5097 | 5097 | }; | |
| 5098 | 5098 | ||
| 5099 | 5099 | PyMODINIT_FUNC | |
| 5100 | - PyInit_datetime(void) | ||
| 5100 | + PyInit__datetime(void) | ||
| 5101 | 5101 | { | |
| 5102 | 5102 | PyObject *m; /* a module object */ | |
| 5103 | 5103 | PyObject *d; /* its dict */ | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -43,7 +43,7 @@ extern PyObject* PyInit__sre(void); | |||
| 43 | 43 | extern PyObject* PyInit_parser(void); | |
| 44 | 44 | extern PyObject* PyInit_winreg(void); | |
| 45 | 45 | extern PyObject* PyInit__struct(void); | |
| 46 | - extern PyObject* PyInit_datetime(void); | ||
| 46 | + extern PyObject* PyInit__datetime(void); | ||
| 47 | 47 | extern PyObject* PyInit__functools(void); | |
| 48 | 48 | extern PyObject* PyInit__json(void); | |
| 49 | 49 | extern PyObject* PyInit_zlib(void); | |
@@ -116,7 +116,7 @@ struct _inittab _PyImport_Inittab[] = { | |||
| 116 | 116 | {"parser", PyInit_parser}, | |
| 117 | 117 | {"winreg", PyInit_winreg}, | |
| 118 | 118 | {"_struct", PyInit__struct}, | |
| 119 | - {"datetime", PyInit_datetime}, | ||
| 119 | + {"_datetime", PyInit__datetime}, | ||
| 120 | 120 | {"_functools", PyInit__functools}, | |
| 121 | 121 | {"_json", PyInit__json}, | |
| 122 | 122 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1068,7 +1068,7 @@ | |||
| 1068 | 1068 | > | |
| 1069 | 1069 | </File> | |
| 1070 | 1070 | <File | |
| 1071 | - RelativePath="..\Modules\datetimemodule.c" | ||
| 1071 | + RelativePath="..\Modules\_datetimemodule.c" | ||
| 1072 | 1072 | > | |
| 1073 | 1073 | </File> | |
| 1074 | 1074 | <File | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -452,7 +452,7 @@ def detect_modules(self): | |||
| 452 | 452 | # time operations and variables | |
| 453 | 453 | exts.append( Extension('time', ['timemodule.c', '_time.c'], | |
| 454 | 454 | libraries=math_libs) ) | |
| 455 | - exts.append( Extension('datetime', ['datetimemodule.c', '_time.c'], | ||
| 455 | + exts.append( Extension('_datetime', ['_datetimemodule.c', '_time.c'], | ||
| 456 | 456 | libraries=math_libs) ) | |
| 457 | 457 | # fast iterator tools implemented in C | |
| 458 | 458 | exts.append( Extension("itertools", ["itertoolsmodule.c"]) ) | |
| Back | FazBrowse Home | New Git URL |
0 commit comments