Commit Graph

23597 Commits

Author SHA1 Message Date
Georges Toth 303aac8c56
bpo-30681: Support invalid date format or value in email Date header (GH-22090)
I am re-submitting an older PR which was abandoned but is still relevant, #10783 by @timb07.

The issue being solved () is still relevant. The original PR #10783 was closed as
the final request changes were not applied and since abandoned.

In this new PR I have re-used the original patch plus applied both comments from the review, by @maxking and @pganssle.


For reference, here is the original PR description:
In email.utils.parsedate_to_datetime(), a failure to parse the date, or invalid date components (such as hour outside 0..23) raises an exception. Document this behaviour, and add tests to test_email/test_utils.py to confirm this behaviour.

In email.headerregistry.DateHeader.parse(), check when parsedate_to_datetime() raises an exception and add a new defect InvalidDateDefect; preserve the invalid value as the string value of the header, but set the datetime attribute to None.

Add tests to test_email/test_headerregistry.py to confirm this behaviour; also added test to test_email/test_inversion.py to confirm emails with such defective date headers round trip successfully.

This pull request incorporates feedback gratefully received from @bitdancer, @brettcannon, @Mariatta and @warsaw, and replaces the earlier PR #2254.

Automerge-Triggered-By: GH:warsaw
2020-10-26 17:31:06 -07:00
Victor Stinner 920cb647ba
bpo-42157: unicodedata avoids references to UCD_Type (GH-22990)
* UCD_Check() uses PyModule_Check()
* Simplify the internal _PyUnicode_Name_CAPI structure:

  * Remove size and state members
  * Remove state and self parameters of getcode() and getname()
    functions

* Remove global_module_state
2020-10-26 19:19:36 +01:00
Victor Stinner 47e1afd2a1
bpo-1635741: _PyUnicode_Name_CAPI moves to internal C API (GH-22713)
The private _PyUnicode_Name_CAPI structure of the PyCapsule API
unicodedata.ucnhash_CAPI moves to the internal C API. Moreover, the
structure gets a new state member which must be passed to the
getcode() and getname() functions.

