[issue44405] add program passed as string to dis module.

2021-06-12 Thread Steven D'Aprano


Change by Steven D'Aprano :


--
nosy: +steven.daprano
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



[issue44408] imaplib fails when server sends extra blank line after literal value

2021-06-12 Thread John L


Change by John L :


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

___
Python tracker 

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



[issue44408] imaplib fails when server sends extra blank line after literal value

2021-06-12 Thread John L


New submission from John L :

Some IMAP servers return an extra blank line after a counted literal value, 
which makes imaplib crash.
MacOS mail and T'bird handle the blank line OK so it seems to be a somewhat 
common bug.

--
components: Library (Lib)
messages: 395729
nosy: jrlevine
priority: normal
severity: normal
status: open
title: imaplib fails when server sends extra blank line after literal value
type: crash
versions: Python 3.10, 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



[issue44407] A "Coroutines and Tasks" code example needs "asyncio.run(main())"

2021-06-12 Thread Atsushi Sakai

New submission from Atsushi Sakai :

This is very small documentation improvement proposal.

In the "Coroutines and Tasks" doc, the code example after "Let’s modify the 
above example and run two say_after coroutines concurrently:" is missing 
"asyncio.run(main())" at the end of the code example:

async def main():
task1 = asyncio.create_task(
say_after(1, 'hello'))

task2 = asyncio.create_task(
say_after(2, 'world'))

print(f"started at {time.strftime('%X')}")

# Wait until both tasks are completed (should take
# around 2 seconds.)
await task1
await task2

print(f"finished at {time.strftime('%X')}")

--
assignee: docs@python
components: Documentation
messages: 395728
nosy: AtsushiSakai, docs@python
priority: normal
severity: normal
status: open
title: A "Coroutines and Tasks" code example needs "asyncio.run(main())"
type: enhancement
versions: Python 3.9

___
Python tracker 

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



[issue44405] add program passed as string to dis module.

2021-06-12 Thread Arjun


Arjun  added the comment:

> If _test were considered obsolete, it could be removed.

removing _test: 
https://github.com/CCLDArjun/cpython/commit/8b3b8ccef0ef693f8f4105fd1eb56e9386675301
 does not break dis tests.

--

___
Python tracker 

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



[issue44396] pegen _PyParser_ASTFromFile(): Use-After-Free in syntaxerror()

2021-06-12 Thread alessandro mantovani

alessandro mantovani  added the comment:

Fuzzing experimental techniques, but then I observed the same behavior was 
happening with vanilla afl++. As a starting queue I used the *.py files that I 
found in the repo under ‘test’ or so 

Best 

Alessandro Mantovani 

Inviato da iPhone

> Il giorno 12.06.2021, alle ore 19:57, Pablo Galindo Salgado 
>  ha scritto:
> 
> 
> Pablo Galindo Salgado  added the comment:
> 
> alessandro mantovani, one question, how did you generate the crash scripts?
> 
> --
> 
> ___
> Python tracker 
> 
> ___

--

___
Python tracker 

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



[issue44405] add program passed as string to dis module.

2021-06-12 Thread Arjun


Arjun  added the comment:

> If _test were considered obsolete, it could be removed.

Yup, originally it was added 2 decades ago (in 2000) originally as a test: 
1fdae12c932

--

___
Python tracker 

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



[issue44405] add program passed as string to dis module.

2021-06-12 Thread Arjun


Arjun  added the comment:

Huh, that's actually weird that the "exisisting command line interface" (quotes 
because it was added as a test) isn't official. I've found it to be convinient 
as a newcomer to the cpython codebase. 

> What is unusual, I think, for a CLI test function is that it requires a 
> passed in argument

git blame shows the commit hash is 095668914c3, which is for bpo: 
https://bugs.python.org/issue18538 "python -m dis now uses argparse". The 
Misc/HISTORY file references the change in section "What's New in Python 3.4.0 
Alpha 3?"

Regardless of the cli being official, personally I think, it's a good feature 
to add. But also, maybe I should start a discussion in python-ideas about 
making it official?

--

___
Python tracker 

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



[issue44405] add program passed as string to dis module.

2021-06-12 Thread Terry J. Reedy


Terry J. Reedy  added the comment:

What is unusual, I think, for a CLI test function is that it requires a passed 
in argument.  As a sanity-check test, 'python -m dis' could (should) 
disassemble itself.  Perhaps there once were some true tests that were moved to 
unittests.  (I started IDLE unittests by doing this with module test 
functions.)  If you know git, you could check the history and checkin messages.

--

___
Python tracker 

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



[issue44405] add program passed as string to dis module.

2021-06-12 Thread Terry J. Reedy


