Commit Graph

22497 Commits

Author SHA1 Message Date
Miss Islington (bot) 5e194f57c0
Fix grammar in asyncio-dev.rst (GH-15672)
Automerge-Triggered-By: @ned-deily
(cherry picked from commit 675d17cec4)

Co-authored-by: Roger Iyengar <ri@rogeriyengar.com>
2019-09-03 23:10:45 -07:00
Miss Islington (bot) 4dd1c9d9c2
closes bpo-37966: Fully implement the UAX GH-15 quick-check algorithm. (GH-15558)
The purpose of the `unicodedata.is_normalized` function is to answer
the question `str == unicodedata.normalized(form, str)` more
efficiently than writing just that, by using the "quick check"
optimization described in the Unicode standard in UAX GH-15.

However, it turns out the code doesn't implement the full algorithm
from the standard, and as a result we often miss the optimization and
end up having to compute the whole normalized string after all.

Implement the standard's algorithm.  This greatly speeds up
`unicodedata.is_normalized` in many cases where our partial variant
of quick-check had been returning MAYBE and the standard algorithm
returns NO.

At a quick test on my desktop, the existing code takes about 4.4 ms/MB
(so 4.4 ns per byte) when the partial quick-check returns MAYBE and it
has to do the slow normalize-and-compare:

  $ build.base/python -m timeit -s 'import unicodedata; s = "\uf900"*500000' \
      -- 'unicodedata.is_normalized("NFD", s)'
  50 loops, best of 5: 4.39 msec per loop

With this patch, it gets the answer instantly (58 ns) on the same 1 MB
string:

  $ build.dev/python -m timeit -s 'import unicodedata; s = "\uf900"*500000' \
      -- 'unicodedata.is_normalized("NFD", s)'
  5000000 loops, best of 5: 58.2 nsec per loop

This restores a small optimization that the original version of this
code had for the `unicodedata.normalize` use case.

With this, that case is actually faster than in master!

$ build.base/python -m timeit -s 'import unicodedata; s = "\u0338"*500000' \
    -- 'unicodedata.normalize("NFD", s)'
500 loops, best of 5: 561 usec per loop

$ build.dev/python -m timeit -s 'import unicodedata; s = "\u0338"*500000' \
    -- 'unicodedata.normalize("NFD", s)'
500 loops, best of 5: 512 usec per loop
(cherry picked from commit 2f09413947)

Co-authored-by: Greg Price <gnprice@gmail.com>
2019-09-03 20:03:37 -07:00
Miss Islington (bot) b365cfae46 bpo-36853: Fix suspicious.py to actually print the unused rules (GH-13579) (GH-15649)
* Fix suspicious.py to actually print the unused rules

* Fix the other `self.warn` calls
(cherry picked from commit e1786b5416)

Co-authored-by: Anthony Sottile <asottile@umich.edu>
2019-09-02 12:12:19 -04:00
Miss Islington (bot) bf69e160c4 bpo-38010 Sync importlib.metadata with importlib_metadata 0.20. (GH-15646) (GH-15648)
Sync importlib.metadata with importlib_metadata 0.20.
(cherry picked from commit 102e9b40ff)

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
2019-09-02 12:11:01 -04:00
Miss Islington (bot) 6922b9e4fc bpo-37977: Warn more strongly and clearly about pickle security (GH-15595) (GH-15629)
(cherry picked from commit daa82d019c)

Co-authored-by: Daniel Pope <lordmauve@users.noreply.github.com>
2019-08-30 23:02:15 -07:00
Miss Islington (bot) 4bd1d05ee2
Fix typos mostly in comments, docs and test names (GH-15209)
(cherry picked from commit 39d87b5471)

Co-authored-by: Min ho Kim <minho42@gmail.com>
2019-08-30 13:42:54 -07:00
Miss Islington (bot) 9db66a2b5a
bpo-37979: Add alternative to fromisoformat in documentation (GH-15596)
Adds a link to `dateutil.parser.isoparse` in the documentation.

It would be nice to set up intersphinx for things like this, but I think we can leave that for a separate PR.

CC: @pitrou

