[issue36048] Deprecate implicit truncating when convert Python numbers to C integers: use __index__, not __int__

2021-12-08 Thread Oleg Iarygin


Oleg Iarygin  added the comment:

The reporter gave more details 
():

> Literally this is ok in C++ with Qt:
>
> float x = 2.3, y = 1.1;
> auto p = QPoint(x, y); // QPoint only takes 2 int params.. this works in 
> C++; floats can be always be implicitly converted to int
>
> Same code, more or less, in Python3.10 is now broken:
>
> x = 2.3
> y = 1.1
> p = QPoint(x, y)  # This fails, where previously it worked on every 
> Python version since the age of the dinosaurs...
>
> Note that most of the API for PyQt5 is auto-generated from the function 
> signatures of the C++. So in this case QPoint takes 2 ints for its c'tor 
> (just like in C++).. and breaks on Python 3.10 if given floats, when 
> previously it worked just fine with either ints or floats. This is just 1 
> example. But many codebases that use PyQt5 are hit by breakages like this one 
> now.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46020] Optimize long_pow for the common case

2021-12-08 Thread Raymond Hettinger


New submission from Raymond Hettinger :

The expression 'x * x' is faster than 'x ** 2'.

In Python3.10, the speed difference was enormous.  Due to ceval optimizations, 
the difference in Python3.11 is tighter; however, there is still room for 
improvement.

The code for long_pow() doesn't currently have a fast path for squaring which 
is by far the most important case.

$ python3.10 -m timeit -r 11 -s 'x = 10' 'x ** 2'
100 loops, best of 11: 201 nsec per loop
$ python3.10 -m timeit -r 11 -s 'x = 10' 'x * x'
1000 loops, best of 11: 21.9 nsec per loop

$ python3.11 -m timeit -r 11 -s 'x = 10' 'x ** 2'
1000 loops, best of 11: 32 nsec per loop
$ python3.11 -m timeit -r 11 -s 'x = 10' 'x * x'
2000 loops, best of 11: 17.6 nsec per loop

--
components: Interpreter Core
messages: 408076
nosy: rhettinger
priority: normal
severity: normal
status: open
title: Optimize long_pow for the common case
type: performance

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44170] ShareableList cannot safely handle multibyte utf-8 characters

2021-12-08 Thread Andrei Kulakov


Andrei Kulakov  added the comment:

I've confirmed this issue is still present in 3.11.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44170] ShareableList cannot safely handle multibyte utf-8 characters

2021-12-08 Thread Andrei Kulakov


Andrei Kulakov  added the comment:

We classify 'crash' type as seg faults etc, so changing this to 'behavior' type.

--
nosy: +andrei.avk
type: crash -> behavior

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44540] venv: activate.bat fails for venv with special characters in PATH

2021-12-08 Thread Eryk Sun


Change by Eryk Sun :


Added file: https://bugs.python.org/file50484/deactivate.bat

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44540] venv: activate.bat fails for venv with special characters in PATH

2021-12-08 Thread Eryk Sun


Eryk Sun  added the comment:

There's no parsing problem with delayed expansion (e.g. "!VAR!" instead of 
%VAR%) and for loop variables (e.g. "%%a"). The solution is thus to execute in 
a local scope that enables delayed expansion and command extensions [1]. 

That's easy enough, but then there's the problem of how to evaluate the `set` 
commands in the global scope, without the help of delayed expansion to prevent 
parsing errors. I did some research, and apparently the common trick is to end 
the local scope inside of a `for /f` loop. Then subsequent `set "%%a"` 
statements in iterations of the loop execute in the global scope. 

The final problem is building the command to execute in the local scope, for 
which the `for /f` loop iterates the output lines. `set var` returns a line 
with "var=value", which can be passed back into `set "%%a"`. So I decided to 
build up a sequence of `&` concatenated `set var` and `echo var=` (clear) 
statements in an EXPORTS variable.

I added default values for PROMPT ($P$G) and PATH 
(%SystemRoot%;%SystemRoot%\System32), for when they're not defined. I made sure 
that deactivate.bat does not leave these defaults in place. The original 
values, whether defined or not, should be restored exactly as they were.

All of this adds to the length of the scripts. They're roughly doubled in size. 
But there should be no more problems with an odd number of quotes and/or 
special characters in any of the variables that get set.

---
[1] The activate.bat and deactivate.bat scripts have been naively relying 
on the default enabled state of command extensions, e.g. `for /f`
loops and `if defined` statements.

--
nosy: +eryksun
Added file: https://bugs.python.org/file50483/activate.bat

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14965] super() and property inheritance behavior

2021-12-08 Thread Aaron Gallagher

Aaron Gallagher <_...@habnab.it> added the comment:

I will note, Raymond, that I’ve wanted this for years before discovering
this bpo issue, and I found it because you linked it on Twitter. ;)

On Wed, Dec 8, 2021 at 19:08 Raymond Hettinger 
wrote:

>
> Raymond Hettinger  added the comment:
>
> Another thought:  Given that this tracker issue has been open for a decade
> without resolution, we have evidence that this isn't an important problem
> in practice.
>
> Arguably, people have been better off being nudged in another direction
> toward better design or having been forced to be explicit about what method
> is called and when.
>
> --
>
> ___
> Python tracker 
> 
> ___
>

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14965] super() and property inheritance behavior

2021-12-08 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

