[issue14106] Distutils manifest: recursive-(include|exclude) matches suffix instead of full filename
Marius Gedminas added the comment: For the record, this is still a bug in Python 3.8 distutils (and it affects global-(include|exclude) as well), but it's been fixed in setuptools, so it shouldn't affect people writing MANIFEST.in files in 2020. -- nosy: +mgedmin ___ Python tracker <https://bugs.python.org/issue14106> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37738] curses.addch('a', curses.color_pair(1)) ignores the color information
New submission from Marius Gedminas : curses.addch() ignores color information if I pass it a string of length one. Color works fine if I pass it a byte string or an int. Here's a reproducer: ### start of example ### import curses def main(stdscr): curses.start_color() curses.use_default_colors() curses.init_pair(1, curses.COLOR_RED, -1) curses.init_pair(2, curses.COLOR_GREEN, -1) curses.curs_set(0) stdscr.addch("a", curses.color_pair(1)) stdscr.addch("b", curses.color_pair(2) | curses.A_BOLD) stdscr.addch(b"c", curses.color_pair(1)) stdscr.addch(b"d", curses.color_pair(2) | curses.A_BOLD) stdscr.addch(ord("e"), curses.color_pair(1)) stdscr.addch(ord("f"), curses.color_pair(2) | curses.A_BOLD) stdscr.refresh() stdscr.getch() curses.wrapper(main) ### end of example ### On Python 2.7 this prints 'abcdef' in alternating red and green. On Python 3.5 through 3.8 this prints 'ab' in white and the rest in red/green. Note that only color pair information is lost -- the bold attribute is correctly set on the 'b'. -- components: Library (Lib) messages: 348855 nosy: mgedmin priority: normal severity: normal status: open title: curses.addch('a', curses.color_pair(1)) ignores the color information versions: Python 3.5, Python 3.6, Python 3.7, Python 3.8 ___ Python tracker <https://bugs.python.org/issue37738> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue37269] Python 3.8b1 miscompiles conditional expressions containing __debug__
New submission from Marius Gedminas : Python 3.8 miscompiles the following code: $ cat /tmp/wat.py enable_debug = False if not enable_debug or not __debug__: print("you shall not pass!") $ python3.7 /tmp/wat.py you shall not pass! $ python3.8 /tmp/wat.py (no output is produced.) This is a distilled example from zope.traversing's codebase (https://github.com/zopefoundation/zope.traversing/issues/13). -- components: Interpreter Core messages: 345533 nosy: mgedmin priority: normal severity: normal status: open title: Python 3.8b1 miscompiles conditional expressions containing __debug__ versions: Python 3.8, Python 3.9 ___ Python tracker <https://bugs.python.org/issue37269> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue29564] ResourceWarning: suggest to enable tracemalloc in the message
Marius Gedminas added the comment: @stinner: https://haypo.github.io/contrib-cpython-2016q1.html is now showing a 404 error. Has the site moved? Do you have a working URL? (I did find https://docs.python.org/3/whatsnew/3.6.html#warnings, which was very helpful.) -- nosy: +mgedmin ___ Python tracker <https://bugs.python.org/issue29564> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33851] 3.7 regression: ast.get_docstring() for a node that lacks a docstring
Marius Gedminas added the comment: I've ran my findimports testsuite with CPython's git commit a50b825c18a92655f3dd7939e793fa3d4440d886 and my tests passed, so yes. -- ___ Python tracker <https://bugs.python.org/issue33851> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33851] 3.7 regression: ast.get_docstring() for a node that lacks a docstring
New submission from Marius Gedminas : Python 3.7 removes an isinstance(node.body[0], Expr) check ast.get_docstring() that makes it crash when you pass in AST nodes of modules or functions that do not have docstrings. Steps to reproduce: - git clone https://github.com/mgedmin/findimports - cd findimports - tox -e py37 The failure looks like this: Traceback (most recent call last): ... File "/home/mg/src/findimports/findimports.py", line 337, in find_imports_and_track_names visitor.visit(root) File "/home/mg/opt/python37/lib/python3.7/ast.py", line 262, in visit return visitor(node) File "/home/mg/src/findimports/findimports.py", line 169, in visitSomethingWithADocstring self.processDocstring(ast.get_docstring(node, clean=False), lineno) File "/home/mg/opt/python37/lib/python3.7/ast.py", line 211, in get_docstring node = node.body[0].value AttributeError: 'Import' object has no attribute 'value' -- components: Library (Lib) messages: 319453 nosy: mgedmin priority: normal severity: normal status: open title: 3.7 regression: ast.get_docstring() for a node that lacks a docstring type: behavior versions: Python 3.7 ___ Python tracker <https://bugs.python.org/issue33851> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue33215] PyPI API wiki pages could link to Warehous docs please
New submission from Marius Gedminas <mar...@gedmin.as>: Now that Warehouse is preparing to replace the old PyPI codebase I think it would be a good idea if the old PyPI API documentation pages on the Python wiki would link to the new Warehouse API documentation. Specifically, - https://wiki.python.org/moin/PyPISimple ought to link to https://warehouse.readthedocs.io/api-reference/legacy/ - https://wiki.python.org/moin/PyPIJSON ought to link to https://warehouse.readthedocs.io/api-reference/json/ - https://wiki.python.org/moin/PyPIXmlRpc ought to link to https://warehouse.readthedocs.io/api-reference/xml-rpc/ The wiki pages are immutable so I cannot do this myself. (I'm not sure if this is the right bug tracker. Apologies if I got it wrong!) -- assignee: docs@python components: Documentation messages: 314886 nosy: docs@python, mgedmin priority: normal severity: normal status: open title: PyPI API wiki pages could link to Warehous docs please type: enhancement ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue33215> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue28894] Memory leak in dict.pop()
Marius Gedminas added the comment: If you're curious where this happens in real life, py.test's CaptureManager.deactivate_funcargs() does self.__dict__.pop("_capfuncarg", None) and I found it by running 'tox -e py36' on https://github.com/mgedmin/eazysvn -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28894> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue28894] Memory leak in dict.pop()
New submission from Marius Gedminas: Run the following script with Python 3.6.0rc1: class O: pass o = O() for n in range(20): print(n) o.x = 42 o.__dict__.pop('x', None) You can observe the memory usage of the Python process growing exponentially. E.g. in bash: ulimit -v 100# don't push other processes into swap please python3.6 break.py 0 1 2 3 4 5 6 7 8 9 10 11 Traceback (most recent call last): File "break.py", line 7, in o.x = 42 MemoryError -- components: Interpreter Core messages: 282623 nosy: mgedmin priority: normal severity: normal status: open title: Memory leak in dict.pop() versions: Python 3.6, Python 3.7 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28894> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25900] unittest ignores the first ctrl-c when it shouldn't
Marius Gedminas added the comment: Somewhat unrelated nitpick: I'm not very happy that _InterruptHandler doesn't return early after calling the original handler. It's all very well, if the original handler raises or does nothing at all, but if it's a user-installed handler that does something (e.g. print a stack trace to sys.stderr), then it might get called twice (or three times, after my patch). AFAIU the situation would have to be pretty contrived: - there's a user-provided SIGINT handler - unittest installs its own on top - one of the tests (or some test runner plugin) overrides the SIGINT handler again - user presses Ctrl-C - the current SIGINT handler delegates to the unittest _InterruptHandler - _InterruptHandler notices it's not the current handler and delegates to the original one - the original handler doesn't raise - _InterruptHandler.__call__ doesn't return early and goes on to perform the "if called check" - if this is a second Ctrl-C, the original handler will get called a second time for the same Ctrl-C event - if there are no registered results, my new code will cause the original handler to get called again (a third, or a 2nd time for the same Ctrl-C event) Is there a good reason not to add early returns after defering to the original handler? Maybe it's desired that ^C should stop the test suite even if a test overrides the SIGINT handler but delegates back to the unittest one? -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25900> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25900] unittest ignores the first ctrl-c when it shouldn't
Marius Gedminas added the comment: Here's an updated patch with tests -- Added file: http://bugs.python.org/file41383/dont-ignore-first-ctrl-c-with-tests.patch ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25900> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25900] unittest ignores the first ctrl-c when it shouldn't
Marius Gedminas added the comment: I looked for any existing tests (by grepping for 'signals' and 'import' on the same line), didn't find any (because my assumption that 'signals' would have to be explicitly imported was wrong). Wrote some new tests, which made me also make some further changes to unittest/signals.py: https://gist.github.com/mgedmin/a91872054884dbaaa344 And that's how I discovered that there's an existing test suite for SIGINT handling, in test_break.py, and that it fails after my changes. Stay tuned. -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25900> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25900] unittest ignores the first ctrl-c when it shouldn't
New submission from Marius Gedminas: unittest.signals._InterruptHandler is very nice: on first ^C it tells any registered unittest Result instances to gracefully stop the test run, and on any subsequent ^C it defers to the default interrupt handler, which immediately terminates the test run (possibly without giving it a chance to output summary information). This doesn't work very well when a test runner forgets to register the Result instance: the first ^C is then quietly ignored. (See https://github.com/django-nose/django-nose/issues/252 for an example.) Suggestion: if there are no registered results in the unittest.signals._results dict, don't silently ignore the first ^C. Instead, immediately defer to the saved interrupt handler. Since code is often clearer than words, I'm attaching a patch. -- components: Library (Lib) files: dont-ignore-first-ctrl-c.patch keywords: patch messages: 256656 nosy: mgedmin priority: normal severity: normal status: open title: unittest ignores the first ctrl-c when it shouldn't type: behavior Added file: http://bugs.python.org/file41345/dont-ignore-first-ctrl-c.patch ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25900> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue12612] Valgrind suppressions
Marius Gedminas added the comment: Could this fix be backported to the 2.7 branch as well? -- nosy: +mgedmin ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue12612> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25316] distutils: broken error reporting about vcvarsall.bat
New submission from Marius Gedminas: When you try to build a C extension on Windows without having a C compiler, distutils tries to raise DistutilsPlatformError("Unable to find vcvarsall.bat"). However, on Python 3.5, it doesn't do that -- instead it lets a WinError(2 "no such file or directory") from _find_vcvarsall escape. This breaks packages such as zope.interface that ship optional C modules for faster execution, but would like to work on people's computers even when there is no C compiler. See https://github.com/zopefoundation/zope.interface/issues/24 for details. -- components: Distutils messages: 252308 nosy: dstufft, eric.araujo, mgedmin priority: normal severity: normal status: open title: distutils: broken error reporting about vcvarsall.bat type: behavior versions: Python 3.5 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25316> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25117] Windows installer: precompiling stdlib fails with missing DLL errors
Marius Gedminas added the comment: For the record, I rebooted once, after installing both 32-bit and 64-bit versions of Python 3.5. (Also, it seems that the Python 3.5 installer didn't install pip for me, which could be fallout from this bug? I had to run python -m ensurepip to get it.) -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25117> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25117] Windows installer: precompiling stdlib fails with missing DLL errors
Marius Gedminas added the comment: Yes, it exists: http://imgur.com/YCmApN7 -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25117> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25117] Windows installer: precompiling stdlib fails with missing DLL errors
Changes by Marius Gedminas <mged...@gmail.com>: Added file: http://bugs.python.org/file40487/Python 3.5.0 installer crash logs.zip ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25117> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25119] Windows installer fails to install VCRUNTIME140.DLL
New submission from Marius Gedminas: 1. Install Python 3.5 using the official Windows installer 2. Get a shell 3. python -m ensurepip (because the installer didn't install pip for me -- is that another bug? I thought the installer was supposed to run ensurepip for me? Is it fallout from bug 25117?) 4. python -m pip install virtualenv (gets me version 13.1.2) 5. python -m virtualenv env I expect: a virtualenv in ./env I get: a GUI error dialog saying "The program can't start because VCRUNTIME140.dll is missing from your computer." -- components: Installation messages: 250733 nosy: mgedmin priority: normal severity: normal status: open title: Windows installer fails to install VCRUNTIME140.DLL versions: Python 3.5 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25119> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25119] Windows installer fails to install VCRUNTIME140.DLL
Marius Gedminas added the comment: Thank you for the pointer! It's hard to tell which software component is at fault when multiple components fail to collaborate. I cannot choose to use venv because I'm actually using tox, which runs virtualenv for a bunch of Python versions, some of which don't even have venv. I've filed a virtualenv bug: https://github.com/pypa/virtualenv/issues/796 -- ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25119> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25117] Windows installer: precompiling stdlib fails with missing DLL errors
New submission from Marius Gedminas: I installed Python 3.5 on a Windows Server 2012 VM, twice (once the 32-bit, and once the 64-bit version). When it started throwing error dialogs at me, I started taking screenshots: http://imgur.com/a/zwfz4. What happened: - I selected advanced installation - checked "install for all users" - changed the install path to c:\python35 (and c:\python35-64) - when the installer reached "Precompiling standard library" I got the error: "Python has stopped working". - clicking "check online for a solution" produces this explanation: "api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer". - dismissing the error dialog leads the installer to say the installation is finished (presumably successfully); Python seems to work. (The last dialog about VCRUNTIME140.dll is unrelated -- it's what happens if I try to use Python 3.7 to run virtualenv to create a Python 3.5 virtualenv. I'll file a separate bug, once I figure out if it's a Python or a virtualenv bug.) -- components: Installation messages: 250722 nosy: mgedmin priority: normal severity: normal status: open title: Windows installer: precompiling stdlib fails with missing DLL errors versions: Python 3.5 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25117> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue25077] Compiler warnings: initialization from incompatible pointer type
New submission from Marius Gedminas: I'm seeing these compiler warnings while trying to build Python 3.5 on Ubuntu 15.04: In file included from Python/ceval.c:300:0: Python/ceval_gil.h: In function ‘drop_gil’: Python/ceval_gil.h:181:144: warning: initialization from incompatible pointer type _Py_atomic_store_relaxed(_last_holder, tstate); ^ In file included from Python/ceval.c:300:0: Python/ceval_gil.h: In function ‘take_gil’: Python/ceval_gil.h:243:144: warning: initialization from incompatible pointer type _Py_atomic_store_relaxed(_last_holder, tstate); ^ Python/pystate.c: In function ‘PyThreadState_Swap’: Python/pystate.c:509:147: warning: initialization from incompatible pointer type _Py_atomic_store_relaxed(&_PyThreadState_Current, newts); ^ /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c: In function ‘classify_argument’: /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c:224:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < words; i++) ^ /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c:245:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < num; i++) ^ /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c:264:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 1; i < words; i++) ^ /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c:270:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < words; i++) ^ /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c: In function ‘examine_argument’: /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c:323:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < n; ++i) ^ /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c: In function ‘ffi_call’: /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c:484:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (j = 0; j < n; j++, a += 8, size -= 8) ^ /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c: In function ‘ffi_closure_unix64_inner’: /home/mg/src/cpython/Modules/_ctypes/libffi/src/x86/ffi64.c:659:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (j = 0; j < n; j++, a += 8) ^ I saw bug #1616 and thought you might want to know about these. -- components: Build messages: 250513 nosy: mgedmin priority: normal severity: normal status: open title: Compiler warnings: initialization from incompatible pointer type type: compile error versions: Python 3.5 ___ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue25077> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue24297] Lib/symbol.py is out of sync with Grammar/Grammar
New submission from Marius Gedminas: While investigating https://bitbucket.org/pypa/setuptools/issue/388/install-from-sdist-fails-on-python-350b1 I noticed that Grammar/Grammar changed in 3.5, but Lib/symbol.py wasn't updated. I'm not familiar with the CPython parser, but I suspect that adding/removing/splitting grammar rules causes the nonterminal symbol IDs to shift, which ought to require an update in symbol.py. Huh. Now I see a comment in the file says it is automatically generated, but in that case why wasn't that done when I did 'hg pull -u make make install'? Why is it checked into source control? -- components: Library (Lib) messages: 244160 nosy: mgedmin priority: normal severity: normal status: open title: Lib/symbol.py is out of sync with Grammar/Grammar versions: Python 3.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue24297 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16484] pydoc generates invalid docs.python.org link for xml.etree.ElementTree and other modules
Marius Gedminas added the comment: Near the top: Help on module xml.etree.ElementTree in xml.etree: NAME xml.etree.ElementTree FILE /usr/lib/python2.7/xml/etree/ElementTree.py MODULE DOCS http://docs.python.org/library/xml.etree.ElementTree DESCRIPTION ... -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16484 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
Marius Gedminas added the comment: Oh, hey, PEP 3127 actually asks for a better error message than invalid token for this case: http://www.python.org/dev/peps/pep-3127/#tokenizer-exception-handling So here's a tentative patch to test the waters. I still haven't figured out how to write tests for it (is Lib/test/test_tokenize.py the right place for that?), and I haven't manually tested it either, because building CPython tip fails for me with a strange link error about _PyTraceMalloc_Init/_PyTraceMalloc_Fini. If there's some documentation I should read about submitting CPython patches, or some IRC channel I should join, please tell me! -- keywords: +patch Added file: http://bugs.python.org/file34090/better-errors.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
Marius Gedminas added the comment: I resolved my compilation problems (by running 'make distclean'). There are some problems with my patch: - leading is misspelled (as lleading) - literals like 0x1z, 0o18, 0b12, 1.2e-1x produce a generic invalid syntax message instead of the specific bad digit in hex/octal/binary/float literal - 1.2e-x produces bad digit in float literal correctly, but the caret points to the '-' sign instead of the 'x' character -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
Marius Gedminas added the comment: I see that I misunderstood Serhiy's comment. I assumed he meant the caret will be pointing to the 1st digit that is invalid. Instead what actually happens is that E_TOKEN is emitted only if the 1st digit after the 0x/0o/0b prefix is invalid. So, I get the nice error messages for 0b2, 0o8, 0xz and 0e-x (but the caret incorrectly points to the previous character). -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
Marius Gedminas added the comment: Here's version 2 of the patch: - spelling error fixed - 0b2, 0o8, 0xg, 0e-x show the expected error at the expected place - 0b02, 0o08, 0x0g, 0e-0x continue produce a generic syntax error because the tokenizer thinks these are a pair of valid tokens (0b0 followed by 2 etc.), and the error comes from the parser -- Added file: http://bugs.python.org/file34091/better-errors-v2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
Marius Gedminas added the comment: Version 3 of the patch catches bad digits in the middle of a literal, like this: 0o01010118001 File stdin, line 1 0o01010118001 ^ SyntaxError: bad digit in octal literal -- Added file: http://bugs.python.org/file34092/better-errors-v3.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
Marius Gedminas added the comment: Here are some unit tests for the new syntax errors (in test_syntax.py; test_tokenize.py turned out to be totally unrelated). One possible shortcoming: they do not test the column of the syntax error. -- Added file: http://bugs.python.org/file34093/better-errors-test.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
Marius Gedminas added the comment: Updated test that checks the syntax error offset as well. I think I'm done with the iterations. I'll be waiting for feedback. -- Added file: http://bugs.python.org/file34094/better-errors-test-v2.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
New submission from Marius Gedminas: Type something like the following at the interpreter prompt: 04208 File stdin, line 1 04208 ^ SyntaxError: invalid token This is not very descriptive. I suggest SyntaxError: invalid octal digit. -- components: Interpreter Core messages: 211090 nosy: mgedmin priority: normal severity: normal status: open title: 'SyntaxError: invalid token' is unfriendly versions: Python 3.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20608] 'SyntaxError: invalid token' is unfriendly
Marius Gedminas added the comment: I was looking at the current hg tip. The lexer emits E_TOKEN errors for the following cases: - invalid hex digit - invalid octal digit - invalid binary digit - invalid digit in float exponent - old-style octal constant (e.g. 001), which is no longer accepted I think I can come up with a patch that replaces them all with different error codes (E_BAD_HEX_DIGIT etc.) and different error messages. Does that sound like an acceptable change? (I never contributed non-documentation patches to CPython before.) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20608 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue20509] logging.config.fileConfig() docs could link to the config file format
New submission from Marius Gedminas: When one is reading the description of logging.config.fileConfig() at http://docs.python.org/3.3/library/logging.config.html#logging.config.fileConfig not immediately apparent what the configparser-format file should contain (i.e. the naming convention for sections, and what keys mean what.) This is all nicely described at http://docs.python.org/3.3/library/logging.config.html#configuration-file-format but personal experience shows that users like me hit Page Down a few times and give up before they reach that part (and also they do not think to read the outline in the sidebar). It would be nice if there was a direct link, like in the attached patch. -- assignee: docs@python components: Documentation files: improve-fileconfig-docs.patch keywords: patch messages: 210245 nosy: docs@python, mgedmin priority: normal severity: normal status: open title: logging.config.fileConfig() docs could link to the config file format type: enhancement versions: Python 2.7, Python 3.3 Added file: http://bugs.python.org/file33907/improve-fileconfig-docs.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue20509 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19342] Improve grp module docstrings
New submission from Marius Gedminas: This patch gives grp.getgrnam and grp.getgrgid sligtly more useful docstrings, and brings them in line with pwd.getpwnam/pwd.getpwuid. Compare pydoc pwd.getpwnam: pwd.getpwnam = getpwnam(...) getpwnam(name) - (pw_name,pw_passwd,pw_uid, pw_gid,pw_gecos,pw_dir,pw_shell) Return the password database entry for the given user name. See help(pwd) for more on password database entries. After looking at it I know that I can convert a name to an UID by doing pwd.getpwnam(name).pw_uid. Meanwhile pydoc grp.getgrnam: grp.getgrnam = getgrnam(...) getgrnam(name) - tuple Return the group database entry for the given group name. If name is not valid, raise KeyError. is rather unfriendly and makes me reach for Google just so that I could find out the names of the namedtuple members. -- assignee: docs@python components: Documentation files: grpmodule-docstrings.patch keywords: patch messages: 200896 nosy: docs@python, mgedmin priority: normal severity: normal status: open title: Improve grp module docstrings type: enhancement versions: Python 3.4 Added file: http://bugs.python.org/file32295/grpmodule-docstrings.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19342 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19345] Unclear phrasing in whatsnew/3.4.rst
New submission from Marius Gedminas: Quoting http://docs.python.org/dev/whatsnew/3.4.html#deprecated-functions-and-types-of-the-c-api The PyThreadState.tick_counter field has been value: its value was meaningless since Python 3.2 (“new GIL”). I've no idea what has been value is supposed to be. Perhaps has been deprecated? No patch this time since I'm not sure what was meant here. -- assignee: docs@python components: Documentation messages: 200909 nosy: docs@python, mgedmin priority: normal severity: normal status: open title: Unclear phrasing in whatsnew/3.4.rst versions: Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19345 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19344] ReStructuredText error in whatsnew/3.4.rst
New submission from Marius Gedminas: Trivial syntax fix attached -- assignee: docs@python components: Documentation files: whatsnew-rst-fix.patch keywords: patch messages: 200907 nosy: docs@python, mgedmin priority: normal severity: normal status: open title: ReStructuredText error in whatsnew/3.4.rst versions: Python 3.4 Added file: http://bugs.python.org/file32296/whatsnew-rst-fix.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19344 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19333] distutils.util.grok_environment_error loses the error message
New submission from Marius Gedminas: Steps to reproduce: $ python -c 'from distutils.util import grok_environment_error as e; print(e(IOError(message)))' What I expect to see: error: message What I get instead: error: None This is a problem because it hides the error message in a real-life use case: trying to use the latest setuptools in an ancient virtualenv (see [1]). TL;DR version: - sysconfig (in the standard library) raises IOError(msg), - which is then caught and passed throughdistutils.util.grok_environment_error(), - which then returns an unfriendly 'error: None'. [1] https://bitbucket.org/pypa/setuptools/issue/89/easy_install-quits-with-error-none-in -- assignee: eric.araujo components: Distutils messages: 200785 nosy: eric.araujo, mgedmin, tarek priority: normal severity: normal status: open title: distutils.util.grok_environment_error loses the error message type: behavior versions: Python 2.7, Python 3.3 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19333 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9736] doctest.DocTestSuite doesn't handle test globs correctly
Marius Gedminas added the comment: This is a duplicate of issue2604, isn't it? -- nosy: +mgedmin ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue9736 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue17346] Pickle tests do not test protocols 0, 1, and 2 for bytes
New submission from Marius Gedminas: I was reading Lib/test/pickletester.py when I noticed that test_bytes loops over all the protocols but doesn't actually use the loop variable anywhere. Attached patch should fix this. -- components: Tests files: actually-test-all-protocols.diff keywords: patch messages: 183429 nosy: mgedmin priority: normal severity: normal status: open title: Pickle tests do not test protocols 0, 1, and 2 for bytes type: behavior versions: Python 3.3 Added file: http://bugs.python.org/file29302/actually-test-all-protocols.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue17346 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16657] traceback.format_tb incorrect docsting
New submission from Marius Gedminas: The docstring for traceback.format_tb says A shorthand for 'format_list(extract_stack(f, limit)). which is incorrect -- it's actually a shorthand for format_list(extract_tb(tb, limit)). Patch attached. -- components: Library (Lib) files: fix-format_tb-docstring.patch keywords: patch messages: 177288 nosy: mgedmin priority: normal severity: normal status: open title: traceback.format_tb incorrect docsting versions: Python 2.7, Python 3.5 Added file: http://bugs.python.org/file28276/fix-format_tb-docstring.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16657 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16484] pydoc generates invalid docs.python.org link for xml.etree.ElementTree and other modules
Marius Gedminas added the comment: Considering many existing Python installations out there would it be possible to fix this on the server side? I.e. lowercase the URL while redirecting? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16484 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16484] Missing/broken documentation redirect for http://docs.python.org/library/xml.etree.ElementTree
New submission from Marius Gedminas: Do this: pydoc2.7 xml.etree.ElementTree then click on the MODULE DOCS link, which is http://docs.python.org/library/xml.etree.ElementTree You're redirected to http://docs.python.org/2/library/xml.etree.ElementTree which is a 404 page. -- assignee: docs@python components: Documentation messages: 175675 nosy: docs@python, mgedmin priority: normal severity: normal status: open title: Missing/broken documentation redirect for http://docs.python.org/library/xml.etree.ElementTree versions: Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16484 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue16484] Missing/broken documentation redirect for http://docs.python.org/library/xml.etree.ElementTree
Marius Gedminas added the comment: A working link is http://docs.python.org/2/library/xml.etree.elementtree.html or http://docs.python.org/2/library/xml.etree.elementtree (with no .html at the end). Looks like capitalization is causing a problem. Did these pydoc links ever work? Would it be possible to make them work? There's a limited number of standard library modules with names that contain capital letters. find /usr/lib/python2.7 -name dist-packages -prune -o -name '*[A-Z]*' | wc -l gives me 211 names, but this is an imprecise upper bound because it includes files like 'distutils/README' that aren't modules or packages. Can I do anything to help? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue16484 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue9327] doctest DocFileCase setUp/tearDown asymmetry
Marius Gedminas added the comment: Duplicate of issue2604? -- nosy: +mgedmin ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue9327 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue2604] doctest.DocTestCase fails when run repeatedly
Marius Gedminas added the comment: For the record, this bug also breaks zope.testrunner's --repeat option, if you have any doctests in your test suite that rely on test.globs not going away. -- nosy: +mgedmin ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue2604 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7539] unicode exceptions terminate pdb.pm() loop
Marius Gedminas mar...@gedmin.as added the comment: I don't know what I was smoking when I said pdb.set_trace() wasn't affected; I just reproduced the bug with Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15) [GCC 4.4.1] on linux2 Type help, copyright, credits or license for more information. import pdb pdb.set_trace() --Return-- stdin(1)module()-None (Pdb) raise Exception(u'\xff') *** Exception: Traceback (most recent call last): File stdin, line 1, in module File /usr/lib/python2.6/bdb.py, line 50, in trace_dispatch return self.dispatch_return(frame, arg) File /usr/lib/python2.6/bdb.py, line 83, in dispatch_return self.user_return(frame, arg) File /usr/lib/python2.6/pdb.py, line 176, in user_return self.interaction(frame, None) File /usr/lib/python2.6/pdb.py, line 194, in interaction self.cmdloop() File /usr/lib/python2.6/cmd.py, line 142, in cmdloop stop = self.onecmd(line) File /usr/lib/python2.6/pdb.py, line 261, in onecmd return cmd.Cmd.onecmd(self, line) File /usr/lib/python2.6/cmd.py, line 218, in onecmd return self.default(line) File /usr/lib/python2.6/pdb.py, line 226, in default print self.stdout, '***', exc_type_name + ':', v UnicodeEncodeError: 'ascii' codec can't encode character u'\xff' in position 0: ordinal not in range(128) This makes testing simpler; attached is my very first patch for the Python test suite, please review it mercilessly. (I verified that the test will pass once the bug is fixed by replacing U+00FF with U+0001 and seeing that it passes.) -- keywords: +patch Added file: http://bugs.python.org/file15639/test-pdb-unicode-exc.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7539 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue7539] unicode exceptions terminate pdb.pm() loop
New submission from Marius Gedminas mar...@gedmin.as: $ python2.6 Python 2.6.4 (r264:75706, Dec 7 2009, 18:45:15) [GCC 4.4.1] on linux2 Type help, copyright, credits or license for more information. None() Traceback (most recent call last): File stdin, line 1, in module TypeError: 'NoneType' object is not callable import pdb; pdb.pm() stdin(1)module() (Pdb) raise Exception(u'\xff') *** Exception: Traceback (most recent call last): File stdin, line 1, in module File /usr/lib/python2.6/pdb.py, line 1239, in pm post_mortem(sys.last_traceback) File /usr/lib/python2.6/pdb.py, line 1236, in post_mortem p.interaction(None, t) File /usr/lib/python2.6/pdb.py, line 194, in interaction self.cmdloop() File /usr/lib/python2.6/cmd.py, line 142, in cmdloop stop = self.onecmd(line) File /usr/lib/python2.6/pdb.py, line 261, in onecmd return cmd.Cmd.onecmd(self, line) File /usr/lib/python2.6/cmd.py, line 218, in onecmd return self.default(line) File /usr/lib/python2.6/pdb.py, line 226, in default print self.stdout, '***', exc_type_name + ':', v UnicodeEncodeError: 'ascii' codec can't encode character u'\xff' in position 0: ordinal not in range(128) Note that the post-mortem loop is terminated (if you do pdb.set_trace() instead of pdb.pm(), that doesn't happen). This is rather irritating then you're trying to post-mortem debug a failed test with expensive setup, when leaving the postmortem pdb session exits the process. Python 3.1 is not affected. I don't have 2.7 handy. -- components: Library (Lib), Unicode messages: 96560 nosy: mgedmin severity: normal status: open title: unicode exceptions terminate pdb.pm() loop type: behavior versions: Python 2.5, Python 2.6 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue7539 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue5719] optparse: please provide a usage example in the module docstring
New submission from Marius Gedminas mar...@gedmin.as: Please add a simple usage example to the module docstring in optparse.py. The example available in the Python library reference would suffice (see http://python.org/doc/current/library/optparse.html). Rationale: optparse is convenient, but a bit unintuitive. As a single data point, it took me a couple of years until I started remembering the syntax without having to refer to the documentation (compare this with, e.g. the csv module which you'll remember how to use after reading the docs once). Intuitively I always typed pydoc optparse in a terminal window and was disappointed with the lack of examples. The online docs are good, but not as easy to reach as pydoc. In my experience, it's quite often that when you reach for optparse you're alreay shaving a yak (solving a problem needed to solve the real problem), and the five extra mouse clicks needed to find optparse's docs in the browser are rather disruptive. -- assignee: georg.brandl components: Documentation messages: 85722 nosy: georg.brandl, mgedmin severity: normal status: open title: optparse: please provide a usage example in the module docstring ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5719 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3096] sphinx: sort warnings by filename
New submission from Marius Gedminas [EMAIL PROTECTED]: Here's a patch that makes Sphinx sort warnings about unused documents by file name. Without it you get them in seemingly arbitrary order, which makes it harder to parse, when your documents are scattered in a large tree. -- assignee: georg.brandl components: Documentation tools (Sphinx) files: sphinx-sort-warnings-by-filename.diff keywords: patch messages: 68097 nosy: georg.brandl, mgedmin severity: normal status: open title: sphinx: sort warnings by filename type: behavior Added file: http://bugs.python.org/file10606/sphinx-sort-warnings-by-filename.diff ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3096 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3097] sphinx: config option for exclude_dirnames
New submission from Marius Gedminas [EMAIL PROTECTED]: I'm building developer documentation for an existing project that already had reStructuredText files scattered in the source tree. Unfortunately these use the same extension (.txt) as functional doctest files, but fortunately tests live only in subdirectories named 'ftests'. Unfortunately, sphinx doesn't support globs in exclude_dirs or exclude_trees, so I cannot just exclude **/ftests. It would help me if I could specify the exclude_dirnames option that's currently hardcoded inside BuildEnvironment.find_files in my conf.py. -- assignee: georg.brandl components: Documentation tools (Sphinx) messages: 68100 nosy: georg.brandl, mgedmin severity: normal status: open title: sphinx: config option for exclude_dirnames type: feature request ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3097 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com