[issue9303] Migrate sqlite3 module to _v2 API to enhance performance
Robin Schreiber added the comment: Apparently this issue has not been dealt with for quite some time now. As a prospective GSoC student, I still need to submit a patch to pass final screening and I thought, that the needed patch here would be quite suitable for a beginner. I plan to submit a patch, which simply replaces the deprecated method calls with the new ones. Maybe we can also remove some parts of the module code, because of the new semantics of prepare_v2(), however I would first like to hear Gerhards opinion on that :-) -- nosy: +Robin.Schreiber ___ Python tracker <http://bugs.python.org/issue9303> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9303] Migrate sqlite3 module to _v2 API to enhance performance
Robin Schreiber added the comment: I have now submitted a patch, which swapped out all the necessary calls. Tests are all running as expected. I will now try to remove some backwards compatibility code. -- keywords: +patch Added file: http://bugs.python.org/file25211/sqlite.patch ___ Python tracker <http://bugs.python.org/issue9303> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9303] Migrate sqlite3 module to _v2 API to enhance performance
Changes by Robin Schreiber : Removed file: http://bugs.python.org/file25211/sqlite.patch ___ Python tracker <http://bugs.python.org/issue9303> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9303] Migrate sqlite3 module to _v2 API to enhance performance
Changes by Robin Schreiber : Added file: http://bugs.python.org/file25212/sqlite.patch ___ Python tracker <http://bugs.python.org/issue9303> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15787] PEP 3121, 384 Refactoring
Robin Schreiber added the comment: I have in fact used abitype.py to produce all of my PEP 384 patches, however it failed to work correctly in like 50% of all cases, and I had to complete the rest of the patch by hand.I thought about correcting the abitype.py throughout the GSOC, but I happened to find it easier to simply do the missing steps by hand. (I don't know If the script has been fixed up to this point though). In any case, it might also be interesting for external extension module developers to make use of a fully working version of this script, so they can make their modules PEP 384 compliant without investing too much time. One has to keep in mind however that almost any script will fail to work by itself, once we run into problems like refcounting or concurrency when applying the patch to a module. I will have some free time throughout next week and will start to correct the patches for the xx modules (as Alex proposed), and continue from there to all the other patches I have submitted a year ago. I am deeply sorry that I have not continued my work on this project earlier, however I dramatically underestimated the amount if work related to university, etc... I still feel obliged to complete all these patches. -- ___ Python tracker <http://bugs.python.org/issue15787> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Robin Schreiber added the comment: I absolutely agree on mentioning the member names in the comments. :-) In the example Martin gave in his PEP 3121, the PyInit does not perform any INCREFs on the Variables that are referenced from inside the module state. He therefore left out m_free completely as there was nothing to DECREF within the module state. Back when I did my GSoC together with Martin, we decided that the Module state itself can be considered a valid container object, an therefore has to INCREF and in the end of its lifecycle (that is within m_free) also DECREF every object reference it holds. I therefore decided to include that into every module I refactored, and consequently also the xxmodule. I was also thinking about redefining the macro of xx_state_global with a NULL check, however this would lead either to a redundant call of PyState_FindModule (Which may lead to unnecessary performance degregation as xx_state_global is used quite frequently in some parts of the respective module) or I had to find some awkward way to store the result o f FindModule in some local variable exapnded by the macro, which I would not consider a good idea. Instead Martin and I were thinking of including a NULL safe variant of xx_state_global only in CPython Debug Builds. What do you think about that? -- ___ Python tracker <http://bugs.python.org/issue15849> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Robin Schreiber added the comment: Updated the patch, corrected multiple syntax errors and missing INCREFS. Also added the comments that include the members names. I am yet undecided regarding the NULL-check for FindModule. Apart from that I have tried to build some tests that prove that loading and unloading the module do not cause any memory leaks. This has turned up several problems: For one, the only possibility to check for the leaks that PEP 3121 tries to fix, is to run PyInit of the respective module multiple times. This is only possible if Py_finalize() has been called after the module has been imported beforehand. This means we can not test for these leaks from within Python, but need some C-Code that calls Py_initialize(); ... import xx ... Py_finalize(); multiple times. The problem is that also the plain Py_initialize(); Py_finalize(); calls leak memory. Unfortunately the amount of objects that are leaked also seems to vary, so there is no constant factor that I can subtract to determine how much the imported module itself leaks. So I am kind of on a dead end here. I could upload the tests scripts that I have written so far, if that helps. -- keywords: +patch Added file: http://bugs.python.org/file31272/xxmodule_pep3121-384_v1.patch ___ Python tracker <http://bugs.python.org/issue15849> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Robin Schreiber added the comment: Antoine, regarding that the last pending problem with the patch is related to the NULL checking of FindModule, I would be inclined to include your proposed helper API. I see that issue18710 has not been included into the trunk yet, but I think this is mostly due to the additional _csv patch and not because of the proposed API itself. So I will upload a corrected version of the patch soon, but it will rely on issue18710 to be accepted beforehand... -- ___ Python tracker <http://bugs.python.org/issue15849> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Robin Schreiber added the comment: Updated patch accordingly. Regarding the problem in http://mail.python.org/pipermail/python-dev/2013-August/127862.html , it can indeed be solved by returning the already existing module object, if PyInit is called multiple times. I followed the discussion and can not make out a definite decision on how to handle this. My understanding is, that up to now extension modules are only supposed to be initialized once per interpreter, so the check I have included in, for example issue15651, makes sense from this perspective. There have been reasonable desires (from Eli) to make the module state separate from each imported module within the interpreter, but this would involve more drastic changes and will be rather part of future Python releases. Should we therefore (for now) make this a mandatory PEP3121 convention and include it into the xxmodule.c refactoring? -- Added file: http://bugs.python.org/file31355/xxmodule_pep3121-384_v2.patch ___ Python tracker <http://bugs.python.org/issue15849> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
Robin Schreiber added the comment: Everything except for the Xxo_Type. But you are right. Then again, why are these global static variables from the start? Isn't this because xxmodule is some kind of "dummy" module that is supposed to demonstrate some coding conventions on how to build extension modules? Another possibility could be the faster lookup of the variables, which is now of course invalidated if we store it within the module state. -- ___ Python tracker <http://bugs.python.org/issue15849> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14732] PEP 3121 Refactoring applied to _csv module
New submission from Robin Schreiber : This patch presents my first try to apply the proposed Refactoring of PEP3121 to the csv module. I have identified three mutable global variables inside the module, two of which are references to PyObjects. I have wrapped all of them inside a dedicated struct, which is traversed by the gc after "freeing" the module. I also defined some macros, to hide functions calls that are now needed because of the newly introduced indirections. -- components: Extension Modules files: csv_pep3121.patch keywords: patch messages: 160032 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121 Refactoring applied to _csv module type: enhancement versions: Python 3.3 Added file: http://bugs.python.org/file25473/csv_pep3121.patch ___ Python tracker <http://bugs.python.org/issue14732> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14732] PEP 3121 Refactoring applied to _csv module
Robin Schreiber added the comment: The following script should fail before you have applied the bespoken patch: It basically checks wether one of the global PyObjects inside the csv module is being deleted after freeing the csv module. -- Added file: http://bugs.python.org/file25474/refactoring_test.py ___ Python tracker <http://bugs.python.org/issue14732> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14732] PEP 3121 Refactoring applied to _csv module
Changes by Robin Schreiber : Added file: http://bugs.python.org/file25559/csv_pep3121_fix1.patch ___ Python tracker <http://bugs.python.org/issue14732> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14935] PEP 341 Refactoring applied to _csv module
New submission from Robin Schreiber : Corresponding to my previous Issue #14732 I have now applied the Heap-Type Refactoring from PEP 341 to the _csv module. As I will apply this refactoring for almost every Standard Module, I will bundle my PEP3121 and PEP341 refactorings into a single patch for future releases. (In case there are no objections) -- components: Extension Modules files: csv_pep341.patch keywords: patch messages: 161791 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 341 Refactoring applied to _csv module type: enhancement versions: Python 3.3 Added file: http://bugs.python.org/file25745/csv_pep341.patch ___ Python tracker <http://bugs.python.org/issue14935> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14935] PEP 384 Refactoring applied to _csv module
Robin Schreiber added the comment: I was of course referring to PEP 384. Sorry for the inconvenience. -- title: PEP 341 Refactoring applied to _csv module -> PEP 384 Refactoring applied to _csv module ___ Python tracker <http://bugs.python.org/issue14935> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14936] PEP 3121, 384 refactoring applied to curses_panel module
New submission from Robin Schreiber : I have now applied the Heap-Type Refactoring from PEP 384 to the curses_panel module. Currently I still provide seperate patches for the PEP 3121 and PEP 384 refactoring. As mentioned in Issue #14935 I am planning to release single patches in the future for each module I refactor. -- components: Extension Modules files: curses_panel_pep384.patch keywords: patch messages: 161793 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to curses_panel module type: enhancement versions: Python 3.3 Added file: http://bugs.python.org/file25746/curses_panel_pep384.patch ___ Python tracker <http://bugs.python.org/issue14936> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14936] PEP 3121, 384 refactoring applied to curses_panel module
Changes by Robin Schreiber : Added file: http://bugs.python.org/file25747/curses_panel_pep3121.patch ___ Python tracker <http://bugs.python.org/issue14936> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14936] PEP 3121, 384 refactoring applied to curses_panel module
Robin Schreiber added the comment: I have now also added the PEP3121 patch for the curses_panel module. -- ___ Python tracker <http://bugs.python.org/issue14936> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15042] Implemented PyState_AddModule, PyState_RemoveModule
New submission from Robin Schreiber : PEP 3121 suggests a new way of Module-initialization, where the module state is being wrapped inside a dedicate struct, which can be accessed at runtime via the PyState_FindModule method. For code outside the Init-method, there is no other way to receive the module-state, as it has no reference to the object created by PyModule_Create. PyState_FindModule requires, that the module-state has been attached to the interpreter-state beforehand. Inside an extension module code this is almost everywhere the case except inside the Init-method, because currently _PyState_AddModule is only called by the importer AFTER the extension module has been initialized successfully. As most of the macro definitions inside an extension module, which rely on data stored in the module state, have to receive the state via FindModule, they fail to work inside the modules Init-method. This patch suggests an extension of PyState comprising two publicly available methods (PyState_AddModule, PyState_RemoveModule) that can be called from inside the Init-method, so that the module-state is attached to the interpreter state before further initialization of the module continues. As a result, PyState_FindModule will also work in this region of the extension module and the bespoken expanded macros will also work flawlessly when executed inside the Init code. This patch is especially important for the future application of PEP 3121 together with PEP 384, as the newly created heap-types now reside inside the module-state. As type-objects are frequently used in macro-definitions which are also expanded within the Init-method of a module (or inside a function called from Init), the module state has to be received via FindModule. (The alternative would be nasty redefinitions of the specific macros, shortly before Init) -- components: Interpreter Core files: PyState_add-remove_module.patch keywords: patch messages: 162581 nosy: Robin.Schreiber priority: normal severity: normal status: open title: Implemented PyState_AddModule, PyState_RemoveModule type: enhancement versions: Python 3.3 Added file: http://bugs.python.org/file25871/PyState_add-remove_module.patch ___ Python tracker <http://bugs.python.org/issue15042> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15042] Implemented PyState_AddModule, PyState_RemoveModule
Robin Schreiber added the comment: Added missing documentation. Also added documentation of PyState_FindModule() which still happened to be missing. -- Added file: http://bugs.python.org/file26046/PyState_add-remove_module_v2.patch ___ Python tracker <http://bugs.python.org/issue15042> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15146] Implemented PyType_FromSpecWithBases
New submission from Robin Schreiber : Enhancement to the currently existing PyType_FromSpec() which creates and returns a heap type from a given spec. PyType_FromSpecWithBases() works similar to PyType_FromSpec(), however it sets the bases of the newly created heap type to the types contained inside the passed bases-tuple. This allows the programmer to reference other heap-types as base types of a new heap type. This is necessary as the slot-API, which is used for static declarations of the type-spec, currently relies on statically declared type objects as tp_base or tp_bases entries. -- components: Interpreter Core files: PyType_FromSpecWithBases.patch keywords: patch messages: 163502 nosy: Robin.Schreiber priority: normal severity: normal status: open title: Implemented PyType_FromSpecWithBases type: enhancement versions: Python 3.3 Added file: http://bugs.python.org/file26099/PyType_FromSpecWithBases.patch ___ Python tracker <http://bugs.python.org/issue15146> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15146] Implemented PyType_FromSpecWithBases
Changes by Robin Schreiber : -- nosy: +loewis ___ Python tracker <http://bugs.python.org/issue15146> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14935] PEP 384 Refactoring applied to _csv module
Robin Schreiber added the comment: Added missing INCREF and DECREF inside the dealloc, and new methods of the types. -- Added file: http://bugs.python.org/file26381/csv_pep384_v1.patch ___ Python tracker <http://bugs.python.org/issue14935> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15389] PEP 3121, 384 refactoring applied to curses module
New submission from Robin Schreiber : Changes proposed in PEP3121 and PEP384 applied to the curses module. As these Changes do not alter behaviour of the specific modules, I would encourage to see this enhancement as a "bugfix" and consequently include this into the coming Python 3.3 release. -- components: Extension Modules files: _cursesmodule_pep3121-384_v0.patch keywords: patch messages: 165804 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to curses module type: resource usage versions: Python 3.3 Added file: http://bugs.python.org/file26430/_cursesmodule_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15389> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15390] PEP 3121, 384 refactoring applied to datetime module
New submission from Robin Schreiber : Changes proposed in PEP3121 and PEP384 have now been applied to the datetime module! -- components: Extension Modules files: _datetimemodule_pep3121-384_v0.patch keywords: patch messages: 165805 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to datetime module type: resource usage versions: Python 3.3 Added file: http://bugs.python.org/file26431/_datetimemodule_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15390> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15389] PEP 3121, 384 refactoring applied to curses module
Changes by Robin Schreiber : -- nosy: +loewis ___ Python tracker <http://bugs.python.org/issue15389> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14935] PEP 384 Refactoring applied to _csv module
Robin Schreiber added the comment: Fixed the dealloc-methods of the types, for proper type dereferencing. -- Added file: http://bugs.python.org/file26797/csv_pep384_v2.patch ___ Python tracker <http://bugs.python.org/issue14935> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14935] PEP 384 Refactoring applied to _csv module
Changes by Robin Schreiber : -- versions: +Python 3.4 -Python 3.3 ___ Python tracker <http://bugs.python.org/issue14935> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15390] PEP 3121, 384 refactoring applied to datetime module
Robin Schreiber added the comment: Fixed _dealloc methods. Also: Init now returns the previously initialized module if available. -- Added file: http://bugs.python.org/file26803/_datetimemodule_pep3121-384_v1.patch ___ Python tracker <http://bugs.python.org/issue15390> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15650] PEP 3121, 384 refactoring applied to dbm module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the dbm module! -- components: Extension Modules files: _dbmmodule_pep3121-384_v0.patch keywords: patch messages: 168216 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to dbm module versions: Python 3.4 Added file: http://bugs.python.org/file26804/_dbmmodule_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15650> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15651] PEP 3121, 384 refactoring applied to elementtree module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the elementtree module! -- components: Extension Modules files: _elementtree_pep3121-384_v0.patch keywords: patch messages: 168217 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to elementtree module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26805/_elementtree_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15651> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15651] PEP 3121, 384 refactoring applied to elementtree module
Changes by Robin Schreiber : -- nosy: +effbot ___ Python tracker <http://bugs.python.org/issue15651> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15652] PEP 3121, 384 refactoring applied to gdbm module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the gdbm module! -- components: Extension Modules files: _gdbm_pep3121-384_v0.patch keywords: patch messages: 168219 nosy: Robin.Schreiber, anthony_baxter priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to gdbm module versions: Python 3.4 Added file: http://bugs.python.org/file26806/_gdbm_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15652> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15653] PEP 3121, 384 refactoring applied to hashopenssl module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the hashopenssl module! -- components: Extension Modules files: _hashopenssl_pep3121-384_v0.patch keywords: patch messages: 168220 nosy: Robin.Schreiber, gstein priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to hashopenssl module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26807/_hashopenssl_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15653> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15654] PEP 384 Refactoring applied to bz2 module
New submission from Robin Schreiber: Changes proposed in PEP384 have now been applied to the bz2 module! -- components: Extension Modules files: _bz2_pep384_v0.patch keywords: patch messages: 168221 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 384 Refactoring applied to bz2 module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26808/_bz2_pep384_v0.patch ___ Python tracker <http://bugs.python.org/issue15654> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15655] PEP 384 Refactoring applied to json module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the json module! -- components: Extension Modules files: _json_pep384_v0.patch keywords: patch messages: 168222 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 384 Refactoring applied to json module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26809/_json_pep384_v0.patch ___ Python tracker <http://bugs.python.org/issue15655> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15653] PEP 3121, 384 refactoring applied to hashopenssl module
Robin Schreiber added the comment: Regarding the macro definition, I would be fine with changing it to _hashlib_state. The dance you have found inside the Init, makes shure that the very same module is returned if Init is called twice or multiple times, before the Module is unloaded. A month back, when I created this patch, I had statements such as test.import.import_fresh_module(...) call the Init-method multiple times, before a module was unloaded. This was apparently a bug, as I can no longer reproduce this behavior, but at that time I thought it was the expected behavior :-) The last code snipped verifies, that we only dereference the type if the dealloc function is not being called from inside the subtype_dealloc function. This is necessary because the subtype_dealloc function itself contains a decref of the respective type object. Without this check, we would then end up decrefing the type too many times. -- ___ Python tracker <http://bugs.python.org/issue15653> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15655] PEP 384 Refactoring applied to json module
Robin Schreiber added the comment: Hey Antoine, This comment describes exactly what I intended with the "dance" in issue15653. For example the json testsuite issued multiple calls to the init function before unloading and consequently clearing the module. However it seems as if the behavior this code dealt with, has been a bug inside the import lib. -- ___ Python tracker <http://bugs.python.org/issue15655> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15653] PEP 3121, 384 refactoring applied to hashopenssl module
Robin Schreiber added the comment: Well, as I have changed the static type to a HeapType (as I am now using the stable ABI from PEP 384 for this type), we have to start perfoming proper reference counting with this object. This includes increfing the type in case a new object of that type is created, and decrefing if such an object is being deallocated. As of now, I do not know of HeapTypes being excluded from refcounting. -- ___ Python tracker <http://bugs.python.org/issue15653> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15655] PEP 384 Refactoring applied to json module
Robin Schreiber added the comment: Incidentally, I am deeply sorry for the C++-Style comments. I thought those would be detected by the patchcheck.py. -- ___ Python tracker <http://bugs.python.org/issue15655> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15653] PEP 3121, 384 refactoring applied to hashopenssl module
Robin Schreiber added the comment: As subtype_dealloc decref'ed the HeapType I thought the dealloc method was the most appropriate place to decrement the refcount of the type. However you still agree that these types need to be recounted properly, don't you? In that case, where would you place the decref of the type? I have talked with Martin v. Löwis about this issue, and I think he was quite comfortable with placing the decref inside the dealloc method. -- ___ Python tracker <http://bugs.python.org/issue15653> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15390] PEP 3121, 384 refactoring applied to datetime module
Robin Schreiber added the comment: I have now included the changes that Antoine suggested. The _Get_State was used for debugging purposes and is, as I think, no longer necessary. However we have yet to find a solution for the decref inside the dealloc methods. -- Added file: http://bugs.python.org/file26817/_datetimemodule_pep3121-384_v2.patch ___ Python tracker <http://bugs.python.org/issue15390> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15655] PEP 384 Refactoring applied to json module
Robin Schreiber added the comment: Removed C++ comment and corresponding codesnipped. Also changed bad-style macro definition. -- Added file: http://bugs.python.org/file26818/_json_pep384_v1.patch ___ Python tracker <http://bugs.python.org/issue15655> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15662] PEP 3121 refactoring applied to locale module
New submission from Robin Schreiber: Changes proposed in PEP3121 have now been applied to the locale module! -- components: Extension Modules files: _locale_pep3121_v0.patch keywords: patch messages: 168268 nosy: Robin.Schreiber, loewis priority: normal severity: normal status: open title: PEP 3121 refactoring applied to locale module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26819/_locale_pep3121_v0.patch ___ Python tracker <http://bugs.python.org/issue15662> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15665] PEP 3121, 384 refactoring applied to lsprof module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the lsprof module! -- components: Extension Modules files: _lsprof_pep3121-384_v0.patch keywords: patch messages: 168292 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to lsprof module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26823/_lsprof_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15665> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15666] PEP 3121, 384 refactoring applied to lzma module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the lzma module! -- components: Extension Modules files: _lzma_pep3121-384_v0.patch keywords: patch messages: 168294 nosy: Robin.Schreiber, nadeem.vawda priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to lzma module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26824/_lzma_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15666> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15667] PEP 3121, 384 refactoring applied to pickle module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the pickle module! -- components: Extension Modules files: _pickle_pep3121-384_v0.patch keywords: patch messages: 168295 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 refactoring applied to pickle module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26825/_pickle_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15667> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15668] PEP 3121, 384 Refactoring applied to random module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the lsprof module! -- components: Extension Modules files: _random_pep3121-384_v0.patch keywords: patch messages: 168297 nosy: Robin.Schreiber, rhettinger priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to random module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26828/_random_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15668> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15669] PEP 3121, 384 Refactoring applied to sre module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the sre module! -- components: Extension Modules files: _sre_pep3121-384_v0.patch keywords: patch messages: 168298 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to sre module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26829/_sre_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15669> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15670] PEP 3121, 384 Refactoring applied to ssl module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the ssl module! -- components: Extension Modules files: _ssl_pep3121-384_v0.patch keywords: patch messages: 168300 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to ssl module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26830/_ssl_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15670> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15671] PEP 3121, 384 Refactoring applied to struct module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the struct module! -- components: Extension Modules files: _struct_pep3121-384_v0.patch keywords: patch messages: 168302 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to struct module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26832/_struct_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15671> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15672] PEP 3121, 384 Refactoring applied to testbuffer module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the testbuffer module! -- components: Extension Modules files: _testbuffer_pep3121-384_v0.patch keywords: patch messages: 168304 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to testbuffer module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26833/_testbuffer_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15672> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15672] PEP 3121, 384 Refactoring applied to testbuffer module
Changes by Robin Schreiber : -- nosy: +skrah -Robin.Schreiber ___ Python tracker <http://bugs.python.org/issue15672> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15672] PEP 3121, 384 Refactoring applied to testbuffer module
Changes by Robin Schreiber : -- nosy: +Robin.Schreiber ___ Python tracker <http://bugs.python.org/issue15672> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15673] PEP 3121, 384 Refactoring applied to testcapi module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the testcapi module! -- components: Extension Modules files: _testcapi_pep3121-384_v0.patch keywords: patch messages: 168305 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to testcapi module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26834/_testcapi_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15673> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15674] PEP 3121, 384 Refactoring applied to thread module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the thread module! -- components: Extension Modules files: _thread_pep3121-384_v0.patch keywords: patch messages: 168306 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to thread module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26835/_thread_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15674> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15675] PEP 3121, 384 Refactoring applied to array module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the array module! -- components: Extension Modules files: array_pep3121-385_v0.patch keywords: patch messages: 168307 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to array module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26836/array_pep3121-385_v0.patch ___ Python tracker <http://bugs.python.org/issue15675> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15680] PEP 3121 refactoring applied to audioop module
New submission from Robin Schreiber: Changes proposed in PEP3121 have now been applied to the audioop module! -- components: Extension Modules files: audioop_pep3121_v0.patch keywords: patch messages: 168353 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121 refactoring applied to audioop module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26842/audioop_pep3121_v0.patch ___ Python tracker <http://bugs.python.org/issue15680> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15681] PEP 3121 refactoring applied to binascii module
New submission from Robin Schreiber: Changes proposed in PEP3121 have now been applied to the binascii module! -- components: Extension Modules files: binascii_pep3121_v0.patch keywords: patch messages: 168354 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121 refactoring applied to binascii module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26843/binascii_pep3121_v0.patch ___ Python tracker <http://bugs.python.org/issue15681> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15682] PEP 3121 refactoring applied to fpectl module
New submission from Robin Schreiber: Changes proposed in PEP3121 have now been applied to the fpectl module! -- components: Extension Modules files: fpectl_pep3121_v0.patch keywords: patch messages: 168355 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121 refactoring applied to fpectl module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26844/fpectl_pep3121_v0.patch ___ Python tracker <http://bugs.python.org/issue15682> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15684] PEP 3121 refactoring applied to fpetest module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the fpetest module! -- components: Extension Modules files: fpetest_pep3121_v0.patch keywords: patch messages: 168357 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121 refactoring applied to fpetest module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26845/fpetest_pep3121_v0.patch ___ Python tracker <http://bugs.python.org/issue15684> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15685] PEP 3121, 384 Refactoring applied to itertools module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the itertools module! -- components: Extension Modules files: itertools_pep3121-384_v0.patch keywords: patch messages: 168359 nosy: Robin.Schreiber, rhettinger priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to itertools module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26846/itertools_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15685> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15686] PEP 3121, 384 Refactoring applied to md5 module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the md5 module! -- components: Extension Modules files: md5_pep3121-384_v0.patch keywords: patch messages: 168360 nosy: Robin.Schreiber, gregory.p.smith priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to md5 module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26847/md5_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15686> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15687] PEP 3121, 384 Refactoring applied to mmap module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the mmap module! -- components: Extension Modules files: mmap_pep3121-384_v0.patch keywords: patch messages: 168361 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to mmap module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26848/mmap_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15687> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15688] PEP 3121 Refactoring applied to nis module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the nis module! -- components: Extension Modules files: nis_pep3121_v0.patch keywords: patch messages: 168362 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121 Refactoring applied to nis module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26849/nis_pep3121_v0.patch ___ Python tracker <http://bugs.python.org/issue15688> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15689] PEP 3121, 384 Refactoring applied to operator module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the operator module! -- components: Extension Modules files: operator_pep3121-384_v0.patch keywords: patch messages: 168363 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to operator module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26850/operator_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15689> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15690] PEP 3121, 384 Refactoring applied to parser module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the parser module! -- components: Extension Modules files: parser_pep3121-384_v0.patch keywords: patch messages: 168364 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to parser module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26851/parser_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15690> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15691] PEP 3121, 384 Refactoring applied to posix module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the posix module! -- components: Extension Modules files: posix_pep3121-384_v0.patch keywords: patch messages: 168367 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to posix module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26852/posix_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15691> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15697] PEP 3121 refactoring applied to pwd module
New submission from Robin Schreiber: Changes proposed in PEP3121 have now been applied to the pwd module! -- components: Extension Modules files: pwd_pep3121_v0.patch keywords: patch messages: 168403 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121 refactoring applied to pwd module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26860/pwd_pep3121_v0.patch ___ Python tracker <http://bugs.python.org/issue15697> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15698] PEP 3121, 384 Refactoring applied to pyexpat module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the pyexpat module! -- components: Extension Modules files: pyexpat_pep3121-384_v0.patch keywords: patch messages: 168404 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to pyexpat module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26861/pyexpat_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15698> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15699] PEP 3121, 384 Refactoring applied to readline module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the readline module! -- components: Extension Modules files: readline_pep3121-384_v0.patch keywords: patch messages: 168405 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to readline module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26862/readline_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15699> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15700] PEP 3121, 384 Refactoring applied to resource module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the resource module! -- components: Extension Modules files: resource_pep3121-384_v0.patch keywords: patch messages: 168406 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to resource module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26863/resource_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15700> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15703] PEP 3121, 384 Refactoring applied to select module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the select module! -- components: Extension Modules files: select_pep3121-384_v0.patch keywords: patch messages: 168410 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to select module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26865/select_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15703> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15704] PEP 3121, 384 Refactoring applied to sha1 module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the sha1 module! -- components: Extension Modules files: sha1_pep3121-384_v0.patch keywords: patch messages: 168411 nosy: Robin.Schreiber, gregory.p.smith priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to sha1 module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26866/sha1_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15704> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15705] PEP 3121, 384 Refactoring applied to sha256 module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the sha256 module! -- components: Extension Modules files: sha256_pep3121-384_v0.patch keywords: patch messages: 168412 nosy: Robin.Schreiber, gregory.p.smith priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to sha256 module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26867/sha256_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15705> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15706] PEP 3121, 384 Refactoring applied to sha512 module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the sha512 module! -- components: Extension Modules files: sha512_pep3121-384_v0.patch keywords: patch messages: 168413 nosy: Robin.Schreiber, gregory.p.smith priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to sha512 module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26868/sha512_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15706> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15707] PEP 3121, 384 Refactoring applied to signal module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the signal module! -- components: Extension Modules files: signal_pep3121-384_v0.patch keywords: patch messages: 168415 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to signal module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26869/signal_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15707> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15708] PEP 3121, 384 Refactoring applied to socket module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the socket module! -- components: Extension Modules files: socket_pep3121-384_v0.patch keywords: patch messages: 168416 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to socket module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26870/socket_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15708> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15709] PEP 3121, 384 Refactoring applied to termios module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the termios module! -- components: Extension Modules files: termios_pep3121-384_v0.patch keywords: patch messages: 168417 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to termios module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26871/termios_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15709> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15711] PEP 3121, 384 Refactoring applied to time module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the time module! -- components: Extension Modules files: time_pep3121-384_v0.patch keywords: patch messages: 168419 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to time module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26872/time_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15711> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15712] PEP 3121, 384 Refactoring applied to unicodedata module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the unicodedata module! -- components: Extension Modules files: unicodedate_pep3121-384_v0.patch keywords: patch messages: 168420 nosy: Robin.Schreiber, effbot, lemburg, loewis priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to unicodedata module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26873/unicodedate_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15712> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15713] PEP 3121, 384 Refactoring applied to zipimport module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the zipimport module! -- components: Extension Modules files: zipimport_pep3121-384_v0.patch keywords: patch messages: 168421 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to zipimport module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26874/zipimport_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15713> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15714] PEP 3121, 384 Refactoring applied to grp module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the grp module! -- components: Extension Modules files: grp_pep3121-384_v0.patch keywords: patch messages: 168422 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to grp module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26875/grp_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15714> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15721] PEP 3121, 384 Refactoring applied to tkinter module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the tkinter module! When running the test form inside Python.exe (tkinter._test()), the litte "test-window" is rendered correctly. However there are still some error messages popping up inside the python shell (I am running this on OS X 10.8): >>> tkinter._test() 2012-08-18 12:46:24.775 python.exe[17410:707] speedup (null) 2012-08-18 12:46:24.776 python.exe[17410:707] ERROR: Unable to find method [_NSFullScreenTransition _startFullScreenTransitionForCGWindow:targetFrame:duration:]. 2012-08-18 12:46:24.776 python.exe[17410:707] ERROR: Unable to find method [_NSFullScreenTransition _startEnterFullScreenTransitionForCGWindow:targetFrame:duration:]. 2012-08-18 12:46:24.778 python.exe[17410:707] ERROR: Unable to find method [_NSFullScreenTransition startExitFullScreenTransitionForCGWindow:targetFrame:duration:]. [87221 refs] >>> I have no Idea how and where these are triggered. -- components: Extension Modules files: _tkinter_pep3121-384_v0.patch keywords: patch messages: 168504 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to tkinter module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26887/_tkinter_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15721> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15722] PEP 3121, 384 Refactoring applied to decimal module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the decimal module! -- components: Regular Expressions files: _decimal_pep3121-384_v0.patch keywords: patch messages: 168511 nosy: Robin.Schreiber, ezio.melotti, mrabarnett, skrah priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to decimal module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26888/_decimal_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15722> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15722] PEP 3121, 384 Refactoring applied to decimal module
Changes by Robin Schreiber : -- components: +Extension Modules -Regular Expressions ___ Python tracker <http://bugs.python.org/issue15722> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15722] PEP 3121, 384 Refactoring applied to decimal module
Robin Schreiber added the comment: I have removed some redundant modulestate lookups and the testsuite now executes the decimal tests as fast as before the patch is applied. (at least for me). May I ask how you tested the decimal performance? Regarding the failing test: It appears that the hackcheck() method in typeobject.c is responsible for this failure: static int hackcheck(PyObject *self, setattrofunc func, char *what) { PyTypeObject *type = Py_TYPE(self); while (type && type->tp_flags & Py_TPFLAGS_HEAPTYPE) type = type->tp_base; /* If type is NULL now, this is a really weird type. In the spirit of backwards compatibility (?), just shut up. */ if (type && type->tp_setattro != func) { PyErr_Format(PyExc_TypeError, "can't apply this %s to %s object", what, type->tp_name); return 0; } return 1; } As the context-type is now a heaptype the while-loop will continue to jump to the basetype of the conext-type, which is the object-type. There it ultimately fails when it compares func (context_setattr) to the tp_setattr of object. Anyway, I do not understand the purpose of the hackcheck method, so I can not propose any kind of solution for this problem. -- Added file: http://bugs.python.org/file26889/_decimal_pep3121-384_v1.patch ___ Python tracker <http://bugs.python.org/issue15722> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15725] PyType_FromSpecWithBases bugfix
New submission from Robin Schreiber: This small patch prevents PyType_FromSpecWithBases, from setting the base(s) attribute of the HeapType to NULL-values. -- components: Interpreter Core files: PyType_FromSpecWithBases_bases_fix.patch keywords: patch messages: 168570 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PyType_FromSpecWithBases bugfix type: behavior versions: Python 3.4 Added file: http://bugs.python.org/file26895/PyType_FromSpecWithBases_bases_fix.patch ___ Python tracker <http://bugs.python.org/issue15725> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15726] PyState_FindModule false length-comparison fix
New submission from Robin Schreiber: Fixed wrong list-length comparison in PyState_FindModule. -- components: Interpreter Core files: PyState_FindModule_LE_fix.patch keywords: patch messages: 168572 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PyState_FindModule false length-comparison fix type: behavior versions: Python 3.4 Added file: http://bugs.python.org/file26896/PyState_FindModule_LE_fix.patch ___ Python tracker <http://bugs.python.org/issue15726> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15726] PyState_FindModule false length-comparison fix
Changes by Robin Schreiber : -- nosy: +loewis ___ Python tracker <http://bugs.python.org/issue15726> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15725] PyType_FromSpecWithBases bugfix
Changes by Robin Schreiber : -- nosy: +loewis ___ Python tracker <http://bugs.python.org/issue15725> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15727] PyType_FromSpecWithBases tp_new bugfix
New submission from Robin Schreiber: As with every type, that has been created and initialized, HeapTypes created form PyType_FromSpecWithBases() have to pass through PyType_Ready(). Here the function inherit_special might be called, which, among other things, does the following: 3892 if (base != &PyBaseObject_Type || 3893 (type->tp_flags & Py_TPFLAGS_HEAPTYPE)) { 3894 if (type->tp_new == NULL) 3895 type->tp_new = base->tp_new; 3896 } The code does not know of Heaptypes that have been created from extension-types by the PEP 384 refactorings. This includes extension-types that do not specify a tp_new method but instead have seperate factory methods, that are only used within the extension module. inherit_special() might consequently assign inappropriate new-methods to these type objects. To circumvent this issue, I propose to enhance PyType_FromSpecWithBases in the following way: If no tp_new has been specified, we assign the newly defined PySpec_New() method to tp_new which simply denies the user to create an instance of this type. This also prohibits inherit_special to falsely inherit inappropriate new-methods. -- components: Interpreter Core files: PyType_FromSpecWithBases_tp_new_fix.patch keywords: patch messages: 168579 nosy: Robin.Schreiber, loewis priority: normal severity: normal status: open title: PyType_FromSpecWithBases tp_new bugfix type: behavior versions: Python 3.4 Added file: http://bugs.python.org/file26897/PyType_FromSpecWithBases_tp_new_fix.patch ___ Python tracker <http://bugs.python.org/issue15727> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15729] PyStructSequence_NewType enhancement
New submission from Robin Schreiber: To create a HeapType from Structseq description, there is the helpful, yet undocumented PyStructSequence_NewType Method, which can do just that. Until now, this method solely allocates some generic TypeObject on which it then performs PyStructSequence_InitType(). I have found that this is far from enough, as for one the flags of the type are not set appropriately and neither ht_name nor ht_qualname are set (which is as far as I know required of a proper Heaptype). I have now added this missing initialization of the fields to PyStructSequence_NewType(). I have also changed the previous definition of PyStructSequence_InitType, by extracting a new Method _PyStructSequence_InitTypeWithFlags. This initializes the given type with the flags variable passed to the function. This method extraction is needed, as we can not alter the semantics of InitType itself, yet need some way to initialize a SequenceType with Heaptype-flags, without having too much duplicate code. -- components: Interpreter Core files: structseq_newtype_fix.patch keywords: patch messages: 168595 nosy: Robin.Schreiber, loewis priority: normal severity: normal status: open title: PyStructSequence_NewType enhancement type: enhancement versions: Python 3.4 Added file: http://bugs.python.org/file26901/structseq_newtype_fix.patch ___ Python tracker <http://bugs.python.org/issue15729> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15733] PEP 3121, 384 Refactoring applied to winapi module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the winapi module! -- components: Extension Modules files: _winapi_pep3121-384_v0.patch keywords: patch messages: 168639 nosy: Robin.Schreiber, astrand, effbot, loewis priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to winapi module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26921/_winapi_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15733> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15733] PEP 3121, 384 Refactoring applied to winapi module
Robin Schreiber added the comment: Forgot to change the macro definition... -- Added file: http://bugs.python.org/file26922/_winapi_pep3121-384_v1.patch ___ Python tracker <http://bugs.python.org/issue15733> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15734] PEP 3121, 384 Refactoring applied to spwd module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the spwd module! -- components: Extension Modules files: spwd_pep3121-384_v0.patch keywords: patch messages: 168641 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to spwd module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26923/spwd_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15734> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15735] PEP 3121, 384 Refactoring applied to ossaudio module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the ossaudio module! -- components: Extension Modules files: ossaudiodev_pep3121-384_v0.patch keywords: patch messages: 168642 nosy: Robin.Schreiber priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to ossaudio module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file26924/ossaudiodev_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15735> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15848] PEP 3121, 384 Refactoring applied to xxsubtype module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the xxsubtype module! -- components: Extension Modules files: xxsubtype_pep3121-384_v0.patch keywords: patch messages: 169701 nosy: Robin.Schreiber, belopolsky priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to xxsubtype module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file27097/xxsubtype_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15848> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15849] PEP 3121, 384 Refactoring applied to xx module
New submission from Robin Schreiber: Changes proposed in PEP3121 and PEP384 have now been applied to the xx module! -- components: Extension Modules files: xxmodule_pep3121-384_v0.patch keywords: patch messages: 169702 nosy: Robin.Schreiber, belopolsky priority: normal severity: normal status: open title: PEP 3121, 384 Refactoring applied to xx module type: resource usage versions: Python 3.4 Added file: http://bugs.python.org/file27098/xxmodule_pep3121-384_v0.patch ___ Python tracker <http://bugs.python.org/issue15849> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue15721] PEP 3121, 384 Refactoring applied to tkinter module
Robin Schreiber added the comment: Before I submitted this patch, I used to have these variables inside the modulestate, which caused severe problems. I do not know the exact reason, but my guess is that these variables have to be globally available for every thread (tcl variables are used for thread synchronization arent they?). As the modulestate may change depending on the thread, one can no longer guarantee that every thread within the process is operating on the same variable. This might not be nessecary, however as I mentioned, the naive approach of putting the variables inside the modulestate did not work out for me. -- ___ Python tracker <http://bugs.python.org/issue15721> ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com