[issue42565] Traceback (most recent call last): File "", line 1, in NameError: name 'python' is not defined

2020-12-03 Thread Josh Rosenberg
Josh Rosenberg added the comment: Looks like someone tried to run python inside an interactive Python shell, rather than the command line. I'm moving to pending and will eventually close unless they add a repro for some actual bug. -- nosy: +josh.r status: open ->

[issue39707] Abstract property setter/deleter implementation not enforced, but documented as such

2020-12-09 Thread Josh Rosenberg
Josh Rosenberg added the comment: If this is going to be closed as rejected, I think it still needs some improvement to the documentation. Right now, the docs for abstractproperty (deprecated in favor of combining property and abstractmethod) state: "If only some components are abs

[issue42612] Software Designer

2020-12-12 Thread Josh Rosenberg
Josh Rosenberg added the comment: A rough description is not sufficient. If you have code that reproduces the problem, post the reproducer so we can check, but odds are you've got a bug in your code. -- nosy: +josh.r status: open ->

[issue42646] Add function that supports "applying" methods

2020-12-15 Thread Josh Rosenberg
Josh Rosenberg added the comment: If you're annoyed by having to use two lines, one to copy, one to call the mutating method, you can use the walrus operator: (y := x.copy()).some_method() or: (y := deepcopy(x)).some_method() Does that cover your use case? For the list case,

[issue42033] Seemingly unnecessary complexification of foo(**kw)

2020-12-16 Thread Josh Rosenberg
Josh Rosenberg added the comment: Even if making a copy is necessary when the underlying function receives the dict "raw", preemptively performing the copy (before knowing if the function being called is a Vectorcall function) means that when it's a Vectorcall function

[issue42629] PyObject_Call not behaving as documented

2020-12-16 Thread Josh Rosenberg
Josh Rosenberg added the comment: Pingback from #42033. Proper fix for that issue likely involves moving the work for copying kwargs into PyObject_Call, which would fix this bug by side-effect. -- nosy: +josh.r ___ Python tracker <ht

[issue42689] Installation

2020-12-20 Thread Josh Rosenberg
Change by Josh Rosenberg : -- resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue42699] Use `.join(k for k in g)` instead of `.join([k for k in g])`

2020-12-20 Thread Josh Rosenberg
Josh Rosenberg added the comment: This is a pessimization given the current implementation of str.join; it calls PySequence_Fast as the very first step, which is effectively free for a tuple or list input (just reference count manipulation), but must convert a generator expression to a list

[issue42799] Please document fnmatch LRU cache size (256) and suggest alternatives

2020-12-31 Thread Josh Triplett
New submission from Josh Triplett : fnmatch translates shell patterns to regexes, using an LRU cache of 256 elements. The documentation doesn't mention the cache size, just "They cache the compiled regular expressions for speed.". Without this knowledge, it's possible t

[issue42826] typing.Iterable does not need __getitem__() method

2021-01-04 Thread Josh Rosenberg
Josh Rosenberg added the comment: As Serhiy says, the glossary term for an iterable is not the same as the documentation for typing.Iterable (which at this point is largely defined in terms of collections.abc.Iterable). True, collections.abc.Iterable does not detect classes that iterate via

[issue15373] copy.copy() does not properly copy os.environment

2021-01-12 Thread Josh Rosenberg
Josh Rosenberg added the comment: Would we remove the functionality of os.environ.copy()? It seems very odd for types to have a .copy() method that works, while not supporting copy.copy, especially when there is zero documentation, on the web or the docstring, to even hint at the difference

[issue42899] Is it legal to eliminate tests of a value, when that test has no effect on control flow?

2021-01-12 Thread Josh Rosenberg
Josh Rosenberg added the comment: Gregory: Even in a low-level compiled language (say, C++), pretty sure the compiler can't automatically optimize out: if (x) { } unless it has sure knowledge of the implementation of operator bool; if operator bool's implementation isn'

[issue42958] filecmp.cmp(shallow=True) isn't actually shallow when only mtime differs