Terry J. Reedy  added the comment:

I checked https://docs.python.org/3/library/dis.html and there is no mention of 
dis having a command-line interface.  This suggests that _test is likely 
present only for testing the module, not for using it.  This was common a 
couple of decades ago before we had unittests.  If _test were considered 
obsolete, it could be removed.

By suggesting that the command line interface by upgraded, I suspect that you 
are implicitly suggesting that it be considered 'official'.  If so, that 
'_test' should become '_main' (where the underscore leaves it out of __all__), 
and the CLI documented as in other modules with a CLI.  (I am not up on the 
details and policy around this issue.)

It may be appropriate to start a discussion of python-ideas.

--
nosy: +terry.reedy, yselivanov

___
Python tracker 

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



[issue44406] Divergent sys.prefix behavior causes `python -m build` command to fail when in virtual environment

2021-06-12 Thread Dylan

New submission from Dylan :

Confirmed on 3.6 and 3.9.  The issue can be found in venv\__init__.py where the 
sys.prefix is used to determine the parent path of the python executable (near 
the bottom of the symlink_or_copy method at about line 190).  On the venv 
documentation page (https://docs.python.org/3/library/venv.html), it is noted 
that:


When a virtual environment is active (i.e., the virtual environment’s Python 
interpreter is running), the attributes sys.prefix and sys.exec_prefix point to 
the base directory of the virtual environment, whereas sys.base_prefix and 
sys.base_exec_prefix point to the non-virtual environment Python installation 
which was used to create the virtual environment. If a virtual environment is 
not active, then sys.prefix is the same as sys.base_prefix and sys.exec_prefix 
is the same as sys.base_exec_prefix (they all point to a non-virtual 
environment Python installation).


This code is called by lib\site-packages\build\env.py (venv.EnvBuilder...) 
which fails erroneously due to the divergent behavior of the sys.prefix as 
described in the documentation snippet above.

Recommended fix:  I'm not sure why that behavior diverges in the first place.  
Ideally, either the build lib\venv\__init__.py should be updated to not rely on 
sys.prefix, or the sys.prefix behavior should be changed.

Additional Notes:
- I am seeing this issue on Windows 10
- The venv instance is within an Anaconda directory.
- The python -m build command I am running is from within a virtual environment
- I've listed file paths in relation to the library path within the same 
directory as the python executable for convenience.  Let me clarify, however, 
that there are multiple instances of the python lib folder: 1 global and 1 
local copy.  The venv path is located in the global instance within the 
Anaconda path whereas the build script is using the virtual environment 
instance of python.

--
assignee: docs@python
components: Build, Documentation, Windows
messages: 395721
nosy: docs@python, dsmaccy, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: Divergent sys.prefix behavior causes `python -m build` command to fail 
when in virtual environment
versions: Python 3.6, Python 3.9

___
Python tracker 

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



[issue44405] add program passed as string to dis module.

2021-06-12 Thread Arjun


New submission from Arjun :

python dis module should have a program passed in as string.

Currently, you can do this:
$ echo "x = 6" | python -m dis /dev/stdin
  1   0 LOAD_CONST   0 (6)
  2 STORE_NAME   0 (x)
  4 LOAD_CONST   1 (None)
  6 RETURN_VALUE

would be convenient like this:
$ ./python.exe -m dis -c "x=6"
  1   0 LOAD_CONST   0 (6)
  2 STORE_NAME   0 (x)
  4 LOAD_CONST   1 (None)
  6 RETURN_VALUE

these changes seem to be working.

--
components: Library (Lib)
files: dis.patch
keywords: patch
messages: 395720
nosy: CCLDArjun
priority: normal
severity: normal
status: open
title: add program passed as string to dis module.
type: enhancement
Added file: https://bugs.python.org/file50107/dis.patch

___
Python tracker 

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



[issue44328] time.monotonic() should use a different clock source on Windows

2021-06-12 Thread STINNER Victor


STINNER Victor  added the comment:

> To reduce the adverse effects of this frequency offset error, recent versions 
> of Windows, particularly Windows 8, use multiple hardware timers to detect 
> the frequency offset and compensate for it to the extent possible. This 
> calibration process is performed when Windows is started.

Technically, it remains possible to install Python on Windows 7, see: bpo-32592.

--

___
Python tracker 

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



[issue38323] asyncio: MultiLoopWatcher has a race condition (test_asyncio: test_close_kill_running() hangs on AMD64 RHEL7 Refleaks 3.x)

2021-06-12 Thread STINNER Victor


STINNER Victor  added the comment:

> I think this is a good idea. MultiLoopChildWatcher could use setwakeupfd with 
> some no-op callback just to wakeup the loop.

A no-op doesn't solve the issue. It doesn't wake up the event loop. There are 
only two options to wake up the event loop:

* Raise an exception in the Python signal handler
* Generate any event which stops the event loop polling. In practice, it means 
to write into the event loop self pipe.

This issue is similar to call_soon() which doesn't wake up the event loop if 
called from a different thread: you must call call_soon_threadsafe() which... 
writes into the self pipe. The self pipe again!

--

MultiLoopChildWatcher cannot use setwakeupfd if it's also used by an event loop 
to register a signal handler (like CTRL+C). Python currently supports a single 
signal wakeup FD.

The event loop *must* set the wakeup FD to its own self pipe. Otherwise, the 
asynchronous Python signal handler register by add_signal_handler() is not 
called. Extract of the Unix add_signal_handler():

# Register a dummy signal handler to ask Python to write the signal
# number in the wakeup file descriptor. _process_self_data() will
# read signal numbers from this file descriptor to handle signals.
signal.signal(sig, _sighandler_noop)

Currently, MultiLoopChildWatcher is not related to any event loop, it cannot 
access such "self pipe".

If MultiLoopChildWatcher is modified to be attached to an event loop... does it 
contract the whole purpose of MultiLoopChildWatcher?

--

___
Python tracker 

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



[issue44283] Add jump table for certain safe match-case statements

2021-06-12 Thread Dennis Sweeney


Dennis Sweeney  added the comment:

Here are some benchmarks:

PS C:\Users\sween\Source\Repos\cpython2\cpython> .\python.bat -m pyperf 
compare_to .\main.json .\PR-26697.json
Running Release|x64 interpreter...
1: Mean +- std dev: [main] 117 us +- 4 us -> [PR-26697] 122 us +- 3 us: 1.04x 
slower
2: Mean +- std dev: [main] 202 us +- 11 us -> [PR-26697] 180 us +- 7 us: 1.12x 
faster
3: Mean +- std dev: [main] 320 us +- 11 us -> [PR-26697] 243 us +- 13 us: 1.32x 
faster
4: Mean +- std dev: [main] 474 us +- 15 us -> [PR-26697] 306 us +- 15 us: 1.55x 
faster
5: Mean +- std dev: [main] 625 us +- 27 us -> [PR-26697] 341 us +- 6 us: 1.83x 
faster
6: Mean +- std dev: [main] 806 us +- 24 us -> [PR-26697] 404 us +- 20 us: 1.99x 
faster
7: Mean +- std dev: [main] 1.01 ms +- 0.04 ms -> [PR-26697] 461 us +- 19 us: 
2.19x faster
8: Mean +- std dev: [main] 1.22 ms +- 0.03 ms -> [PR-26697] 538 us +- 20 us: 
2.27x faster
9: Mean +- std dev: [main] 1.47 ms +- 0.05 ms -> [PR-26697] 607 us +- 27 us: 
2.42x faster
10: Mean +- std dev: [main] 1.75 ms +- 0.07 ms -> [PR-26697] 666 us +- 36 us: 
2.62x faster

--
Added file: https://bugs.python.org/file50106/matchperf.py

___
Python tracker 

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



[issue43425] test_peg_generator.test_c_parser emits DeprecationWarning due to distutils

2021-06-12 Thread Dong-hee Na


Dong-hee Na  added the comment:


New changeset 736ed6f7a9f465ba728198e8bca81e5fbe71bc37 by Dong-hee Na in branch 
'main':
bpo-43425: Update test_c_parser not to use TempdirManager (GH-26693)
https://github.com/python/cpython/commit/736ed6f7a9f465ba728198e8bca81e5fbe71bc37


--

___
Python tracker 

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



[issue44316] Support preserving path meaning in os.path.normpath() and abspath()

2021-06-12 Thread Barney Gale


Barney Gale  added the comment:

I think I agree

How would you feel about two new arguments? Following `os.curdir` and 
`os.pardir` names:

def normpath(path, *, keep_curdir=False, keep_pardir=False)
...

--

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Christian Heimes


Change by Christian Heimes :


--
pull_requests: +25285
pull_request: https://github.com/python/cpython/pull/26700

___
Python tracker 

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



[issue44316] Support preserving path meaning in os.path.normpath() and abspath()

2021-06-12 Thread Eryk Sun


Eryk Sun  added the comment:

> single dots are collapsed

For pathlib, I've previously discussed a desire to retain a leading dot 
component from the initializing path. This could be implemented in strict mode 
for normpath(). 

A leading dot is significant in the path of an executable in a search context, 
such as the first item in the args sequence of subprocess.Popen(). For example, 
if "./spam" is normalized as "spam", then the system will search the PATH 
directories instead of the current working directory. It's also import to note 
that in Windows a leading dot component is required in order to preclude 
searching even if the path contains slashes. For example, CreateProcessW() and 
SearchPathW() will try to resolve r"spam\eggs.exe" against every directory in 
the search path, whereas r".\spam\eggs.exe" is explicitly relative to just the 
current working directory.

Retaining a leading dot component can also be important in Windows in order to 
disambiguate a drive-relative path from a named data stream of a file that has 
a single-letter filename. For example, "C:spam" is a file named "spam" in the 
working path on drive "C:" (e.g. "C:spam" -> r"C:\working\path\spam"), but 
r".\C:spam" is a data stream named "spam" in a file named "C" in the current 
working directory.

--
nosy: +eryksun

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
pull_requests: +25284
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/26699

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

Ah, I see now that it's deprecated in the docs as well: 
https://docs.python.org/3/library/ssl.html#ssl.OP_NO_TLSv1_3

--

___
Python tracker 

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



[issue44404] tkinter's after() AttributeError with functools.partial (no attribute __name__)

2021-06-12 Thread Philip Sundt


New submission from Philip Sundt :

```
>>> import tkinter
>>> from functools import partial
>>> r=tkinter.Tk()
>>> r.after(500, partial(print, "lol"))
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python3.7/tkinter/__init__.py", line 755, in after
callit.__name__ = func.__name__
AttributeError: 'functools.partial' object has no attribute '__name__'
```

--
components: Tkinter
messages: 395712
nosy: phil.tgd
priority: normal
severity: normal
status: open
title: tkinter's after() AttributeError with functools.partial (no attribute 
__name__)
type: behavior
versions: Python 3.9

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

