Skip to content

GH-97950: Use new-style index directive ('statement') #104162

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Doc/library/exceptions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ Built-in Exceptions
===================

.. index::
statement: try
statement: except
pair: statement; try
pair: statement; except

In Python, all exceptions must be instances of a class that derives from
:class:`BaseException`. In a :keyword:`try` statement with an :keyword:`except`
Expand All @@ -14,7 +14,7 @@ classes derived from that class (but not exception classes from which *it* is
derived). Two exception classes that are not related via subclassing are never
equivalent, even if they have the same name.

.. index:: statement: raise
.. index:: pair: statement; raise

The built-in exceptions listed below can be generated by the interpreter or
built-in functions. Except where mentioned, they have an "associated value"
Expand Down Expand Up @@ -175,7 +175,7 @@ The following exceptions are the exceptions that are usually raised.

.. exception:: AssertionError

.. index:: statement: assert
.. index:: pair: statement; assert

Raised when an :keyword:`assert` statement fails.

Expand Down
2 changes: 1 addition & 1 deletion Doc/library/functions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1986,7 +1986,7 @@ are always available. They are listed here in alphabetical order.
.. function:: __import__(name, globals=None, locals=None, fromlist=(), level=0)

.. index::
statement: import
pair: statement; import
pair: module; builtins

.. note::
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/site.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ searched for site-packages; otherwise they will.

.. index::
single: # (hash); comment
statement: import
pair: statement; import

A path configuration file is a file whose name has the form :file:`{name}.pth`
and exists in one of the four directories mentioned above; its contents are
Expand Down
8 changes: 4 additions & 4 deletions Doc/library/stdtypes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ Truth Value Testing
===================

.. index::
statement: if
statement: while
pair: statement; if
pair: statement; while
pair: truth; value
pair: Boolean; operations
single: false
Expand Down Expand Up @@ -1152,7 +1152,7 @@ accepts integers that meet the value restriction ``0 <= x <= 255``).
triple: operations on; list; type
pair: subscript; assignment
pair: slice; assignment
statement: del
pair: statement; del
single: append() (sequence method)
single: clear() (sequence method)
single: copy() (sequence method)
Expand Down Expand Up @@ -4418,7 +4418,7 @@ Mapping Types --- :class:`dict`
pair: object; dictionary
triple: operations on; mapping; types
triple: operations on; dictionary; type
statement: del
pair: statement; del
builtin: len

A :term:`mapping` object maps :term:`hashable` values to arbitrary objects.
Expand Down
42 changes: 21 additions & 21 deletions Doc/reference/compound_stmts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ The :keyword:`!if` statement
============================

.. index::
! statement: if
! pair: statement; if
pair: keyword; elif
pair: keyword; else
single: : (colon); compound statement
Expand All @@ -109,7 +109,7 @@ The :keyword:`!while` statement
===============================

.. index::
! statement: while
! pair: statement; while
pair: keyword; else
pair: loop; statement
single: : (colon); compound statement
Expand All @@ -127,8 +127,8 @@ suite of the :keyword:`!else` clause, if present, is executed and the loop
terminates.

.. index::
statement: break
statement: continue
pair: statement; break
pair: statement; continue

A :keyword:`break` statement executed in the first suite terminates the loop
without executing the :keyword:`!else` clause's suite. A :keyword:`continue`
Expand All @@ -142,7 +142,7 @@ The :keyword:`!for` statement
=============================

.. index::
! statement: for
! pair: statement; for
pair: keyword; in
pair: keyword; else
pair: target; list
Expand All @@ -167,8 +167,8 @@ the suite in the :keyword:`!else` clause,
if present, is executed, and the loop terminates.

.. index::
statement: break
statement: continue
pair: statement; break
pair: statement; continue

A :keyword:`break` statement executed in the first suite terminates the loop
without executing the :keyword:`!else` clause's suite. A :keyword:`continue`
Expand Down Expand Up @@ -205,7 +205,7 @@ The :keyword:`!try` statement
=============================

.. index::
! statement: try
! pair: statement; try
pair: keyword; except
pair: keyword; finally
pair: keyword; else
Expand Down Expand Up @@ -388,9 +388,9 @@ cannot appear in an :keyword:`!except*` clause.

.. index::
pair: keyword; else
statement: return
statement: break
statement: continue
pair: statement; return
pair: statement; break
pair: statement; continue

.. _except_else:

Expand Down Expand Up @@ -434,9 +434,9 @@ The exception information is not available to the program during execution of
the :keyword:`!finally` clause.

.. index::
statement: return
statement: break
statement: continue
pair: statement; return
pair: statement; break
pair: statement; continue

When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement is
executed in the :keyword:`try` suite of a :keyword:`!try`...\ :keyword:`!finally`
Expand Down Expand Up @@ -468,7 +468,7 @@ The :keyword:`!with` statement
==============================

.. index::
! statement: with
! pair: statement; with
pair: keyword; as
single: as; with statement
single: , (comma); with statement
Expand Down Expand Up @@ -585,7 +585,7 @@ The :keyword:`!match` statement
===============================

.. index::
! statement: match
! pair: statement; match
! pair: keyword; case
! single: pattern matching
pair: keyword; if
Expand Down Expand Up @@ -1190,7 +1190,7 @@ Function definitions
====================

.. index::
statement: def
pair: statement; def
pair: function; definition
pair: function; name
pair: name; binding
Expand Down Expand Up @@ -1364,7 +1364,7 @@ Class definitions

.. index::
pair: object; class
statement: class
pair: statement; class
pair: class; definition
pair: class; name
pair: name; binding
Expand Down Expand Up @@ -1463,7 +1463,7 @@ Coroutines

