Skip to content

Commit 68ed2a2

Browse files
rffontenellehugovkarhadthedev
authored
GH-103484: Fix redirected permanently URLs (#104001)
Co-authored-by: Hugo van Kemenade <[email protected]> Co-authored-by: Oleg Iarygin <[email protected]>
1 parent 82ba6ce commit 68ed2a2

40 files changed

+78
-60
lines changed

Doc/conf.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,11 +264,29 @@
264264

265265
linkcheck_allowed_redirects = {
266266
# bpo-NNNN -> BPO -> GH Issues
267-
r'https://bugs.python.org/issue\?@action=redirect&bpo=\d+': 'https://github.com/python/cpython/issues/\d+',
267+
r'https://bugs.python.org/issue\?@action=redirect&bpo=\d+': r'https://github.com/python/cpython/issues/\d+',
268268
# GH-NNNN used to refer to pull requests
269-
r'https://github.com/python/cpython/issues/\d+': 'https://github.com/python/cpython/pull/\d+',
269+
r'https://github.com/python/cpython/issues/\d+': r'https://github.com/python/cpython/pull/\d+',
270270
# :source:`something` linking files in the repository
271-
r'https://github.com/python/cpython/tree/.*': 'https://github.com/python/cpython/blob/.*'
271+
r'https://github.com/python/cpython/tree/.*': 'https://github.com/python/cpython/blob/.*',
272+
# Intentional HTTP use at Misc/NEWS.d/3.5.0a1.rst
273+
r'http://www.python.org/$': 'https://www.python.org/$',
274+
# Used in license page, keep as is
275+
r'https://www.zope.org/': r'https://www.zope.dev/',
276+
# Microsoft's redirects to learn.microsoft.com
277+
r'https://msdn.microsoft.com/.*': 'https://learn.microsoft.com/.*',
278+
r'https://docs.microsoft.com/.*': 'https://learn.microsoft.com/.*',
279+
r'https://go.microsoft.com/fwlink/\?LinkID=\d+': 'https://learn.microsoft.com/.*',
280+
# Language redirects
281+
r'https://toml.io': 'https://toml.io/en/',
282+
r'https://www.redhat.com': 'https://www.redhat.com/en',
283+
# Other redirects
284+
r'https://www.boost.org/libs/.+': r'https://www.boost.org/doc/libs/\d_\d+_\d/.+',
285+
r'https://support.microsoft.com/en-us/help/\d+': 'https://support.microsoft.com/en-us/topic/.+',
286+
r'https://perf.wiki.kernel.org$': 'https://perf.wiki.kernel.org/index.php/Main_Page',
287+
r'https://www.sqlite.org': 'https://www.sqlite.org/index.html',
288+
r'https://mitpress.mit.edu/sicp$': 'https://mitpress.mit.edu/9780262510875/structure-and-interpretation-of-computer-programs/',
289+
r'https://www.python.org/psf/': 'https://www.python.org/psf-landing/',
272290
}
273291

274292
linkcheck_anchors_ignore = [

Doc/faq/extending.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ on what you're trying to do.
4242
.. XXX make sure these all work
4343
4444
`Cython <https://cython.org>`_ and its relative `Pyrex
45-
<https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_ are compilers
45+
<https://www.csse.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_ are compilers
4646
that accept a slightly modified form of Python and generate the corresponding
4747
C code. Cython and Pyrex make it possible to write an extension without having
4848
to learn Python's C API.

Doc/faq/general.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ commercial use, to sell copies of Python in source or binary form (modified or
5454
unmodified), or to sell products that incorporate Python in some form. We would
5555
still like to know about all commercial use of Python, of course.
5656

57-
See `the PSF license page <https://www.python.org/psf/license/>`_ to find further
58-
explanations and a link to the full text of the license.
57+
See `the license page <https://docs.python.org/3/license.html>`_ to find further
58+
explanations and the full text of the PSF License.
5959

6060
The Python logo is trademarked, and in certain cases permission is required to
6161
use it. Consult `the Trademark Usage Policy
@@ -215,7 +215,7 @@ every day, and Usenet readers are often more able to cope with this volume.
215215
Announcements of new software releases and events can be found in
216216
comp.lang.python.announce, a low-traffic moderated list that receives about five
217217
postings per day. It's available as `the python-announce mailing list
218-
<https://mail.python.org/mailman/listinfo/python-announce-list>`_.
218+
<https://mail.python.org/mailman3/lists/python-announce-list.python.org/>`_.
219219

220220
More info about other mailing lists and newsgroups
221221
can be found at https://www.python.org/community/lists/.
@@ -352,7 +352,7 @@ titled "Python X.Y Release Schedule", where X.Y is a version that hasn't been
352352
publicly released yet.
353353

354354
New development is discussed on `the python-dev mailing list
355-
<https://mail.python.org/mailman/listinfo/python-dev/>`_.
355+
<https://mail.python.org/mailman3/lists/python-dev.python.org/>`_.
356356

357357

358358
Is it reasonable to propose incompatible changes to Python?

Doc/faq/programming.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Yes.
6161
`Pyflakes <https://github.com/PyCQA/pyflakes>`_ do basic checking that will
6262
help you catch bugs sooner.
6363

64-
Static type checkers such as `Mypy <http://mypy-lang.org/>`_,
64+
Static type checkers such as `Mypy <https://mypy-lang.org/>`_,
6565
`Pyre <https://pyre-check.org/>`_, and
6666
`Pytype <https://github.com/google/pytype>`_ can check type hints in Python
6767
source code.

Doc/howto/pyporting.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ to make sure everything functions as expected in both versions of Python.
438438
.. _Futurize: https://python-future.org/automatic_conversion.html
439439
.. _importlib2: https://pypi.org/project/importlib2
440440
.. _Modernize: https://python-modernize.readthedocs.io/
441-
.. _mypy: http://mypy-lang.org/
441+
.. _mypy: https://mypy-lang.org/
442442
.. _Porting to Python 3: http://python3porting.com/
443443
.. _Pylint: https://pypi.org/project/pylint
444444

Doc/library/asyncio-eventloop.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ Opening network connections
529529
specifies requirements for algorithms that reduce this user-visible
530530
delay and provides an algorithm.
531531

532-
For more information: https://tools.ietf.org/html/rfc6555
532+
For more information: https://datatracker.ietf.org/doc/html/rfc6555
533533

534534
.. versionchanged:: 3.11
535535

Doc/library/hashlib.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ Constructor functions also accept the following tree hashing parameters:
432432
:alt: Explanation of tree mode parameters.
433433

434434
See section 2.10 in `BLAKE2 specification
435-
<https://blake2.net/blake2_20130129.pdf>`_ for comprehensive review of tree
435+
<https://www.blake2.net/blake2_20130129.pdf>`_ for comprehensive review of tree
436436
hashing.
437437

438438

@@ -619,7 +619,7 @@ on the hash function used in digital signatures.
619619
by the signer.
620620

621621
(`NIST SP-800-106 "Randomized Hashing for Digital Signatures"
622-
<https://csrc.nist.gov/publications/detail/sp/800-106/final>`_)
622+
<https://csrc.nist.gov/publications/detail/sp/800-106/archive/2009-02-25>`_)
623623

624624
In BLAKE2 the salt is processed as a one-time input to the hash function during
625625
initialization, rather than as an input to each compression function.
@@ -628,7 +628,7 @@ initialization, rather than as an input to each compression function.
628628

629629
*Salted hashing* (or just hashing) with BLAKE2 or any other general-purpose
630630
cryptographic hash function, such as SHA-256, is not suitable for hashing
631-
passwords. See `BLAKE2 FAQ <https://blake2.net/#qa>`_ for more
631+
passwords. See `BLAKE2 FAQ <https://www.blake2.net/#qa>`_ for more
632632
information.
633633
..
634634
@@ -764,9 +764,9 @@ Domain Dedication 1.0 Universal:
764764

765765
* *Alexandr Sokolovskiy*
766766

767-
.. _BLAKE2: https://blake2.net
767+
.. _BLAKE2: https://www.blake2.net
768768
.. _HMAC: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code
769-
.. _BLAKE: https://131002.net/blake/
769+
.. _BLAKE: https://web.archive.org/web/20200918190133/https://131002.net/blake/
770770
.. _SHA-3: https://en.wikipedia.org/wiki/NIST_hash_function_competition
771771
.. _ChaCha: https://cr.yp.to/chacha.html
772772
.. _pyblake2: https://pythonhosted.org/pyblake2/
@@ -782,7 +782,7 @@ Domain Dedication 1.0 Universal:
782782
Module :mod:`base64`
783783
Another way to encode binary hashes for non-binary environments.
784784

785-
https://blake2.net
785+
https://www.blake2.net
786786
Official BLAKE2 website.
787787

788788
https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/documents/fips180-2.pdf

Doc/library/http.client.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ HTTPConnection Objects
354354
the CONNECT request.
355355

356356
As HTTP/1.1 is used for HTTP CONNECT tunnelling request, `as per the RFC
357-
<https://tools.ietf.org/html/rfc7231#section-4.3.6>`_, a HTTP ``Host:``
357+
<https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.6>`_, a HTTP ``Host:``
358358
header must be provided, matching the authority-form of the request target
359359
provided as the destination for the CONNECT request. If a HTTP ``Host:``
360360
header is not provided via the headers argument, one is generated and

Doc/library/importlib.metadata.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ The "selectable" entry points were introduced in ``importlib_metadata``
178178
no parameters and always returned a dictionary of entry points, keyed
179179
by group. With ``importlib_metadata`` 5.0 and Python 3.12,
180180
``entry_points`` always returns an ``EntryPoints`` object. See
181-
`backports.entry_points_selectable <https://pypi.org/project/backports.entry_points_selectable>`_
181+
`backports.entry_points_selectable <https://pypi.org/project/backports.entry-points-selectable>`_
182182
for compatibility options.
183183

184184

Doc/library/os.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4593,7 +4593,7 @@ written in Python, such as a mail server's external command delivery program.
45934593
:attr:`!children_system`, and :attr:`!elapsed` in that order.
45944594

45954595
See the Unix manual page
4596-
:manpage:`times(2)` and `times(3) <https://www.freebsd.org/cgi/man.cgi?time(3)>`_ manual page on Unix or `the GetProcessTimes MSDN
4596+
:manpage:`times(2)` and `times(3) <https://man.freebsd.org/cgi/man.cgi?time(3)>`_ manual page on Unix or `the GetProcessTimes MSDN
45974597
<https://docs.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-getprocesstimes>`_
45984598
on Windows. On Windows, only :attr:`!user` and :attr:`!system` are known; the other attributes are zero.
45994599

Doc/library/plistlib.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ or :class:`datetime.datetime` objects.
4646

4747
.. seealso::
4848

49-
`PList manual page <https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/PropertyLists/>`_
49+
`PList manual page <https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/PropertyLists/>`_
5050
Apple's documentation of the file format.
5151

5252

Doc/library/resource.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ platform.
244244
used by all of this user id's processes.
245245
This limit is enforced only if bit 1 of the vm.overcommit sysctl is set.
246246
Please see
247-
`tuning(7) <https://www.freebsd.org/cgi/man.cgi?query=tuning&sektion=7>`__
247+
`tuning(7) <https://man.freebsd.org/cgi/man.cgi?query=tuning&sektion=7>`__
248248
for a complete description of this sysctl.
249249

250250
.. availability:: FreeBSD.

Doc/library/select.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ Kqueue Objects
505505
Kevent Objects
506506
--------------
507507

508-
https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2
508+
https://man.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2
509509

510510
.. attribute:: kevent.ident
511511

Doc/library/ssl.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1719,7 +1719,7 @@ to speed up repeated connections from the same clients.
17191719
.. versionadded:: 3.3
17201720

17211721
.. seealso::
1722-
`SSL/TLS & Perfect Forward Secrecy <https://vincent.bernat.im/en/blog/2011-ssl-perfect-forward-secrecy>`_
1722+
`SSL/TLS & Perfect Forward Secrecy <https://vincent.bernat.ch/en/blog/2011-ssl-perfect-forward-secrecy>`_
17231723
Vincent Bernat.
17241724

17251725
.. method:: SSLContext.wrap_socket(sock, server_side=False, \

Doc/library/statistics.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ This module provides functions for calculating mathematical statistics of
2222
numeric (:class:`~numbers.Real`-valued) data.
2323

2424
The module is not intended to be a competitor to third-party libraries such
25-
as `NumPy <https://numpy.org>`_, `SciPy <https://www.scipy.org/>`_, or
25+
as `NumPy <https://numpy.org>`_, `SciPy <https://scipy.org/>`_, or
2626
proprietary full-featured statistics packages aimed at professional
2727
statisticians such as Minitab, SAS and Matlab. It is aimed at the level of
2828
graphing and scientific calculators.

Doc/library/struct.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,4 +602,4 @@ The :mod:`struct` module also defines the following type:
602602

603603
.. _ieee 754 standard: https://en.wikipedia.org/wiki/IEEE_754-2008_revision
604604

605-
.. _IETF RFC 1700: https://tools.ietf.org/html/rfc1700
605+
.. _IETF RFC 1700: https://datatracker.ietf.org/doc/html/rfc1700

Doc/library/sys.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,7 @@ always available.
792792
additional garbage collector overhead if the object is managed by the garbage
793793
collector.
794794

795-
See `recursive sizeof recipe <https://code.activestate.com/recipes/577504>`_
795+
See `recursive sizeof recipe <https://code.activestate.com/recipes/577504/>`_
796796
for an example of using :func:`getsizeof` recursively to find the size of
797797
containers and all their contents.
798798

Doc/library/unittest.mock-examples.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1074,7 +1074,7 @@ subclass.
10741074
Sometimes this is inconvenient. For example, `one user
10751075
<https://code.google.com/archive/p/mock/issues/105>`_ is subclassing mock to
10761076
created a `Twisted adaptor
1077-
<https://twistedmatrix.com/documents/11.0.0/api/twisted.python.components.html>`_.
1077+
<https://twisted.org/documents/11.0.0/api/twisted.python.components.html>`_.
10781078
Having this applied to attributes too actually causes errors.
10791079

10801080
``Mock`` (in all its flavours) uses a method called ``_get_child_mock`` to create

Doc/library/unittest.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ test runner
7272
a GUI tool for test discovery and execution. This is intended largely for ease of use
7373
for those new to unit testing. For production environments it is
7474
recommended that tests be driven by a continuous integration system such as
75-
`Buildbot <https://buildbot.net/>`_, `Jenkins <https://jenkins.io/>`_,
75+
`Buildbot <https://buildbot.net/>`_, `Jenkins <https://www.jenkins.io/>`_,
7676
`GitHub Actions <https://github.com/features/actions>`_, or
7777
`AppVeyor <https://www.appveyor.com/>`_.
7878

Doc/library/xmlrpc.client.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ between conformable Python objects and XML on the wire.
161161

162162
.. seealso::
163163

164-
`XML-RPC HOWTO <https://www.tldp.org/HOWTO/XML-RPC-HOWTO/index.html>`_
164+
`XML-RPC HOWTO <https://tldp.org/HOWTO/XML-RPC-HOWTO/index.html>`_
165165
A good description of XML-RPC operation and client software in several languages.
166166
Contains pretty much everything an XML-RPC client developer needs to know.
167167

Doc/library/zipfile.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ The module defines the following items:
128128
Documentation on the ZIP file format by Phil Katz, the creator of the format and
129129
algorithms used.
130130

131-
`Info-ZIP Home Page <http://www.info-zip.org/>`_
131+
`Info-ZIP Home Page <https://infozip.sourceforge.net/>`_
132132
Information about the Info-ZIP project's ZIP archive programs and development
133133
libraries.
134134

Doc/reference/datamodel.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1564,7 +1564,7 @@ Basic customization
15641564
This is intended to provide protection against a denial-of-service caused
15651565
by carefully chosen inputs that exploit the worst case performance of a
15661566
dict insertion, O(n\ :sup:`2`) complexity. See
1567-
http://www.ocert.org/advisories/ocert-2011-003.html for details.
1567+
http://ocert.org/advisories/ocert-2011-003.html for details.
15681568

15691569
Changing hash values affects the iteration order of sets.
15701570
Python has never made guarantees about this ordering

Doc/reference/introduction.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ PyPy
7474
and a Just in Time compiler. One of the goals of the project is to encourage
7575
experimentation with the language itself by making it easier to modify the
7676
interpreter (since it is written in Python). Additional information is
77-
available on `the PyPy project's home page <https://pypy.org/>`_.
77+
available on `the PyPy project's home page <https://www.pypy.org/>`_.
7878

7979
Each of these implementations varies in some way from the language as documented
8080
in this manual, or introduces specific information beyond what's covered in the

Doc/using/cmdline.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ Miscellaneous options
370370
Hash randomization is intended to provide protection against a
371371
denial-of-service caused by carefully chosen inputs that exploit the worst
372372
case performance of a dict construction, O(n\ :sup:`2`) complexity. See
373-
http://www.ocert.org/advisories/ocert-2011-003.html for details.
373+
http://ocert.org/advisories/ocert-2011-003.html for details.
374374

375375
:envvar:`PYTHONHASHSEED` allows you to set a fixed value for the hash
376376
seed secret.

Doc/using/mac.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ number of standard Unix command line editors, :program:`vim` and
6666
:program:`BBEdit` or :program:`TextWrangler` from Bare Bones Software (see
6767
http://www.barebones.com/products/bbedit/index.html) are good choices, as is
6868
:program:`TextMate` (see https://macromates.com/). Other editors include
69-
:program:`Gvim` (https://macvim-dev.github.io/macvim/) and :program:`Aquamacs`
69+
:program:`Gvim` (https://macvim.org/macvim/) and :program:`Aquamacs`
7070
(http://aquamacs.org/).
7171

7272
To run your script from the Terminal window you must make sure that

Doc/using/windows.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ Besides the standard CPython distribution, there are modified packages including
541541
additional functionality. The following is a list of popular versions and their
542542
key features:
543543

544-
`ActivePython <https://www.activestate.com/activepython/>`_
544+
`ActivePython <https://www.activestate.com/products/python/>`_
545545
Installer with multi-platform compatibility, documentation, PyWin32
546546

547547
`Anaconda <https://www.anaconda.com/download/>`_

Doc/whatsnew/2.0.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -933,7 +933,7 @@ using it::
933933
parser.parse( 'hamlet.xml' )
934934

935935
For more information, consult the Python documentation, or the XML HOWTO at
936-
http://pyxml.sourceforge.net/topics/howto/xml-howto.html.
936+
https://pyxml.sourceforge.net/topics/howto/xml-howto.html.
937937

938938

939939
DOM Support

Doc/whatsnew/2.1.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,7 @@ New and Improved Modules
613613
framework based on running embedded examples in docstrings and comparing the
614614
results against the expected output. PyUnit, contributed by Steve Purcell, is a
615615
unit testing framework inspired by JUnit, which was in turn an adaptation of
616-
Kent Beck's Smalltalk testing framework. See http://pyunit.sourceforge.net/ for
616+
Kent Beck's Smalltalk testing framework. See https://pyunit.sourceforge.net/ for
617617
more information about PyUnit.
618618

619619
* The :mod:`difflib` module contains a class, :class:`SequenceMatcher`, which

Doc/whatsnew/2.2.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -632,10 +632,10 @@ queen threatens another) and the Knight's Tour (a route that takes a knight to
632632
every square of an $NxN$ chessboard without visiting any square twice).
633633

634634
The idea of generators comes from other programming languages, especially Icon
635-
(https://www.cs.arizona.edu/icon/), where the idea of generators is central. In
635+
(https://www2.cs.arizona.edu/icon/), where the idea of generators is central. In
636636
Icon, every expression and function call behaves like a generator. One example
637637
from "An Overview of the Icon Programming Language" at
638-
https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what this looks
638+
https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what this looks
639639
like::
640640

641641
sentence := "Store it in the neighboring harbor"

Doc/whatsnew/2.3.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,10 +218,10 @@ queen threatens another) and the Knight's Tour (a route that takes a knight to
218218
every square of an $NxN$ chessboard without visiting any square twice).
219219

220220
The idea of generators comes from other programming languages, especially Icon
221-
(https://www.cs.arizona.edu/icon/), where the idea of generators is central. In
221+
(https://www2.cs.arizona.edu/icon/), where the idea of generators is central. In
222222
Icon, every expression and function call behaves like a generator. One example
223223
from "An Overview of the Icon Programming Language" at
224-
https://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what this looks
224+
https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what this looks
225225
like::
226226

227227
sentence := "Store it in the neighboring harbor"
@@ -1332,7 +1332,7 @@ complete list of changes, or look through the CVS logs for all the details.
13321332
(Contributed by Kevin O'Connor.)
13331333

13341334
* The IDLE integrated development environment has been updated using the code
1335-
from the IDLEfork project (http://idlefork.sourceforge.net). The most notable feature is
1335+
from the IDLEfork project (https://idlefork.sourceforge.net). The most notable feature is
13361336
that the code being developed is now executed in a subprocess, meaning that
13371337
there's no longer any need for manual ``reload()`` operations. IDLE's core code
13381338
has been incorporated into the standard library as the :mod:`idlelib` package.

Doc/whatsnew/2.4.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -756,7 +756,7 @@ API that perform ASCII-only conversions, ignoring the locale setting:
756756
:c:expr:`double` to an ASCII string.
757757

758758
The code for these functions came from the GLib library
759-
(https://developer.gnome.org/glib/stable/), whose developers kindly
759+
(https://developer-old.gnome.org/glib/2.26/), whose developers kindly
760760
relicensed the relevant functions and donated them to the Python Software
761761
Foundation. The :mod:`locale` module can now change the numeric locale,
762762
letting extensions such as GTK+ produce the correct results.

0 commit comments

Comments
 (0)