Another thought:  Given that this tracker issue has been open for a decade 
without resolution, we have evidence that this isn't an important problem in 
practice.

Arguably, people have been better off being nudged in another direction toward 
better design or having been forced to be explicit about what method is called 
and when.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14965] super() and property inheritance behavior

2021-12-08 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

-0 from me as well.  I don't think this is common or something that should be 
encouraged.  As Andrew points out, "del super().x" doesn't have an obvious 
meaning and it could be regarded as a code smell.

The OP's first example would be an unpleasant API to debug -- it exhibits tight 
coupling between the parent and child class, it has Liskov issues, and it has 
implicit forwarding and indirection through descriptors.  The tight coupling is 
especially problematic because Python's super() isn't guaranteed to call the 
parent class; rather, it can call a sibling class as determined by the MRO 
which cannot be known at the time the class is written.

Another thought is that super() is intentionally not a completely transparent 
proxy.  While an explicit call super().__getitem__(k) works, we've denied 
support for super()[k].  To me, "super().x = 10" and "del super().x" fall in 
the same category.

Looking at the OP's 

Fortunately, it doesn't seem to be a common need to use super() in a property 
setter or deleter to bypass the current class and call setter or deleter in a 
parent class property.  Arguably, this kind of tight coupling isn't good 
design.  The OP's first example would be an unpleasant API to debug.

FWIW,

--
nosy: +rhettinger
versions:  -Python 3.10, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46006] [subinterpreter] _PyUnicode_EqualToASCIIId() issue with subinterpreters

2021-12-08 Thread Inada Naoki


Inada Naoki  added the comment:

That's too bad.
We can not compare two Unicode by pointer even if both are interned anymore... 
It was a nice optimization.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39694] Incorrect dictionary unpacking when calling str.format

2021-12-08 Thread Eric V. Smith


Eric V. Smith  added the comment:

I concur with Raymond.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39694] Incorrect dictionary unpacking when calling str.format

2021-12-08 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

IMO, there is no actual problem being solved here.  Instead there is just a 
concern that something doesn't feel right.   Given that there is no problem in 
practice, I recommend closing this rather than cluttering docs, tests, or the C 
code for a non-issue.  

The format() method looksup keywords on demand and it can only lookup strings.  
Anything not looked up is ignored.  We have a long history of that working out 
just fine:

 >>> 'The answer is %(answer)s.' % \
 {'answer': 'correct', 10: 'never used'}
 'The answer is correct.'

 >>> 'The answer is {answer}.'.format(
  **{'answer': 'correct', 10: 'never used'})
 'The answer is correct.'

 >>> 'The answer is {answer}.'.format_map(
 {'answer': 'correct', 10: 'never used'})
 'The answer is correct.

One could argue that making any of the above raise an error for a non-string in 
a dict is backwards incompatible and would only serve to break code that is 
already working fine.

I'm going to close this one.  If another core dev feels strongly that this is a 
problem in practice, go ahead and reopen it.  There was a similar change to 
SimpleNamespace but arguably that shouldn't have been done either, but at least 
it had much less risk of breaking existing code that has worked fine for over a 
decade.

--
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue34111] python-config breaks when symlinked to another location

2021-12-08 Thread tobik


tobik  added the comment:

Yes, the bug still exists and all Python versions are affected.

We patch them all in FreeBSD Ports:
https://cgit.freebsd.org/ports/tree/lang/python36/files/patch-Misc__python-config.sh.in
https://cgit.freebsd.org/ports/tree/lang/python37/files/patch-Misc__python-config.sh.in
https://cgit.freebsd.org/ports/tree/lang/python38/files/patch-Misc__python-config.sh.in
https://cgit.freebsd.org/ports/tree/lang/python39/files/patch-Misc__python-config.sh.in
https://cgit.freebsd.org/ports/tree/lang/python310/files/patch-Misc__python-config.sh.in
https://cgit.freebsd.org/ports/tree/lang/python311/files/patch-Misc__python-config.sh.in

--
status: pending -> open
versions: +Python 3.10, Python 3.11, Python 3.8, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46019] collections.Counter - Cast list of keys into set to remove iteration over duplicate elements for __le__, __ge__ and __eq__

2021-12-08 Thread Rahul Gupta


Rahul Gupta  added the comment:

After looking at this again, I agree with you - the key duplication issue seems 
to have gone. Thank you for providing this feedback, it is very helpful.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46019] collections.Counter - Cast list of keys into set to remove iteration over duplicate elements for __le__, __ge__ and __eq__

2021-12-08 Thread Raymond Hettinger


Change by Raymond Hettinger :


--
resolution:  -> not a bug
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46019] collections.Counter - Cast list of keys into set to remove iteration over duplicate elements for __le__, __ge__ and __eq__

2021-12-08 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

> casting c to a set will remove duplicates and allow faster iteration

Sorry, but this doesn't make any sense.  The *c* is either *self* or *other*, 
both of which are instances of Counter which is itself a subclass of dict.  So, 
the input cannot have duplicates keys.

> some minor benchmarks I ran seem to agree.

I'm dubious about the minor benchmarks.  If in fact the effect is real, it is 
merely exploiting an implementation quirk which is tenuous and subject to 
change (the premise would be that converting to a set and looping over a set is 
faster than the native dict iterator for a dict subclass).  Conceptually, it is 
always worse to spend the time and space for first converting to a set.

