Skip to content

Commit 8623e68

Browse files
committed
Python 3.8.2rc1
1 parent b086ea5 commit 8623e68

62 files changed

Lines changed: 705 additions & 165 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Include/patchlevel.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
/*--start constants--*/
1919
#define PY_MAJOR_VERSION 3
2020
#define PY_MINOR_VERSION 8
21-
#define PY_MICRO_VERSION 1
22-
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
23-
#define PY_RELEASE_SERIAL 0
21+
#define PY_MICRO_VERSION 2
22+
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA
23+
#define PY_RELEASE_SERIAL 1
2424

2525
/* Version as a string */
26-
#define PY_VERSION "3.8.1+"
26+
#define PY_VERSION "3.8.2rc1"
2727
/*--end constants--*/
2828

2929
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

Lib/pydoc_data/topics.py

Lines changed: 119 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Autogenerated by Sphinx on Wed Dec 18 18:17:58 2019
2+
# Autogenerated by Sphinx on Mon Feb 10 19:25:27 2020
33
topics = {'assert': 'The "assert" statement\n'
44
'**********************\n'
55
'\n'
@@ -470,24 +470,25 @@
470470
'The following code:\n'
471471
'\n'
472472
' async for TARGET in ITER:\n'
473-
' BLOCK\n'
473+
' SUITE\n'
474474
' else:\n'
475-
' BLOCK2\n'
475+
' SUITE2\n'
476476
'\n'
477477
'Is semantically equivalent to:\n'
478478
'\n'
479479
' iter = (ITER)\n'
480480
' iter = type(iter).__aiter__(iter)\n'
481481
' running = True\n'
482+
'\n'
482483
' while running:\n'
483484
' try:\n'
484485
' TARGET = await type(iter).__anext__(iter)\n'
485486
' except StopAsyncIteration:\n'
486487
' running = False\n'
487488
' else:\n'
488-
' BLOCK\n'
489+
' SUITE\n'
489490
' else:\n'
490-
' BLOCK2\n'
491+
' SUITE2\n'
491492
'\n'
492493
'See also "__aiter__()" and "__anext__()" for details.\n'
493494
'\n'
@@ -507,23 +508,27 @@
507508
'\n'
508509
'The following code:\n'
509510
'\n'
510-
' async with EXPR as VAR:\n'
511-
' BLOCK\n'
511+
' async with EXPRESSION as TARGET:\n'
512+
' SUITE\n'
512513
'\n'
513-
'Is semantically equivalent to:\n'
514+
'is semantically equivalent to:\n'
514515
'\n'
515-
' mgr = (EXPR)\n'
516-
' aexit = type(mgr).__aexit__\n'
517-
' aenter = type(mgr).__aenter__(mgr)\n'
516+
' manager = (EXPRESSION)\n'
517+
' aexit = type(manager).__aexit__\n'
518+
' aenter = type(manager).__aenter__\n'
519+
' value = await aenter(manager)\n'
520+
' hit_except = False\n'
518521
'\n'
519-
' VAR = await aenter\n'
520522
' try:\n'
521-
' BLOCK\n'
523+
' TARGET = value\n'
524+
' SUITE\n'
522525
' except:\n'
523-
' if not await aexit(mgr, *sys.exc_info()):\n'
526+
' hit_except = True\n'
527+
' if not await aexit(manager, *sys.exc_info()):\n'
524528
' raise\n'
525-
' else:\n'
526-
' await aexit(mgr, None, None, None)\n'
529+
' finally:\n'
530+
' if not hit_except:\n'
531+
' await aexit(manager, None, None, None)\n'
527532
'\n'
528533
'See also "__aenter__()" and "__aexit__()" for details.\n'
529534
'\n'
@@ -2518,11 +2523,13 @@
25182523
'"with_item")\n'
25192524
' is evaluated to obtain a context manager.\n'
25202525
'\n'
2521-
'2. The context manager’s "__exit__()" is loaded for later use.\n'
2526+
'2. The context manager’s "__enter__()" is loaded for later use.\n'
2527+
'\n'
2528+
'3. The context manager’s "__exit__()" is loaded for later use.\n'
25222529
'\n'
2523-
'3. The context manager’s "__enter__()" method is invoked.\n'
2530+
'4. The context manager’s "__enter__()" method is invoked.\n'
25242531
'\n'
2525-
'4. If a target was included in the "with" statement, the return\n'
2532+
'5. If a target was included in the "with" statement, the return\n'
25262533
' value from "__enter__()" is assigned to it.\n'
25272534
'\n'
25282535
' Note: The "with" statement guarantees that if the '
@@ -2535,9 +2542,9 @@
25352542
'occurring\n'
25362543
' within the suite would be. See step 6 below.\n'
25372544
'\n'
2538-
'5. The suite is executed.\n'
2545+
'6. The suite is executed.\n'
25392546
'\n'
2540-
'6. The context manager’s "__exit__()" method is invoked. If an\n'
2547+
'7. The context manager’s "__exit__()" method is invoked. If an\n'
25412548
' exception caused the suite to be exited, its type, value, '
25422549
'and\n'
25432550
' traceback are passed as arguments to "__exit__()". Otherwise, '
@@ -2559,18 +2566,42 @@
25592566
'proceeds\n'
25602567
' at the normal location for the kind of exit that was taken.\n'
25612568
'\n'
2569+
'The following code:\n'
2570+
'\n'
2571+
' with EXPRESSION as TARGET:\n'
2572+
' SUITE\n'
2573+
'\n'
2574+
'is semantically equivalent to:\n'
2575+
'\n'
2576+
' manager = (EXPRESSION)\n'
2577+
' enter = type(manager).__enter__\n'
2578+
' exit = type(manager).__exit__\n'
2579+
' value = enter(manager)\n'
2580+
' hit_except = False\n'
2581+
'\n'
2582+
' try:\n'
2583+
' TARGET = value\n'
2584+
' SUITE\n'
2585+
' except:\n'
2586+
' hit_except = True\n'
2587+
' if not exit(manager, *sys.exc_info()):\n'
2588+
' raise\n'
2589+
' finally:\n'
2590+
' if not hit_except:\n'
2591+
' exit(manager, None, None, None)\n'
2592+
'\n'
25622593
'With more than one item, the context managers are processed as '
25632594
'if\n'
25642595
'multiple "with" statements were nested:\n'
25652596
'\n'
25662597
' with A() as a, B() as b:\n'
2567-
' suite\n'
2598+
' SUITE\n'
25682599
'\n'
2569-
'is equivalent to\n'
2600+
'is semantically equivalent to:\n'
25702601
'\n'
25712602
' with A() as a:\n'
25722603
' with B() as b:\n'
2573-
' suite\n'
2604+
' SUITE\n'
25742605
'\n'
25752606
'Changed in version 3.1: Support for multiple context '
25762607
'expressions.\n'
@@ -2934,24 +2965,25 @@
29342965
'The following code:\n'
29352966
'\n'
29362967
' async for TARGET in ITER:\n'
2937-
' BLOCK\n'
2968+
' SUITE\n'
29382969
' else:\n'
2939-
' BLOCK2\n'
2970+
' SUITE2\n'
29402971
'\n'
29412972
'Is semantically equivalent to:\n'
29422973
'\n'
29432974
' iter = (ITER)\n'
29442975
' iter = type(iter).__aiter__(iter)\n'
29452976
' running = True\n'
2977+
'\n'
29462978
' while running:\n'
29472979
' try:\n'
29482980
' TARGET = await type(iter).__anext__(iter)\n'
29492981
' except StopAsyncIteration:\n'
29502982
' running = False\n'
29512983
' else:\n'
2952-
' BLOCK\n'
2984+
' SUITE\n'
29532985
' else:\n'
2954-
' BLOCK2\n'
2986+
' SUITE2\n'
29552987
'\n'
29562988
'See also "__aiter__()" and "__anext__()" for details.\n'
29572989
'\n'
@@ -2971,23 +3003,27 @@
29713003
'\n'
29723004
'The following code:\n'
29733005
'\n'
2974-
' async with EXPR as VAR:\n'
2975-
' BLOCK\n'
3006+
' async with EXPRESSION as TARGET:\n'
3007+
' SUITE\n'
29763008
'\n'
2977-
'Is semantically equivalent to:\n'
3009+
'is semantically equivalent to:\n'
29783010
'\n'
2979-
' mgr = (EXPR)\n'
2980-
' aexit = type(mgr).__aexit__\n'
2981-
' aenter = type(mgr).__aenter__(mgr)\n'
3011+
' manager = (EXPRESSION)\n'
3012+
' aexit = type(manager).__aexit__\n'
3013+
' aenter = type(manager).__aenter__\n'
3014+
' value = await aenter(manager)\n'
3015+
' hit_except = False\n'
29823016
'\n'
2983-
' VAR = await aenter\n'
29843017
' try:\n'
2985-
' BLOCK\n'
3018+
' TARGET = value\n'
3019+
' SUITE\n'
29863020
' except:\n'
2987-
' if not await aexit(mgr, *sys.exc_info()):\n'
3021+
' hit_except = True\n'
3022+
' if not await aexit(manager, *sys.exc_info()):\n'
29883023
' raise\n'
2989-
' else:\n'
2990-
' await aexit(mgr, None, None, None)\n'
3024+
' finally:\n'
3025+
' if not hit_except:\n'
3026+
' await aexit(manager, None, None, None)\n'
29913027
'\n'
29923028
'See also "__aenter__()" and "__aexit__()" for details.\n'
29933029
'\n'
@@ -6803,7 +6839,7 @@
68036839
'object.__rfloordiv__(self, other)\n'
68046840
'object.__rmod__(self, other)\n'
68056841
'object.__rdivmod__(self, other)\n'
6806-
'object.__rpow__(self, other)\n'
6842+
'object.__rpow__(self, other[, modulo])\n'
68076843
'object.__rlshift__(self, other)\n'
68086844
'object.__rrshift__(self, other)\n'
68096845
'object.__rand__(self, other)\n'
@@ -8963,7 +8999,9 @@
89638999
'bases,\n'
89649000
'**kwds)" (where the additional keyword arguments, if any, '
89659001
'come from\n'
8966-
'the class definition).\n'
9002+
'the class definition). The "__prepare__" method should be '
9003+
'implemented\n'
9004+
'as a "classmethod()".\n'
89679005
'\n'
89689006
'If the metaclass has no "__prepare__" attribute, then the '
89699007
'class\n'
@@ -9477,7 +9515,7 @@
94779515
'object.__rfloordiv__(self, other)\n'
94789516
'object.__rmod__(self, other)\n'
94799517
'object.__rdivmod__(self, other)\n'
9480-
'object.__rpow__(self, other)\n'
9518+
'object.__rpow__(self, other[, modulo])\n'
94819519
'object.__rlshift__(self, other)\n'
94829520
'object.__rrshift__(self, other)\n'
94839521
'object.__rand__(self, other)\n'
@@ -11918,8 +11956,9 @@
1191811956
' bytecode offsets to line numbers (for details see the source\n'
1191911957
' code of the interpreter); "co_stacksize" is the required '
1192011958
'stack\n'
11921-
' size (including local variables); "co_flags" is an integer\n'
11922-
' encoding a number of flags for the interpreter.\n'
11959+
' size; "co_flags" is an integer encoding a number of flags '
11960+
'for\n'
11961+
' the interpreter.\n'
1192311962
'\n'
1192411963
' The following flag bits are defined for "co_flags": bit '
1192511964
'"0x04"\n'
@@ -12372,6 +12411,8 @@
1237212411
'dictionary. This\n'
1237312412
' is a shortcut for "reversed(d.keys())".\n'
1237412413
'\n'
12414+
' New in version 3.8.\n'
12415+
'\n'
1237512416
' setdefault(key[, default])\n'
1237612417
'\n'
1237712418
' If *key* is in the dictionary, return its value. If '
@@ -13577,11 +13618,13 @@
1357713618
'1. The context expression (the expression given in the "with_item")\n'
1357813619
' is evaluated to obtain a context manager.\n'
1357913620
'\n'
13580-
'2. The context manager’s "__exit__()" is loaded for later use.\n'
13621+
'2. The context manager’s "__enter__()" is loaded for later use.\n'
1358113622
'\n'
13582-
'3. The context manager’s "__enter__()" method is invoked.\n'
13623+
'3. The context manager’s "__exit__()" is loaded for later use.\n'
1358313624
'\n'
13584-
'4. If a target was included in the "with" statement, the return\n'
13625+
'4. The context manager’s "__enter__()" method is invoked.\n'
13626+
'\n'
13627+
'5. If a target was included in the "with" statement, the return\n'
1358513628
' value from "__enter__()" is assigned to it.\n'
1358613629
'\n'
1358713630
' Note: The "with" statement guarantees that if the "__enter__()"\n'
@@ -13591,9 +13634,9 @@
1359113634
' target list, it will be treated the same as an error occurring\n'
1359213635
' within the suite would be. See step 6 below.\n'
1359313636
'\n'
13594-
'5. The suite is executed.\n'
13637+
'6. The suite is executed.\n'
1359513638
'\n'
13596-
'6. The context manager’s "__exit__()" method is invoked. If an\n'
13639+
'7. The context manager’s "__exit__()" method is invoked. If an\n'
1359713640
' exception caused the suite to be exited, its type, value, and\n'
1359813641
' traceback are passed as arguments to "__exit__()". Otherwise, '
1359913642
'three\n'
@@ -13613,17 +13656,41 @@
1361313656
'proceeds\n'
1361413657
' at the normal location for the kind of exit that was taken.\n'
1361513658
'\n'
13659+
'The following code:\n'
13660+
'\n'
13661+
' with EXPRESSION as TARGET:\n'
13662+
' SUITE\n'
13663+
'\n'
13664+
'is semantically equivalent to:\n'
13665+
'\n'
13666+
' manager = (EXPRESSION)\n'
13667+
' enter = type(manager).__enter__\n'
13668+
' exit = type(manager).__exit__\n'
13669+
' value = enter(manager)\n'
13670+
' hit_except = False\n'
13671+
'\n'
13672+
' try:\n'
13673+
' TARGET = value\n'
13674+
' SUITE\n'
13675+
' except:\n'
13676+
' hit_except = True\n'
13677+
' if not exit(manager, *sys.exc_info()):\n'
13678+
' raise\n'
13679+
' finally:\n'
13680+
' if not hit_except:\n'
13681+
' exit(manager, None, None, None)\n'
13682+
'\n'
1361613683
'With more than one item, the context managers are processed as if\n'
1361713684
'multiple "with" statements were nested:\n'
1361813685
'\n'
1361913686
' with A() as a, B() as b:\n'
13620-
' suite\n'
13687+
' SUITE\n'
1362113688
'\n'
13622-
'is equivalent to\n'
13689+
'is semantically equivalent to:\n'
1362313690
'\n'
1362413691
' with A() as a:\n'
1362513692
' with B() as b:\n'
13626-
' suite\n'
13693+
' SUITE\n'
1362713694
'\n'
1362813695
'Changed in version 3.1: Support for multiple context expressions.\n'
1362913696
'\n'

0 commit comments

Comments
 (0)