* Move Include/ucnhash.h to Include/internal/pycore_ucnhash.h
* unicodedata module is now built with Py_BUILD_CORE_MODULE.
* unicodedata: move hashAPI variable into unicodedata_module_state.
2020-10-26 16:43:47 +01:00
Antoine 0f25c231b3
Add a link to buffer protocol in bytearray() doc (GH-22675) 2020-10-26 14:26:34 +09:00
Raymond Hettinger 3cde3788b6
bpo-39108: Document threading issues for random.gauss() (GH-22928) 2020-10-25 07:59:01 -07:00
Raymond Hettinger e6a7ea4f2e
Split-out a fourth section in the descriptor HowTo guide (GH-22965) 2020-10-25 07:12:50 -07:00
Raymond Hettinger 4a9c637938
Second round of updates to the descriptor howto guide (GH-22946) 2020-10-24 20:34:39 -07:00
Raymond Hettinger 48be6b1ef7
bpo-42127: Document effect of cached_property on key-sharing dictionaries (GH-22930) 2020-10-24 18:17:17 -07:00
Andre Delfino e01e442125
[doc] Fix link to abc.ABCMeta.register in Glossary (GH-22932) 2020-10-24 19:59:17 +05:30
Terry Jan Reedy 805ef73ad0
bpo-42139: Update What's New 3.9 for master (#22936) 2020-10-23 20:59:33 -07:00
Raymond Hettinger 8e5b0fdce3
bpo-19072: Update descriptor howto for decorator chaining (GH-22934) 2020-10-23 18:37:27 -07:00
Brett Cannon 04523c5bd6
Mention in "What's New" that the import system is starting to be cleaned up (GH-22931)
Automerge-Triggered-By: GH:brettcannon
2020-10-23 18:10:54 -07:00
Raymond Hettinger 8d3d7314d4
Create a primer section for the descriptor howto guide (GH-22906) 2020-10-23 12:55:39 -07:00
Zackery Spytz ec388cfb4e
bpo-38486: Fix dead qmail links in the mailbox docs (GH-22239) 2020-10-22 16:33:28 -07:00
Batuhan Taskaya b37c994e5a
bpo-42086: Document AST operator nodes acts as a singleton (GH-22896)
Automerge-Triggered-By: GH:gvanrossum
2020-10-22 09:02:43 -07:00
Philippe Ombredanne b6f2fc9040
bpo-25655: Improve Win DLL loading failures doc (GH-22372)
Add documentation to help diagnose CDLL dependent DLL loading errors
on windows for OSError with message:
"[WinError 126] The specified module could not be found"
This error is otherwise difficult to diagnose.
2020-10-22 16:39:18 +01:00
larryhastings 283f9a253b
Remove 3.5 from Doc version switcher in master. (#22886) 2020-10-22 06:16:21 -07:00
Brett Cannon 3c69f0c933
bpo-41910: specify the default implementations of object.__eq__ and object.__ne__ (GH-22874)
See Objects/typeobject.c:object_richcompare() for the implementation of this in CPython.

Automerge-Triggered-By: GH:brettcannon
2020-10-21 16:24:38 -07:00
Pablo Galindo b451b0e9a7
bpo-38980: Add -fno-semantic-interposition when building with optimizations (GH-22862) 2020-10-21 22:46:52 +01:00
Géry Ogam 27f1bd8787
bpo-35181: Correct importlib documentation for some module attributes (GH-15190)
@ericsnowcurrently This PR will change the following:

In the library documentation importlib.rst:

- `module.__package__` can be `module.__name__` for packages;
- `spec.parent` can be `spec.__name__` for packages;
- `spec.loader` is not `None` for namespaces packages.

In the language documentation import.rst:

- `spec.loader` is not `None` for namespace packages.

Automerge-Triggered-By: GH:warsaw
2020-10-21 14:17:35 -07:00
kpinc f8b1ccd63c
Fix bpo-39416: Change "Numeric" to lower case; an english word, not a class name (GH-22867)
This is a trivial fix to [bpo-39416](), which didn't come up until it was already committed

```
Change "Numeric" to "numeric".

I believe this is trivial enough to not need an issue or a NEWS entry, although
I'm unclear on what branches the original pull request received backports.
```

Automerge-Triggered-By: GH:merwok
2020-10-21 13:34:15 -07:00
Raúl Cumplido caff2934f4
bpo-41959: Fix grammar around class asyncio.MultiLoopChildWatcher text (GH-22580)
While translating the following document to Spanish we found there is a grammar issue on the original documentation.
2020-10-21 12:05:48 -07:00
kpinc c60394c7fc
bpo-39416: Document some restrictions on the default string representations of numeric classes (GH-18111)
[bpo-39416](): Document string representations of the Numeric classes

This is a change to the specification of the Python language.

The idea here is to put sane minimal limits on the Python language's default
representations of its Numeric classes.  That way "Marty's Robotic Massage Parlor
and Python Interpreter" implementation of Python won't do anything too
crazy.

Some discussion in the email thread:
Subject: Documenting Python's float.__str__()
https://mail.python.org/archives/list/python-dev@python.org/thread/FV22TKT3S2Q3P7PNN6MCXI6IX3HRRNAL/
2020-10-21 10:13:50 -07:00
Zackery Spytz cb115e36e1
Doc: Fix a typo/error in the docs for cached bytecode (GH-22445) 2020-10-21 17:36:03 +09:00
Andre Delfino fb2e94692e
Doc: Do not suggest `s[::-1]` for reversed order (GH-22457) 2020-10-21 17:25:07 +09:00
Andre Delfino eba109a28f
Doc: Remove old Python version from future stmt (GH-21802) 2020-10-21 14:45:13 +09:00
Andre Delfino 4642ccd1c3
Doc: Do not encourage using a base class name in a derived class (GH-22177) 2020-10-21 14:25:05 +09:00
Максим 5f22741340
bpo-23706: Add newline parameter to pathlib.Path.write_text (GH-22420) (GH-22420)
* Add _newline_ parameter to `pathlib.Path.write_text()`
* Update documentation of `pathlib.Path.write_text()`
* Add test case for `pathlib.Path.write_text()` calls with _newline_ parameter passed

Automerge-Triggered-By: GH:methane
2020-10-20 19:08:19 -07:00
kj 7cdf30fff3
bpo-42010: [docs] Clarify subscription of types (GH-22822) 2020-10-20 16:38:08 -07:00
Florian Dahlitz 2d55aa9e37
bpo-29981: Add examples and update index for set, dict, and generator comprehensions'(GH-20272)
Co-authored-by: Rémi Lapeyre <remi.lapeyre@henki.fr>
2020-10-20 17:27:07 -04:00
Paul Moore 5ab27cc518
bpo-42041: Clarify how subprocess searches for the executable (GH-22715)
Clarify in the subprocess documentation how searching for the executable to run works, noting that ``sys.executable`` is the recommended way to find the current interpreter.
2020-10-20 21:02:24 +01:00
Andre Delfino 3393624b6d
Minor tweaks to typing union objects doc (GH-22741)
Automerge-Triggered-By: @merwok
2020-10-20 13:00:56 -07:00
Saiyang Gou 3f7e990fd4
bpo-41192: Add documentation of undocumented audit events (GH-21308) 2020-10-20 15:23:15 -04:00
Andrew Kuchling 0c37269be7
bpo-41192: Clarify the sys module's description of the auditing feature (GH-22768)
Co-authored-by: Éric Araujo <merwok@netwok.org>
2020-10-20 10:41:02 -04:00
Andrey Doroschenko ec42789e6e
bpo-39693: mention KeyError in tarfile extractfile documentation (GH-18639)
Co-authored-by: Andrey Darascheka <andrei.daraschenka@leverx.com>
2020-10-20 10:05:01 -04:00
Zackery Spytz ff1ae3dd33
bpo-30612: Tweak Windows registry path syntax in the docs (GH-20281) 2020-10-20 13:01:12 +01:00
Tomer Cohen 5b57fa6940
Doc: Add missing spaces after period for `posix_spawn` (GH-22730) 2020-10-20 18:08:58 +09:00
Pablo Galindo 109826c850
bpo-42093: Add opcode cache for LOAD_ATTR (GH-22803) 2020-10-20 06:22:44 +01:00
Raymond Hettinger 871934d4cf
bpo-4356: Add key function support to the bisect module (GH-20556) 2020-10-19 22:04:01 -07:00
Ruben Vorderman 23c0fb8edd
bpo-41586: Add pipesize parameter to subprocess & F_GETPIPE_SZ and F_SETPIPE_SZ to fcntl. (GH-21921)
* Add F_SETPIPE_SZ and F_GETPIPE_SZ to fcntl module
* Add pipesize parameter for subprocess.Popen class

This will allow the user to control the size of the pipes.
On linux the default is 64K. When a pipe is full it blocks for writing.
When a pipe is empty it blocks for reading. On processes that are
very fast this can lead to a lot of wasted CPU cycles. On a typical
Linux system the max pipe size is 1024K which is much better.
For high performance-oriented libraries such as xopen it is nice to
be able to set the pipe size.

The workaround without this feature is to use my_popen_process.stdout.fileno() in
conjuction with fcntl and 1031 (value of F_SETPIPE_SZ) to acquire this behavior.
2020-10-19 16:30:02 -07:00
Jakub Stasiak f85658a098
bpo-40901: Describe what "interface name" means on Windows (GH-20694) 2020-10-19 23:30:58 +01:00
Alex Gaynor 3a8fdb2879
bpo-41784: make PyUnicode_AsUTF8AndSize part of the limited API (GH-22252) 2020-10-19 23:17:50 +01:00
Zackery Spytz 4dfb190a33
bpo-41217: Fix incorrect note in the asyncio.create_subprocess_shell() docs (GH-21360)
On Windows, the default asyncio event loop is ProactorEventLoop (as of 3.8).
2020-10-19 23:08:34 +01:00
Michel Samia 33242a9328
bpo-41292: Fixes dead link to cx_freeze from Windows FAQ (GH-21463) 2020-10-19 23:02:43 +01:00
abdo 5d9e657517
Link to the msvcrt module from the Windows FAQ (#22268) 2020-10-19 22:46:21 +01:00
Irit Katriel fa8748271a
bpo-38320: Clarify that expectedFailure is satisfied by either failure or error of the test. (GH-22740) 2020-10-19 22:27:16 +01:00
Saiyang Gou ebc8c38287
bpo-41192: Fix some broken anchors for audit event entries (#21310) 2020-10-19 10:52:42 -04:00
Batuhan Taskaya 155938907c
bpo-40484: Document compiler flags under AST module (GH-19885)
Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
Co-authored-by: Shantanu <hauntsaninja@users.noreply.github.com>
2020-10-19 02:14:11 +01:00
Shantanu 67f04878de
3.9 whatsnew: fix bpo issue for AST change (GH-22742) 2020-10-18 18:39:26 +03:00
Andre Delfino 975d10a4f8
[doc] Add mentions of PEP 613 (TypeAlias) to docs (GH-22733) 2020-10-16 19:34:01 -07:00