Besides a speed consideration, there is also a space consideration.  The 
existing code does not use any auxiliary memory.  The proposed code 
unnecessarily builds two new sets and then throws them away.

Thanks for the suggestion, but I am going to decline.  The timings seem 
dubious.  Conceptually, the PR makes the methods do more work.  To the extent 
some timing difference can be observed, it is likely an implementation quirk. 
The PR does not make the code cleaner or clearer, and it loops over a dict 
subclass in an unconventional way.  Also, the PR would have a negative impact 
on memory usage.

--
nosy: +rhettinger

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46019] collections.Counter - Cast list of keys into set to remove iteration over duplicate elements for __le__, __ge__ and __eq__

2021-12-08 Thread Rahul Gupta


Change by Rahul Gupta :


--
keywords: +patch
pull_requests: +28222
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/2

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46019] collections.Counter - Cast list of keys into set to remove iteration over duplicate elements for __le__, __ge__ and __eq__

2021-12-08 Thread Rahul Gupta


New submission from Rahul Gupta :

On lines 725, 737 and 749 there is the following code:

'''for c in (self, other) for e in c''' which generates an iterable with all 
the keys in self and other - casting c to a set will remove duplicates and 
allow faster iteration - some minor benchmarks I ran seem to agree.

--
components: Library (Lib)
messages: 408063
nosy: argoop1728
priority: normal
severity: normal
status: open
title: collections.Counter - Cast list of keys into set to remove iteration 
over duplicate elements for __le__,__ge__ and __eq__
type: performance
versions: Python 3.8, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44289] tarfile.is_tarfile() and tarfile.open() when used with file object may cause tarfile operations to fail

2021-12-08 Thread Andrei Kulakov


Change by Andrei Kulakov :


--
nosy: +kj

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44289] tarfile.is_tarfile() and tarfile.open() when used with file object may cause tarfile operations to fail

2021-12-08 Thread Andrei Kulakov


Andrei Kulakov  added the comment:

This affects more use cases than just is_tarfile() and getmembers() results.

is_tarfile() calls open() which is the root cause of the issue. Calling open() 
2+ times will also cause the same issue.

In addition to getmembers(), extracting the tar will also silently fail. (and 
possibly other operations).

I've suggested a different fix in the comment on the PR:
https://github.com/python/cpython/pull/26488#issuecomment-989367707

--
nosy: +andrei.avk
title: tarfile.is_tarfile() modifies file object's current position -> 
tarfile.is_tarfile() and tarfile.open() when used with file object may cause 
tarfile operations to fail

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45510] Specialize BINARY_SUBTRACT

2021-12-08 Thread Dong-hee Na


Dong-hee Na  added the comment:


New changeset 5de39f4b412ed5b0f3ed0140c83b2c1f8c707603 by Brandt Bucher in 
branch 'main':
bpo-45510: Check both types when specializing subtraction (GH-29995)
https://github.com/python/cpython/commit/5de39f4b412ed5b0f3ed0140c83b2c1f8c707603


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46008] Prepare runtime/interp/thread state and init for upcoming changes.

2021-12-08 Thread Eric Snow


Change by Eric Snow :


--
pull_requests: +28221
pull_request: https://github.com/python/cpython/pull/29998

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46018] expm1 may incorrectly raise OverflowError on underflow

2021-12-08 Thread Steve Dower


Change by Steve Dower :


--
keywords: +patch
pull_requests: +28220
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/29997

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46002] py Launcher for Windows with MSYS2

2021-12-08 Thread Zernoxi


Zernoxi  added the comment:

True, that would work but it not ideal "Unix". I'll closed this since not 
unintended behavior.

--
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46018] expm1 may incorrectly raise OverflowError on underflow

2021-12-08 Thread Steve Dower


New submission from Steve Dower :

If a C runtime's math functions set errno to ERANGE, we assume it is a valid 
underflow if fabs(result) < 1.0.

However, because expm1 includes a -1.0, it underflows towards -1.0. This fails 
the above check, and so if a runtime's expm1() sets ERANGE we will raise a 
spurious OverflowError.

--
assignee: steve.dower
components: Library (Lib)
messages: 408059
nosy: steve.dower
priority: normal
severity: normal
status: open
title: expm1 may incorrectly raise OverflowError on underflow
versions: Python 3.10, Python 3.11, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45635] Tidy up error handling in traceback.c / python run.c

2021-12-08 Thread Irit Katriel


Change by Irit Katriel :


--
pull_requests: +28219
pull_request: https://github.com/python/cpython/pull/29996

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22282] ipaddress module accepts octal formatted IPv4 addresses in IPv6 addresses

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

This is what I get now on 3.11:


>>> ipaddress.ip_address("::1.0.0.00")
Traceback (most recent call last):
  File "", line 1, in 
  File "C:\Users\User\src\cpython\Lib\ipaddress.py", line 54, in ip_address
raise ValueError('%r does not appear to be an IPv4 or IPv6 address' %
^
ValueError: '::1.0.0.00' does not appear to be an IPv4 or IPv6 address

--
nosy: +iritkatriel
resolution:  -> fixed
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29899] zlib missing when --enable--optimizations option appended

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

Version 3.3 is no longer supported, and it doesn't look like there is enough 
information here for core devs to understand what happened.

I'll close this, but please create a new issue if you are still having this 
problem with a current version (>= 3.9).

--
nosy: +iritkatriel
resolution:  -> out of date
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue20899] Nested namespace imports do not work inside zip archives

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