Let me know if you want me to open a PR that adds the correct flag and adds 
deprecation wrappers to the tests.

--

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

Yes, and judging from PEP 644, I figured the TLSv1.3 flag was _not_ deprecated. 
Sorry for the misunderstanding/noise.

--

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Christian Heimes


Christian Heimes  added the comment:

3.10 requires OpenSSL >= 1.1.1

The code checks for presence of deprecated options and emits a warning for all 
SSL_OP_NO_TLS/SSL* constants.

--

___
Python tracker 

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



[issue27827] pathlib is_reserved fails for some reserved paths on Windows

2021-06-12 Thread Barney Gale


Barney Gale  added the comment:

I've put Eryk's patch up as a PR: https://github.com/python/cpython/pull/26698

--

___
Python tracker 

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



[issue27827] pathlib is_reserved fails for some reserved paths on Windows

2021-06-12 Thread Barney Gale


Change by Barney Gale :


--
nosy: +barneygale
nosy_count: 6.0 -> 7.0
pull_requests: +25283
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/26698

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Christian Heimes


Change by Christian Heimes :


--
resolution: duplicate -> 
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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

But TLSv1.3 is included in openssl 1.1.1, no?

--

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Christian Heimes


Christian Heimes  added the comment:

It's a typo, not a duplicate entry. Correct line is:

SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3

--
nosy: +christian.heimes
resolution: fixed -> duplicate
stage: resolved -> needs patch
status: closed -> open

___
Python tracker 

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



[issue44396] pegen _PyParser_ASTFromFile(): Use-After-Free in syntaxerror()

2021-06-12 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



[issue44396] pegen _PyParser_ASTFromFile(): Use-After-Free in syntaxerror()

2021-06-12 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset d03f342a8389f1ea9100efb0d1a205601e607254 by Miss Islington (bot) 
in branch '3.10':
bpo-44396: Update multi-line-start location when reallocating tokenizer buffers 
(GH-26676) (GH-26695)
https://github.com/python/cpython/commit/d03f342a8389f1ea9100efb0d1a205601e607254


--

___
Python tracker 

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



[issue44283] Add jump table for certain safe match-case statements

2021-06-12 Thread Dennis Sweeney


Change by Dennis Sweeney :


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

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Erlend E. Aasland


Erlend E. Aasland  added the comment:

Thanks for the report, Brother Beer.

--

___
Python tracker 

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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
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



[issue44389] Modules/_ssl.c, repeated 'SSL_OP_NO_TLSv1_2'

2021-06-12 Thread Joannah Nanjekye


Joannah Nanjekye  added the comment:


New changeset cb7230c7a7d6d497e54c25e9ba640eec79de10f2 by Erlend Egeberg 
Aasland in branch 'main':
bpo-44389: Remove duplicate SSL_OP_NO_TLSv1_2 flag (GH-26680)
https://github.com/python/cpython/commit/cb7230c7a7d6d497e54c25e9ba640eec79de10f2


--
nosy: +nanjekyejoannah