2021-01-19 Thread Josh Rosenberg
Josh Rosenberg added the comment: This is a problem with the docstring. The actual docs for it are a bit more clear, https://docs.python.org/3/library/filecmp.html#filecmp.cmp : "If shallow is true, files with identical os.stat() signatures are taken to be equal. Otherwise, the conten

[issue42948] bytearray.copy is undocumented

2021-01-23 Thread Josh Rosenberg
Josh Rosenberg added the comment: Does this need specific documentation? bytearray itself is documented with: > As bytearray objects are mutable, they support the mutable sequence > operations in addition to the common bytes and bytearray operations described > in Bytes and

[issue43119] asyncio.Queue.put never yields if the queue is unbounded

2021-02-04 Thread Josh Rosenberg
Josh Rosenberg added the comment: Making literally every await equivalent to: await asyncio.sleep(0) followed by the actual await (which is effectively what you're proposing when you expect all await to be preemptible) means adding non-trivial overhead to all async operations (async

[issue43246] Dict copy optimization violates subclass invariant

2021-02-17 Thread Josh Rosenberg
Josh Rosenberg added the comment: The cause is in dict_merge (see here: https://github.com/python/cpython/blob/master/Objects/dictobject.c ); it has a fast path for when the object being merged in (which is what the dict constructor does; it makes an empty dict, then merges the provided

[issue43209] system cannot find the file specified in subprocess.py

2021-02-23 Thread Josh Rosenberg
Change by Josh Rosenberg : -- resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue43297] bz2.open modes behaving differently than standard open() modes

2021-02-23 Thread Josh Rosenberg
Josh Rosenberg added the comment: All of the compression modules (gzip, lzma) have this behavior, not just bz2; it's consistent in that sense. Changing it now, after literally decades with the old behavior, would needlessly break existing programs. As you say, it's documented cl

[issue43363] memcpy writes to wrong destination

2021-03-02 Thread Josh Rosenberg
Josh Rosenberg added the comment: Agreed, stack is a PyObject**, so adding an integer (pto_nargs) to the pointer (stack) is implicitly by multiples of sizeof(PyObject*). This is how pointer arithmetic works in all versions of C I'm aware of. The code is correct. -- nosy: +j

[issue43464] set intersections should short-circuit

2021-03-10 Thread Josh Rosenberg
New submission from Josh Rosenberg : At present, set_intersection (the C name for set.intersection) optimizes for pairs of sets by iterating the smallest set and only adding entries found in the larger, meaning work is proportionate to the smallest input. But when the other input isn't

[issue36921] Deprecate yield from and @coroutine in asyncio

2020-06-23 Thread Josh Rosenberg
Josh Rosenberg added the comment: Was this supposed to deprecate using types.coroutine as a decorator as well? Because that's not clearly documented, which means people can still use it to make generator-based coroutines without async def. -- nosy: +j

[issue36379] nb_inplace_pow is always called with an invalid argument

2020-08-23 Thread Josh Rosenberg
Josh Rosenberg added the comment: Zackery, should this be closed? Or is there something missing from the patch? -- ___ Python tracker <https://bugs.python.org/issue36

[issue41652] An Advice on Turning Ellipsis into Keyword

2020-08-27 Thread Josh Rosenberg
Josh Rosenberg added the comment: You can do the same thing to replace int, float, dict, len, and all the other built-in classes and functions. Why is Ellipsis so special that it needs protection, especially when, as you note, ... is an available unoverrideable way to refer to it? Making

[issue41652] An Advice on Turning Ellipsis into Keyword

2020-08-28 Thread Josh Rosenberg
Josh Rosenberg added the comment: I'm closing this as not being worth the costs of adding new keywords. You're welcome to propose it on the python-ideas list (a more appropriate place to propose and suss out the details of significant language changes), but you'll need to f

[issue36172] csv module internal consistency

2020-08-28 Thread Josh Rosenberg
Change by Josh Rosenberg : -- resolution: -> not a bug stage: -> resolved status: pending -> closed ___ Python tracker <https://bugs.python.or

[issue41694] python3 futures.as_completed timeout broken if future contains undefined reference

2020-09-02 Thread Josh Rosenberg
Josh Rosenberg added the comment: The problem is a lot simpler than you're making it: 1. You submit a time.sleep(30) task. This begins running immediately 2. You try to submit another task, but a NameError is raised, bypassing the rest of the code (you never call as_completed, wi

[issue41702] Inconsistent behaviour in strftime

2020-09-03 Thread Josh Rosenberg
Josh Rosenberg added the comment: 3.8.2 (on Alpine Linux under WSL) produces '0020-10-05', just like your 3.6 example. Not seeing anything obvious in commit history that would break it for 3.7. That said, 3.7 is in security fix only mode at this point (see https://devguide.

[issue41810] Consider reintroducing `types.EllipsisType` for the sake of typing

2020-09-18 Thread Josh Bode
Change by Josh Bode : -- nosy: +joshbode ___ Python tracker <https://bugs.python.org/issue41810> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue41878] python3 fails to use custom mapping object as symbols in eval()

2020-09-29 Thread Josh Rosenberg
Josh Rosenberg added the comment: Yes, list comprehensions having their own local scope was a change from Py2 to Py3. Python 2 did not do this for list comps initially, and it was left that way during the 2.x timeframe due to back compat constraints, but 2.x did it from the start for

[issue41924] TextWrap's wrap method throws unhelpful error on bytes object

2020-10-03 Thread Josh Rosenberg
Josh Rosenberg added the comment: It's not textwrap that's doing it, which is why the error is so unhelpful; the input is assumed to be a str, and the translate method is called on it with a dict argument, which is valid for str.translate, but not for bytes.translate. You&#x

[issue32922] dbm.open() encodes filename with default encoding rather than the filesystem encoding

2020-10-04 Thread Josh Friend
Josh Friend added the comment: yes it should be closed, can i do that? (ill try...) -- stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/i

[issue41972] bytes.find consistently hangs in a particular scenario

2020-10-07 Thread Josh Rosenberg
Josh Rosenberg added the comment: Can reproduce on Alpine Linux, with CPython 3.8.2 (running under WSLv2), so it's not just you. CPU usage is high; seems like it must be stuck in an infinite loop. -- nosy: +josh.r ___ Python tracker &

[issue41972] bytes.find consistently hangs in a particular scenario

2020-10-07 Thread Josh Rosenberg
Change by Josh Rosenberg : -- type: performance -> behavior ___ Python tracker <https://bugs.python.org/issue41972> ___ ___ Python-bugs-list mailing list Un

[issue16525] wave file module does not support 32bit float format

2020-10-15 Thread Josh Lee
Change by Josh Lee : -- nosy: +jleedev ___ Python tracker <https://bugs.python.org/issue16525> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue42033] Seemingly unnecessary complexification of foo(**kw)

2020-10-15 Thread Josh Rosenberg
Change by Josh Rosenberg : -- nosy: +josh.r ___ Python tracker <https://bugs.python.org/issue42033> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue39931] Global variables are not accessible from child processes (multiprocessing.Pool)

2020-11-10 Thread Josh Rosenberg
Change by Josh Rosenberg : -- resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue42269] Add ability to set __slots__ in dataclasses

2020-11-10 Thread Josh Rosenberg
Change by Josh Rosenberg : -- nosy: +josh.r ___ Python tracker <https://bugs.python.org/issue42269> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue42269] Add ability to set __slots__ in dataclasses

2020-11-10 Thread Josh Rosenberg
Josh Rosenberg added the comment: Is the plan to allow an argument to auto-generate __slots__, or would this require repeating the names once in __slots__, and once for annotations and the like? -- ___ Python tracker <https://bugs.python.

[issue26290] fileinput and 'for line in sys.stdin' do strange mockery of input buffering

2020-11-20 Thread Josh Rosenberg
Josh Rosenberg added the comment: For those who find this in the future, the simplest workaround for the: for line in sys.stdin: issue on Python 2 is to replace it with: for line in iter(sys.stdin.readline, ''): The problem is caused by the way file.__next__'s bufferi

[issue42454] Move slice creation to the compiler for constants

2020-11-24 Thread Josh Rosenberg
Josh Rosenberg added the comment: There is an open issue for this already, under #11107 (a reopen of the closed #2268, where the reopen was justified due to Python 3 making slice objects more common), just so you know. I made a stab at this a while ago and gave up due to the problems with

[issue41878] python3 fails to use custom mapping object as symbols in eval()

2020-11-24 Thread Josh Rosenberg
Change by Josh Rosenberg : -- resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.or

[issue14235] test_cmd.py does not correctly call reload()

2012-03-08 Thread Josh Watson
New submission from Josh Watson : The test_coverage function in test_cmd.py calls reload(cmd) -- components: Tests messages: 155200 nosy: Josh.Watson priority: normal severity: normal status: open title: test_cmd.py does not correctly call reload() type: crash versions: Python 3.3

[issue14235] test_cmd.py does not correctly call reload()

2012-03-08 Thread Josh Watson
Josh Watson added the comment: Accidentally submitted before finishing typing. Anyways, it calls "reload(cmd)" in the test_coverage function in test_cmd.py, which does not work anymore given that reload has been moved to imp. I've uploaded a patch that fixes this.

[issue14235] test_cmd.py does not correctly call reload()

2012-03-08 Thread Josh Watson
Changes by Josh Watson : -- type: crash -> behavior ___ Python tracker <http://bugs.python.org/issue14235> ___ ___ Python-bugs-list mailing list Unsubscri

[issue14235] test_cmd.py does not correctly call reload()

2012-03-09 Thread Josh Watson
Josh Watson added the comment: That particular function only gets called by running `./python Lib/test/test_cmd.py -c`, and not through regrtest.py, so I suspect that's why it wasn't noticed before. I just happened to be exploring test files and ran into an unhandled exception wh

[issue10181] Problems with Py_buffer management in memoryobject.c (and elsewhere?)

2012-04-09 Thread Josh Triplett
Josh Triplett added the comment: I currently use Python 2.7, and I'd like to make use of memoryview. Specifically, I work on BITS (http://biosbits.org/), which runs Python in ring 0 as part of GRUB, and I'd like to use memoryview to give Python access to data in physical memory.

[issue10181] Problems with Py_buffer management in memoryobject.c (and elsewhere?)

2012-04-09 Thread Josh Triplett
Josh Triplett added the comment: > I currently use Python 2.7, and I'd like to make use of memoryview. > Specifically, I work on BITS (http://biosbits.org/), which runs Python in > ring 0 as part of GRUB, and I'd like to use memoryview to give Python access > to data

[issue36947] [Good first issue] Fix 3.3.3.1 Metaclasses Documentation

2019-05-17 Thread Josh Rosenberg
Josh Rosenberg added the comment: Clarification is fine, but "MyClass and MySubclass are instances of Meta:" is 100% true. Declaring a class to have a metaclass (or inheriting from a class with a metaclass) means that the class itself is an instance of the metaclass. New instan

[issue36947] [Good first issue] Fix 3.3.3.1 Metaclasses Documentation

2019-05-17 Thread Josh Rosenberg
Josh Rosenberg added the comment: Ah, you're right on __call__; I've never bothered to override it on a metaclass, but yes, since a class using a metaclass is an instance of the metaclass, like all instances, calling it invokes the __call__ of its type (it's just that the de

[issue25988] collections.abc.Indexable

2019-05-20 Thread Josh Rosenberg
Josh Rosenberg added the comment: mbussonn: Your new PR looks like it's related to #36953 ("Remove collections ABCs?"), not this issue specifically. Can you withdraw/reissue attached to the correct issue? -- nosy: +josh.r, mbussonn ___

[issue36980] pass-by-reference clues

2019-05-20 Thread Josh Rosenberg
Josh Rosenberg added the comment: 1. This is a bug tracker for bugs in the Python language spec and the CPython interpreter, not a general problem solving site. 2. The ids will differ for changeValue2 if you actually call it (kernel = kernel + 2 requires the the old id of kernel differ from

[issue37036] Iterating a text file by line should not implicitly disable tell

2019-05-24 Thread Josh Rosenberg
New submission from Josh Rosenberg : TextIOWrapper explicitly sets the `telling` flag to 0 when .__next__ ( textiowrapper_iternext ) is called ( https://github.com/python/cpython/blob/3.7/Modules/_io/textio.c#L2974 ), e.g. during standard for loops over the file of this form, trying to call

[issue37036] Iterating a text file by line should not implicitly disable tell

2019-05-24 Thread Josh Rosenberg
Josh Rosenberg added the comment: Left a dangling sentence in there: "I used two arg iter in both cases to keep the code paths as similar as possible so the `telling`." should read: "I used iter(f.readline, '') in both cases to keep the code paths as similar as

[issue33361] readline() + seek() on codecs.EncodedFile breaks next readline()

2019-05-24 Thread Josh Rosenberg
Josh Rosenberg added the comment: Possibly related to #8260 ("When I use codecs.open(...) and f.readline() follow up by f.read() return bad result"), which was never fully fixed in that issue, though #32110 ("Make codecs.StreamReader.read() more compatible with read() of ot

[issue37051] Glossary item "hashable" incorrect

2019-05-26 Thread Josh Rosenberg
Josh Rosenberg added the comment: For that matter, slices are immutable built-ins, but they're not hashable (presumably to avoid silently working with dictionaries in a non-slice capacity). -- nosy: +josh.r ___ Python tracker &

[issue37150] Do not allow to pass FileType class object instead of instance in add_argument

2019-06-04 Thread Josh Rosenberg
Josh Rosenberg added the comment: The docs specify what argparse.FileType() does via the default parameters: https://docs.python.org/3/library/argparse.html#argparse.FileType If you mean what does it do when you fail to call it at all (passing type=argparse.FileType), the answer is the same

[issue37150] Do not allow to pass FileType class object instead of instance in add_argument

2019-06-04 Thread Josh Rosenberg
Josh Rosenberg added the comment: Ah, right. It doesn't actually validate the mode string (it just stores it for when open is called, assuming open will validate it). So yeah, it silently accepts any string, not just valid mode strings. Not a contractual guarantee or anything, jus

[issue37355] SSLSocket.read does a GIL round-trip for every 16KB TLS record

2019-06-20 Thread Josh Snyder
New submission from Josh Snyder : Background: SSLSocket.read drops the GIL and performs exactly one successful call to OpenSSL's `SSL_read`, whose documentation states "At most the contents of one record will be returned". TLS records are at most 16KB, so high throughp

[issue37340] remove free_list for bound method objects

2019-06-20 Thread Josh Rosenberg
Change by Josh Rosenberg : -- nosy: +josh.r ___ Python tracker <https://bugs.python.org/issue37340> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue37549] os.dup() fails for standard streams on Windows 7

2019-07-10 Thread Josh Rosenberg
Josh Rosenberg added the comment: This seems likely to have been caused by the fixes for #37267, which fixes an issue with os.dup leaving character streams inheritable (when the documentation specifies that the result must be non-inheritable). The code originally didn't try to mak

[issue37267] os.dup() creates an inheritable fd when handling a character file on Windows

2019-07-10 Thread Josh Rosenberg
Josh Rosenberg added the comment: This may have caused a regression, see #37549. -- nosy: +josh.r ___ Python tracker <https://bugs.python.org/issue37

[issue37568] Misleading UnBoundLocalError on assignment to closure variable

2019-07-11 Thread Josh Rosenberg
Josh Rosenberg added the comment: I'm inclined to close as Not a Bug as well. I'm worried the expanded error message would confuse people when they simply failed to assign a variable, and make them try bad workarounds like adding global/nonlocal when it's not the problem, e.g

[issue30550] Document order-preserving dictionary output in json

2019-07-11 Thread Josh Rosenberg
Josh Rosenberg added the comment: Is there a reason to document object_pairs_hook=OrderedDict rather than just making the decoder populate a regular dict in an order-preserving way? (No idea if it does this already) -- nosy: +josh.r ___ Python

[issue37600] os.sched_getaffinity() is missing - module 'os' has no attribute 'sched_getaffinity'

2019-07-15 Thread Josh Rosenberg
Josh Rosenberg added the comment: Per the docs on the function group that includes os.sched_getaffinity ( https://docs.python.org/3/library/os.html#interface-to-the-scheduler ): > These functions control how a process is allocated CPU time by the operating > system. They are only ava

[issue37602] nonzero fixer problem

2019-07-17 Thread Josh Rosenberg
Josh Rosenberg added the comment: I suspect these fixers were left out simply because no one expected anyone to call the dunder names directly; the whole point of the dunder names is that they're not used directly, being invoked by syntax/context (__nonzero__ being the first thing trie

[issue36793] Do not define unneeded __str__ equal to __repr__

2019-07-17 Thread Josh Rosenberg
Josh Rosenberg added the comment: Serhiy: Did you plan to do any further work, or can this issue be closed? -- ___ Python tracker <https://bugs.python.org/issue36

[issue37636] Deprecate slicing and ordering operations on sys.version

2019-07-20 Thread Josh Rosenberg
Josh Rosenberg added the comment: Rolling to 4.0 implies backward incompatible changes; doing just to avoid 3.10 is breaking semantic versioning rules. -- nosy: +josh.r ___ Python tracker <https://bugs.python.org/issue37

[issue37648] Fix minor inconsistency in the order of == operands

2019-07-22 Thread Josh Rosenberg
Change by Josh Rosenberg : -- nosy: +josh.r ___ Python tracker <https://bugs.python.org/issue37648> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue37685] Fix equality checks for some types

2019-07-26 Thread Josh Rosenberg
Josh Rosenberg added the comment: @p-ganssle: Yup. If both sides return NotImplemented, __eq__ and __ne__ return a result based on an identity comparison; all other rich comparisons raise TypeError in that case. Code is here: https://github.com/python/cpython/blob/3.7/Objects/object.c#L679

[issue37685] Fix equality checks for some types

2019-07-26 Thread Josh Rosenberg
Josh Rosenberg added the comment: Serhiy: Is there a reason not to use the functools.total_ordering decorator on TimerHandle, so you can get rid of __le__/__ge__/__gt__ rather than fixing them individually? I notice at least one behavioral difference (total_ordering's le/ge method

[issue35712] Make NotImplemented unusable in boolean context

2019-07-26 Thread Josh Rosenberg
Josh Rosenberg added the comment: Moving to 3.9 target, per Serhiy's request. PR has been rebased against master, including updating the What's New info to be in the 3.9 version, not 3.8. -- versions: +Python 3.9 -Python 3.8 ___ Pyth

[issue37729] gc: stats from multi process are mixed up

2019-07-31 Thread Josh Rosenberg
Josh Rosenberg added the comment: Delaying the write means you don't get an indication of the steps in the process; if someone is trying to debug a crash caused by corruption of the gc list (e.g. due to a bad extension module), deferring the writes means they won't see any output

[issue35786] get_lock() method is not present for Values created using multiprocessing.Manager()

2019-08-07 Thread Josh Rosenberg
Josh Rosenberg added the comment: Reading the docs, I'd definitely expect multiprocessing.Manager().Value to obey the same interface as multiprocessing.Value. The SyncManager docs say: > Its methods create and return Proxy Objects for a number of commonly used > data

[issue24413] Inconsistent behavior between set and dict_keys/dict_items: for non-iterable object x, set().__or__(x) returns NotImplemented, but {}.keys().__or__(x) raises TypeError

2019-08-07 Thread Josh Rosenberg
Josh Rosenberg added the comment: To be clear, set().__or__(x) returns NotImplemented, it doesn't raise NotImplementedError. I've edited the title to match. One major problem that gets in the way of a fix is that the interface of set and dict views doesn't match, because

[issue37774] Micro-optimize vectorcall using PY_LIKELY

2019-08-07 Thread Josh Rosenberg
Change by Josh Rosenberg : -- nosy: +josh.r ___ Python tracker <https://bugs.python.org/issue37774> ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue35712] Make NotImplemented unusable in boolean context

2019-08-07 Thread Josh Rosenberg
Josh Rosenberg added the comment: In the docs for my PR, I mention using NotImplemented in a boolean context is deprecated, raising DeprecationWarning, and will raise TypeError in a future version of Python. Serhiy has suggested the end state might be RuntimeWarning instead of TypeError

[issue37774] Micro-optimize vectorcall using PY_LIKELY

2019-08-07 Thread Josh Rosenberg
Josh Rosenberg added the comment: Is the intent to make these macros public? If not, shouldn't they be prefixed with an underscore, like _Py_SIZE_ROUND_DOWN/_Py_SIZE_ROUND_UP in the same header? -- ___ Python tracker <https://bugs.py

[issue37790] subprocess.Popen() is extremely slow

2019-08-07 Thread Josh Rosenberg
Josh Rosenberg added the comment: Have you tried switching to using Popen itself (or run, which keeps it to one layer of convenience wrapping)? subprocess.getstatusoutput is three layers of wrapping (it calls check_output, which in turn calls run, which in turn calls Popen), and (unlike

[issue37814] typing module: empty tuple syntax is undocumented

2019-08-10 Thread Josh Holland
New submission from Josh Holland : The empty tuple syntax in type annotations, `Tuple[()]`, is not obvious from the examples given in the documentation (I naively expected `Tuple[]` to work); it has been documented in PEP 484[1] and in mypy[2], but not in the documentation for the typing

[issue37814] typing module: empty tuple syntax is undocumented

2019-08-11 Thread Josh Holland
Change by Josh Holland : -- keywords: +patch pull_requests: +14937 stage: -> patch review pull_request: https://github.com/python/cpython/pull/15208 ___ Python tracker <https://bugs.python.org/issu

[issue37814] typing module: empty tuple syntax is undocumented

2019-08-11 Thread Josh Holland
Josh Holland added the comment: PEP 586 doesn't currently allow Literal to contain tuples, so Tuple[()] is the only option. -- ___ Python tracker <https://bugs.python.org/is

[issue37831] bool(~True) == True

2019-08-12 Thread Josh Rosenberg
Change by Josh Rosenberg : -- resolution: -> duplicate stage: -> resolved status: open -> closed superseder: -> ~True is not False ___ Python tracker <https://bugs.python

[issue28638] Optimize namedtuple creation

2017-09-08 Thread Josh Rosenberg
Josh Rosenberg added the comment: Side-note: Some of the objections to a C level namedtuple implementation appear to be based on the maintenance hurdle, and other have noted that a structseq-based namedtuple might be an option. I have previously attempted to write a C replacement for

[issue31356] Add context manager to temporarily disable GC

2017-09-08 Thread Josh Rosenberg
Josh Rosenberg added the comment: I'd be -1 on this without a demonstrated broad need for this in at least some context outside of microbenchmarking utilities (which presumably have already implemented similar stuff). If a minimum bar for applicability isn't applied, we'll end

[issue31513] Document structure of memo dictionary to enable more advanced __deepcopy__ uses

2017-09-18 Thread Josh Rosenberg
New submission from Josh Rosenberg: At present, the documentation for the copy module doesn't document anything about the memo dictionary for deepcopy except to say that it must be received by custom __deepcopy__ methods and passed along when calling copy.deepcopy, and that it

[issue35273] 'eval' in generator expression behave different in dict from list

2018-11-20 Thread Josh Rosenberg
Josh Rosenberg added the comment: The "bug" is the expected behavior for 2.7, as previously noted, and does not exist on Python 3 (where list comprehensions follow the same rules as generator expressions for scoping), where NameErrors are raised consistently. -- nos

[issue35303] A reference leak in _operator.c's methodcaller_repr()

2018-11-26 Thread Josh Rosenberg
Josh Rosenberg added the comment: This is completely fixed, right? Just making sure there is nothing left to be done to close the issue. -- nosy: +josh.r ___ Python tracker <https://bugs.python.org/issue35

[issue35314] fnmatch failed with leading caret (^)

2018-11-26 Thread Josh Rosenberg
Josh Rosenberg added the comment: Finished typing this while Serhiy was closing, but just for further explanation: This isn't a bug. fnmatch provides "shell-style" wildcards, but that doesn't mean it supports every shell's extensions to the globbing syntax. It doesn&

[issue19865] create_unicode_buffer() fails on non-BMP strings on Windows

2018-11-28 Thread Josh Rosenberg
Change by Josh Rosenberg : -- keywords: +3.2regression versions: +Python 3.6, Python 3.7, Python 3.8 ___ Python tracker <https://bugs.python.org/issue19

[issue19865] create_unicode_buffer() fails on non-BMP strings on Windows

2018-11-28 Thread Josh Rosenberg
Change by Josh Rosenberg : -- keywords: -3.2regression ___ Python tracker <https://bugs.python.org/issue19865> ___ ___ Python-bugs-list mailing list Unsub

[issue35338] set union/intersection/difference could accept zero arguments

2018-11-30 Thread Josh Rosenberg
Josh Rosenberg added the comment: set.union() without constructing the set you call union on only happens to work for the set.union(a) case because `a` is already a set. union takes arbitrary iterables, not just sets, and you're just cheating by explicitly passing `a` as the expected

[issue11107] Cache constant "slice" instances

2018-12-03 Thread Josh Rosenberg
Change by Josh Rosenberg : -- versions: +Python 3.8 -Python 3.5 ___ Python tracker <https://bugs.python.org/issue11107> ___ ___ Python-bugs-list mailin

[issue35434] Wrong bpo linked in What's New in 3.8

2018-12-06 Thread Josh Rosenberg
New submission from Josh Rosenberg : https://docs.python.org/3.8/whatsnew/3.8.html#optimizations begins with: shutil.copyfile(), shutil.copy(), shutil.copy2(), shutil.copytree() and shutil.move() use platform-specific “fast-copy” syscalls on Linux, macOS and Solaris in order to copy the file

[issue35438] Extension modules using non-API functions

2018-12-07 Thread Josh Rosenberg
Josh Rosenberg added the comment: Batteries-included extension modules aren't limited to the public and/or limited API; they use tons of undocumented internal APIs (everything to do with Py_IDENTIFIERs being an obvious and frequently used non-public API). _PyObject_LookupSpeci

[issue35438] Cleanup extension functions using _PyObject_LookupSpecial

2018-12-10 Thread Josh Rosenberg
Josh Rosenberg added the comment: Agreed with everything in Serhiy's comments. This patch disregards why _PyObject_LookupSpecial and the various _Py_IDENTIFIER related stuff was created in the first place (to handle a non-trivial task efficiently/correctly) in favor of trying to av

[issue35338] set union/intersection/difference could accept zero arguments

2018-12-10 Thread Josh Rosenberg
Josh Rosenberg added the comment: Given the "feature" in question isn't actually an intended feature (just an accident of how unbound methods work), I'm closing this. We're not going to try to make methods callable without self. -- resolution: -> wont fi

[issue35588] Speed up mod/divmod/floordiv for Fraction type

2018-12-28 Thread Josh Rosenberg
Josh Rosenberg added the comment: divmod imposes higher fixed overhead in exchange for operating more efficiently on larger values. Given the differences are small either way, and using divmod reduces scalability concerns for larger values (which are more likely to occur in code that

[issue35657] multiprocessing.Process.join() ignores timeout if child process use os.exec*()

2019-01-04 Thread Josh Rosenberg
Josh Rosenberg added the comment: I don't know what triggered the change, but I strongly suspect this is not a supported use of the multiprocessing module; Process is for worker processes (still running Python), and it has a lot of coordination machinery set up between parent and child

[issue35657] multiprocessing.Process.join() ignores timeout if child process use os.exec*()

2019-01-04 Thread Josh Rosenberg
Josh Rosenberg added the comment: Looks like the cause of the change was when os.pipe was changed to create non-inheritable pipes by default; if I monkey-patch multiprocessing.popen_fork.Popen._launch to use os.pipe2(0) instead of os.pipe() to get inheritable descriptors or just clear

[issue35701] 3.8 needlessly breaks weak references for UUIDs

2019-01-09 Thread Josh Rosenberg
New submission from Josh Rosenberg : I 100% agree with the aim of #30977 (reduce uuid.UUID() memory footprint), but it broke compatibility for any application that was weak referencing UUID instances (which seems a reasonable thing to do; a strong reference to a UUID can be stored in a

<    1   2   3   4   5   6   7   8   9   >