3.7.1rc1
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 0c736f7..34a0fb6 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Tue Jun 12 00:39:48 2018
+# Autogenerated by Sphinx on Wed Sep 26 02:03:50 2018
 topics = {'assert': 'The "assert" statement\n'
            '**********************\n'
            '\n'
@@ -413,7 +413,8 @@
           '=============================\n'
           '\n'
           '   async_funcdef ::= [decorators] "async" "def" funcname "(" '
-          '[parameter_list] ")" ["->" expression] ":" suite\n'
+          '[parameter_list] ")"\n'
+          '                     ["->" expression] ":" suite\n'
           '\n'
           'Execution of Python coroutines can be suspended and resumed at '
           'many\n'
@@ -1158,7 +1159,7 @@
            'operators:\n'
            '\n'
            '   m_expr ::= u_expr | m_expr "*" u_expr | m_expr "@" m_expr |\n'
-           '              m_expr "//" u_expr| m_expr "/" u_expr |\n'
+           '              m_expr "//" u_expr | m_expr "/" u_expr |\n'
            '              m_expr "%" u_expr\n'
            '   a_expr ::= m_expr | a_expr "+" m_expr | a_expr "-" m_expr\n'
            '\n'
@@ -1678,7 +1679,7 @@
                 'the\n'
                 'interpretation that is conventional in mathematics:\n'
                 '\n'
-                '   comparison    ::= or_expr ( comp_operator or_expr )*\n'
+                '   comparison    ::= or_expr (comp_operator or_expr)*\n'
                 '   comp_operator ::= "<" | ">" | "==" | ">=" | "<=" | "!="\n'
                 '                     | "is" ["not"] | ["not"] "in"\n'
                 '\n'
@@ -1789,16 +1790,15 @@
                 'precision.\n'
                 '\n'
                 '  The not-a-number values "float(\'NaN\')" and '
-                '"Decimal(\'NaN\')" are\n'
-                '  special.  They are identical to themselves ("x is x" is '
-                'true) but\n'
-                '  are not equal to themselves ("x == x" is false).  '
-                'Additionally,\n'
-                '  comparing any number to a not-a-number value will return '
-                '"False".\n'
-                '  For example, both "3 < float(\'NaN\')" and "float(\'NaN\') '
-                '< 3" will\n'
-                '  return "False".\n'
+                '"decimal.Decimal(\'NaN\')"\n'
+                '  are special.  Any ordered comparison of a number to a '
+                'not-a-number\n'
+                '  value is false. A counter-intuitive implication is that '
+                'not-a-number\n'
+                '  values are not equal to themselves.  For example, if "x =\n'
+                '  float(\'NaN\')", "3 < x", "x < 3", "x == x", "x != x" are '
+                'all false.\n'
+                '  This behavior is compliant with IEEE 754.\n'
                 '\n'
                 '* Binary sequences (instances of "bytes" or "bytearray") can '
                 'be\n'
@@ -2129,7 +2129,7 @@
              'The "if" statement is used for conditional execution:\n'
              '\n'
              '   if_stmt ::= "if" expression ":" suite\n'
-             '               ( "elif" expression ":" suite )*\n'
+             '               ("elif" expression ":" suite)*\n'
              '               ["else" ":" suite]\n'
              '\n'
              'It selects exactly one of the suites by evaluating the '
@@ -2238,7 +2238,7 @@
              '\n'
              'Note: There is a subtlety when the sequence is being modified by '
              'the\n'
-             '  loop (this can only occur for mutable sequences, i.e. lists).  '
+             '  loop (this can only occur for mutable sequences, e.g. lists).  '
              'An\n'
              '  internal counter is used to keep track of which item is used '
              'next,\n'
@@ -2534,7 +2534,8 @@
              'section The standard type hierarchy):\n'
              '\n'
              '   funcdef                 ::= [decorators] "def" funcname "(" '
-             '[parameter_list] ")" ["->" expression] ":" suite\n'
+             '[parameter_list] ")"\n'
+             '               ["->" expression] ":" suite\n'
              '   decorators              ::= decorator+\n'
              '   decorator               ::= "@" dotted_name ["(" '
              '[argument_list [","]] ")"] NEWLINE\n'
@@ -2819,7 +2820,8 @@
              '-----------------------------\n'
              '\n'
              '   async_funcdef ::= [decorators] "async" "def" funcname "(" '
-             '[parameter_list] ")" ["->" expression] ":" suite\n'
+             '[parameter_list] ")"\n'
+             '                     ["->" expression] ":" suite\n'
              '\n'
              'Execution of Python coroutines can be suspended and resumed at '
              'many\n'
@@ -3925,7 +3927,7 @@
              '"continue",\n'
              '   "step", "next", "return", "jump", "quit" and their '
              'abbreviations)\n'
-             '   terminates the command "list" (as if that command was '
+             '   terminates the command list (as if that command was '
              'immediately\n'
              '   followed by end). This is because any time you resume '
              'execution\n'
@@ -4269,7 +4271,7 @@
          'The "if" statement is used for conditional execution:\n'
          '\n'
          '   if_stmt ::= "if" expression ":" suite\n'
-         '               ( "elif" expression ":" suite )*\n'
+         '               ("elif" expression ":" suite)*\n'
          '               ["else" ":" suite]\n'
          '\n'
          'It selects exactly one of the suites by evaluating the expressions '
@@ -4680,10 +4682,10 @@
  'exprlists': 'Expression lists\n'
               '****************\n'
               '\n'
-              '   expression_list    ::= expression ( "," expression )* [","]\n'
-              '   starred_list       ::= starred_item ( "," starred_item )* '
+              '   expression_list    ::= expression ("," expression)* [","]\n'
+              '   starred_list       ::= starred_item ("," starred_item)* '
               '[","]\n'
-              '   starred_expression ::= expression | ( starred_item "," )* '
+              '   starred_expression ::= expression | (starred_item ",")* '
               '[starred_item]\n'
               '   starred_item       ::= expression | "*" or_expr\n'
               '\n'
@@ -4797,7 +4799,7 @@
         ':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, 2]".\n'
         '\n'
         'Note: There is a subtlety when the sequence is being modified by the\n'
-        '  loop (this can only occur for mutable sequences, i.e. lists).  An\n'
+        '  loop (this can only occur for mutable sequences, e.g. lists).  An\n'
         '  internal counter is used to keep track of which item is used next,\n'
         '  and this is incremented on each iteration.  When this counter has\n'
         '  reached the length of the sequence the loop terminates.  This '
@@ -4895,7 +4897,13 @@
                   '\n'
                   'Changed in version 3.1: The positional argument specifiers '
                   'can be\n'
-                  'omitted, so "\'{} {}\'" is equivalent to "\'{0} {1}\'".\n'
+                  'omitted for "str.format()", so "\'{} {}\'.format(a, b)" is '
+                  'equivalent to\n'
+                  '"\'{0} {1}\'.format(a, b)".\n'
+                  '\n'
+                  'Changed in version 3.4: The positional argument specifiers '
+                  'can be\n'
+                  'omitted for "Formatter".\n'
                   '\n'
                   'Some simple format string examples:\n'
                   '\n'
@@ -5282,16 +5290,16 @@
                   'character.                       |\n'
                   '   '
                   '+-----------+------------------------------------------------------------+\n'
-                  '   | "\'f\'"     | Fixed point. Displays the number as a '
-                  'fixed-point number.  |\n'
-                  '   |           | The default precision is '
-                  '"6".                              |\n'
+                  '   | "\'f\'"     | Fixed-point notation. Displays the '
+                  'number as a fixed-point |\n'
+                  '   |           | number. The default precision is '
+                  '"6".                      |\n'
                   '   '
                   '+-----------+------------------------------------------------------------+\n'
-                  '   | "\'F\'"     | Fixed point. Same as "\'f\'", but '
-                  'converts "nan" to "NAN"    |\n'
-                  '   |           | and "inf" to '
-                  '"INF".                                        |\n'
+                  '   | "\'F\'"     | Fixed-point notation. Same as "\'f\'", '
+                  'but converts "nan" to |\n'
+                  '   |           | "NAN" and "inf" to '
+                  '"INF".                                  |\n'
                   '   '
                   '+-----------+------------------------------------------------------------+\n'
                   '   | "\'g\'"     | General format.  For a given precision '
@@ -5518,8 +5526,7 @@
                   '   3232235521\n'
                   '   >>>\n'
                   '   >>> width = 5\n'
-                  '   >>> for num in range(5,12): #doctest: '
-                  '+NORMALIZE_WHITESPACE\n'
+                  '   >>> for num in range(5,12): \n'
                   "   ...     for base in 'dXob':\n"
                   "   ...         print('{0:{width}{base}}'.format(num, "
                   "base=base, width=width), end=' ')\n"
@@ -5540,7 +5547,8 @@
              'section The standard type hierarchy):\n'
              '\n'
              '   funcdef                 ::= [decorators] "def" funcname "(" '
-             '[parameter_list] ")" ["->" expression] ":" suite\n'
+             '[parameter_list] ")"\n'
+             '               ["->" expression] ":" suite\n'
              '   decorators              ::= decorator+\n'
              '   decorator               ::= "@" dotted_name ["(" '
              '[argument_list [","]] ")"] NEWLINE\n'
@@ -5965,7 +5973,7 @@
        'The "if" statement is used for conditional execution:\n'
        '\n'
        '   if_stmt ::= "if" expression ":" suite\n'
-       '               ( "elif" expression ":" suite )*\n'
+       '               ("elif" expression ":" suite)*\n'
        '               ["else" ":" suite]\n'
        '\n'
        'It selects exactly one of the suites by evaluating the expressions '
@@ -5998,18 +6006,17 @@
  'import': 'The "import" statement\n'
            '**********************\n'
            '\n'
-           '   import_stmt     ::= "import" module ["as" name] ( "," module '
-           '["as" name] )*\n'
+           '   import_stmt     ::= "import" module ["as" identifier] ("," '
+           'module ["as" identifier])*\n'
            '                   | "from" relative_module "import" identifier '
-           '["as" name]\n'
-           '                   ( "," identifier ["as" name] )*\n'
+           '["as" identifier]\n'
+           '                   ("," identifier ["as" identifier])*\n'
            '                   | "from" relative_module "import" "(" '
-           'identifier ["as" name]\n'
-           '                   ( "," identifier ["as" name] )* [","] ")"\n'
+           'identifier ["as" identifier]\n'
+           '                   ("," identifier ["as" identifier])* [","] ")"\n'
            '                   | "from" module "import" "*"\n'
            '   module          ::= (identifier ".")* identifier\n'
            '   relative_module ::= "."* module | "."+\n'
-           '   name            ::= identifier\n'
            '\n'
            'The basic import statement (no "from" clause) is executed in two\n'
            'steps:\n'
@@ -6169,14 +6176,13 @@
            'allows use of the new features on a per-module basis before the\n'
            'release in which the feature becomes standard.\n'
            '\n'
-           '   future_statement ::= "from" "__future__" "import" feature ["as" '
-           'name]\n'
-           '                        ("," feature ["as" name])*\n'
-           '                        | "from" "__future__" "import" "(" feature '
-           '["as" name]\n'
-           '                        ("," feature ["as" name])* [","] ")"\n'
-           '   feature          ::= identifier\n'
-           '   name             ::= identifier\n'
+           '   future_stmt ::= "from" "__future__" "import" feature ["as" '
+           'identifier]\n'
+           '                   ("," feature ["as" identifier])*\n'
+           '                   | "from" "__future__" "import" "(" feature '
+           '["as" identifier]\n'
+           '                   ("," feature ["as" identifier])* [","] ")"\n'
+           '   feature     ::= identifier\n'
            '\n'
            'A future statement must appear near the top of the module.  The '
            'only\n'
@@ -7146,7 +7152,7 @@
           'The\n'
           'syntax is:\n'
           '\n'
-          '   power ::= ( await_expr | primary ) ["**" u_expr]\n'
+          '   power ::= (await_expr | primary) ["**" u_expr]\n'
           '\n'
           'Thus, in an unparenthesized sequence of power and unary operators, '
           'the\n'
@@ -7549,7 +7555,7 @@
              'The shifting operations have lower priority than the arithmetic\n'
              'operations:\n'
              '\n'
-             '   shift_expr ::= a_expr | shift_expr ( "<<" | ">>" ) a_expr\n'
+             '   shift_expr ::= a_expr | shift_expr ("<<" | ">>") a_expr\n'
              '\n'
              'These operators accept integers as arguments.  They shift the '
              'first\n'
@@ -9815,20 +9821,21 @@
                    '   formatting options that can be specified in format '
                    'strings.\n'
                    '\n'
-                   '   Note: When formatting a number ("int", "float", "float" '
-                   'and\n'
-                   '     subclasses) with the "n" type (ex: '
-                   '"\'{:n}\'.format(1234)"), the\n'
-                   '     function sets temporarily the "LC_CTYPE" locale to '
-                   'the\n'
-                   '     "LC_NUMERIC" locale to decode "decimal_point" and '
-                   '"thousands_sep"\n'
-                   '     fields of "localeconv()" if they are non-ASCII or '
-                   'longer than 1\n'
-                   '     byte, and the "LC_NUMERIC" locale is different than '
-                   'the\n'
-                   '     "LC_CTYPE" locale. This temporary change affects '
-                   'other threads.\n'
+                   '   Note: When formatting a number ("int", "float", '
+                   '"complex",\n'
+                   '     "decimal.Decimal" and subclasses) with the "n" type '
+                   '(ex:\n'
+                   '     "\'{:n}\'.format(1234)"), the function temporarily '
+                   'sets the\n'
+                   '     "LC_CTYPE" locale to the "LC_NUMERIC" locale to '
+                   'decode\n'
+                   '     "decimal_point" and "thousands_sep" fields of '
+                   '"localeconv()" if\n'
+                   '     they are non-ASCII or longer than 1 byte, and the '
+                   '"LC_NUMERIC"\n'
+                   '     locale is different than the "LC_CTYPE" locale.  This '
+                   'temporary\n'
+                   '     change affects other threads.\n'
                    '\n'
                    '   Changed in version 3.7: When formatting a number with '
                    'the "n" type,\n'
@@ -10441,7 +10448,7 @@
                    '   Return a copy of the string with all the cased '
                    'characters [4]\n'
                    '   converted to uppercase.  Note that '
-                   '"str.upper().isupper()" might be\n'
+                   '"s.upper().isupper()" might be\n'
                    '   "False" if "s" contains uncased characters or if the '
                    'Unicode\n'
                    '   category of the resulting character(s) is not “Lu” '
@@ -10727,9 +10734,9 @@
                   'exactly one\n'
                   'item.)\n'
                   '\n'
-                  'If the primary is a sequence, the expression (list) must '
-                  'evaluate to\n'
-                  'an integer or a slice (as discussed in the following '
+                  'If the primary is a sequence, the expression list must '
+                  'evaluate to an\n'
+                  'integer or a slice (as discussed in the following '
                   'section).\n'
                   '\n'
                   'The formal syntax makes no special provision for negative '
@@ -11853,53 +11860,54 @@
           '         New in version 3.4.\n'
           '\n'
           '   Traceback objects\n'
-          '         Traceback objects represent a stack trace of an '
-          'exception.  A\n'
-          '         traceback object is implicitly created when an exception\n'
-          '         occurs, and may also be explicitly created by calling\n'
-          '         "types.TracebackType".\n'
+          '      Traceback objects represent a stack trace of an exception.  '
+          'A\n'
+          '      traceback object is implicitly created when an exception '
+          'occurs,\n'
+          '      and may also be explicitly created by calling\n'
+          '      "types.TracebackType".\n'
           '\n'
-          '         For implicitly created tracebacks, when the search for an\n'
-          '         exception handler unwinds the execution stack, at each\n'
-          '         unwound level a traceback object is inserted in front of '
-          'the\n'
-          '         current traceback.  When an exception handler is entered, '
-          'the\n'
-          '         stack trace is made available to the program. (See '
-          'section\n'
-          '         The try statement.) It is accessible as the third item of '
-          'the\n'
-          '         tuple returned by "sys.exc_info()", and as the\n'
-          '         "__traceback__" attribute of the caught exception.\n'
+          '      For implicitly created tracebacks, when the search for an\n'
+          '      exception handler unwinds the execution stack, at each '
+          'unwound\n'
+          '      level a traceback object is inserted in front of the current\n'
+          '      traceback.  When an exception handler is entered, the stack\n'
+          '      trace is made available to the program. (See section The try\n'
+          '      statement.) It is accessible as the third item of the tuple\n'
+          '      returned by "sys.exc_info()", and as the "__traceback__"\n'
+          '      attribute of the caught exception.\n'
           '\n'
-          '         When the program contains no suitable handler, the stack\n'
-          '         trace is written (nicely formatted) to the standard error\n'
-          '         stream; if the interpreter is interactive, it is also '
-          'made\n'
-          '         available to the user as "sys.last_traceback".\n'
+          '      When the program contains no suitable handler, the stack '
+          'trace\n'
+          '      is written (nicely formatted) to the standard error stream; '
+          'if\n'
+          '      the interpreter is interactive, it is also made available to '
+          'the\n'
+          '      user as "sys.last_traceback".\n'
           '\n'
-          '         For explicitly created tracebacks, it is up to the creator '
+          '      For explicitly created tracebacks, it is up to the creator '
           'of\n'
-          '         the traceback to determine how the "tb_next" attributes\n'
-          '         should be linked to form a full stack trace.\n'
+          '      the traceback to determine how the "tb_next" attributes '
+          'should\n'
+          '      be linked to form a full stack trace.\n'
           '\n'
-          '         Special read-only attributes: "tb_frame" points to the\n'
-          '         execution frame of the current level; "tb_lineno" gives '
-          'the\n'
-          '         line number where the exception occurred; "tb_lasti"\n'
-          '         indicates the precise instruction. The line number and '
-          'last\n'
-          '         instruction in the traceback may differ from the line '
+          '      Special read-only attributes: "tb_frame" points to the '
+          'execution\n'
+          '      frame of the current level; "tb_lineno" gives the line '
           'number\n'
-          '         of its frame object if the exception occurred in a "try"\n'
-          '         statement with no matching except clause or with a '
-          'finally\n'
-          '         clause.\n'
+          '      where the exception occurred; "tb_lasti" indicates the '
+          'precise\n'
+          '      instruction. The line number and last instruction in the\n'
+          '      traceback may differ from the line number of its frame object '
+          'if\n'
+          '      the exception occurred in a "try" statement with no matching\n'
+          '      except clause or with a finally clause.\n'
           '\n'
-          '         Special writable attribute: "tb_next" is the next level '
-          'in\n'
-          '         the stack trace (towards the frame where the exception\n'
-          '         occurred), or "None" if there is no next level.\n'
+          '      Special writable attribute: "tb_next" is the next level in '
+          'the\n'
+          '      stack trace (towards the frame where the exception occurred), '
+          'or\n'
+          '      "None" if there is no next level.\n'
           '\n'
           '      Changed in version 3.7: Traceback objects can now be '
           'explicitly\n'
@@ -12185,15 +12193,21 @@
                  '\n'
                  '   popitem()\n'
                  '\n'
-                 '      Remove and return an arbitrary "(key, value)" pair '
-                 'from the\n'
-                 '      dictionary.\n'
+                 '      Remove and return a "(key, value)" pair from the '
+                 'dictionary.\n'
+                 '      Pairs are returned in LIFO (last-in, first-out) '
+                 'order.\n'
                  '\n'
                  '      "popitem()" is useful to destructively iterate over a\n'
                  '      dictionary, as often used in set algorithms.  If the '
                  'dictionary\n'
                  '      is empty, calling "popitem()" raises a "KeyError".\n'
                  '\n'
+                 '      Changed in version 3.7: LIFO order is now guaranteed. '
+                 'In prior\n'
+                 '      versions, "popitem()" would return an arbitrary '
+                 'key/value pair.\n'
+                 '\n'
                  '   setdefault(key[, default])\n'
                  '\n'
                  '      If *key* is in the dictionary, return its value.  If '
@@ -12751,13 +12765,13 @@
              '|                                | "s[len(s):len(s)] = '
              '[x]")        |                       |\n'
              '+--------------------------------+----------------------------------+-----------------------+\n'
-             '| "s.clear()"                    | removes all items from "s" '
+             '| "s.clear()"                    | removes all items from *s* '
              '(same | (5)                   |\n'
              '|                                | as "del '
              's[:]")                   |                       |\n'
              '+--------------------------------+----------------------------------+-----------------------+\n'
              '| "s.copy()"                     | creates a shallow copy of '
-             '"s"    | (5)                   |\n'
+             '*s*    | (5)                   |\n'
              '|                                | (same as '
              '"s[:]")                 |                       |\n'
              '+--------------------------------+----------------------------------+-----------------------+\n'
@@ -13147,7 +13161,7 @@
              '\n'
              '  * The linspace recipe shows how to implement a lazy version '
              'of\n'
-             '    range that suitable for floating point applications.\n',
+             '    range suitable for floating point applications.\n',
  'typesseq-mutable': 'Mutable Sequence Types\n'
                      '**********************\n'
                      '\n'
@@ -13207,12 +13221,12 @@
                      '[x]")        |                       |\n'
                      '+--------------------------------+----------------------------------+-----------------------+\n'
                      '| "s.clear()"                    | removes all items '
-                     'from "s" (same | (5)                   |\n'
+                     'from *s* (same | (5)                   |\n'
                      '|                                | as "del '
                      's[:]")                   |                       |\n'
                      '+--------------------------------+----------------------------------+-----------------------+\n'
                      '| "s.copy()"                     | creates a shallow '
-                     'copy of "s"    | (5)                   |\n'
+                     'copy of *s*    | (5)                   |\n'
                      '|                                | (same as '
                      '"s[:]")                 |                       |\n'
                      '+--------------------------------+----------------------------------+-----------------------+\n'