[bpo-37979](https://bugs.python.org/issue37979)

https://bugs.python.org/issue37979

Automerge-Triggered-By: @pitrou
(cherry picked from commit 59725f3bad)

Co-authored-by: Paul Ganssle <paul@ganssle.io>
2019-08-29 07:54:37 -07:00
Miss Islington (bot) c71ae1a45b bpo-36743: __get__ is sometimes called without the owner argument (GH-12992) (GH-15589)
(cherry picked from commit 0dac68f1e5)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-29 02:02:51 -07:00
Miss Islington (bot) 0d45d50e42 bpo-16468: Clarify which objects can be passed to "choices" in argparse (GH-15566) (GH-15587)
(cherry picked from commit 84125fed2a)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-29 01:15:18 -07:00
Miss Islington (bot) 43b7ed77a8 bpo-23674: Clarify ambiguities in super() docs (GH-15564) (GH-15586)
(cherry picked from commit cd81f0500f)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-29 01:02:58 -07:00
Serhiy Storchaka 097eae5b9b
[3.8] bpo-37950: Fix ast.dump() when call with incompletely initialized node. (GH-15510) (GH-15582)
(cherry picked from commit e64f948e76)
2019-08-29 10:50:28 +03:00
Miss Islington (bot) 612d3935ec
bpo-35946: Improve assert_called_with documentation (GH-11796)
(cherry picked from commit f5896a05ed)

Co-authored-by: Rémi Lapeyre <remi.lapeyre@henki.fr>
2019-08-28 23:39:47 -07:00
Miss Islington (bot) f3dca6acee bpo-25777: Wording describes a lookup, not a call (GH-15573) (GH-15576)
(cherry picked from commit 03acba6f1a)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-28 23:12:13 -07:00
Miss Islington (bot) e009a91607
bpo-36167: fix an incorrect capitalization (GH-14482)
(cherry picked from commit 3aa48b88c7)

Co-authored-by: avinassh <avinassh@users.noreply.github.com>
2019-08-28 22:47:42 -07:00
Miss Islington (bot) 03c52f2f63
bpo-37951: Lift subprocess's fork() restriction (GH-15544)
(cherry picked from commit 98d90f745d)

Co-authored-by: Christian Heimes <christian@python.org>
2019-08-27 14:56:27 -07:00
Miss Islington (bot) 54449dacc4
Fix typo: Pyssize_t => Py_ssize_t (GH-15411)
(cherry picked from commit b3b9619f5e)

Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
2019-08-26 08:54:26 -07:00
Miss Islington (bot) 522a394a72 [3.8] bpo-36917: Add default implementation of ast.NodeVisitor.visit_Constant(). (GH-15490) (GH-15509)
It emits a deprecation warning and calls corresponding method
visit_Num(), visit_Str(), etc.
(cherry picked from commit c3ea41e9bf)
2019-08-26 10:43:33 +03:00
Miss Islington (bot) c841fb9e06 bpo-15542: Documentation incorrectly suggests __init__ called after direct __new__ call (GH-15478) (GH-15506)
(cherry picked from commit 6b16d938d6)

Co-authored-by: Joannah Nanjekye <33177550+nanjekyejoannah@users.noreply.github.com>
2019-08-26 00:19:17 -07:00
Miss Islington (bot) 352a1239ff
Doc: Keep the venv/* exclude pattern. (GH-15229)
In case it has been previously created.
(cherry picked from commit 73e0549701)

Co-authored-by: Julien Palard <julien@palard.fr>
2019-08-25 23:19:45 -07:00
Nick Coghlan 6ca030765d
[3.8] bpo-37757: Disallow PEP 572 cases that expose implementation details (GH-15491)
- drop TargetScopeError in favour of raising SyntaxError directly
  as per the updated PEP 572
- comprehension iteration variables are explicitly local, but
  named expression targets in comprehensions are nonlocal or
  global. Raise SyntaxError as specified in PEP 572
- named expression targets in the outermost iterable of a
  comprehension have an ambiguous target scope. Avoid resolving
  that question now by raising SyntaxError. PEP 572
  originally required this only for cases where the bound name
  conflicts with the iteration variable in the comprehension,
  but CPython can't easily restrict the exception to that case
  (as it doesn't know the target variable names when visiting
  the outermost iterator expression)

(cherry picked from commit 5dbe0f59b7)
2019-08-26 00:41:47 +10:00
Miss Islington (bot) 970548c00b bpo-37905: Improve docs for NormalDist (GH-15486) (GH-15487)
(cherry picked from commit 8371799e30)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-25 01:04:24 -07:00
Miss Islington (bot) ffe43b2095
[3.8] Clarify argument types in datetime docs. (GH-15459) (GH-15472)
"Arguments may be integers... " could be misunderstand as they also
could be strings.

New wording makes it clear that arguments have to be integers.

modified:   Doc/library/datetime.rst



Automerge-Triggered-By: @pganssle
(cherry picked from commit c5218fce02)


Co-authored-by: Jürgen Gmach <juergen.gmach@googlemail.com>

Automerge-Triggered-By: @pganssle
2019-08-24 12:57:50 -07:00
Miss Islington (bot) a8424940b4 bpo-14112: Allow beginners to explore shallowness in greater depth ;-) (GH-15465) (GH-15469)
(cherry picked from commit 69ee87e99c)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-24 11:33:18 -07:00
Miss Islington (bot) 0ad85681de bpo-32118: Simplify docs for sequence comparison (GH-15450) (#15466)
(cherry picked from commit edd21129dd)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-24 10:53:09 -07:00
Miss Islington (bot) 076d0b9f5d
bpo-29535: Remove promize about hash randomization of datetime objects. (GH-15269)
(cherry picked from commit e9c90aa431)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2019-08-24 03:19:51 -07:00
Miss Islington (bot) 7784d4bb15
Fix funny typo in Doc/bugs. (GH-15412)
Fix typo in description of link to mozilla bug report writing guidelines.

Though the URL is misleading, we're indeed trying to write bug _reports_, not to add bugs.

Automerge-Triggered-By: @ned-deily
(cherry picked from commit e17f201cd9)

Co-authored-by: Antoine <43954001+awecx@users.noreply.github.com>
2019-08-23 21:16:28 -07:00
Miss Islington (bot) 761e5a7c7f bpo-26589: Add http status code 451 (GH-15413) (GH-15436)
(cherry picked from commit 8f080b0995)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-23 10:56:44 -07:00
Miss Islington (bot) 9cbdce3917
bpo-36763, doc: Add links in the new C API init doc (GH-15433)
(cherry picked from commit 1beb7c3de9)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-08-23 10:05:59 -07:00
Miss Islington (bot) a6427cb2a2
bpo-36763: Implement PyWideStringList_Insert() of PEP 587 (GH-15423)
(cherry picked from commit 3842f2997f)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2019-08-23 09:24:42 -07:00
Miss Islington (bot) 994925b2cb
Correct minor grammar mistake (GH-15404)
(cherry picked from commit d288b29fc6)

Co-authored-by: Andre Delfino <adelfino@gmail.com>
2019-08-23 03:06:27 -07:00
Miss Islington (bot) b6341e676a bpo-30826: Improve control flow examples (GH-15407) (GH-15410)
(cherry picked from commit 6fcb6cfb13)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-22 23:52:12 -07:00
Miss Islington (bot) f6a7f5bc50 bpo-12634: Clarify an awkward section of the tutorial (GH-15406) (GH-15409)
(cherry picked from commit 483ae0cf1d)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-22 23:45:57 -07:00
Miss Islington (bot) 4a40498ea9 bpo-30550: Clarify JSON ordering guarantees (GH-15397) (GH-15403)
(cherry picked from commit 657008ea03)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-22 15:50:32 -07:00
Miss Islington (bot) cb8de91dad bpo-14050: Note that not all data can be sorted (GH-15381) (GH-15395)
(cherry picked from commit 4109263a7e)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-22 09:39:52 -07:00
Miss Islington (bot) 2878f378e0
bpo-27961: Remove leftovers from the times when long long wasn't required (GH-15388)
(cherry picked from commit a38e9d1399)

Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
2019-08-22 08:59:18 -07:00
Steve Dower 9eb3d54639
bpo-37834: Normalise handling of reparse points on Windows (GH-15370)
bpo-37834: Normalise handling of reparse points on Windows
* ntpath.realpath() and nt.stat() will traverse all supported reparse points (previously was mixed)
* nt.lstat() will let the OS traverse reparse points that are not name surrogates (previously would not traverse any reparse point)
* nt.[l]stat() will only set S_IFLNK for symlinks (previous behaviour)
* nt.readlink() will read destinations for symlinks and junction points only

bpo-1311: os.path.exists('nul') now returns True on Windows
* nt.stat('nul').st_mode is now S_IFCHR (previously was an error)
2019-08-21 15:52:42 -07:00
Miss Islington (bot) c30c869e8d
bpo-9949: Enable symlink traversal for ntpath.realpath (GH-15287)
(cherry picked from commit 75e064962e)

Co-authored-by: Steve Dower <steve.dower@python.org>
2019-08-21 14:09:33 -07:00
Miss Islington (bot) 349d897e0f Update asyncio.ensure_future() documentation (GH-15347) (GH-15364)
Added back mention that ensure_future actually scheduled obj. This documentation just mentions what ensure_future returns, so I did not realize that ensure_future also schedules obj.
(cherry picked from commit 092911d5c0)

Co-authored-by: Roger Iyengar <ri@rogeriyengar.com>
2019-08-21 13:20:49 -04:00
Miss Islington (bot) c777dec6f4
bpo-37823: Fix open() link in telnetlib doc (GH-15281)
Fixed wrong link to Telnet.open() method in telnetlib documentation.
(cherry picked from commit e0b6117e27)

Co-authored-by: Michael Anckaert <michael.anckaert@sinax.be>
2019-08-21 04:38:04 -07:00
Miss Islington (bot) 9aa0ab1a97
Remove 'unstable' warning for Windows Store package in docs (GH-15334)
(cherry picked from commit cf9360e524)

Co-authored-by: Steve Dower <steve.dower@python.org>
2019-08-19 10:14:31 -07:00
Greg Price 8c1c426a63 bpo-36502: Correct documentation of str.isspace() (GH-15019) (GH-15296)
The documented definition was much broader than the real one:
there are tons of characters with general category "Other",
and we don't (and shouldn't) treat most of them as whitespace.

Rewrite the definition to agree with the comment on
_PyUnicode_IsWhitespace, and with the logic in makeunicodedata.py,
which is what generates that function and so ultimately governs.

Add suitable breadcrumbs so that a reader who wants to pin down
exactly what this definition means (what's a "bidirectional class"
of "B"?) can do so.  The `unicodedata` module documentation is an
appropriate central place for our references to Unicode's own copious
documentation, so point there.

Also add to the isspace() test a thorough check that the
implementation agrees with the intended definition.
2019-08-19 10:53:22 +01:00
Miss Islington (bot) 7309cca147
[3.8] fix link to time function from time_ns doc (GH-15285) (GH-15321)
Because mod, func, class, etc all share one namespace, :func:time creates a link to the time module doc page rather than the time.time function.
(cherry picked from commit 1b1d0514ad)


Co-authored-by: Éric Araujo <merwok@netwok.org>

Automerge-Triggered-By: @merwok
2019-08-17 13:51:57 -07:00
Miss Islington (bot) f991912146
bpo-37256: Wording in Request class docs (GH-14792)
* bpo-37256: Wording in Request class docs

* 📜🤖 Added by blurb_it.

* Update Misc/NEWS.d/next/Documentation/2019-07-16-14-48-12.bpo-37256.qJTrBb.rst

Co-Authored-By: Kyle Stanley <aeros167@gmail.com>
(cherry picked from commit 38c7199beb)

Co-authored-by: Ngalim Siregar <ngalim.siregar@gmail.com>
2019-08-16 01:27:35 -07:00
Miss Islington (bot) dbe4c286ce
bpo-37775: Update compileall doc for invalidation_mode parameter (GH-15148)
(cherry picked from commit 68e495df90)

Co-authored-by: Hai Shi <shihai1992@gmail.com>
2019-08-14 15:22:02 -07:00
Miss Islington (bot) 6ad902a088
bpo-37814: Document the empty tuple type annotation syntax (GH-15208)
https://bugs.python.org/issue37814:

> The empty tuple syntax in type annotations, `Tuple[()]`, is not obvious from the examples given in the documentation (I naively expected `Tuple[]` to work); it has been documented in PEP 484 and in mypy, but not in the documentation for the typing module.

https://bugs.python.org/issue37814
(cherry picked from commit 8a784af750)

Co-authored-by: Josh Holland <anowlcalledjosh@gmail.com>
2019-08-13 12:12:55 -07:00
Raymond Hettinger 9bedb8c9e6
bpo-37759: Second round of edits to Whatsnew 3.8 (GH-15204) (GH-15240)
(cherry picked from commit 66a34d35e4)
2019-08-12 18:02:58 -07:00
Miss Islington (bot) 2f087e279b Fix docs for assert_called and assert_called_once (GH-15219)
(cherry picked from commit f9590edfea)

Co-authored-by: Ismail S <ismail-s@users.noreply.github.com>
2019-08-12 09:19:47 +01:00
Miss Islington (bot) 5ba1cb0393 bpo-37819: Add Fraction.as_integer_ratio() (GH-15212) (GH-15215)
(cherry picked from commit f03b4c8a48)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-11 15:02:23 -07:00
Serhiy Storchaka 4c5b6bac24 [3.8] bpo-32912: Revert SyntaxWarning on invalid escape sequences (GH-15142)
* bpo-32912: Revert warnings for invalid escape sequences.

DeprecationWarning will continue to be emitted for invalid escape sequences in string and bytes literals in 3.8 just as it did in 3.7.

SyntaxWarning may be emitted in the future. But per mailing list discussion, we don't yet know when because we haven't settled on how to do so in a non-disruptive manner.
2019-08-09 15:34:22 -07:00
Miss Islington (bot) 5925b7d555 bpo-35892: Add usage note to mode() (GH-15122) (GH-15176)
(cherry picked from commit e43e7ed364)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2019-08-08 01:36:55 -07:00