I got the same results as Jonathan.

--
nosy: +iritkatriel
resolution:  -> out of date
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45510] Specialize BINARY_SUBTRACT

2021-12-08 Thread Brandt Bucher


Change by Brandt Bucher :


--
pull_requests: +28218
pull_request: https://github.com/python/cpython/pull/29995

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue34111] python-config breaks when symlinked to another location

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

tobik, 3.4/3.5 are no longer maintained. Do you know whether this is impacting 
current versions (>= 3.9)?

--
nosy: +iritkatriel
status: open -> pending

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36048] Deprecate implicit truncating when convert Python numbers to C integers: use __index__, not __int__

2021-12-08 Thread Oleg Iarygin


Oleg Iarygin  added the comment:

Here is a report that this change breaks PyQt5 on Fedora:



> [...]
>
> Why do I care? This breaks tons of existing PyQt5 code out there, for 
> example. I wasn't aware of this change to the language until Fedora shipped 
> Python 3.10 and everything broke. So much stuff that uses PyQt5 is broken 
> now. Good job guys!!
>
> [...]

Even though the rest of comment is emotional, we need to check if the problem 
really has place and the PR needs to be retracted until PyQt5 is ported to 
newer Python C API.

--
nosy: +arhadthedev

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46017] Tutorial incorrectly refers to skits rather than sketches.

2021-12-08 Thread Steven D'Aprano


Steven D'Aprano  added the comment:

What difference do you believe there is between skits and sketches?

Definition 1 of skit: "A short comic performance."

https://en.wiktionary.org/wiki/skit#English

Definition 4 of sketch: "A brief, light, or unfinished dramatic, musical, or 
literary work or idea; especially a short, often humorous or satirical scene or 
play, frequently as part of a revue or variety show. Synonym: skit"

https://en.wiktionary.org/wiki/sketch#English


The Pythons themselves sometimes describe their work as "skits" and sometimes 
as "sketches". E.g. quote: "Included are transcripts of Hollywood Bowl Skits..."

http://www.montypython.com/book_Monty%20Python%20Live!/24

while of course it is always "the Dead Parrot sketch".

--
nosy: +steven.daprano

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue38884] __import__ is not thread-safe on Python 3

2021-12-08 Thread Valentyn Tymofieiev


Valentyn Tymofieiev  added the comment:

Given that the behavior changes between Python 3.2 (no deadlock) and Python 3.3 
(deadlock), this should be easily bisectable if someone has the right setup to 
build and run Python versions from sources in that range.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39694] Incorrect dictionary unpacking when calling str.format

2021-12-08 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

In most cases the test is cheap even for large dict (it has constant complexity 
if the dict never contained non-string keys).

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue38884] __import__ is not thread-safe on Python 3

2021-12-08 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45711] Simplify the interpreter's (type, val, tb) exception representation

2021-12-08 Thread Irit Katriel


Change by Irit Katriel :


--
pull_requests: +28217
pull_request: https://github.com/python/cpython/pull/29994

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46016] fcntl module add F_DUP2FD_CLOEXEC

2021-12-08 Thread STINNER Victor


Change by STINNER Victor :


--
resolution:  -> fixed
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46016] fcntl module add F_DUP2FD_CLOEXEC

2021-12-08 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 267539bff700c2493778c07eeb1642b9584c4826 by David CARLIER in 
branch 'main':
bpo-46016: fcntl module add FreeBSD's F_DUP2FD_CLOEXEC flag support (GH-29993)
https://github.com/python/cpython/commit/267539bff700c2493778c07eeb1642b9584c4826


--
nosy: +vstinner

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46017] Tutorial incorrectly refers to skits rather than sketches.

2021-12-08 Thread Ben Ricketts


New submission from Ben Ricketts :

https://docs.python.org/3/tutorial/appetite.html

4th paragraph from bottom refers to "skits" where as Monty Python in fact 
perform sketch comedy.It is a minor but important differentiation.

--
assignee: docs@python
components: Documentation
messages: 408049
nosy: benricketts77, docs@python
priority: normal
severity: normal
status: open
title: Tutorial incorrectly refers to skits rather than sketches.
versions: Python 3.10, Python 3.11, Python 3.6, Python 3.7, Python 3.8, Python 
3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46011] Python 3.10 email returns invalid Date: header unchanged.

2021-12-08 Thread Mark Sapiro


Mark Sapiro  added the comment:

Upon further research I realized this is related to 
https://bugs.python.org/issue30681 and that while there are no message.defects 
the Date: header does have the InvalidDateDefect and its datetime attribute is 
None so I consider this resolved.

--
stage:  -> resolved

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39694] Incorrect dictionary unpacking when calling str.format

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

Reproduced on 3.11.

>>> x = {None: ''}
>>> ''.format(**x)
''
>>> '{x}'.format(**x)
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'x'

--
components: +Library (Lib)
nosy: +iritkatriel
versions: +Python 3.11 -Python 3.5, Python 3.6, Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40512] [subinterpreters] Meta issue: per-interpreter GIL

2021-12-08 Thread Nathan Jensen


Change by Nathan Jensen :


--
nosy: +ndjensen

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22213] Make pyvenv style virtual environments easier to configure when embedding Python

2021-12-08 Thread Nathan Jensen


Change by Nathan Jensen :