___
Python tracker 

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



[issue16845] warnings.simplefilter should validate input

2021-06-12 Thread Bonifacio


Change by Bonifacio :


--
keywords: +patch
nosy: +Bonifacio2
nosy_count: 3.0 -> 4.0
pull_requests: +25281
pull_request: https://github.com/python/cpython/pull/26696

___
Python tracker 

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



[issue33450] unexpected EPROTOTYPE returned by sendto on MAC OSX

2021-06-12 Thread Erlend E. Aasland


Change by Erlend E. Aasland :


--
nosy: +erlendaasland

___
Python tracker 

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



[issue44403] Add os.path.isreserved() function

2021-06-12 Thread Barney Gale


New submission from Barney Gale :

Windows reserves certain filenames like 'NUL'. Checking for these names is part 
of a small handful of functionality that is available in pathlib but not in 
os.path.

I propose that we add an os.path.isreserved() function, encorporating Eryk 
Sun's work on bpo-27827. We then adjust pathlib to call the new function.

By doing so, we move one of the few remaining OS-specific implementations in 
pathlib to low-level libraries (posixpath, ntpath) where it arguably belongs.

We also make this functionality available to the segment of people using 
traditional string-based path operations who don't want to dip their toes into 
pathlib just for reserved names.

--
components: Library (Lib)
messages: 395702
nosy: barneygale
priority: normal
severity: normal
status: open
title: Add os.path.isreserved() function
type: enhancement

___
Python tracker 

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



[issue37880] For argparse add_argument with action='store_const', const should default to None.

2021-06-12 Thread Joannah Nanjekye


Joannah Nanjekye  added the comment:

@jack__d, please feel free to work on a PR.

Also, do not hesitate to ask any questions along the way.

Thanks for contributing to CPython.

--

___
Python tracker 

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



[issue37880] For argparse add_argument with action='store_const', const should default to None.

2021-06-12 Thread Jack DeVries


Jack DeVries  added the comment:

Hi Joannah, I'm a new contributor and happy to take a crack at this if you 
haven't already started on a fix / would like me to do that. Thanks!

--
nosy: +jack__d

___
Python tracker 

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



[issue37880] For argparse add_argument with action='store_const', const should default to None.

2021-06-12 Thread Jacob Walls


Jacob Walls  added the comment:

Sounds reasonable to me.

--
components: +Library (Lib)
nosy: +jacobtylerwalls
type:  -> behavior
versions: +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



[issue44316] Support preserving path meaning in os.path.normpath() and abspath()

2021-06-12 Thread Barney Gale

Barney Gale  added the comment:

For this bug specifically, the pathlib docs describe the desirable behaviour:



Spurious slashes and single dots are collapsed, but double dots ('..') are not, 
since this would change the meaning of a path in the face of symbolic links:

>>> PurePath('foo//bar')
PurePosixPath('foo/bar')
>>> PurePath('foo/./bar')
PurePosixPath('foo/bar')
>>> PurePath('foo/../bar')
PurePosixPath('foo/../bar')

(a naïve approach would make PurePosixPath('foo/../bar') equivalent to 
PurePosixPath('bar'), which is wrong if foo is a symbolic link to another 
directory)



--

___
Python tracker 

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



[issue44316] Support preserving path meaning in os.path.normpath() and abspath()

2021-06-12 Thread Barney Gale


Barney Gale  added the comment:

Thanks Terry, I've added a topic here: 
https://discuss.python.org/t/pathlib-and-os-path-code-duplication-and-feature-parity/9239

The bit about `normpath()` is towards the middle of the post.

--

___
Python tracker 

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



[issue44369] Improve syntax error for wrongly closed strings

2021-06-12 Thread Batuhan Taskaya


Batuhan Taskaya  added the comment:

>From what I can share by my experience, this error happens soo much. So I'd 
>love to see it. 

For a more consistent message with others, maybe it could be something like 
this;

SyntaxError: invalid syntax. Maybe you meant to use a different type of quote

--
nosy: +BTaskaya

___
Python tracker 

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



[issue44396] pegen _PyParser_ASTFromFile(): Use-After-Free in syntaxerror()

2021-06-12 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

alessandro mantovani, one question, how did you generate the crash scripts?

--

___
Python tracker 

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



[issue44396] pegen _PyParser_ASTFromFile(): Use-After-Free in syntaxerror()

2021-06-12 Thread miss-islington


miss-islington  added the comment:


New changeset a342cc5891dbd8a08d40e9444f2e2c9e93258721 by Pablo Galindo in 
branch 'main':
bpo-44396: Update multi-line-start location when reallocating tokenizer buffers 
(GH-26676)
https://github.com/python/cpython/commit/a342cc5891dbd8a08d40e9444f2e2c9e93258721