.. versionadded:: 3.5

.. index:: statement: async def
.. index:: pair: statement; async def
.. _`async def`:

Coroutine function definition
Expand Down Expand Up @@ -1497,7 +1497,7 @@ An example of a coroutine function::
``await`` and ``async`` are now keywords; previously they were only
treated as such inside the body of a coroutine function.

.. index:: statement: async for
.. index:: pair: statement; async for
.. _`async for`:

The :keyword:`!async for` statement
Expand Down Expand Up @@ -1542,7 +1542,7 @@ It is a :exc:`SyntaxError` to use an ``async for`` statement outside the
body of a coroutine function.


.. index:: statement: async with
.. index:: pair: statement; async with
.. _`async with`:

The :keyword:`!async with` statement
Expand Down
8 changes: 4 additions & 4 deletions Doc/reference/datamodel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -727,7 +727,7 @@ Callable types

Modules
.. index::
statement: import
pair: statement; import
pair: object; module

Modules are a basic organizational unit of Python code, and are created by
Expand Down Expand Up @@ -1151,7 +1151,7 @@ Internal types
single: tb_frame (traceback attribute)
single: tb_lineno (traceback attribute)
single: tb_lasti (traceback attribute)
statement: try
pair: statement; try

Special read-only attributes:
:attr:`tb_frame` points to the execution frame of the current level;
Expand Down Expand Up @@ -1310,7 +1310,7 @@ Basic customization
.. index::
single: destructor
single: finalizer
statement: del
pair: statement; del

Called when the instance is about to be destroyed. This is also called a
finalizer or (improperly) a destructor. If a base class has a
Expand Down Expand Up @@ -2796,7 +2796,7 @@ execution of the block of code. Context managers are normally invoked using the
used by directly invoking their methods.

.. index::
statement: with
pair: statement; with
single: context manager

Typical uses of context managers include saving and restoring various kinds of
Expand Down
32 changes: 16 additions & 16 deletions Doc/reference/simple_stmts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ The :keyword:`!assert` statement
================================

.. index::
! statement: assert
! pair: statement; assert
pair: debugging; assertions
single: , (comma); expression list

Expand Down Expand Up @@ -419,7 +419,7 @@ The :keyword:`!pass` statement
==============================

.. index::
statement: pass
pair: statement; pass
pair: null; operation
pair: null; operation

Expand All @@ -441,7 +441,7 @@ The :keyword:`!del` statement
=============================

.. index::
! statement: del
! pair: statement; del
pair: deletion; target
triple: deletion; target; list

Expand All @@ -454,7 +454,7 @@ Rather than spelling it out in full details, here are some hints.
Deletion of a target list recursively deletes each target, from left to right.

.. index::
statement: global
pair: statement; global
pair: unbinding; name

Deletion of a name removes the binding of that name from the local or global
Expand All @@ -480,7 +480,7 @@ The :keyword:`!return` statement
================================

.. index::
! statement: return
! pair: statement; return
pair: function; definition
pair: class; definition

Expand Down Expand Up @@ -517,7 +517,7 @@ The :keyword:`!yield` statement
===============================

.. index::
statement: yield
pair: statement; yield
single: generator; function
single: generator; iterator
single: function; generator
Expand Down Expand Up @@ -553,7 +553,7 @@ The :keyword:`!raise` statement
===============================

.. index::
! statement: raise
! pair: statement; raise
single: exception
pair: raising; exception
single: __traceback__ (exception attribute)
Expand Down Expand Up @@ -667,9 +667,9 @@ The :keyword:`!break` statement
===============================

.. index::
! statement: break
statement: for
statement: while
! pair: statement; break
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does the ! do?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-index

You can mark up “main” index entries by prefixing them with an exclamation mark. The references to “main” entries are emphasized in the generated index. For example, if two pages contain

A little hard to discover, unfortunately.

pair: statement; for
pair: statement; while
pair: loop; statement

.. productionlist:: python-grammar
Expand Down Expand Up @@ -701,9 +701,9 @@ The :keyword:`!continue` statement
==================================

.. index::
! statement: continue
statement: for
statement: while
! pair: statement; continue
pair: statement; for
pair: statement; while
pair: loop; statement
pair: keyword; finally

Expand All @@ -726,7 +726,7 @@ The :keyword:`!import` statement
================================

.. index::
! statement: import
! pair: statement; import
single: module; importing
pair: name; binding
pair: keyword; from
Expand Down Expand Up @@ -942,7 +942,7 @@ The :keyword:`!global` statement
================================

.. index::
! statement: global
! pair: statement; global
triple: global; name; binding
single: , (comma); identifier list

Expand Down Expand Up @@ -988,7 +988,7 @@ call. The same applies to the :func:`eval` and :func:`compile` functions.
The :keyword:`!nonlocal` statement
==================================

.. index:: statement: nonlocal
.. index:: pair: statement; nonlocal
single: , (comma); identifier list

.. productionlist:: python-grammar
Expand Down
2 changes: 1 addition & 1 deletion Doc/tools/extensions/pyspecific.py
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,7 @@ def patch_pairindextypes(app) -> None:
pairindextypes.pop('operator', None)
pairindextypes.pop('object', None)
pairindextypes.pop('exception', None)
# pairindextypes.pop('statement', None)
pairindextypes.pop('statement', None)
# pairindextypes.pop('builtin', None)


Expand Down
2 changes: 1 addition & 1 deletion Doc/tutorial/controlflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ details see :ref:`tut-match`.
==========================

.. index::
statement: for
pair: statement; for

The :keyword:`for` statement in Python differs a bit from what you may be used
to in C or Pascal. Rather than always iterating over an arithmetic progression
Expand Down