--
nosy: +ndjensen

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46006] [subinterpreter] _PyUnicode_EqualToASCIIId() issue with subinterpreters

2021-12-08 Thread Nathan Jensen


Change by Nathan Jensen :


--
nosy: +ndjensen

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46016] fcntl module add F_DUP2FD_CLOEXEC

2021-12-08 Thread David CARLIER


New submission from David CARLIER :

Exposing these specific freebsd constants to the module.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44377] Truncated error message of original function while multiprocessing or multithreading

2021-12-08 Thread Andrei Kulakov


Change by Andrei Kulakov :


--
type:  -> behavior
versions: +Python 3.10, Python 3.11, Python 3.9 -Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10608] [doc] Add a section to Windows FAQ explaining os.symlink

2021-12-08 Thread Eryk Sun


Eryk Sun  added the comment:

Ingrid's patch misses the requirement to log off after adding a privilege to 
the current account. A new access token is required, from a fresh logon. 

Privileges can also be added to groups, not just to individual user accounts. 
Thus the symlink privilege can be granted to a standard group or well-known 
group, such as "Users" or "Authenticated Users".

Python 3.8+ supports the system's developer mode, which allows unprivileged 
symlink creation. This is just for developer tools, such as Git. Developer mode 
should not be relied on for regular scripts and applications. 

In POSIX, symlinks are widely used to reduce the burden of software 
maintenance. In Windows, however, symlinks are not reliably available, due to 
limited file system support (primarily NTFS, ReFs) and the requirement for a 
privilege that standard users lack by default. Another significant problem in 
Windows is the behavior of the shell API (shell32.dll), which eagerly resolves 
a symlink to its target and thus breaks many use cases for symlinks (e.g. 
virtual environments). Given these problems, using symlinks may actually 
increase the maintenance burden in Windows. Applications have to support a 
fallback path for Windows -- such as hard linking, copying, or launchers -- 
when symlinks either aren't available or for use cases that are unreliable 
(e.g. due to the way symlinks are accessed in the GUI shell).

--
nosy: +eryksun

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44377] Truncated error message of original function while multiprocessing or multithreading

2021-12-08 Thread Andrei Kulakov


Andrei Kulakov  added the comment:

Prasanth: can you provide a bit more details, are you saying that this line:
https://github.com/python/cpython/blob/2109f7880b65755329a877da3a7f8a362de07350/Lib/multiprocessing/pool.py#L86

.. truncates the exception msg? What is the exact exception type that got 
truncated?

Can you post the exact error output you got here?

--
assignee:  -> andrei.avk
nosy: +andrei.avk

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45711] Simplify the interpreter's (type, val, tb) exception representation

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:


New changeset 2109f7880b65755329a877da3a7f8a362de07350 by Irit Katriel in 
branch 'main':
bpo-45711: Remove unnecessary normalization of exc_info (GH-29922)
https://github.com/python/cpython/commit/2109f7880b65755329a877da3a7f8a362de07350


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46015] Windows venvs do not include DLLs directory

2021-12-08 Thread Steve Dower


Change by Steve Dower :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46015] Windows venvs do not include DLLs directory

2021-12-08 Thread Steve Dower


Steve Dower  added the comment:


New changeset 7778116c2f573edf320bd55301137a968e4339d8 by Steve Dower in branch 
'main':
bpo-46015: Fixes calculation of sys.path in a venv on Windows (GH-29992)
https://github.com/python/cpython/commit/7778116c2f573edf320bd55301137a968e4339d8


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46016] fcntl module add F_DUP2FD_CLOEXEC

2021-12-08 Thread David CARLIER


Change by David CARLIER :


--
components: FreeBSD
nosy: devnexen, koobs
priority: normal
pull_requests: 28216
severity: normal
status: open
title: fcntl module add F_DUP2FD_CLOEXEC
type: enhancement
versions: Python 3.11

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45359] TopologicalSorter is not Generic at runtime (but is in typeshed)

2021-12-08 Thread Andrew Svetlov


Andrew Svetlov  added the comment:


New changeset 3cb9731b7e59b0df9a7a9ab6b7746a669958b693 by Jacob Hayes in branch 
'main':
bpo-45359: Support TopologicalSorter type subscript (GH-28714)
https://github.com/python/cpython/commit/3cb9731b7e59b0df9a7a9ab6b7746a669958b693


--
nosy: +asvetlov

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45635] Tidy up error handling in traceback.c / python run.c

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:


New changeset f893bb2e01307c92ca19597f44874ecaffe7f06f by Irit Katriel in 
branch 'main':
bpo-45635: refactor print_exception() into smaller functions (GH-29981)
https://github.com/python/cpython/commit/f893bb2e01307c92ca19597f44874ecaffe7f06f


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread STINNER Victor


STINNER Victor  added the comment:

> Py_buffer data = {NULL, NULL};
> The code initializes Py_buffer.buf and Py_buffer.obj as NULL. The remaining 
> fields are whatever random values happens to be on the C stack.

The C language sets other members to 0/NULL with this syntax, no?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue16223] [doc] untokenize returns a string if no encoding token is recognized

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

The doc has been updated by now:

"It returns bytes, encoded using the ENCODING token, which is the first token 
sequence output by tokenize(). If there is no encoding token in the input, it 
returns a str instead."

https://docs.python.org/3/library/tokenize.html#tokenize.untokenize


The docstring doesn't say this though.

