Change by Nick Coghlan :
--
assignee: -> ncoghlan
___
Python tracker
<https://bugs.python.org/issue44800>
___
___
Python-bugs-list mailing list
Unsubscrib
Nick Coghlan added the comment:
As a side effect of working on this, I noticed some changes that are needed to
adapt the GDB integration hooks to the new frame state layout.
--
nosy: +pablogsal
___
Python tracker
<https://bugs.python.
Change by Nick Coghlan :
--
nosy: +ncoghlan
nosy_count: 3.0 -> 4.0
pull_requests: +26041
pull_request: https://github.com/python/cpython/pull/27525
___
Python tracker
<https://bugs.python.org/issu
Change by Nick Coghlan :
--
keywords: +patch
pull_requests: +26040
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/27525
___
Python tracker
<https://bugs.python.org/issu
Nick Coghlan added the comment:
PR for this proposed refactoring is now up, with a review requested from Mark:
https://github.com/python/cpython/pull/27525/
The PR mostly follows what I originally posted, except that I went with
_Py_execution_frame and _PyExecFrame for the struct and
Nick Coghlan added the comment:
The newly linked pull request isn't actually for this ticket, it's for
bpo-44800, a follow-up refactoring proposal related to the variable, struct
field, and API naming schemes used for the new lighter weight execution frames.
However, the commit m
Nick Coghlan added the comment:
(Note: this is an old enough ticket that it started out with patch files on the
tracker rather than PRs on GitHub. That's just a historical artifact, so feel
free to open a PR as described in the devguide if you would prefer to work that
way)
There ar
Nick Coghlan added the comment:
Ouch, you're right - I forgot that dict just returned NotImplemented from
comparisons and unions and made it the other operand's problem:
>>> d1 = dict(x=1)
>>> d2 = dict(x=1)
>>> from types import MappingProx
Nick Coghlan added the comment:
You are correct that this proposal is technically rejected, rather than being a
true duplicate of the AsyncContextManager addition.
The core problem with the automatic inference idea is that it isn't possible
for the standard library to reliably distin
Nick Coghlan added the comment:
That resolution makes sense to me as well.
Should we make a note in the documentation for
https://docs.python.org/3/library/types.html#types.MappingProxyType that the
"read-only" protection is to guard against *accidental* modification, not
agai
Nick Guenther added the comment:
Hello everyone, and thank you as usual for all your hard work keeping the
python ecosystem going.
I saw that the start of this thread said it was going to
> - make ftplib, imaplib, nntplib, pop3lib, smtplib etc. validate certs by
> default.
but this
Nick Coghlan added the comment:
Mark raised some valid concerns with the proposed naming convention over on the
PR:
* the proposed names make it sound like there are genuinely two kinds of frame,
when the actual relationship is between a frame's data storage and a Python
object prov
Nick Coghlan added the comment:
PR has been updated with a new API proposal prompted by Mark's review comments
on the original proposal.
* Rename "pycore_frame.h" to "pycore_framedata.h"
* Rename the _interpreter_frame struct to _Py_execution_frame
* Rename the type
Nick Coghlan added the comment:
>From a naming convention perspective, the code comments and NEWS entry in the
>PR now refer to "full frame objects" (``PyFrameObject``) and "frame data
>storage structs" (``_Py_framedata``) to avoid giving the misleading impres
Change by Nick Coghlan :
--
pull_requests: +26326
pull_request: https://github.com/python/cpython/pull/3640
___
Python tracker
<https://bugs.python.org/issue44
Nick Coghlan added the comment:
While filed later, issue44665 correctly describes the problem reported here:
asyncio is behaving as expected, but the docs don't make it clear that you need
to save a reference to the result of ensure_future()/create_task() if you don't
want to ris
Change by Nick Coghlan :
--
resolution: -> duplicate
stage: -> resolved
status: open -> closed
superseder: -> asyncio.create_task() documentation should mention user needs
to keep reference to the task
___
Python tra
Nick Coghlan added the comment:
For the module metadata problem: one potential approach to that for "designed
to be frozen" stdlib modules is to set the values directly in the module code,
rather than trying to set them automatically in the frozen import machinery.
It shou
New submission from Nick Coghlan :
bpo-39452 covered significant improvements to the __main__ module documentation
at https://docs.python.org/dev/library/__main__.html, making it a better
complement to the CPython CLI documentation at
https://docs.python.org/dev/using/cmdline.html#command
Nick Coghlan added the comment:
These changes are excellent - thanks for the patch!
Something even the updated version doesn't cover yet is directory and zipfile
execution, so I filed bpo-45149 as a follow up ticket for that (the info does
exist elsewhere in the documentation, so
Nick Coghlan added the comment:
Rather than defaulting to sys.byteorder, could the byte order default to None
and only be optional when not needed? (input value fits in a single byte,
output is a single byte)
Otherwise the difference in defaults between this method and the struct module
Nick Coghlan added the comment:
Never mind, I've forced network byte order in struct strings for so long I had
forgotten that native byte order was also the default there. Hence I withdraw
that objection.
--
___
Python tracker
&
Nick Coghlan added the comment:
FWIW, I think it would be desirable to retain/restore some form of API that
allows the creation of modules from files without requiring the user to know
about module specs (or loaders, or anything else).
My current preference would be for a
New submission from Nick Papior :
The documentation of Path.match only says it will match a pattern.
But quite often this pattern may be desirable to have as a Path as well.
import pathlib as pl
path = pl.Path("foo/bar")
print(path.match("bar"))
print(path.match(pl.Pa
Nick Papior added the comment:
Ok, I see this a feature. :)
As for why it is desirable.
A part of a path is still a path, and matching for something must mean that you
are matching a partial path.
Even if you use '*.py' as the pattern this would still make sense as a path:
path
Nick Papior added the comment:
> Because of this I don't agree with your idea that anything that can match a
> path is a sub-path.
Why not? If a match is True, it means that what is matched must be some kind of
valid path matching a glob specification. Whether it is a regular
Nick Papior added the comment:
It basically checks that some part of the path is the same as some part of a
reference path, they need not have the same complete parent which is why the
resolve command would negate this comparison always.
--
As for your last example, that will be quite
Nick Papior added the comment:
Thanks for the discussion.
--
___
Python tracker
<https://bugs.python.org/issue45889>
___
___
Python-bugs-list mailing list
Unsub
Nick Papior added the comment:
Ok, I can accept a no-fix ;)
I'll close this.
--
resolution: -> wont fix
stage: -> resolved
status: open -> closed
___
Python tracker
<https://bugs.pyth
New submission from Nick Drozd :
The following pattern occurs a few times in the codebase:
while 1:
data = conn.recv(blocksize)
if not data:
break
...
There is an unbounded while loop in which some kind of input is read. If the
input is there, it is processed
Nick Drozd added the comment:
> Is there any measurable performance benefit from this?
I wouldn't expect any performance changes either way. If it worked out to be
slower, that would an unpleasant surprise and a good reason to reject this
change. If it worked out to be faster, we
Nick Coghlan added the comment:
[Belatedly updating this issue with the current status as of March]
Cameron's implementation generally looks good, but there are couple of
compatibility/migration questions that we need to consider, as spelled out in
the PEP update that added me as
Nick Coghlan added the comment:
For folks that aren't aware, Michael and I have been discussing the AIX package
tagging problem via email since his initial distutils-sig posts about it.
It's genuinely murky as fixing the AIX problem doesn't *technically* require
any PEP 425
Nick Coghlan added the comment:
Removing 3.9 from the target versions, as similar to other platform tag
improvements, emulation on older release versions will be the domain of
cross-version libraries, rather than changing the standard library in a
maintenance.
--
versions: -Python
Nick Coghlan added the comment:
There's a compatibility problem with changing the AIX distutils platform prefix
from aix to AIX: any existing code that does
"distutils.get_platform().startswith('aix')" will break. (There isn't any code
in the standard library
Nick Coghlan added the comment:
It's a matter of historical timing: PEP 343 was written before
try/except/finally was allowed, when try/finally and try/except were still
distinct statements.
However, PEP 341 was *also* accepted and implemented for Python 2.5, allowing
for the moder
Nick Coghlan added the comment:
Leaving the relationship between pickle and __name__ alone wasn't an oversight,
as folks already rely on that to gracefully transition from single-file modules
to multi-file packages without breaking pickle compatibility in either
direction. The trick
Nick Coghlan added the comment:
There's a reason multiprocessing in spawn mode jumps through the hoops that it
does: it's the only way to get __main__ pickling to work when you're not
forking the entire process.
You also don't want to naively re-run __main__ in the sub
Nick Coghlan added the comment:
New changeset 39afa2d3147e4b05a1161cc90dbf09b95072c2bb by Nick Coghlan (Michael
Felt) in branch 'master':
bpo-38021: Modify AIX platform_tag so it covers PEP 425 needs (GH-17303)
https://github.com/python/cpython/commit/39afa2d3147e4b05a1161cc90dbf09
Nick Coghlan added the comment:
Thanks for your patience Michael!
I made some cosmetic changes to the error handling logic that you may want to
include in the PyPA patches. (I'd intended to make it so that a malformed build
date resulted in the "Unknown" "9898" buil
Nick Coghlan added the comment:
New changeset 79f02fee1a542c440fd906fd54154c73fc0f8235 by Nick Coghlan (Xtreak)
in branch 'master':
bpo-39033: Fix NameError in zipimport during hash validation (GH-17588)
https://github.com/python/cpython/commit/79f02fee1a542c440fd906fd54154c
New submission from Nick Coghlan :
The documentation for PyList_SetItem is explicit that it steals a reference to
the passed in value, and drops the reference for any existing entry:
https://docs.python.org/3.3/c-api/list.html?highlight=m#PyList_SetItem
The documentation for PyDict_SetItem
Change by Nick Coghlan :
--
assignee: -> docs@python
components: +Documentation
nosy: +docs@python
stage: -> needs patch
type: -> enhancement
versions: +Python 3.8, Python 3.9
___
Python tracker
<https://bugs.python.or
Nick Coghlan added the comment:
Right, that's why I don't think the other "*SetItem*" operations should get a
Sphinx note - just a sentence, as was already done for PySequence_SetItem.
If it weren't for PyList_SetItem being different, none of the others would need
New submission from Nick Coghlan :
The Py_NewInterpreter docs only cover the behaviour of extension modules that
use single-phase initialization:
https://docs.python.org/3/c-api/init.html#c.Py_NewInterpreter
Multi-phase initialization allows each subinterpreter to get its own copy of
Nick Coghlan added the comment:
New changeset 226e6e7d4326cf91ef37e13528eb1f62de1bb832 by Nick Coghlan (Géry
Ogam) in branch 'master':
bpo-39037: Fix lookup order of magic methods in with statement documentation
(GH-17608)
https://github.com/python/cpyt
Nick Coghlan added the comment:
With the sys.argv[0] change reverted, I think this overall issue is fixed now -
code objects will get absolute paths, while sys.argv[0] will continue to
reflect how __main__ was identified.
--
priority: -> normal
resolution: -> fixed
stage:
Nick Coghlan added the comment:
Perhaps we need a threading.throw() API, similar to the one we have for
generators and coroutines?
If we had that, then Py_FinalizeEx() could gain a few new features:
* throw SystemExit into all daemon threads and then give them a chance to
terminate before
Nick Coghlan added the comment:
Thinking about that idea further, I don't think that change would help much,
since the relevant operations should already be checking for thread termination
when they attempt to reacquire the GIL.
That means what we're missing is:
1. When daem
Change by Nick Coghlan :
--
pull_requests: -17306
___
Python tracker
<https://bugs.python.org/issue37194>
___
___
Python-bugs-list mailing list
Unsubscribe:
New submission from Nick Coghlan :
While reviewing ISO-IECJTC1-SC22-WG23's latest draft of their Python security
annex, I noticed that
https://docs.python.org/3.7/library/stdtypes.html#bitwise-operations-on-integer-types
doesn't explicitly state that *floor* division is used for r
New submission from Nick Coghlan :
While reviewing ISO-IECJTC1-SC22-WG23's latest draft of their Python security
annex, I found a description of operand coercion that was based on the legacy
coercion model described at https://docs.python.org/2.5/ref/coercion-rules.html
That's
Nick Coghlan added the comment:
Changed target version as per Petr's comment (PEP 573 is close to being
accepted for 3.9 - it just needs some editing to improve clarity in the PEP
itself, rather than needing any changes to the technical proposal)
--
versions: +Python 3.9 -Pytho
Nick Coghlan added the comment:
Aye, adding "floor" to the existing footnote would be the minimal fix. I'm just
wondering whether it's also worth stating that this means that positive
integers saturate at zero, while negative int
Nick Coghlan added the comment:
New changeset 1d1b97ae643dd8b22d87785ed7bd2599c6c8dc8d by Nick Coghlan (Géry
Ogam) in branch 'master':
bpo-39048: Look up __aenter__ before __aexit__ in async with (GH-17609)
https://github.com/python/cpython/commit/1d1b97ae643dd8b22d87785ed7bd25
Change by Nick Coghlan :
--
resolution: -> fixed
stage: -> resolved
status: open -> closed
type: behavior -> enhancement
versions: -Python 3.8
___
Python tracker
<https://bugs.python
Change by Nick Coghlan :
--
pull_requests: +17447
stage: -> patch review
pull_request: https://github.com/python/cpython/pull/18052
___
Python tracker
<https://bugs.python.org/issu
Change by Nick Coghlan :
--
pull_requests: +17475
pull_request: https://github.com/python/cpython/pull/18052
___
Python tracker
<https://bugs.python.org/issue35
Nick Coghlan added the comment:
New changeset 1e420f849d0c094098543d2c27d35eaec69b2784 by Nick Coghlan in
branch 'master':
bpo-35134: Migrate frameobject.h contents to cpython/frameobject.h (GH-18052)
https://github.com/python/cpython/commit/1e420f849d0c094098543d2c27d35e
New submission from Nick Coghlan :
Both https://github.com/python/cpython/pull/18066 (collections module) and
https://github.com/python/cpython/pull/18032 (asyncio module) ran into the
problem where porting them to multi-phase initialisation involves replacing
their usage of the
Change by Nick Coghlan :
--
type: -> enhancement
___
Python tracker
<https://bugs.python.org/issue39465>
___
___
Python-bugs-list mailing list
Unsubscrib
Nick Coghlan added the comment:
New changeset e1e80002e28e1055f399a20918c49d50d093709e by Joannah Nanjekye in
branch 'master':
bpo-39153: Clarify C API *SetItem refcounting semantics (GH-18220)
https://github.com/python/cpython/commit/e1e80002e28e1055f399a20918c49d
Nick Coghlan added the comment:
We can't make this change, as it means the statics get initialised before the
Python interpreter has been initialised, and won't be reinitialised if the
interpreter is destroyed and recreated.
--
nosy: +ncoghlan
resolution: -> rejected
Nick Coghlan added the comment:
My apologies, my comment above was based on an outdated understanding of how
the identifier structs get initialised (it's the usage that initialises them,
not the declaration).
That means this is a useful refactoring to help identify blockers to
Nick Coghlan added the comment:
In the subinterpreter context: perhaps it would make sense to move *all*
Py_IDENTIFIER declarations to file scope?
That would make it much clearer which of our extension modules actually have
hidden state for caching purposes.
If we did that though, we
Nick Coghlan added the comment:
As Petr notes, as long as all subinterpreters share the GIL, and share str
instances, then the existing _Py_IDENTIFIER mechanism will work fine for both
single phase and multi-phase initialisation.
However, that constraint also goes the other way: as long as
Nick Moore added the comment:
I suspect this is going to come up about this time of every leap year :-/
The workaround is prepending "%Y " to the pattern and eg: "2020 " to the date
string, but that's not very nice.
Would adding a kwarg "default_year"
Nick Moore added the comment:
Not disagreeing with you that "%b %d" timestamps with no "%Y" are excerable,
but they're fairly common in the *nix world unfortunately.
People need to parse them, and the simple and obvious way to do this breaks
every four years.
I
Nick Moore added the comment:
It's kind of funny that there's already consideration of this in
_strptime._strptime(), which returns a tuple used by
datetime.datetime.strptime() to construct the new datetime.
Search for `leap_year_fix`.
I think the concern though is if we changed t
Nick Coghlan added the comment:
One of the intended use cases for Py_mod_create is to return instances of
ModuleType subclasses rather than straight ModuleType instances. And those are
definitely legal to define:
>>> import __main__
>>> class MyModule(type(__main__)
Nick Coghlan added the comment:
The one thing in the PR that makes me slightly wary is the point Vedran raised:
in the old AST _Unparser code, the fact that index tuples containing slices
should be printed without parentheses was encapsulated in the ExtSlice node
type, but with Index and
Nick Coghlan added the comment:
Tweaked title to be "hide" rather "lose" (all the info is theoretically still
there in various places, it's just hidden by the default traceback printing
machinery, and hard to extract from the exception tree).
Issue #18861 is th
Nick Coghlan added the comment:
Petr's point that any subclass state should be managed in the subclass cleanup
functions is a good one, so I withdraw my concern:
* custom module subclasses should clean up like any other class instance
* the module slots are then only needed if the m
Nick Coghlan added the comment:
Issue 10535 says they should already be on by default in unittest.
I seem to recall checking that was still true when implementing the default
warning filter changes in 3.7.
--
___
Python tracker
<ht
New submission from Nick Coghlan :
Two of my colleagues missed the "The arguments shown above are merely the most
common ones, ..." caveat on the subprocess.run documentation, and assumed that
Python 3.5 only supported the "cwd" option in the low level Popen API, and no
Nick Coghlan added the comment:
The test cases for locale coercion *not* triggering still assume that
bpo-19977, using surrogateescape on the standard streams in the POSIX locale,
has been implemented (since that was implemented in Python 3.5).
Hence the various test cases complaining that
New submission from Nick Guenther :
multiprocessing.Pool.imap() is supposed to be a lazy version of map. But it's
not: it submits work to its workers eagerly. As a consequence, in a pipeline,
all the work from earlier steps is queued, performed, and finished first,
before starting
Nick Guenther added the comment:
Thank you for taking the time to consider my points! Yes, I think you
understood exactly what I was getting at.
I slept on it and thought about what I'd posted the day after and realized most
of the points you raise, especially that serialized next()
Change by Nick Coghlan :
--
title: Deprecate and remove pth files -> Deprecate and remove code execution in
pth files
___
Python tracker
<https://bugs.python.org/issu
Nick Coghlan added the comment:
While it's still not entirely accurate, I've tweaked the title on the issue to
refer to the arbitrary code execution behavior.
Getting "Make pth file sys.path modifications easier to debug" in there as well
wo
Change by Nick Gaya :
--
pull_requests: +22427
pull_request: https://github.com/python/cpython/pull/23548
___
Python tracker
<https://bugs.python.org/issue41
Nick Gaya added the comment:
As described above, the issue is in the textual description, not the code
snippet. I have opened a GitHub PR with a fix.
--
resolution: out of date ->
status: closed -> open
___
Python tracker
New submission from Nick Coghlan :
When using the logging module for long running services, there's one limitation
of the predefined logging levels that I semi-regularly run into: the only
entirely reliable log level for reporting that a WARNING state has been cleared
is itself WA
Nick Coghlan added the comment:
PEP 648 has been posted with a proposal to migrate sitecustomize.py,
usersitecustomize.py and arbitrary code execution in pth files to a directory
based `__sitecustomize__` structure: https://www.python.org/dev/peps/pep-0648
Nick Coghlan added the comment:
I think the idea is a plausible and well-presented suggestion, but I'm afraid
I'm still going to agree with the view that we shouldn't add this.
>From a maintainability point of view, *generically* detecting the difference
>bet
Nick Coghlan added the comment:
Sorry, I meant to include this comment as well:
The other filter I applied here was "Could someone figure out the boilerplate
code themselves in less time than it would take them to find, read, and
understand the documentation for the new helper fun
Nick Coghlan added the comment:
New changeset 5c30145afb6053998e3518befff638d207047f00 by Simon Willison in
branch 'master':
bpo-42783: Documentation for asyncio.sleep(0) (#24002)
https://github.com/python/cpython/commit/5c30145afb6053998e3518befff638d207047f00
--
nosy:
Nick Coghlan added the comment:
I merged the update to the 3.10 docs, but the automated backport to 3.9 to
update the online docs failed.
--
resolution: -> fixed
stage: patch review -> backport needed
versions: +Python 3.10, Python 3.9
___
New submission from Nick Coghlan :
After yet again trying to use "rw" to open a file in read/write mode, having it
fail, and then having to look up the docs to remind myself that the correct
spelling is "r+", I'm finally filing this to suggest we make the obvious &qu
Nick Coghlan added the comment:
I'm seeing this as well when attempting to run an optimised Python 3.8 build on
an old Debian 9 system (with the curses and socket extension modules).
For example:
cpython/Modules/socketmodule.c: In function ‘PyInit__socket’:
cpython/Modules/socketmod
Nick Canfield added the comment:
I'm having trouble with the .ReceivedTime breaking the program when I compile
the .py script to an .exe using auto-py-to-exe.
Here's where the error occurs underneath this try: statement
try:
received_year = str(email.Receive
Nick Coghlan added the comment:
Belatedly marking this as resolved.
--
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.or
Nick Coghlan added the comment:
Belatedly clearing the issue assignment here - while I do still sometimes
ponder this problem, I haven't been actively working on it since the 2017 core
sprint where Greg & I made our last serious attempt at trying to improve the
situation.
Mar
Nick Coghlan added the comment:
Belatedly removing the issue assignment here, as I'm not actively working on
this.
I've also marked this as an easy newcomer friendly task, as all that's involved
is taking the `test_ast.py` changes from
https://bugs.pytho
Nick Coghlan added the comment:
Removing the issue assignment, as I'm not actively working on this (although I
still think it's a reasonable idea).
--
assignee: ncoghlan ->
___
Python tracker
<https://bugs.pytho
Nick Coghlan added the comment:
Removing the issue assignment, as I'm not actively working on this (although I
still think it's a reasonable idea).
--
assignee: ncoghlan ->
___
Python tracker
<https://bugs.pytho
Nick Coghlan added the comment:
Adjusted target versions, as I never previously got around to merging this PR.
--
versions: +Python 3.10, Python 3.9 -Python 3.7, Python 3.8
___
Python tracker
<https://bugs.python.org/issue34
Nick Coghlan added the comment:
Added 3.8 back in to the target versions. However, if the automatic backport
doesn't work for that branch, I'll probably skip it rather than fixing any
conflicts.
--
versions: +Python 3.8
___
Python track
Nick Coghlan added the comment:
Removing issue assignment, as I'm not actively investigating this.
--
assignee: ncoghlan ->
___
Python tracker
<https://bugs.python.org
Nick Coghlan added the comment:
Removing issue assignment, as I'm no longer actively investigating this.
--
assignee: ncoghlan ->
___
Python tracker
<https://bugs.python.org
1401 - 1500 of 6501 matches
Mail list logo