--
nosy: +miss-islington

___
Python tracker 

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



[issue44396] pegen _PyParser_ASTFromFile(): Use-After-Free in syntaxerror()

2021-06-12 Thread miss-islington


Change by miss-islington :


--
pull_requests: +25280
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/26695

___
Python tracker 

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



[issue38323] asyncio: MultiLoopWatcher has a race condition (test_asyncio: test_close_kill_running() hangs on AMD64 RHEL7 Refleaks 3.x)

2021-06-12 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:


New changeset af5fb6706219d7949c1db5c9f2b7da53198123f3 by Miss Islington (bot) 
in branch '3.8':
bpo-38323: Skip SubprocessMultiLoopWatcherTest as they can hang the test suite 
(GH-26542) (GH-26670)
https://github.com/python/cpython/commit/af5fb6706219d7949c1db5c9f2b7da53198123f3


--

___
Python tracker 

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



[issue44316] Support preserving path meaning in os.path.normpath() and abspath()

2021-06-12 Thread Barney Gale


Change by Barney Gale :


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

___
Python tracker 

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



[issue44376] Improve performance of integer exponentiation

2021-06-12 Thread Tim Peters


Tim Peters  added the comment:

Closing this now because the pull request did, I believe, all that can be done 
at the function level. Exponents of 1 and 2 are well within a factor of 2 of 
repeated multiplication now, and it's essentially a tie at exponent 3 now. 
Above that, pow() wins now. On my box.

Doing better would require a smarter compiler, which, e.g., knew that `pow(x, 
2)` is the same as `x*x`. But, as is, `pow` is just another identifier to 
CPython's compiler, and may refer to any code at all. `i**2` isn't really much 
better, because CPython just redirects to type(i)'s __pow__ function at 
runtime. Which, again to the compiler, may refer to any code at all.

`pow()` is quite an involved function, needing to cater to all sorts of things, 
including possible reduction by the optional modulus, and possibly negative 
exponents.

`pow(i, 2)` (same as `i**2` under the covers) does exactly one Python-int 
multiplication now, same as `i*i`. That's fast. In either case overheads 
account for the bulk of the elapsed time. The overhead of going around the eval 
loop an "extra" time (in `i*i`) and doing another name lookup is simply smaller 
than all the overheads `pow()` incurs to _deduce_, at runtime, that it's only 
being asked to do one multiply.

--
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



[issue44376] Improve performance of integer exponentiation

2021-06-12 Thread Tim Peters


Tim Peters  added the comment:


New changeset 9d8dd8f08aae4ad6e73a9322a4e9dee965afebbc by Tim Peters in branch 
'main':
bpo-44376 - reduce pow() overhead for small exponents (GH-26662)
https://github.com/python/cpython/commit/9d8dd8f08aae4ad6e73a9322a4e9dee965afebbc


--

___
Python tracker 

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



[issue43425] test_peg_generator.test_c_parser emits DeprecationWarning due to distutils

2021-06-12 Thread Dong-hee Na


Change by Dong-hee Na :


--
keywords: +patch
nosy: +corona10
nosy_count: 4.0 -> 5.0
pull_requests: +25278
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/26693

___
Python tracker 

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



[issue34199] Add support for delete logger in log module.

2021-06-12 Thread Юлий Бройде

Юлий Бройде <124...@gmail.com> added the comment:

I have a similar scenario. I need to create a logger for each client of my 
system and than to delete them

--
nosy: +124bit
versions: +Python 3.9 -Python 3.8

___
Python tracker 

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



[issue29688] Add support for Path.absolute()

2021-06-12 Thread Barney Gale


Barney Gale  added the comment:

Hi - please could a core dev review PR 26153? It adds documentation and tests 
for Path.absolute(). Thank you!

--

___
Python tracker 

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



[issue44400] Propose random.randbool()

2021-06-12 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

As for randbool() I concur with Steven. It is too trivial and in most case you 
do not even need to call bool().

Alternate methods:

choice((False, True))
random() < 0.5

They are less efficient than getrandbits(1), but can be easily extended to 
non-binary output or non-uniform distribution.

--

___
Python tracker 

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



[issue44400] Propose random.randbool()

2021-06-12 Thread Dong-hee Na


Dong-hee Na  added the comment:

s / from other core-devs / from core-devs

--

___
Python tracker 

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



[issue44359] test_ftplib fails as "env changes" if a socket operation times out in a thread: TimeoutError is not catched

2021-06-12 Thread Dong-hee Na


Change by Dong-hee Na :


--
nosy: +corona10

___
Python tracker 

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



[issue44400] Propose random.randbool()

