Issue #28763: Use double hyphens (rendered as en-dashes) in numerical ranges
in the documentation.
diff --git a/Doc/library/calendar.rst b/Doc/library/calendar.rst
index a04505f..9e02ad3 100644
--- a/Doc/library/calendar.rst
+++ b/Doc/library/calendar.rst
@@ -48,7 +48,7 @@
.. method:: itermonthdates(year, month)
- Return an iterator for the month *month* (1-12) in the year *year*. This
+ Return an iterator for the month *month* (1--12) in the year *year*. This
iterator will return all days (as :class:`datetime.date` objects) for the
month and all days before the start of the month or after the end of the
month that are required to get a complete week.
diff --git a/Doc/library/cmath.rst b/Doc/library/cmath.rst
index fffdc9f..b80eaba 100644
--- a/Doc/library/cmath.rst
+++ b/Doc/library/cmath.rst
@@ -255,6 +255,6 @@
Kahan, W: Branch cuts for complex elementary functions; or, Much ado about
nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the art
- in numerical analysis. Clarendon Press (1987) pp165-211.
+ in numerical analysis. Clarendon Press (1987) pp165--211.
diff --git a/Doc/library/codecs.rst b/Doc/library/codecs.rst
index 9d52fe1..4fd0951 100644
--- a/Doc/library/codecs.rst
+++ b/Doc/library/codecs.rst
@@ -796,8 +796,8 @@
unicode object into a sequence of bytes is called encoding and recreating the
unicode object from the sequence of bytes is known as decoding. There are many
different methods for how this transformation can be done (these methods are
-also called encodings). The simplest method is to map the code points 0-255 to
-the bytes ``0x0``-``0xff``. This means that a unicode object that contains
+also called encodings). The simplest method is to map the code points 0--255 to
+the bytes ``0x0``--``0xff``. This means that a unicode object that contains
code points above ``U+00FF`` can't be encoded with this method (which is called
``'latin-1'`` or ``'iso-8859-1'``). :func:`unicode.encode` will raise a
:exc:`UnicodeEncodeError` that looks like this: ``UnicodeEncodeError: 'latin-1'
@@ -806,7 +806,7 @@
There's another group of encodings (the so called charmap encodings) that choose
a different subset of all unicode code points and how these code points are
-mapped to the bytes ``0x0``-``0xff``. To see how this is done simply open
+mapped to the bytes ``0x0``--``0xff``. To see how this is done simply open
e.g. :file:`encodings/cp1252.py` (which is an encoding that is used primarily on
Windows). There's a string constant with 256 characters that shows you which
character is mapped to which byte value.
diff --git a/Doc/library/curses.ascii.rst b/Doc/library/curses.ascii.rst
index 4f4d915..ec20f54 100644
--- a/Doc/library/curses.ascii.rst
+++ b/Doc/library/curses.ascii.rst
@@ -214,7 +214,7 @@
Return a string representation of the ASCII character *c*. If *c* is printable,
this string is the character itself. If the character is a control character
- (0x00-0x1f) the string consists of a caret (``'^'``) followed by the
+ (0x00--0x1f) the string consists of a caret (``'^'``) followed by the
corresponding uppercase letter. If the character is an ASCII delete (0x7f) the
string is ``'^?'``. If the character has its meta bit (0x80) set, the meta bit
is stripped, the preceding rules applied, and ``'!'`` prepended to the result.
diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst
index 43941d9..c70afe3 100644
--- a/Doc/library/curses.rst
+++ b/Doc/library/curses.rst
@@ -316,7 +316,7 @@
Return the name of the key numbered *k*. The name of a key generating printable
ASCII character is the key's character. The name of a control-key combination
is a two-character string consisting of a caret followed by the corresponding
- printable ASCII character. The name of an alt-key combination (128-255) is a
+ printable ASCII character. The name of an alt-key combination (128--255) is a
string consisting of the prefix 'M-' followed by the name of the corresponding
ASCII character.
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 350bc71..f294b6e 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -670,7 +670,7 @@
preceded by ``+`` or ``-`` (with no space in between) and surrounded by
whitespace. A base-n literal consists of the digits 0 to n-1, with ``a``
to ``z`` (or ``A`` to ``Z``) having
- values 10 to 35. The default *base* is 10. The allowed values are 0 and 2-36.
+ values 10 to 35. The default *base* is 10. The allowed values are 0 and 2--36.
Base-2, -8, and -16 literals can be optionally prefixed with ``0b``/``0B``,
``0o``/``0O``/``0``, or ``0x``/``0X``, as with integer literals in code.
Base 0 means to interpret the string exactly as an integer literal, so that
diff --git a/Doc/library/json.rst b/Doc/library/json.rst
index 70defa2..c4d5ee6 100644
--- a/Doc/library/json.rst
+++ b/Doc/library/json.rst
@@ -350,7 +350,7 @@
If *strict* is false (``True`` is the default), then control characters
will be allowed inside strings. Control characters in this context are
- those with character codes in the 0-31 range, including ``'\t'`` (tab),
+ those with character codes in the 0--31 range, including ``'\t'`` (tab),
``'\n'``, ``'\r'`` and ``'\0'``.
If the data being deserialized is not a valid JSON document, a
diff --git a/Doc/library/random.rst b/Doc/library/random.rst
index c569fa1..2a3c3af 100644
--- a/Doc/library/random.rst
+++ b/Doc/library/random.rst
@@ -343,7 +343,7 @@
M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-dimensionally
equidistributed uniform pseudorandom number generator", ACM Transactions on
- Modeling and Computer Simulation Vol. 8, No. 1, January pp.3-30 1998.
+ Modeling and Computer Simulation Vol. 8, No. 1, January pp.3--30 1998.
Wichmann, B. A. & Hill, I. D., "Algorithm AS 183: An efficient and portable
pseudo-random number generator", Applied Statistics 31 (1982) 188-190.
diff --git a/Doc/library/sgmllib.rst b/Doc/library/sgmllib.rst
index bffd535..1fc650c 100644
--- a/Doc/library/sgmllib.rst
+++ b/Doc/library/sgmllib.rst
@@ -143,7 +143,7 @@
Convert a character reference to a string, or ``None``. *ref* is the reference
passed in as a string. In the base implementation, *ref* must be a decimal
- number in the range 0-255. It converts the code point found using the
+ number in the range 0--255. It converts the code point found using the
:meth:`convert_codepoint` method. If *ref* is invalid or out of range, this
method returns ``None``. This method is called by the default
:meth:`handle_charref` implementation and by the attribute value parser.
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index e1900c7..31e644e 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -231,7 +231,7 @@
(defaulting to zero), or another type of object. If it is an integer, zero
is considered "successful termination" and any nonzero value is considered
"abnormal termination" by shells and the like. Most systems require it to be
- in the range 0-127, and produce undefined results otherwise. Some systems
+ in the range 0--127, and produce undefined results otherwise. Some systems
have a convention for assigning specific meanings to specific exit codes, but
these are generally underdeveloped; Unix programs generally use 2 for command
line syntax errors and 1 for all other kind of errors. If another type of