--
components: +Documentation
nosy: +iritkatriel
title: untokenize returns a string if no encoding token is recognized -> [doc] 
untokenize returns a string if no encoding token is recognized
versions: +Python 3.10, Python 3.11, Python 3.9 -Python 2.7, Python 3.3, Python 
3.4

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46015] Windows venvs do not include DLLs directory

2021-12-08 Thread Steve Dower


Change by Steve Dower :


--
keywords: +patch
pull_requests: +28215
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/29992

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread Petr Viktorin


Petr Viktorin  added the comment:

The current struct is also likely to continue covering most future uses.
If we decide to add PyBufferEx functions but continue providing the current 
ones (with the current struct), most users won't be affected. (But it'll be a 
bit more work for us than throwing the old API out entirely.)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46013] Confusing period in object.__hash__ doc

2021-12-08 Thread Raymond Hettinger


Raymond Hettinger  added the comment:

A line break would look weird.  Let's add plain English instead.

-   including set, frozenset, and dict. __hash__() should return an integer.
+   including set, frozenset, and dict. The __hash__() method should return an 
integer.

--
nosy: +rhettinger

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread Christian Heimes


Christian Heimes  added the comment:

The Py_buffer struct has stayed the same for over a decade and since Python 
2.6.0 and 3.0.0. It is unlikely that it has to be changed in the near future.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue29590] Incorrect stack traces when re-entering a generator/coroutine stack via .throw()

2021-12-08 Thread Irit Katriel


Change by Irit Katriel :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46015] Windows venvs do not include DLLs directory

2021-12-08 Thread Steve Dower


Steve Dower  added the comment:

+RM

--
nosy: +pablogsal

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46015] Windows venvs do not include DLLs directory

2021-12-08 Thread Steve Dower


New submission from Steve Dower :

Before, a venv would include the DLLs directory in sys.path. Since issue45582, 
it does not, and so anything that relies on a standard library native module 
cannot run.

--
assignee: steve.dower
components: Windows
messages: 408033
nosy: paul.moore, steve.dower, tim.golden, vinay.sajip, zach.ware
priority: release blocker
severity: normal
stage: needs patch
status: open
title: Windows venvs do not include DLLs directory
type: behavior
versions: Python 3.11

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-12-08 Thread Andrew Svetlov


Change by Andrew Svetlov :


--
resolution:  -> fixed
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-12-08 Thread Mark Shannon


Mark Shannon  added the comment:


New changeset d4363d214097b3fca8b7910c2e0e91c8b0873fb2 by Andrew Svetlov in 
branch 'main':
bpo-45813: Drop redundant assertion from frame.clear() (GH-29990)
https://github.com/python/cpython/commit/d4363d214097b3fca8b7910c2e0e91c8b0873fb2


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread STINNER Victor


STINNER Victor  added the comment:

In Python 3.5, I decided to rename the public "PyMemAllocator" structure to 
PyMemAllocatorEx when I added a new "calloc" member. C extensions using 
"PyMemAllocator" fail to build to force developers to set the calloc member.

IMO it's unfortunate to have to rename a structure to force developers to 
update their C code :-(

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread Christian Heimes


Christian Heimes  added the comment:

I thought of a version field, too. In the end it is going to cause more work 
and trouble than it would benefit us.

Stack-allocated Py_buffer's are typically initialized with

   Py_buffer data = {NULL, NULL};

. The code initializes Py_buffer.buf and Py_buffer.obj as NULL. The remaining 
fields are whatever random values happens to be on the C stack. If we would 
append a version field to the struct, than every project would have to 
initialize the field properly.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue19888] Three argument type() super call sets __name__ but not __qualname__

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

This is about documenting a difference between 3.2 and 3.3, so I'm assuming 
it's no longer relevant.

--
nosy: +iritkatriel
resolution:  -> out of date
status: open -> pending

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15708] PEP 3121, 384 Refactoring applied to socket module

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

The patch needs to be converted to a github PR.

--
nosy: +iritkatriel
versions: +Python 3.11 -Python 3.4

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15673] PEP 3121, 384 Refactoring applied to testcapi module

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

The patch needs to be converted to a github PR.

--
nosy: +iritkatriel
versions: +Python 3.11 -Python 3.4

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15389] PEP 3121, 384 refactoring applied to curses module

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

The patch needs to be converted to a github PR.

--
nosy: +iritkatriel
versions: +Python 3.11 -Python 3.4

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15390] PEP 3121, 384 refactoring applied to _datetime module

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

The patch needs to be converted to a github PR.

--
nosy: +iritkatriel
versions: +Python 3.11 -Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15651] PEP 3121, 384 refactoring applied to elementtree module

2021-12-08 Thread Irit Katriel


Change by Irit Katriel :


--
resolution:  -> duplicate
status: open -> closed
superseder:  -> PEP 3121, 384 refactoring applied to elementtree module

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue15735] PEP 3121, 384 Refactoring applied to ossaudio module

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

The patch needs to be converted to a github PR.

--
nosy: +iritkatriel
versions: +Python 3.11 -Python 3.4

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread STINNER Victor


STINNER Victor  added the comment:

Would it make sense to add a "version" member to the structure?

It would allow to support an old stable structure for the stable ABI and a new 
structure with other changes. The problem is how to initalize the version 
member. On Windows, many structures have a member which is the size of the 
structure.