2021-06-12 Thread Dong-hee Na


Dong-hee Na  added the comment:

To explain my thought,

> Not every one line expression needs to be a function in a library. 
> `bool(getrandbits(1))` is self-explanatory enough,

Yeah, I agree with the point of view, it might be enough.

But considering the popularity of the Python language and there is a lot of new 
people who enter the programming world with Python for their own purpose so 
there are a lot of people who are not familiar with the concept of bits.
So I thought that the random module can become more friendly for those people.

And for example, Java/Scala already provides those high-level APIs (and there 
is a similar proposal at Go also: https://github.com/golang/go/issues/23804). 
but it does not mean that Python should provide the same APIs. And I know that 
we also have to consider the maintenance cost and the principle of library 
scope.

Anyway, this is the reason I proposed this feature and I want to hear the 
opinion from other core-devs :)

please let me know if I miss something or historical issue.
Enjoy your weekend.

--

___
Python tracker 

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



[issue43475] Worst-case behaviour of hash collision with float NaN

2021-06-12 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:


New changeset 9f1c5f6e8af6ba3f659b2aea1e221ac9695828ba by Serhiy Storchaka in 
branch 'main':
bpo-43475: Fix the Python implementation of hash of Decimal NaN (GH-26679)
https://github.com/python/cpython/commit/9f1c5f6e8af6ba3f659b2aea1e221ac9695828ba


--

___
Python tracker 

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



[issue36663] pdb: store whole exception information in locals (via user_exception)

2021-06-12 Thread Irit Katriel


Irit Katriel  added the comment:

Isn't it enough that the traceback is available on exc_value.__traceback__?

--
nosy: +iritkatriel

___
Python tracker 

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



[issue44328] time.monotonic() should use a different clock source on Windows

2021-06-12 Thread Ryan Hileman


Ryan Hileman  added the comment:

I think a lot of that is based on very outdated information. It's worth reading 
this article: 
https://docs.microsoft.com/en-us/windows/win32/sysinfo/acquiring-high-resolution-time-stamps

I will repeat Microsoft's current recommendation (from that article):

> Windows has and will continue to invest in providing a reliable and efficient 
> performance counter. When you need time stamps with a resolution of 1 
> microsecond or better and you don't need the time stamps to be synchronized 
> to an external time reference, choose QueryPerformanceCounter, 
> KeQueryPerformanceCounter, or KeQueryInterruptTimePrecise. When you need 
> UTC-synchronized time stamps with a resolution of 1 microsecond or better, 
> choose GetSystemTimePreciseAsFileTime or KeQuerySystemTimePrecise.

(Based on that, it may also be worth replacing time.time()'s 
GetSystemTimeAsFileTime with GetSystemTimePreciseAsFileTime in CPython, as 
GetSystemTimePreciseAsFileTime is available in Windows 8 and newer)

PEP 418:

> It has a much higher resolution, but has lower long term precision than 
> GetTickCount() and timeGetTime() clocks. For example, it will drift compared 
> to the low precision clocks.

Microsoft on drift (from the article above):

> To reduce the adverse effects of this frequency offset error, recent versions 
> of Windows, particularly Windows 8, use multiple hardware timers to detect 
> the frequency offset and compensate for it to the extent possible. This 
> calibration process is performed when Windows is started.

Modern Windows also automatically detects and works around stoppable TSC, as 
well as several other issues:

> Some processors can vary the frequency of the TSC clock or stop the 
> advancement of the TSC register, which makes the TSC unsuitable for timing 
> purposes on these processors. These processors are said to have non-invariant 
> TSC registers. (Windows will automatically detect this, and select an 
> alternative time source for QPC).

It seems like Microsoft considers QPC to be a significantly better time source 
now, than when PEP 418 was written.

Another related conversation is whether Python can just expose all of the 
Windows clocks directly (through clock_gettime enums?), as that gives anyone 
who really wants full control over their timestamps a good escape hatch.

--

___
Python tracker 

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



[issue44339] Discrepancy between math.pow(0.0, -inf) and 0.0**-inf

2021-06-12 Thread Mark Dickinson


Change by Mark Dickinson :


--
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



[issue44339] Discrepancy between math.pow(0.0, -inf) and 0.0**-inf

2021-06-12 Thread Mark Dickinson


Mark Dickinson  added the comment:


New changeset 4a42cebf6dd769e2fa4e234a9e91093b3ad1cb63 by Mark Dickinson in 
branch 'main':
bpo-44339: Fix math.pow corner case to comply with IEEE 754 (GH-26606)
https://github.com/python/cpython/commit/4a42cebf6dd769e2fa4e234a9e91093b3ad1cb63


--

___
Python tracker 

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



