[issue18054] Add more exception related assertions to unittest
New submission from Nick Coghlan: When creating the error handling tests for the new ipaddress module, one of the things I added was an assertCleanError method on the test cases [1]. This is a wrapper around assertRaisesRegex which ensures that either no exception context is set, or if there is one set, ensures that the display is suppressed by default. While I don't think assertCleanError itself is suitable for adoption (there are two many use case specific details), I think it *would* be useful to provide two related helper assertions along the lines of the following (the failure message in the first case could likely be improved). Firstly, ensuring that the context has been *suppressed* when it should have been: def assertCleanTraceback(self, exc, msg=None): exc_context = exc.__context__ if exc_context is not None and not exc.__suppress_context__: if msg is None: fmt = {} has context set: {} msg = fmt.format(type(exc), type(exc_context)) self.fail(msg) return exc_context and secondly ensuring that the cause has been *set* when it should have been: def assertRaisedFrom(self, exc, expected_cause, expected_regex, msg=None): exc_cause = exc.__cause__ # Use the guts of assertRaises to compare the actual cause # and the expected cause and raise an appropriate failure # if they don't match return exc_cause Both proposed helpers return the actual context/cause so they can be used to test longer deliberate exception chaings. [1] http://hg.python.org/cpython/file/04ca3f1515cf/Lib/test/test_ipaddress.py#l37 -- messages: 189945 nosy: michael.foord, ncoghlan priority: normal severity: normal stage: needs patch status: open title: Add more exception related assertions to unittest type: enhancement versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18054 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12641] Remove -mno-cygwin from distutils
Roumen Petrov added the comment: Oscar Benjamin wrote: [SNIP]The option was only ever meaningful in cygwin's gcc 3.x and was always an error in 4.x. May be . It seems to me flag was removed in GCC 4.5 . -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue12641 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12641] Remove -mno-cygwin from distutils
Seppo Yli-Olli added the comment: Since Renata's ERRATA was unclear to whether or not this was *actually* removed (please point to a changeset if the option was removed): If the option is no longer required by Pidgin and that was the original reason to have it in the first, there's really no reason *not* to remove this, no? Eg this code int main() { return 0; } Fails to compile on MingW gcc 4.6 and 4.7 when passing -mno-cygwin to gcc. The solution that distutils does not work with current versions of MingW (and GCC) for good is unacceptable so the only working solution is removal of no-cygwin. Just that GCC 4.4 would support the flag does not change this bug one way or the other. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue12641 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18032] set methods should specify whether they consume iterators lazily
Changes by Phil Connell pconn...@gmail.com: -- nosy: +pconnell ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18032 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18033] Example for Profile Module shows incorrect method
Changes by Phil Connell pconn...@gmail.com: -- nosy: +pconnell ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18033 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18035] telnetlib incorrectly assumes that select.error has an errno attribute
Changes by Phil Connell pconn...@gmail.com: -- nosy: +pconnell ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18035 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18036] How do I create a .pyc file? FAQ entry is out of date
Changes by Phil Connell pconn...@gmail.com: -- nosy: +pconnell ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18036 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18043] No mention of `match.regs` in `re` documentation
Changes by Phil Connell pconn...@gmail.com: -- nosy: +pconnell ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18043 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18042] Provide enum.unique class decorator
Changes by Phil Connell pconn...@gmail.com: -- nosy: +pconnell ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18042 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18047] Descriptors get invoked in old-style objects and classes
Changes by Phil Connell pconn...@gmail.com: -- nosy: +pconnell ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18047 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12641] Remove -mno-cygwin from distutils
Seppo Yli-Olli added the comment: ERRATA Misunderstood the meaning of ERRATA, please ignore my last post. Roumen Petrov wrote: Where is written that compiler is gcc ? Yes this is current distutils code but please review my set of patches I kinda like the using --target-help for finding out if -mno-cygwin is supported assuming --target-help is supported by all GCC's. I disliked the version-based approach since back from 2011 since it seems fragile to me. I'm noo sure if it falls into the category of lightweight checks Eric asked for in #msg146499 but at least more lightweight than my proposal of trying to compile a sample program with the compiler. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue12641 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18046] Simplify and clarify logging internals
Roundup Robot added the comment: New changeset 5629bf4c6bba by Vinay Sajip in branch 'default': Closes #18046: Simplified logging internals relating to levels and their names. Thanks to Alex Gaynor for the patch. http://hg.python.org/cpython/rev/5629bf4c6bba -- nosy: +python-dev resolution: - fixed stage: patch review - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18046 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17936] O(n**2) behaviour when adding/removing classes
Antoine Pitrou added the comment: Here is another approach to make tp_subclasses a dict, rather than a list. I'll let you benchmark and choose whichever you prefer :) -- nosy: +gvanrossum, rhettinger Added file: http://bugs.python.org/file30364/subclasses_dict.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17936 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17997] ssl.match_hostname(): sub string wildcard should not match IDNA prefix
Changes by Antoine Pitrou pit...@free.fr: -- priority: critical - normal ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17997 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17936] O(n**2) behaviour when adding/removing classes
Antoine Pitrou added the comment: One question: I saw you clearing exceptions in the tp_clear() function, isn't it better to use PyErr_PrintUnraisable()? You're right, that would be better. I was just being lazy. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17936 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17936] O(n**2) behaviour when adding/removing classes
Kristján Valur Jónsson added the comment: Looks good, I'll give it a spin. This is probably smarter then trying to do tricks with lists. One question: I saw you clearing exceptions in the tp_clear() function, isn't it better to use PyErr_PrintUnraisable()? Is there a guideline to when to use that one in internal code? When is it safe to just shrug and ignore? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17936 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8240] ssl.SSLSocket.write may fail on non-blocking sockets
Antoine Pitrou added the comment: As for partial writes, I'm not sure if it's backwards compatible to turn them on by default, but it might be nice if the option were exposed. Partial writes may have less benefit in Python than in C since we'd have to reallocate and copy a string instead of just moving a pointer. You can slice a memoryview() to avoid a copy. But I'm not sure of the point of partial writes here: can't you just send slices that are small enough (e.g. 4KB each)? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8240 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8240] ssl.SSLSocket.write may fail on non-blocking sockets
Roundup Robot added the comment: New changeset 60310223d075 by Antoine Pitrou in branch 'default': Issue #8240: Set the SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag on SSL sockets. http://hg.python.org/cpython/rev/60310223d075 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8240 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue8240] ssl.SSLSocket.write may fail on non-blocking sockets
Antoine Pitrou added the comment: Ok, I should have fixed the original issue. If you want to see an option to enable partial writes, please open a separate issue. -- resolution: - fixed stage: needs patch - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue8240 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7940] re.finditer and re.findall should support negative end positions
Changes by Antoine Pitrou pit...@free.fr: -- components: +Library (Lib) stage: test needed - needs patch versions: +Python 3.4 -Python 2.7, Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7940 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13612] xml.etree.ElementTree says unknown encoding of a regular encoding
Roundup Robot added the comment: New changeset f7b47fb30169 by Eli Bendersky in branch '3.3': Issue #13612: handle unknown encodings without a buffer overflow. http://hg.python.org/cpython/rev/f7b47fb30169 New changeset 47e719b11c46 by Eli Bendersky in branch 'default': Issue #13612: handle unknown encodings without a buffer overflow. http://hg.python.org/cpython/rev/47e719b11c46 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13612 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13612] xml.etree.ElementTree says unknown encoding of a regular encoding
Eli Bendersky added the comment: A few notes: 1. If by C API version you mean PyExpat_CAPI_MAGIC, I'm not sure what difference that makes. It has never been updated and it's also being used only in _elementtree. Since the latter is statically compiled against pyexpat, I don't see a reason to touch it. 2. I wouldn't backport it to 2.7; again, not critical enough. 3. Should we open a separate issue for adding support to GBK and similar encodings sometime in the future? This issue kind-of got derailed to fix the bug. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13612 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12641] Remove -mno-cygwin from distutils
Oscar Benjamin added the comment: On 25 May 2013 04:43, Renato Silva rep...@bugs.python.org wrote: Renato Silva added the comment: Hi Oscar! Sorry, I just meant to correct this information: in gcc 4.x it produces an error preventing build. Even if it doesn't do anything useful, still GCC 4.4 does accept that option normally. If MinGW didn't touch anything relevant, then what Cygwin folks said about 4.x [1] clearly did not come to reality. In context it should be clear that the statement in gcc 4.x it produces an error preventing build refers to Cygwin's gcc and not MinGW's. Which gcc are you referring to? No the developer does not confirm that the -mno-cygin option is required for MinGW. Not for MinGW, but for building Pidgin. I have just checked it, and -mno-cygwin actually is no longer necessary since 2.10.7 [1], but it was at the time of that message. Even though it didn't do anything meaningful, a GCC like 4.6 would cause build to fail. Yes gcc 4.6 would fail because it won't accept the -mno-cygwin option. That does not mean that any other MinGW gcc ever *required* the -mno-cygwin option for anything. The MinGW devs have repeatedly and explicitly stated that the -mno-cygwin option never did anything useful when used with MinGW: http://permalink.gmane.org/gmane.comp.gnu.mingw.user/42097 http://permalink.gmane.org/gmane.comp.gnu.mingw.user/42101 http://permalink.gmane.org/gmane.comp.gnu.mingw.user/42104 Also from what I've seen I would say that the error message that the OP shows there comes from Cygwin's gcc not MinGW. No, you can use either Cygwin or MinGW MSYS as environment, but the compiler must be MinGW [2]. Yes but that particular error message is coming from Cygwin's gcc not MinGW. As stated by the Pidgin dev in that message the OP does not know which compiler they are using: http://pidgin.im/pipermail/support/2011-December/011159.html -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue12641 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17936] O(n**2) behaviour when adding/removing classes
Antoine Pitrou added the comment: Note that making tp_subclasses a dict makes the __subclasses__ return order undefined. I don't think I've ever seen __subclasses__ actually used, so I'm not convinced it's a problem, but perhaps it's worth floating the idea on python-dev. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17936 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13612] xml.etree.ElementTree says unknown encoding of a regular encoding
Serhiy Storchaka added the comment: Tests were duplicated. There is no Misc/NEWS entry. I think a buffer overflow is critical enough for backporting. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13612 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue13612] xml.etree.ElementTree says unknown encoding of a regular encoding
Eli Bendersky added the comment: Oh, I didn't notice that your patches had duplication in the tests. Fixed now. I'll wait to see what unfolds for the Misc/NEWS discussion on python-committers. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue13612 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12641] Remove -mno-cygwin from distutils
Roumen Petrov added the comment: Oscar, 10x for info I know how to find information for this particular case . So you last post just confrim what I wrote before two years ( 2011-08-03 http://bugs.python.org/issue12641#msg141614 ) Go ahead and just remove flag. Roumen -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue12641 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1747670] Limiting data copy in xmlrpclib
Serhiy Storchaka added the comment: Do you have any benchmarks? -- nosy: +serhiy.storchaka ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1747670 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue11084] Serialization of decimal.Decimal to XML-RPC
Changes by Serhiy Storchaka storch...@gmail.com: -- status: open - pending ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11084 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Łukasz Langa added the comment: This will be useful for PEP 443. From Nick's comment on python-dev (http://mail.python.org/pipermail/python-dev/2013-May/126535.html): Given the global nature of the cache invalidation, it may be better as a module level abc.get_cache_token() function. -- assignee: - lukasz.langa nosy: +lukasz.langa ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18053] Add checks for Misc/NEWS in make patchcheck
Brett Cannon added the comment: There isn't really a maintainer. I originally wrote it to help out new developers, but no one owns it. We just let people submit fixes they find useful and add them. -- components: +Demos and Tools versions: -Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18053 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Antoine Pitrou added the comment: Rather than exposing the cache token (which looks like an implementation detail), you may allow third-party code to register a handler which will be called when an ABC's registrations are modified: def abc_handler(abc): Called when the concrete class registrations for ABC `abc` are updated. or even: def abc_handler(abc, added, removed): Called when the concrete class registrations for ABC `abc` are updated. `added` is an iterable of concrete classes which have been registered on the ABC, `removed` is an iterable of concrete classes which have been unregistered. -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1054041] Python doesn't exit with proper resultcode on SIGINT
Changes by Jakub Wilk jw...@jwilk.net: -- nosy: +jwilk ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue1054041 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17314] Stop using imp.find_module() in multiprocessing
Brett Cannon added the comment: So I think I have come up with a way to expose a new method that makes this use-case doable and in a sane manner. Richard, let me know what you think so that I know that this makes sense before I commit myself to the new method (init_module_attrs()):: --- a/Lib/multiprocessing/forking.pyFri May 24 13:51:21 2013 +0200 +++ b/Lib/multiprocessing/forking.pyFri May 24 08:06:17 2013 -0400 @@ -449,7 +449,7 @@ elif main_name != 'ipython': # Main modules not actually called __main__.py may # contain additional code that should still be executed -import imp +import importlib if main_path is None: dirs = None @@ -460,16 +460,17 @@ assert main_name not in sys.modules, main_name sys.modules.pop('__mp_main__', None) -file, path_name, etc = imp.find_module(main_name, dirs) +# We should not try to load __main__ +# since that would execute 'if __name__ == __main__' +# clauses, potentially causing a psuedo fork bomb. +loader = importlib.find_loader(main_name, path=dirs) +main_module = imp.new_module(main_name) try: -# We should not do 'imp.load_module(__main__, ...)' -# since that would execute 'if __name__ == __main__' -# clauses, potentially causing a psuedo fork bomb. -main_module = imp.load_module( -'__mp_main__', file, path_name, etc -) -finally: -if file: -file.close() +loader.init_module_attrs(main_module) +except AttributeError: +pass +main_module.__name__ = '__mp_main__' +code = loader.get_code(main_name) +exec(code, main_module.__dict__) sys.modules['__main__'] = sys.modules['__mp_main__'] = main_module -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17314 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18055] Stop using imp in IDLE
New submission from Brett Cannon: As part of issue #14797 I'm trying to remove all uses of imp.find_module/load_module since the API is so bad in the face of importers. See the attached patch to replace the one use in IDLE. It should actually be more accepting of alternative importers than the original code. Since I'm not an IDLE user I'm not comfortable with committing w/o an IDLE dev signing off on it, so please let me know if I can commit it (I would only bother in 3.4 unless you really want it in the 3.3 branch). -- components: IDLE files: imp_removed_from_idle.diff keywords: patch messages: 189968 nosy: brett.cannon priority: normal severity: normal stage: commit review status: open title: Stop using imp in IDLE type: behavior versions: Python 3.4 Added file: http://bugs.python.org/file30365/imp_removed_from_idle.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18055 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue14797] Deprecate imp.find_module()/load_module()
Changes by Brett Cannon br...@python.org: -- dependencies: +Stop using imp in IDLE ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue14797 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18020] html.escape 10x slower than cgi.escape
Changes by Jakub Wilk jw...@jwilk.net: -- nosy: +jwilk ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18020 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18056] Document importlib._bootstrap.NamespaceLoader
New submission from Brett Cannon: Is there a reason NamespaceLoader is undocumented? -- assignee: barry components: Documentation keywords: 3.3regression messages: 189969 nosy: barry, brett.cannon, eric.smith priority: normal severity: normal stage: needs patch status: open title: Document importlib._bootstrap.NamespaceLoader versions: Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18056 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18057] Register NamespaceLoader with importlib.abc.Loader
New submission from Brett Cannon: EOM -- assignee: brett.cannon components: Library (Lib) messages: 189970 nosy: barry, brett.cannon, eric.smith priority: normal severity: normal stage: needs patch status: open title: Register NamespaceLoader with importlib.abc.Loader type: behavior versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18057 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7727] xmlrpc library returns string which contain null ( \x00 )
Changes by Serhiy Storchaka storch...@gmail.com: -- nosy: +effbot ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7727 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18058] Define is_package for NamespaceLoader
New submission from Brett Cannon: Is there a reason that is_package() is not defined for NamespaceLoader? If it's just an oversight then adding it would let -m would work with namespace packages. The other abstract methods on InspectLoader can also be implemented or raise ImportError as appropriate. Just assign to me if you are okay with seeing this happen. -- assignee: barry components: Library (Lib) messages: 189972 nosy: barry, brett.cannon, eric.smith priority: normal severity: normal stage: test needed status: open title: Define is_package for NamespaceLoader type: behavior versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18058 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Nick Coghlan added the comment: And when I say originally I mean after I saw how ABCs already implemented this capability :) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18055] Stop using imp in IDLE
Changes by Serhiy Storchaka storch...@gmail.com: -- nosy: +kbk, roger.serwy, terry.reedy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18055 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7760] ctypes: use_errno=True does not work
Changes by STINNER Victor victor.stin...@gmail.com: -- title: use_errno=True does not work - ctypes: use_errno=True does not work ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7760 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Antoine Pitrou added the comment: I thought about that originally, but there's only ever one object graph for the process, and as soon as you break any one edge in that graph you pretty much invalidate anything based on caching traversal results. Ah, I was forgetting that a ABC registration also affects the subclasses of the registered class, and the abstract parents of the ABC class. So it's a bit more annoying than it looked like. So it's not really an implementation detail, it's a promise to provide a unique token for the current state of the object graph that can be used reliably for cache invalidation. Sounds fair. A callback based system is actually *harder* to use, because you can't simply ask the question Is my cache still valid? - you have to register a callback that sets a flag, or something similar. Your lookup code ends up being: Well, the point of a callback based system is for the callback to invalidate or recompute the cache *right now*, so you don't have to check a flag each time you do a lookup. It's a basic cost/benefit compromise: the callback system makes invalidations more expensive, but lookups cheapers. Besides, a callback-based system can be more future-proof than exposing the raw cache tags or tokens. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17934] Add a frame method to clear expensive details
STINNER Victor added the comment: I may be safer to initialize f-f_executing to 1 at the creation of the frame, and only change its value to 0 when the execution is done. (The name of the attribute may also be changed.) I don't know if it is possible, but a frame should not be cleared just before it is used to execute code. -- nosy: +haypo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17934 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Nick Coghlan added the comment: Ah, but that's the other trick: we *don't know* if we need to recalculate our whole cache when the object graph changes. 1. Some of the cached entries may never be accessed again, so recalculating them will be a waste 2. The object graph may change again before they're next accessed, so recalculating any entries at all will be waste The cache invalidation design in the ABCs is a smart compromise, since it leaves recreating the cache entries to the last possible moment: the next time a type is looked up after the object graph has changed. It doesn't matter if there is one graph change or a thousand in that time, we only do the fresh lookup once. And if the type is never looked up again, we don't even need to do that much. In a typical application, the expected usage model for both ABCs and generic functions is the same: 1. During startup, the object graph and dispatch resolution results are changing rapidly as concrete classes and implementations get registered with ABCs and generic functions. Actual instance checks and generic function dispatch operations are rare, so the caches mostly remain cold. 2. Once the application is up and running, the object graph stabilises, and the caches of significance to the application start to become populated through actual use. Absent live code reloading, the caches then remain valid for the lifetime of the application. The ABC design takes the view that the extra runtime check for cache validity in the absence of direct inheritance or registration is worth it to avoid repeated cache clearing during application startup for ABCs that may never even be used by the application. I believe exactly the same reasoning holds true for generic functions: triggering callbacks when the object graph changes means we may end up doing a lot of work clearing caches that the application isn't even using. Delaying the check to call time means that only the caches that matter will ever be touched. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Antoine Pitrou added the comment: 1. Some of the cached entries may never be accessed again, so recalculating them will be a waste 2. The object graph may change again before they're next accessed, so recalculating any entries at all will be waste Yup, hence the cost/benefit compromise ;-) My assumption here was that ABC registrations change quite infrequently compared to the invocations of generic functions, so transferring most of the cost to registration-time (rather than invocation-time) would be a benefit. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Changes by Łukasz Langa luk...@langa.pl: -- keywords: +patch Added file: http://bugs.python.org/file30366/issue16832.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Łukasz Langa added the comment: Review the patch, please. Committing in 10... 9... 8... -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7757] sys.path is incorrect when prefix is
Mark Lawrence added the comment: There's so much detail provided that I think this should be easy for someone who understands C code. -- nosy: +BreamoreBoy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7757 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Roundup Robot added the comment: New changeset 5b17d5ca2ff1 by Łukasz Langa in branch 'default': Fix #16832 - expose cache validity checking support in ABCMeta http://hg.python.org/cpython/rev/5b17d5ca2ff1 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Roundup Robot added the comment: New changeset d9828c438889 by Łukasz Langa in branch 'default': Mention issue #16832 in Misc/NEWS http://hg.python.org/cpython/rev/d9828c438889 -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Phillip J. Eby added the comment: Please expose this as an attribute of the class or module, not as a function. A function is orders of magnitude slower than attribute access, and the entire point of exposing this is to allow caches to be invalidated. In order to be useful for cache invalidation, the token has to be read on *every* access to a cache, thus adding unnecessary overhead to every cache access. -- nosy: +pje ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Antoine Pitrou added the comment: Please expose this as an attribute of the class or module, not as a function. A function is orders of magnitude slower than attribute access, and the entire point of exposing this is to allow caches to be invalidated. -1. Exposing a function allows to modify the underlying implementation without breaking any API. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue648658] xmlrpc can't do proxied HTTP
Mark Lawrence added the comment: Could someone take a look at this while investigating other xmlrpc issues e.g. #7727. -- nosy: +BreamoreBoy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue648658 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue639266] Tkinter sliently discards all backgrond Tcl errors
Changes by Mark Lawrence breamore...@yahoo.co.uk: -- title: Tkinter sliently discards all Tcl errors - Tkinter sliently discards all backgrond Tcl errors ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue639266 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Nick Coghlan added the comment: Trading correctness for speed is almost never a good idea. If people are worried about speed to that level, they can either bypass the public API and access the private attribute directly (after profiling their application to ensure the cache validity checks are the bottleneck), or else migrate to PyPy to eliminate the function call overhead (amongst many other speed improvements). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue592703] HTTPS does not handle pipelined requests
Mark Lawrence added the comment: Bump. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue592703 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue672115] Assignment to __bases__ of direct object subclasses
Mark Lawrence added the comment: Has any work been done on typeobject.c to render this obsolete? Failing that are there any souls brave enough to take on typeobject.c? -- nosy: +BreamoreBoy ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue672115 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17545] os.listdir and os.path.join inconsistent on empty path
W. Owen Parry added the comment: Patch as described above. Comments appreciated. -- keywords: +patch Added file: http://bugs.python.org/file30367/issue17545.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17545 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18059] Add multibyte encoding support to pyexpat
New submission from Serhiy Storchaka: It is possible to add the support of most multibyte encodings to pyexpat. There are several ways to do this: 1. Generate maps with a special script and add generated file to repository. After adding or updating a multibyte encoding this file should be regenerated. 2. Generate maps on fly. It requires more time for first use of the encoding, but allows support of arbitrary encoding which compatible with expat. -- components: Extension Modules, XML files: expat_encodings.py messages: 189989 nosy: doerwalter, eli.bendersky, lemburg, serhiy.storchaka priority: normal severity: normal status: open title: Add multibyte encoding support to pyexpat type: enhancement versions: Python 3.4 Added file: http://bugs.python.org/file30368/expat_encodings.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18059 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Phillip J. Eby added the comment: Antoine Pitrou added the comment: -1. Exposing a function allows to modify the underlying implementation without breaking any API. This doesn't make any sense. Once you've exposed an API that gives out a value for this, you can't change the implementation in a way that doesn't involve handing out a value... in which case you can just as easily set it as an attribute. So there is actually zero improvement in encapsulation: it's purely a ritualistic wrapping, like Java programmers insisting on having getFoo() methods in Python when an attribute would suffice. If there must be a way to change it later to be dynamic, it can always be exposed as an attribute of an object that could grow a property later, e.g. from abc import object_graph if object_graph.version != old_version: ... Nick Coghlan added the comment: Trading correctness for speed is almost never a good idea. How is correctness relevant to the question of whether a readable value is exposed as an attribute or a method? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17314] Stop using imp.find_module() in multiprocessing
Richard Oudkerk added the comment: Looks good to me. (Any particular reason for ignoring AttributeError?) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17314 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18060] Updating _fields_ of a derived struct type yields a bad cif
New submission from Lauri Alanko: In Modules/_ctypes/stgdict.c:567 there is a suspicious line: stgdict-length = len; /* ADD ffi_ofs? */ That is, the length field of the stgdict is set to the number of fields in the immediate Structure class, and the number of fields in the parent class (ffi_ofs) is questionably left out. This is wrong. The length field is used in PyCStgDict_clone to copy the ffi_type descriptors for struct elements to a derived struct type. If length is short, not all element types are copied, and the resulting array is not NULL-terminated. So the problem manifests when you inherit from a structure type, update the _fields_ of the inherited type, and then inherit again from the updated type. Even then everything might seem normal, since the elements array is actually not used very much. However, attached is a test case that segfaults at least with debug builds on ARM with the VFP ABI. The non-null-terminated element type array is traversed to find if the structure can be passed in floating point registers, eventually resulting in dereferencing 0xfbfbfbfb. The test program should print out pi. To avoid the hassle of a separate C component, the program abuses the standard atan2 function by pretending it takes a struct of two doubles instead of two separate double parameters. This does not make a difference to the ABI. Fixing the bug is trivial. Just change the line to: stgdict-length = ffi_ofs + len; -- components: ctypes files: t1.py messages: 189992 nosy: lauri.alanko priority: normal severity: normal status: open title: Updating _fields_ of a derived struct type yields a bad cif type: crash versions: Python 3.3 Added file: http://bugs.python.org/file30369/t1.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18060 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Phillip J. Eby added the comment: All that being said, I took out some time to get actual numbers, and found my original guesstimate of overhead was incorrect; it's only 3 times slower, not orders of magnitude. ;-) And even on a relatively old machine, that 3 times slower amounts to an extra tenth of a microsecond, at least in a hot loop with timeit. So I'll stop being a pain about this now, even though I still think getters are a stinky Java code smell and don't belong in Python anyways. ;-) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16832] Expose cache validity checking support in ABCMeta
Antoine Pitrou added the comment: This doesn't make any sense. Once you've exposed an API that gives out a value for this, you can't change the implementation in a way that doesn't involve handing out a value... in which case you can just as easily set it as an attribute. Because it may be computed whenever the function call is done, rather than stored statically somewhere. The caching scheme will not necessarily remain forever identical. If there must be a way to change it later to be dynamic, it can always be exposed as an attribute of an object that could grow a property later, e.g. That's a possibility indeed. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16832 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18059] Add multibyte encoding support to pyexpat
Amaury Forgeot d'Arc added the comment: I guess GB18030 can't be supported at all? -- nosy: +amaury.forgeotdarc ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18059 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18040] SIGINT catching regression on windows in 2.7
Tim Golden added the comment: My initial reaction is that, whether the 2.7 behaviour is faulty or not, I can't reproduce the correct behaviour on any version of Windows going back to 2.4. Take the attached Python file issue18040.py and run c:\pythonxx\python.exe -i issue18040.py for any version of Python from 2.4 to 3.4. At the interpreter prompt, pressing Ctrl-C produces Keyboard Interrupt consistently (except for the few times it exits the interpreter which is the problem fixed in issue1677). Note that this applies to pressing Ctrl-C *at the interpreter prompt* (while the running code is the function my_fgets in parser/myreadline.c). Pressing Ctrl-C in other circumstances, eg in the middle of a long-running os.walk or a time.sleep, invokes the signal handler as expected. I don't know if the handler *should* be invoked at the interpreter prompt. I recognise that it does so under Linux, but are there any circumstances where that would actually be useful? -- assignee: - tim.golden Added file: http://bugs.python.org/file30370/issue18040.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18040 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18061] m68k Python 3.3 test results
New submission from mirabilos: Hi! As a followup to http://bugs.python.org/issue17237 I took the tree of Python 3.3.1 I had compiled already, with the patch that was eventually committed for issue17237, and ran the testsuite. Since I used configure flags to get it compiled quickly, it probably lacks functionality that’s normally there, so some tests got omitted. The result of normally running the testsuite is attached as file; I can re-run any test verbosely, just ask ;-) I can immediately say something to some failures: ① On m68k, the 68881 FPU, similar to the i8087 FPU, internally operates on 80-bit precision, which means that the “old” dtoa code is used. Contrarily to i8087, we do not want to disable that mode because that is not fully supported in some environments; especially, at least the most wide-spread emulator had bugs wrt. that. (Do note that, when you disable 80-bit precision on i8087, you get double-rounding as the only the mantisse, not the exponent, is bit-reduced, anyway. So I believe that you should not restrict the i8087 to 64-bit precision either.) That’s responsible for test_optparse, test_difflib, maybe test_cmath, definitely test_format, test_types, test_math… ouch, quite some. It would be interesting to see what happens when you take a normal i386 (not amd64 or x32) Linux host and compile py3k with SSE disabled (to force it to use the normal i80387 FPU), and disable HAVE_GCC_ASM_FOR_X87 so that X87_DOUBLE_ROUNDING is defined, because that’s what we have on m68k, and see whether the failure mode is the same. If so, you can then probably relatively easily fix those. root@ara3:~/P-without-block # fgrep X87 pyconfig.h /* #undef HAVE_GCC_ASM_FOR_X87 */ #define X87_DOUBLE_ROUNDING 1 ② This one is pretty severe: AssertionError: 42 != 44 : wrong size for class 'BaseException': got 42, expected 44 On m68k, “natural” alignment is *not* used: instead of aligning 4-byte quantities on 4-byte boundaries, for almost all types, only a minimum alignment of 2 bytes is used; this also has effect on struct padding, array padding, and things like that. As shown in https://mail.gnome.org/archives/commits-list/2012-February/msg02332.html fixing this is a “simple” matter of making these invalid assumptions explicit. To that effect, take Include/pyerrors.h and change #define PyException_HEAD PyObject_HEAD PyObject *dict;\ PyObject *args; PyObject *traceback;\ PyObject *context; PyObject *cause;\ char suppress_context; to #define PyException_HEAD PyObject_HEAD PyObject *dict;\ PyObject *args; PyObject *traceback;\ PyObject *context; PyObject *cause;\ char suppress_context; char padding1[3]; i.e. add the padding that’s implicit on “natural alignment” platforms (a padding1[1] is implicit on m68k). Do *not* use -malign-int because that changes the ABI, and you probably won’t be able to make libc or syscalls any more… However, this brings us to a problem with that solution (which I’d still prefer over everything else) in Debian (hence, putting doko on Cc), which I’ll demonstrate on the shortest struct I could find in that file, but applies to e.g. PyImportErrorObject too: typedef struct { PyException_HEAD PyObject *code; } PySystemExitObject; The “code” member of this struct is aligned with only *one* byte of padding, instead of three. This means that, when we apply this bugfix, that the published ABI changes: currently, sizeof(PySystemExitObject) is (8 (PyObject_HEAD) + 4 (dict) + 4 (args) + 4 (traceback) + 4 (context) + 4 (cause) + 1 (suppress_context) + 1 padding + 4 (code)) = 34; after the fact, it will be 36, and the offsetof(code) will have changed. I’ll leave the understanding of these implications, and how they can best be handled in the distribution, to doko, because he’s probably the man who understands it best. I guess we need versioned dependencies or ABI virtual dependencies, since python3.3 is already uploaded, but some packages have already been built against it (probably not too difficult to identify them). Or we can only get this fixed in python3.4 – no idea when that will land in Debian, or whether it’ll become the default python3 provider shortly. ③ As for any other failures, I don’t directly have an idea, but I guess we can work on them. I’d somewhat prefer to do that *after* the FPU precision-related bugs have been fixed, though, as it’ll reduce the noise, and possibly followup-errors. (Maybe I should even, for running the tests, fix the alignment issue locally in the tree.) -- components: Interpreter Core files: results.txt messages: 189997 nosy: doko, mirabilos, pitrou, skrah priority: normal severity: normal status: open title: m68k Python 3.3 test results versions: Python 3.3 Added file: http://bugs.python.org/file30371/results.txt
[issue18061] m68k Python 3.3 test results
Antoine Pitrou added the comment: Could you a separate bug entry for each class of issues? It will make things more manageable. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18061 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18062] m68k FPU precision issue
New submission from mirabilos: Hi, splitting off issue18061 by request of pitrou: FPU precision issue: MC68881 FPU, similar to Intel 80387, uses 80-bit precision internally. We do not want to change it to 64-bit because it’s not supported in all environments. Can probably be reproduced on i386 (with disabled SSE); fixing this in general would allow keeping the FPUCW on i387 unchanged too. See issue18061 for details. -- components: Interpreter Core messages: 18 nosy: mirabilos priority: normal severity: normal status: open title: m68k FPU precision issue versions: Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18062 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
New submission from mirabilos: Hi, splitting off issue18061 by request of pitrou: struct alignment issue: PyException_HEAD misses explicit alignment instruction; uses invalid (non-portable) alignment assumptions. ABI change on m68k. See issue18061 for details. -- components: Interpreter Core messages: 19 nosy: mirabilos priority: normal severity: normal status: open title: m68k struct alignment issue vs. PyException_HEAD versions: Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18061] m68k Python 3.3 test results
mirabilos added the comment: OK sure; I put the two I identified already into issue18062 and issue18063; we can then retry here after those get fixed (I’ll just resend results from a patched tree then). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18061 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
Antoine Pitrou added the comment: ② This one is pretty severe: AssertionError: 42 != 44 : wrong size for class 'BaseException': got 42, expected 44 What is the context? test_sys? -- nosy: +pitrou ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
mirabilos added the comment: Yes, that's in test_sys. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16580] Add examples to int.to_bytes and int.from_bytes
W. Owen Parry added the comment: Patch adding examples + tests for equivalence. Comments appreciated. In particular, I'm not sure that the from_bytes example is simple enough to be useful: def from_bytes(bytes, byteorder, signed=False): if byteorder == 'little': little_ordered = list(bytes) elif byteorder == 'big': little_ordered = list(reversed(bytes)) n = sum(little_ordered[i] i*8 for i in range(len(little_ordered))) if signed and little_ordered and (little_ordered[-1] 0x80): n -= 1 8*len(little_ordered) return n -- keywords: +patch nosy: +woparry Added file: http://bugs.python.org/file30372/issue16580.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17936] O(n**2) behaviour when adding/removing classes
Guido van Rossum added the comment: I can't think of a use for the order of __subclasses__ so no objection here. — Sent from Mailbox for iPad On Sat, May 25, 2013 at 6:16 AM, Antoine Pitrou rep...@bugs.python.org wrote: Antoine Pitrou added the comment: Note that making tp_subclasses a dict makes the __subclasses__ return order undefined. I don't think I've ever seen __subclasses__ actually used, so I'm not convinced it's a problem, but perhaps it's worth floating the idea on python-dev. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17936 ___ -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17936 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
Antoine Pitrou added the comment: I suppose it's in SizeofTest specifically (in the future, please quote more detailed test information; you can get it by replaying a test in verbose mode, e.g. ./python -m test -v test_sys). Can you post the output of: struct.calcsize(PPnP5Pb) struct.calcsize(PPnP5Pi) struct.calcsize(PPnP5Pb0P) struct.calcsize(PPnP5Pi0P) -- components: +Tests versions: +Python 3.4 -Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18062] m68k FPU precision issue
Stefan Krah added the comment: We do not want to change it to 64-bit because it’s not supported in all environments. Does this also apply to changing the precision temporarily? Because that is what happens for other platforms, see Include/pyport.h: HAVE_PY_SET_53BIT_PRECISION _PY_SET_53BIT_PRECISION_START _PY_SET_53BIT_PRECISION_END ... To me it sounds that you'd basically have to provide these macros for the platform. -- nosy: +mark.dickinson, skrah ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18062 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
mirabilos added the comment: struct.calcsize(PPnP5Pb) 37 struct.calcsize(PPnP5Pi) 40 struct.calcsize(PPnP5Pb0P) 38 struct.calcsize(PPnP5Pi0P) 40 I already offered to re-run tests in verbose mode “on request” if needed, but the results.txt I attached to issue18061 contains them for test_sys (it apparently got re-run verbosely automatically). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18062] m68k FPU precision issue
mirabilos added the comment: We do not want to change it to 64-bit because it’s not supported in all environments. Does this also apply to changing the precision temporarily? Yes, that’s precisely what’s not working on the most widespread emulator, at the very least. (I have working code for that, in three(!) variants, but it just ignores those requests to change precision.) I think FPU is the one thing current m68k emulators do the worst… the responses I got from the mailing list back then said so, anyway. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18062 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
Antoine Pitrou added the comment: Ok, can you try applying the following patch: diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -703,13 +703,13 @@ class SizeofTest(unittest.TestCase): class C(object): pass check(C.__dict__, size('P')) # BaseException -check(BaseException(), size('5Pi')) +check(BaseException(), size('5Pb')) # UnicodeEncodeError -check(UnicodeEncodeError(, , 0, 0, ), size('5Pi 2P2nP')) +check(UnicodeEncodeError(, , 0, 0, ), size('5Pb 2P2nP')) # UnicodeDecodeError -check(UnicodeDecodeError(, b, 0, 0, ), size('5Pi 2P2nP')) +check(UnicodeDecodeError(, b, 0, 0, ), size('5Pb 2P2nP')) # UnicodeTranslateError -check(UnicodeTranslateError(, 0, 1, ), size('5Pi 2P2nP')) +check(UnicodeTranslateError(, 0, 1, ), size('5Pb 2P2nP')) # ellipses check(Ellipsis, size('')) # EncodingMap -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18059] Add multibyte encoding support to pyexpat
Serhiy Storchaka added the comment: Here is a patch which implements first way. Yes, looks as followed encodings could not be supported at all: euc-kr, gb18030, iso2022-kr, utf-7, cp037, cp424, cp500, cp864, cp875, cp1026, cp1140, utf_32, utf_32_be, utf_32_le. -- keywords: +patch Added file: http://bugs.python.org/file30373/pyexpat_multibyte_encodings.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18059 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18064] IDLE: add current directory to open_module
New submission from Terry J. Reedy: The point of File / Open Module is to look at the source for a module that has been, could be, or will be imported. The problem is that open_module is executed in the idle process while imports are executed in the user process, with the current directory prepended to sys.module. The problem was already noted in the source, line 675. # XXX Ought to insert current file's directory in front of path The augmentation of sys.path and subsequent restoration of the original could be done in a context manager that might be useful elsewhere. For 3.3,3.4, I think the change should be done after the patch in #18055, to not invalidate that patch. It would need to located in a slightly different place in 2.7, which will not be changed by that issue. -- messages: 190012 nosy: roger.serwy, terry.reedy priority: normal severity: normal stage: test needed status: open title: IDLE: add current directory to open_module type: behavior versions: Python 2.7, Python 3.3, Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18064 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18064] IDLE: add current directory to open_module
Changes by Terry J. Reedy tjre...@udel.edu: -- dependencies: +Stop using imp in IDLE ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18064 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16580] Add examples to int.to_bytes and int.from_bytes
Serhiy Storchaka added the comment: I don't call it the examples. Here is the examples: (1234).to_bytes(2, 'big') b'\x04\xd2' (1234).to_bytes(2, 'little') b'\xd2\x04' (-1234).to_bytes(2, 'big', signed=True) b'\xfb.' int.from_bytes(b'\xde\xad\xbe\xef', 'big') 3735928559 int.from_bytes(b'\xde\xad\xbe\xef', 'little') 4022250974 int.from_bytes(b'\xde\xad\xbe\xef', 'big', signed=True) -559038737 -- nosy: +serhiy.storchaka ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16580 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
mirabilos added the comment: Sure (attached). -- Added file: http://bugs.python.org/file30374/after-patch-1.txt ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
mirabilos added the comment: Include/unicodeobject.h has the same problem; its “state” member currently allocates 8 bit, which is only padded up to 16 bit. asciifields = nnbP makes that work too; result attached as after-patch-2.txt Will just changing the testsuite to match reality be enough, or are there any other internal assumptions about this type of thing, like we had with issue17237 earlier? Thanks for your quick responses! -- Added file: http://bugs.python.org/file30375/after-patch-2.txt ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
Antoine Pitrou added the comment: Thank you. This is just a bug in the test suite, so it's fine to fix it. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
mirabilos added the comment: Okay, then I’ll ignore those for now. Thanks! -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
Roundup Robot added the comment: New changeset c20b701c66fc by Antoine Pitrou in branch '3.3': Issue #18063: fix some struct specifications in the tests for sys.getsizeof(). http://hg.python.org/cpython/rev/c20b701c66fc New changeset 5c4ca109af1c by Antoine Pitrou in branch 'default': Issue #18063: fix some struct specifications in the tests for sys.getsizeof(). http://hg.python.org/cpython/rev/5c4ca109af1c -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
Antoine Pitrou added the comment: Should be done now :) -- components: -Interpreter Core resolution: - fixed stage: - committed/rejected status: open - closed type: - behavior versions: +Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18061] m68k Python 3.3 test results
Serhiy Storchaka added the comment: About test_shutil failure. What filesystem are used? Do you run tests as root? -- nosy: +serhiy.storchaka ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18061 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18055] Stop using imp in IDLE
Terry J. Reedy added the comment: (Roger, please see Bretts opening message.) Brett, thanks for asking. We prefer to keep active codebases in sync as much as possible. Since new import stuff is not in 2.7, we will have to skip that. In EditorWindow.py, the patch deletes the _find_module function that wraps imp.find_module and edits the EditorWindows class open_module method that used that method. I presume that the new code somewhere duplicates the extra work done in _find_module beyond that done by imp.find_module. I verified that these are the only idlelib/*.py occurrences of 'find_module' and '_find_module'. It applies to 3.3 with chunk 3 offset a line. The only use of open_module is its binding to File / Open Module (Alt-M). This opens a module, given by its dotted import name, in the editor, instead of importing it. This works for stdlib modules before and after the patch. I tried both text selection and keyboard entry. As noted in the code, and explained in #18064, open_module does not work for 'current directory' modules. (A fix for that issue should wait for this one.) I did not try anything exotic like a relative path (never used one, not sure of syntax), .pth (not used on current machine), or package directories. But I expect the new import code is more reliable for these. If there is a problem, people can always use the open dialog. So unless Roger sees something I missed, you have my green light to apply. -- keywords: +needs review, pep3121 versions: +Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18055 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18059] Add multibyte encoding support to pyexpat
Amaury Forgeot d'Arc added the comment: Then you should also remove the Make it as simple as possible comment :-/ -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18059 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
Serhiy Storchaka added the comment: 2.7? -- nosy: +serhiy.storchaka ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18059] Add multibyte encoding support to pyexpat
Serhiy Storchaka added the comment: It is still simple enough. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18059 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18063] m68k struct alignment issue vs. PyException_HEAD
Antoine Pitrou added the comment: 2.7 doesn't have the C struct fields which were mistakingly sized in test_sys. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18063 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue18061] m68k Python 3.3 test results
Serhiy Storchaka added the comment: Is m68k big-endian? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue18061 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com