I tried to implement such ABI compatibility for PEP 587 PyConfig structure, but 
the idea was rejected (there was no need for a stable ABI when Python is 
embedded in an application):
https://mail.python.org/archives/list/python-...@python.org/thread/C7Z2NA2DTM3DLOZCFQAK5A2WFYO3PHHX/

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1653457] Python misbehaves when installed in / (patch attached)

2021-12-08 Thread Chris Webb


Change by Chris Webb :


Removed file: https://bugs.python.org/file17945/paths.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46009] sending non-None values makes generator raise StopIteration on next access

2021-12-08 Thread Pablo Galindo Salgado


Change by Pablo Galindo Salgado :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10608] [doc] Add a section to Windows FAQ explaining os.symlink

2021-12-08 Thread Irit Katriel


Change by Irit Katriel :


--
title: Add a section to Windows FAQ explaining os.symlink -> [doc] Add a 
section to Windows FAQ explaining os.symlink
type: behavior -> enhancement
versions: +Python 3.11 -Python 2.7, Python 3.4, Python 3.5

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11385] [doc] TextTestRunner documentation improvements

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

The run method is documented now, but most of the above points are still true.

--
assignee: michael.foord -> 
keywords: +easy
nosy: +iritkatriel
title: TextTestRunner methods are not documented -> [doc] TextTestRunner 
documentation improvements
versions: +Python 3.10, Python 3.11, Python 3.9 -Python 2.7, Python 3.4, Python 
3.5

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46009] sending non-None values makes generator raise StopIteration on next access

2021-12-08 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset 99c72326d245fb604609a87a51ef1ad0845467b7 by Mark Shannon in 
branch '3.10':
[3.10] bpo-46009: Do not exhaust generator when send() method raises 
(GH-29986). (GH-29988)
https://github.com/python/cpython/commit/99c72326d245fb604609a87a51ef1ad0845467b7


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread Christian Heimes


Christian Heimes  added the comment:

After some consideration I also agree with Antoine. The Py_buffer API has been 
around for a long time without any changes to the Py_buffer struct. It is 
unlikely that the struct will ever change.

I have created a new PR that exposes Py_buffer struct, PyBuffer_*() API 
functions, PyBUF_* constants, Py_bf_* type slots, and 
PyMemoryView_FromBuffer(). We could consider to export PyPickleBuffer*() API, 
too.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread Christian Heimes


Change by Christian Heimes :


--
pull_requests: +28214
pull_request: https://github.com/python/cpython/pull/29991

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45420] Python 3.10 final installation failure

2021-12-08 Thread wyz23x2


wyz23x2  added the comment:

Problem solved by installing 3.10.1. (Why?) Thanks!

--
resolution:  -> fixed
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45840] Improve cross-references in the data model documentation

2021-12-08 Thread Alex Waygood


Change by Alex Waygood :


--
stage: patch review -> backport needed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46014] functools.singledispatch does not support Union types

2021-12-08 Thread Alex Waygood


Change by Alex Waygood :


--
nosy: +AlexWaygood, lukasz.langa, rhettinger
versions:  -Python 3.7, Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46014] functools.singledispatch does not support Union types

2021-12-08 Thread Dave Evans


New submission from Dave Evans :

It's not currently possible to use `singledispatch` with a function annotated 
with a Union type, although the desired behaviour is clear.

Example:
```
from functools import singledispatch
from typing import Union

@singledispatch
def test(arg):
raise ValueError(arg)

@test.register
def _(arg: Union[int, float]):
print(f"{arg} is a number")

test(1)
```

This dies with:

TypeError: Invalid annotation for 'arg'. typing.Union[int, float] is not a 
class.

I've implemented a workaround which digs the types out of the union and 
registers them one-by-one:
```
from functools import singledispatch
from typing import Union, get_type_hints

def register_for_union_type(target_fn):
def decorator(fn):
arg_type = list(get_type_hints(fn).values())[0]
assert arg_type.__origin__ is Union
for type_ in arg_type.__args__:
fn = target_fn.register(type_)(fn)
return fn

return decorator

@singledispatch
def test(arg):
raise ValueError(arg)

@register_for_union_type(test)
def _(arg: Union[int, float]):
print(f"{arg} is a number")

test(1)

```

Looking at the source for `singledispatch` is doesn't look like it would *too* 
difficult to add support for something like this, though of course there may be 
subtleties I've missed. Would you be open to a patch?

The only other mentions I've found of this online are:
https://mail.python.org/archives/list/python-id...@python.org/thread/HF5HDXQ2SXZHO3TWODIRQATTE4TCAWPL/
https://stackoverflow.com/questions/61721761/type-hints-and-singledispatch-how-do-i-include-union-in-an-extensible-w

--
components: Library (Lib)
messages: 408018
nosy: evansd
priority: normal
severity: normal
status: open
title: functools.singledispatch does not support Union types
type: enhancement
versions: Python 3.10, Python 3.11, Python 3.7, Python 3.8, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-12-08 Thread Andrew Svetlov


Andrew Svetlov  added the comment:

Pablo, I think https://github.com/python/cpython/pull/29990 should be merged as 
well before the issue closing.

It covers another execution branch.

--
resolution: fixed -> 
status: closed -> open

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45813] Importing asyncio after deleting a coroutine object and before cleaning it up leads to crashing on Python3.11

2021-12-08 Thread Andrew Svetlov


Change by Andrew Svetlov :


--
pull_requests: +28213
pull_request: https://github.com/python/cpython/pull/29990

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45459] Limited API support for Py_buffer