[issue44400] Propose random.randbool()

2021-06-12 Thread Mark Dickinson


Change by Mark Dickinson :


--
nosy: +mark.dickinson

___
Python tracker 

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



[issue44328] time.monotonic() should use a different clock source on Windows

2021-06-12 Thread STINNER Victor


STINNER Victor  added the comment:

Changing is clock is a tricky. There are many things to consider:

* Is it really monotonic in all cases?
* Does it have a better resolution than the previous clock?
* Corner cases: does it include time spent in time.sleep() and while the system 
is suspended?
* etc.

--

When I designed PEP 418 (in 2012), QueryPerformanceCounter() was not reliable:

"It has a much higher resolution, but has lower long term precision than 
GetTickCount() and timeGetTime() clocks. For example, it will drift compared to 
the low precision clocks."
https://www.python.org/dev/peps/pep-0418/#windows-queryperformancecounter

And there were a few bugs like: "The performance counter value may unexpectedly 
leap forward because of a hardware bug".

A Microsoft blog article explains that users wanting a steady clock with 
precision higher than GetTickCount() should interpolate GetTickCount() using 
QueryPerformanceCounter(). If I recall correctly, this is what Firefox did for 
instance.

Eryk: "That said, Windows 10 also provides QueryInterruptTimePrecise(), which 
is a hybrid solution. It uses the performance counter to interpolate a 
timestamp between interrupts. I'd prefer to use this for time.monotonic() 
instead of QPC, if it's available via GetProcAddress()."

Oh, good that they provided an implementation for that :-)

--

> V8 uses QueryPerformanceCounter after checking for old CPUs: 
> https://github.com/v8/v8/blob/dc712da548c7fb433caed56af9a021d964952728/src/base/platform/time.cc#L672

It uses CPUID to check for "non stoppable time stamp counter": 
https://github.com/v8/v8/blob/master/src/base/cpu.cc

  // Check if CPU has non stoppable time stamp counter.
  const unsigned parameter_containing_non_stop_time_stamp_counter = 0x8007;
  if (num_ext_ids >= parameter_containing_non_stop_time_stamp_counter) {
__cpuid(cpu_info, parameter_containing_non_stop_time_stamp_counter);
has_non_stop_time_stamp_counter_ = (cpu_info[3] & (1 << 8)) != 0;
  }

Maybe we use such check in Python: use GetTickCount() on old CPUs, or 
QueryPerformanceCounter() otherwise. MSVC provides the __cpuid() function:
https://docs.microsoft.com/en-us/cpp/intrinsics/cpuid-cpuidex?view=msvc-160

--

> Swift originally used QueryPerformanceCounter, but switched to 
> QueryUnbiasedInterruptTime() because they didn't want to count time the 
> system spent asleep

Oh, I recall that it was a tricky question. The PEP 418 simply says:
"The behaviour of clocks after a system suspend is not defined in the 
documentation of new functions."

See "Include Sleep" and "Include Suspend" columns of my table:
https://www.python.org/dev/peps/pep-0418/#monotonic-clocks

--

___
Python tracker 

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



[issue36027] Support negative exponents in pow() where a modulus is specified.

2021-06-12 Thread Mark Dickinson


Change by Mark Dickinson :


--
pull_requests: +25277
pull_request: https://github.com/python/cpython/pull/26690

___
Python tracker 

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



[issue44401] const kwlist for PyArg_ParseTupleAndKeywords and PyArg_VaParseTupleAndKeywords

2021-06-12 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

This is a duplicate of issue21011.

We cannot change this because it breaks C API.

--
nosy: +serhiy.storchaka
resolution:  -> wont fix
stage: patch review -> resolved
status: open -> closed
superseder:  -> PyArg_ParseTupleAndKeywords doesn't take const char *keywords[]

___
Python tracker 

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



[issue44400] Propose random.randbool()

2021-06-12 Thread Serhiy Storchaka


Serhiy Storchaka  added the comment:

It is difficult to deprecate getrandbits() because it is one of two base 
methods. All Random methods call either getrandbits() or randome(). Overriding 
them is a way to make a new random generator.

--
nosy: +serhiy.storchaka

___
Python tracker 

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



[issue44388] venv API Docs for EnvBuilder.ensure_directories incorrectly describe behavior

2021-06-12 Thread Matthew Clapp


Matthew Clapp  added the comment:

To clarify my intent: I'd really love a way to get the paths info from context 
from an existing native venv without affecting the directories of the venv.  It 
seems like this is what ensure_directories *actually* does if clear==False.  
I'm hoping that this is also something that could be pledged in the API and 
noted in the documentation so this behavior can be relied on.

--

___
Python tracker 

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