2021-12-08 Thread Petr Viktorin


Petr Viktorin  added the comment:

Antoine has a good point. We can freeze the Py_buffer struct. If it needs to be 
extended in the future, it'll need a new set of functions and names -- and 
perhaps a versioning scheme. We'll know more about the problem when/if it comes 
up.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1653457] Python misbehaves when installed in / (patch attached)

2021-12-08 Thread Irit Katriel


Irit Katriel  added the comment:

> (Presumably this will land in Python 11 rather than get backported?)

I believe so.

> it'll feel like end of an era to finally be able to drop that local patch.

You should mark the occasion somehow, it's not everyday you say goodbye to a 25 
year old patch!

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46013] Confusing period in object.__hash__ doc

2021-12-08 Thread JMcB


Change by JMcB :


--
keywords: +patch
pull_requests: +28212
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/29989

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46013] Confusing period in object.__hash__ doc

2021-12-08 Thread JMcB


New submission from JMcB :

At https://docs.python.org/3/reference/datamodel.html#object.__hash__
It says:
Called by built-in function hash() and for operations on members of hashed 
collections including set, frozenset, and dict. __hash__() should return an 
integer.

How it's rendered there, the kerning made it confusing to me on a first read 
because dict. [new sentence]__hash__() looked like dict.__hash__().

I think a line break should be added, which I'll open a pr to do.

--
assignee: docs@python
components: Documentation
messages: 408014
nosy: JMcB17, docs@python
priority: normal
severity: normal
status: open
title: Confusing period in object.__hash__ doc
type: enhancement
versions: Python 3.10

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46012] unittest AsyncConnection not described

2021-12-08 Thread Andrew Svetlov


Change by Andrew Svetlov :


--
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46009] sending non-None values makes generator raise StopIteration on next access

2021-12-08 Thread Mark Shannon


Change by Mark Shannon :


--
pull_requests: +28211
pull_request: https://github.com/python/cpython/pull/29988

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46009] sending non-None values makes generator raise StopIteration on next access

2021-12-08 Thread Mark Shannon


Mark Shannon  added the comment:


New changeset 69806b9516dbe092381f3ef884c7c64bb9b8414a by Mark Shannon in 
branch 'main':
bpo-46009: Do not exhaust generator when send() method raises (GH-29986)
https://github.com/python/cpython/commit/69806b9516dbe092381f3ef884c7c64bb9b8414a


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46007] [C API] PyUnicode_CHECK_INTERNED() doesn't work in the limited C API

2021-12-08 Thread STINNER Victor


Change by STINNER Victor :


--
keywords: +patch
pull_requests: +28210
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/29987

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46006] [subinterpreter] _PyUnicode_EqualToASCIIId() issue with subinterpreters

2021-12-08 Thread STINNER Victor


STINNER Victor  added the comment:

> Should `_PyUnicode_EqualToASCIIId()` support comparing two unicode from 
> different interpreter?

Right now, there still many cases where objects are still shared between two 
interpreters:

* None, True, False singletons
* strings from code objects (according to what I saw when I reproduced the 
issue)
* objects from static types: type name (str), subtypes (tuple), MRO (tuple), 
etc.
* etc.

More details in the following issues:

* bpo-40533: [subinterpreters] Don't share Python objects between interpreters
* bpo-40512: [subinterpreters] Meta issue: per-interpreter GIL

--
nosy: +eric.snow

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41692] Deprecate immortal interned strings: PyUnicode_InternImmortal()

2021-12-08 Thread STINNER Victor


STINNER Victor  added the comment:

I cannot find "PyUnicode_InternImmortal" pattern in the source code of the PyPI 
top 5000 projects (December 1, 2021).

I only found a false positive in frozendict-2.1.1:

frozendict/src/3_10/cpython_src/Include/unicodeobject.h: // 
PyUnicode_InternImmortal() is deprecated since Python 3.10
frozendict/src/3_10/cpython_src/Include/unicodeobject.h: Py_DEPRECATED(3.10) 
PyAPI_FUNC(void) PyUnicode_InternImmortal(PyObject **);
frozendict/src/3_6/cpython_src/Include/unicodeobject.h: PyAPI_FUNC(void) 
PyUnicode_InternImmortal(PyObject **);
frozendict/src/3_7/cpython_src/Include/unicodeobject.h: PyAPI_FUNC(void) 
PyUnicode_InternImmortal(PyObject **);
frozendict/src/3_8/cpython_src/Include/unicodeobject.h: PyAPI_FUNC(void) 
PyUnicode_InternImmortal(PyObject **);
frozendict/src/3_9/cpython_src/Include/unicodeobject.h: PyAPI_FUNC(void) 
PyUnicode_InternImmortal(PyObject **);

These are copies of the Python unicodeobject.h header files, but the 
PyUnicode_InternImmortal() function is not called by frozendict.

I used my download_pypi_top.py and search_pypi_top.py tools which can be found 
at:
https://github.com/vstinner/misc/tree/main/cpython

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45855] PyCapsule_Import still using PyImport_ImportModuleNoBlock

2021-12-08 Thread Andrew Svetlov


Andrew Svetlov  added the comment:

The main branch has a dozen PyImport_ImportModuleNoBlock() usages.

Would you replace them also?

--
nosy: +asvetlov
versions: +Python 3.11 -Python 3.10

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



  1   2   >