summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorSanyam Khurana <8039608+CuriousLearner@users.noreply.github.com>2018-01-20 00:25:37 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2018-01-20 00:25:37 (GMT)
commit338cd83c5dceaed785f5bf613e2122f871908e2a (patch)
treef75ff3700e2f2c6a98b34728568e2e8a53cf0adf /Doc
parent7464e87a6511d3626b04c9833a262a77b1f21e23 (diff)
downloadcpython-338cd83c5dceaed785f5bf613e2122f871908e2a.zip
cpython-338cd83c5dceaed785f5bf613e2122f871908e2a.tar.gz
cpython-338cd83c5dceaed785f5bf613e2122f871908e2a.tar.bz2
bpo-25910: Link redirections in docs (#1933)
Fixes some redirection links in docs.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/distributing/index.rst12
-rw-r--r--Doc/distutils/index.rst2
-rw-r--r--Doc/distutils/setupscript.rst2
-rw-r--r--Doc/extending/extending.rst3
-rw-r--r--Doc/extending/index.rst2
-rw-r--r--Doc/faq/general.rst2
-rw-r--r--Doc/howto/logging.rst2
-rw-r--r--Doc/howto/pyporting.rst4
-rw-r--r--Doc/howto/unicode.rst2
-rw-r--r--Doc/howto/urllib2.rst2
-rw-r--r--Doc/install/index.rst2
-rw-r--r--Doc/installing/index.rst2
-rw-r--r--Doc/library/ast.rst2
-rw-r--r--Doc/library/colorsys.rst2
-rw-r--r--Doc/library/hashlib.rst4
-rw-r--r--Doc/library/mailbox.rst2
-rw-r--r--Doc/library/math.rst2
-rw-r--r--Doc/library/plistlib.rst2
-rw-r--r--Doc/library/ssl.rst21
-rw-r--r--Doc/library/statistics.rst2
-rw-r--r--Doc/library/tkinter.rst2
-rw-r--r--Doc/library/tkinter.ttk.rst2
-rw-r--r--Doc/library/unittest.mock-examples.rst6
-rw-r--r--Doc/library/urllib.request.rst2
-rw-r--r--Doc/library/venv.rst2
-rw-r--r--Doc/library/wsgiref.rst4
-rw-r--r--Doc/library/xml.dom.rst4
-rw-r--r--Doc/using/mac.rst4
-rw-r--r--Doc/using/unix.rst2
-rw-r--r--Doc/using/windows.rst8
-rw-r--r--Doc/whatsnew/2.2.rst2
-rw-r--r--Doc/whatsnew/2.3.rst2
-rw-r--r--Doc/whatsnew/2.5.rst2
-rw-r--r--Doc/whatsnew/2.6.rst2
-rw-r--r--Doc/whatsnew/2.7.rst2
-rw-r--r--Doc/whatsnew/3.2.rst2
-rw-r--r--Doc/whatsnew/3.6.rst2
37 files changed, 61 insertions, 63 deletions
diff --git a/Doc/distributing/index.rst b/Doc/distributing/index.rst
index 82ecd2c..aedbe71 100644
--- a/Doc/distributing/index.rst
+++ b/Doc/distributing/index.rst
@@ -62,7 +62,7 @@ Key terms
locally.
.. _setuptools: https://setuptools.readthedocs.io/en/latest/
-.. _wheel: https://wheel.readthedocs.org
+.. _wheel: https://wheel.readthedocs.io/
Open source licensing and collaboration
=======================================
@@ -111,7 +111,7 @@ by invoking the ``pip`` module at the command line::
The Python Packaging User Guide includes more details on the `currently
recommended tools`_.
-.. _currently recommended tools: https://packaging.python.org/en/latest/current/#packaging-tool-recommendations
+.. _currently recommended tools: https://packaging.python.org/guides/tool-recommendations/#packaging-tool-recommendations
Reading the guide
=================
@@ -124,11 +124,11 @@ involved in creating a project:
* `Uploading the project to the Python Packaging Index`_
.. _Project structure: \
- https://packaging.python.org/en/latest/distributing/
+ https://packaging.python.org/tutorials/distributing-packages/
.. _Building and packaging the project: \
- https://packaging.python.org/en/latest/distributing/#packaging-your-project
+ https://packaging.python.org/tutorials/distributing-packages/#packaging-your-project
.. _Uploading the project to the Python Packaging Index: \
- https://packaging.python.org/en/latest/distributing/#uploading-your-project-to-pypi
+ https://packaging.python.org/tutorials/distributing-packages/#uploading-your-project-to-pypi
How do I...?
@@ -160,7 +160,7 @@ Python Packaging User Guide for more information and recommendations.
.. seealso::
`Python Packaging User Guide: Binary Extensions
- <https://packaging.python.org/en/latest/extensions>`__
+ <https://packaging.python.org/guides/packaging-binary-extensions/>`__
.. other topics:
diff --git a/Doc/distutils/index.rst b/Doc/distutils/index.rst
index c565bcc..d6f7640 100644
--- a/Doc/distutils/index.rst
+++ b/Doc/distutils/index.rst
@@ -22,7 +22,7 @@ very little overhead for build/release/install mechanics.
This guide only covers the basic tools for building and distributing
extensions that are provided as part of this version of Python. Third party
tools offer easier to use and more secure alternatives. Refer to the `quick
- recommendations section <https://packaging.python.org/en/latest/current/>`__
+ recommendations section <https://packaging.python.org/guides/tool-recommendations/>`__
in the Python Packaging User Guide for more information.
.. toctree::
diff --git a/Doc/distutils/setupscript.rst b/Doc/distutils/setupscript.rst
index 542ad54..952607a 100644
--- a/Doc/distutils/setupscript.rst
+++ b/Doc/distutils/setupscript.rst
@@ -625,7 +625,7 @@ Notes:
(7)
The valid classifiers are listed on
- `PyPI <http://pypi.python.org/pypi?:action=list_classifiers>`_.
+ `PyPI <https://pypi.python.org/pypi?:action=list_classifiers>`_.
(8)
To preserve backward compatibility, this field also accepts a string. If
diff --git a/Doc/extending/extending.rst b/Doc/extending/extending.rst
index ea1c29a..e02f783 100644
--- a/Doc/extending/extending.rst
+++ b/Doc/extending/extending.rst
@@ -27,7 +27,8 @@ your system setup; details are given in later chapters.
avoid writing C extensions and preserve portability to other implementations.
For example, if your use case is calling C library functions or system calls,
you should consider using the :mod:`ctypes` module or the `cffi
- <https://cffi.readthedocs.org>`_ library rather than writing custom C code.
+ <https://cffi.readthedocs.io/>`_ library rather than writing
+ custom C code.
These modules let you write Python code to interface with C code and are more
portable between implementations of Python than writing and compiling a C
extension module.
diff --git a/Doc/extending/index.rst b/Doc/extending/index.rst
index 9eec8c2..80594e3 100644
--- a/Doc/extending/index.rst
+++ b/Doc/extending/index.rst
@@ -32,7 +32,7 @@ approaches to creating C and C++ extensions for Python.
.. seealso::
- `Python Packaging User Guide: Binary Extensions <https://packaging.python.org/en/latest/extensions/>`_
+ `Python Packaging User Guide: Binary Extensions <https://packaging.python.org/guides/packaging-binary-extensions/>`_
The Python Packaging User Guide not only covers several available
tools that simplify the creation of binary extensions, but also
discusses the various reasons why creating an extension module may be
diff --git a/Doc/faq/general.rst b/Doc/faq/general.rst
index d4a97fd..0d1cb19 100644
--- a/Doc/faq/general.rst
+++ b/Doc/faq/general.rst
@@ -272,7 +272,7 @@ The Python project's infrastructure is located all over the world.
`www.python.org <https://www.python.org>`_ is graciously hosted by `Rackspace
<https://www.rackspace.com>`_, with CDN caching provided by `Fastly
<https://www.fastly.com>`_. `Upfront Systems
-<http://www.upfrontsystems.co.za/>`_ hosts `bugs.python.org
+<http://www.upfrontsoftware.co.za>`_ hosts `bugs.python.org
<https://bugs.python.org>`_. Many other Python services like `the Wiki
<https://wiki.python.org>`_ are hosted by `Oregon State
University Open Source Lab <https://osuosl.org>`_.
diff --git a/Doc/howto/logging.rst b/Doc/howto/logging.rst
index 8074b0f..4ee68b4 100644
--- a/Doc/howto/logging.rst
+++ b/Doc/howto/logging.rst
@@ -314,7 +314,7 @@ favourite beverage and carry on.
If your logging needs are simple, then use the above examples to incorporate
logging into your own scripts, and if you run into problems or don't
understand something, please post a question on the comp.lang.python Usenet
-group (available at https://groups.google.com/group/comp.lang.python) and you
+group (available at https://groups.google.com/forum/#!forum/comp.lang.python) and you
should receive help before too long.
Still here? You can carry on reading the next few sections, which provide a
diff --git a/Doc/howto/pyporting.rst b/Doc/howto/pyporting.rst
index bec6a3d..98c8120 100644
--- a/Doc/howto/pyporting.rst
+++ b/Doc/howto/pyporting.rst
@@ -433,12 +433,12 @@ to make sure everything functions as expected in both versions of Python.
.. _Futurize: http://python-future.org/automatic_conversion.html
.. _importlib: https://docs.python.org/3/library/importlib.html#module-importlib
.. _importlib2: https://pypi.python.org/pypi/importlib2
-.. _Modernize: https://python-modernize.readthedocs.org/en/latest/
+.. _Modernize: https://python-modernize.readthedocs.io/
.. _mypy: http://mypy-lang.org/
.. _Porting to Python 3: http://python3porting.com/
.. _Pylint: https://pypi.python.org/pypi/pylint
-.. _Python 3 Q & A: https://ncoghlan-devs-python-notes.readthedocs.org/en/latest/python3/questions_and_answers.html
+.. _Python 3 Q & A: https://ncoghlan-devs-python-notes.readthedocs.io/en/latest/python3/questions_and_answers.html
.. _pytype: https://github.com/google/pytype
.. _python-future: http://python-future.org/
diff --git a/Doc/howto/unicode.rst b/Doc/howto/unicode.rst
index a83e5a2..d4b8f8d 100644
--- a/Doc/howto/unicode.rst
+++ b/Doc/howto/unicode.rst
@@ -214,7 +214,7 @@ difficult reading. `A chronology <http://www.unicode.org/history/>`_ of the
origin and development of Unicode is also available on the site.
To help understand the standard, Jukka Korpela has written `an introductory
-guide <https://www.cs.tut.fi/~jkorpela/unicode/guide.html>`_ to reading the
+guide <http://jkorpela.fi/unicode/guide.html>`_ to reading the
Unicode character tables.
Another `good introductory article <https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/>`_
diff --git a/Doc/howto/urllib2.rst b/Doc/howto/urllib2.rst
index 8d383e0..c1fd5cf 100644
--- a/Doc/howto/urllib2.rst
+++ b/Doc/howto/urllib2.rst
@@ -403,7 +403,7 @@ fetched, particularly the headers sent by the server. It is currently an
:class:`http.client.HTTPMessage` instance.
Typical headers include 'Content-length', 'Content-type', and so on. See the
-`Quick Reference to HTTP Headers <https://www.cs.tut.fi/~jkorpela/http.html>`_
+`Quick Reference to HTTP Headers <http://jkorpela.fi/http.html>`_
for a useful listing of HTTP headers with brief explanations of their meaning
and use.
diff --git a/Doc/install/index.rst b/Doc/install/index.rst
index bc080b0..0545b8f 100644
--- a/Doc/install/index.rst
+++ b/Doc/install/index.rst
@@ -36,7 +36,7 @@ modules and extensions.
This guide only covers the basic tools for building and distributing
extensions that are provided as part of this version of Python. Third party
tools offer easier to use and more secure alternatives. Refer to the `quick
- recommendations section <https://packaging.python.org/en/latest/current/>`__
+ recommendations section <https://packaging.python.org/guides/tool-recommendations/>`__
in the Python Packaging User Guide for more information.
diff --git a/Doc/installing/index.rst b/Doc/installing/index.rst
index 09bb825..f9a224b 100644
--- a/Doc/installing/index.rst
+++ b/Doc/installing/index.rst
@@ -48,7 +48,7 @@ Key terms
repository of open source licensed packages made available for use by
other Python users.
* the `Python Packaging Authority
- <https://www.pypa.io/en/latest/>`__ are the group of
+ <https://www.pypa.io/>`__ are the group of
developers and documentation authors responsible for the maintenance and
evolution of the standard packaging tools and the associated metadata and
file format standards. They maintain a variety of tools, documentation,
diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst
index bda46f4..b7f610b 100644
--- a/Doc/library/ast.rst
+++ b/Doc/library/ast.rst
@@ -261,5 +261,5 @@ and classes for traversing abstract syntax trees:
.. seealso::
- `Green Tree Snakes <https://greentreesnakes.readthedocs.org/>`_, an external documentation resource, has good
+ `Green Tree Snakes <https://greentreesnakes.readthedocs.io/>`_, an external documentation resource, has good
details on working with Python ASTs.
diff --git a/Doc/library/colorsys.rst b/Doc/library/colorsys.rst
index c33f531..1360c7c 100644
--- a/Doc/library/colorsys.rst
+++ b/Doc/library/colorsys.rst
@@ -21,7 +21,7 @@ spaces, the coordinates are all between 0 and 1.
.. seealso::
More information about color spaces can be found at
- http://www.poynton.com/ColorFAQ.html and
+ http://poynton.ca/ColorFAQ.html and
https://www.cambridgeincolour.com/tutorials/color-spaces.htm.
The :mod:`colorsys` module defines the following functions:
diff --git a/Doc/library/hashlib.rst b/Doc/library/hashlib.rst
index d491691..eda18ad 100644
--- a/Doc/library/hashlib.rst
+++ b/Doc/library/hashlib.rst
@@ -562,7 +562,7 @@ on the hash function used in digital signatures.
by the signer.
(`NIST SP-800-106 "Randomized Hashing for Digital Signatures"
- <http://csrc.nist.gov/publications/nistpubs/800-106/NIST-SP-800-106.pdf>`_)
+ <https://csrc.nist.gov/publications/detail/sp/800-106/final>`_)
In BLAKE2 the salt is processed as a one-time input to the hash function during
initialization, rather than as an input to each compression function.
@@ -728,7 +728,7 @@ Domain Dedication 1.0 Universal:
https://blake2.net
Official BLAKE2 website.
- http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf
+ https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/documents/fips180-2.pdf
The FIPS 180-2 publication on Secure Hash Algorithms.
https://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms
diff --git a/Doc/library/mailbox.rst b/Doc/library/mailbox.rst
index 48d76a8..d901ad2 100644
--- a/Doc/library/mailbox.rst
+++ b/Doc/library/mailbox.rst
@@ -620,7 +620,7 @@ Supported mailbox formats are Maildir, mbox, MH, Babyl, and MMDF.
`nmh - Message Handling System <http://www.nongnu.org/nmh/>`_
Home page of :program:`nmh`, an updated version of the original :program:`mh`.
- `MH & nmh: Email for Users & Programmers <http://rand-mh.sourceforge.net/book/>`_
+ `MH & nmh: Email for Users & Programmers <https://rand-mh.sourceforge.io/book/>`_
A GPL-licensed book on :program:`mh` and :program:`nmh`, with some information
on the mailbox format.
diff --git a/Doc/library/math.rst b/Doc/library/math.rst
index 9e49463..55eb41b 100644
--- a/Doc/library/math.rst
+++ b/Doc/library/math.rst
@@ -461,7 +461,7 @@ Constants
Tau is a circle constant equal to 2\ *π*, the ratio of a circle's circumference to
its radius. To learn more about Tau, check out Vi Hart's video `Pi is (still)
Wrong <https://www.youtube.com/watch?v=jG7vhMMXagQ>`_, and start celebrating
- `Tau day <http://tauday.com/>`_ by eating twice as much pie!
+ `Tau day <https://tauday.com/>`_ by eating twice as much pie!
.. versionadded:: 3.6
diff --git a/Doc/library/plistlib.rst b/Doc/library/plistlib.rst
index 7d306a2..20c086c 100644
--- a/Doc/library/plistlib.rst
+++ b/Doc/library/plistlib.rst
@@ -38,7 +38,7 @@ or :class:`datetime.datetime` objects.
.. seealso::
- `PList manual page <https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/plist.5.html>`_
+ `PList manual page <https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/PropertyLists/>`_
Apple's documentation of the file format.
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index b40d958..4c44ffa 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -868,9 +868,9 @@ Constants
.. data:: HAS_NPN
Whether the OpenSSL library has built-in support for *Next Protocol
- Negotiation* as described in the `NPN draft specification
- <https://tools.ietf.org/html/draft-agl-tls-nextprotoneg>`_. When true,
- you can use the :meth:`SSLContext.set_npn_protocols` method to advertise
+ Negotiation* as described in the `Application Layer Protocol
+ Negotiation <https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation>`_.
+ When true, you can use the :meth:`SSLContext.set_npn_protocols` method to advertise
which protocols you want to support.
.. versionadded:: 3.3
@@ -1374,7 +1374,7 @@ to speed up repeated connections from the same clients.
The *capath* string, if present, is
the path to a directory containing several CA certificates in PEM format,
following an `OpenSSL specific layout
- <https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_load_verify_locations.html>`_.
+ <https://www.openssl.org/docs/manmaster/man3/SSL_CTX_load_verify_locations.html>`_.
The *cadata* object, if present, is either an ASCII string of one or more
PEM-encoded certificates or a :term:`bytes-like object` of DER-encoded
@@ -1501,8 +1501,8 @@ to speed up repeated connections from the same clients.
Specify which protocols the socket should advertise during the SSL/TLS
handshake. It should be a list of strings, like ``['http/1.1', 'spdy/2']``,
ordered by preference. The selection of a protocol will happen during the
- handshake, and will play out according to the `NPN draft specification
- <https://tools.ietf.org/html/draft-agl-tls-nextprotoneg>`_. After a
+ handshake, and will play out according to the `Application Layer Protocol Negotiation
+ <https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation>`_. After a
successful handshake, the :meth:`SSLSocket.selected_npn_protocol` method will
return the agreed-upon protocol.
@@ -1663,8 +1663,7 @@ to speed up repeated connections from the same clients.
.. method:: SSLContext.session_stats()
Get statistics about the SSL sessions created or managed by this context.
- A dictionary is returned which maps the names of each `piece of information
- <https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_sess_number.html>`_ to their
+ A dictionary is returned which maps the names of each `piece of information <https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_sess_number.html>`_ to their
numeric values. For example, here is the total number of hits and misses
in the session cache since the context was created::
@@ -2365,7 +2364,7 @@ enabled when negotiating a SSL session is possible through the
:meth:`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the
ssl module disables certain weak ciphers by default, but you may want
to further restrict the cipher choice. Be sure to read OpenSSL's documentation
-about the `cipher list format <https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT>`_.
+about the `cipher list format <https://www.openssl.org/docs/manmaster/man1/ciphers.html#CIPHER-LIST-FORMAT>`_.
If you want to check which ciphers are enabled by a given cipher list, use
:meth:`SSLContext.get_ciphers` or the ``openssl ciphers`` command on your
system.
@@ -2393,10 +2392,10 @@ successful call of :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` or
`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management <https://www.ietf.org/rfc/rfc1422>`_
Steve Kent
- `RFC 4086: Randomness Requirements for Security <http://datatracker.ietf.org/doc/rfc4086/>`_
+ `RFC 4086: Randomness Requirements for Security <https://datatracker.ietf.org/doc/rfc4086/>`_
Donald E., Jeffrey I. Schiller
- `RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile <http://datatracker.ietf.org/doc/rfc5280/>`_
+ `RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile <https://datatracker.ietf.org/doc/rfc5280/>`_
D. Cooper
`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <https://tools.ietf.org/html/rfc5246>`_
diff --git a/Doc/library/statistics.rst b/Doc/library/statistics.rst
index 2aa778c..bc38178 100644
--- a/Doc/library/statistics.rst
+++ b/Doc/library/statistics.rst
@@ -257,8 +257,6 @@ However, for reading convenience, most of the examples show sorted sequences.
* "Statistics for the Behavioral Sciences", Frederick J Gravetter and
Larry B Wallnau (8th Edition).
- * Calculating the `median <https://www.ualberta.ca/~opscan/median.html>`_.
-
* The `SSMEDIAN
<https://help.gnome.org/users/gnumeric/stable/gnumeric.html#gnumeric-function-SSMEDIAN>`_
function in the Gnome Gnumeric spreadsheet, including `this discussion
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index f222fe6..6d90e43 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -35,7 +35,7 @@ this should open a window demonstrating a simple Tk interface.
`Tcl/Tk manual <https://www.tcl.tk/man/tcl8.5/>`_
Official manual for the latest tcl/tk version.
- `Programming Python <http://learning-python.com/books/about-pp4e.html>`_
+ `Programming Python <http://learning-python.com/about-pp4e.html>`_
Book by Mark Lutz, has excellent coverage of Tkinter.
`Modern Tkinter for Busy Python Developers <https://www.amazon.com/Modern-Tkinter-Python-Developers-ebook/dp/B0071QDNLO/>`_
diff --git a/Doc/library/tkinter.ttk.rst b/Doc/library/tkinter.ttk.rst
index 927f7f3..debbc81 100644
--- a/Doc/library/tkinter.ttk.rst
+++ b/Doc/library/tkinter.ttk.rst
@@ -26,7 +26,7 @@ appearance.
.. seealso::
- `Tk Widget Styling Support <https://www.tcl.tk/cgi-bin/tct/tip/48>`_
+ `Tk Widget Styling Support <https://core.tcl.tk/tips/doc/trunk/tip/48.md>`_
A document introducing theming support for Tk
diff --git a/Doc/library/unittest.mock-examples.rst b/Doc/library/unittest.mock-examples.rst
index 05f33740..5bf3d57 100644
--- a/Doc/library/unittest.mock-examples.rst
+++ b/Doc/library/unittest.mock-examples.rst
@@ -1008,7 +1008,7 @@ subclass.
True
Sometimes this is inconvenient. For example, `one user
-<https://code.google.com/p/mock/issues/detail?id=105>`_ is subclassing mock to
+<https://code.google.com/archive/p/mock/issues/105>`_ is subclassing mock to
created a `Twisted adaptor
<https://twistedmatrix.com/documents/11.0.0/api/twisted.python.components.html>`_.
Having this applied to attributes too actually causes errors.
@@ -1251,7 +1251,7 @@ With a bit of tweaking you could have the comparison function raise the
:exc:`AssertionError` directly and provide a more useful failure message.
As of version 1.5, the Python testing library `PyHamcrest
-<https://pyhamcrest.readthedocs.org/>`_ provides similar functionality,
+<https://pyhamcrest.readthedocs.io/>`_ provides similar functionality,
that may be useful here, in the form of its equality matcher
(`hamcrest.library.integration.match_equality
-<https://pyhamcrest.readthedocs.org/en/release-1.8/integration/#module-hamcrest.library.integration.match_equality>`_).
+<https://pyhamcrest.readthedocs.io/en/release-1.8/integration/#module-hamcrest.library.integration.match_equality>`_).
diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst
index 5a10f95..413d8b6 100644
--- a/Doc/library/urllib.request.rst
+++ b/Doc/library/urllib.request.rst
@@ -62,7 +62,7 @@ The :mod:`urllib.request` module defines the following functions:
* :meth:`~urllib.response.addinfourl.info` --- return the meta-information of the page, such as headers,
in the form of an :func:`email.message_from_string` instance (see
- `Quick Reference to HTTP Headers <https://www.cs.tut.fi/~jkorpela/http.html>`_)
+ `Quick Reference to HTTP Headers <http://jkorpela.fi/http.html>`_)
* :meth:`~urllib.response.addinfourl.getcode` -- return the HTTP status code of the response.
diff --git a/Doc/library/venv.rst b/Doc/library/venv.rst
index 17c80c8..6707be7 100644
--- a/Doc/library/venv.rst
+++ b/Doc/library/venv.rst
@@ -458,4 +458,4 @@ subclass which installs setuptools and pip into a created virtual environment::
This script is also available for download `online
-<https://gist.github.com/4673395>`_.
+<https://gist.github.com/vsajip/4673395>`_.
diff --git a/Doc/library/wsgiref.rst b/Doc/library/wsgiref.rst
index a1d4469..b0ef346 100644
--- a/Doc/library/wsgiref.rst
+++ b/Doc/library/wsgiref.rst
@@ -26,8 +26,8 @@ for implementing WSGI servers, a demo HTTP server that serves WSGI applications,
and a validation tool that checks WSGI servers and applications for conformance
to the WSGI specification (:pep:`3333`).
-See https://wsgi.readthedocs.org/ for more information about WSGI, and links to
-tutorials and other resources.
+See `wsgi.readthedocs.io <https://wsgi.readthedocs.io/>`_ for more information about WSGI, and links
+to tutorials and other resources.
.. XXX If you're just trying to write a web application...
diff --git a/Doc/library/xml.dom.rst b/Doc/library/xml.dom.rst
index de334af..18519a7 100644
--- a/Doc/library/xml.dom.rst
+++ b/Doc/library/xml.dom.rst
@@ -67,13 +67,13 @@ implementations are free to support the strict mapping from IDL). See section
.. seealso::
- `Document Object Model (DOM) Level 2 Specification <https://www.w3.org/TR/DOM-Level-2-Core/>`_
+ `Document Object Model (DOM) Level 2 Specification <https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/>`_
The W3C recommendation upon which the Python DOM API is based.
`Document Object Model (DOM) Level 1 Specification <https://www.w3.org/TR/REC-DOM-Level-1/>`_
The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`.
- `Python Language Mapping Specification <http://www.omg.org/spec/PYTH/1.2/PDF>`_
+ `Python Language Mapping Specification <http://www.omg.org/cgi-bin/doc?formal/02-11-05.pdf>`_
This specifies the mapping from OMG IDL to Python.
diff --git a/Doc/using/mac.rst b/Doc/using/mac.rst
index b89c987..a386728 100644
--- a/Doc/using/mac.rst
+++ b/Doc/using/mac.rst
@@ -66,7 +66,7 @@ number of standard Unix command line editors, :program:`vim` and
:program:`BBEdit` or :program:`TextWrangler` from Bare Bones Software (see
http://www.barebones.com/products/bbedit/index.html) are good choices, as is
:program:`TextMate` (see https://macromates.com/). Other editors include
-:program:`Gvim` (http://macvim.org) and :program:`Aquamacs`
+:program:`Gvim` (http://macvim-dev.github.io/macvim/) and :program:`Aquamacs`
(http://aquamacs.org/).
To run your script from the Terminal window you must make sure that
@@ -117,7 +117,7 @@ The IDE
MacPython ships with the standard IDLE development environment. A good
introduction to using IDLE can be found at
-https://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html.
+http://www.hashcollision.org/hkn/python/idle_intro/index.html.
.. _mac-package-manager:
diff --git a/Doc/using/unix.rst b/Doc/using/unix.rst
index 8b96ebe..ccdf84d 100644
--- a/Doc/using/unix.rst
+++ b/Doc/using/unix.rst
@@ -30,7 +30,7 @@ following links:
for Debian users
https://en.opensuse.org/Portal:Packaging
for OpenSuse users
- https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html
+ https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html
for Fedora users
http://www.slackbook.org/html/package-management-making-packages.html
for Slackware users
diff --git a/Doc/using/windows.rst b/Doc/using/windows.rst
index cc560d9..1c7b814 100644
--- a/Doc/using/windows.rst
+++ b/Doc/using/windows.rst
@@ -307,11 +307,11 @@ key features:
`ActivePython <https://www.activestate.com/activepython/>`_
Installer with multi-platform compatibility, documentation, PyWin32
-`Anaconda <https://www.continuum.io/downloads/>`_
+`Anaconda <https://www.anaconda.com/download/>`_
Popular scientific modules (such as numpy, scipy and pandas) and the
``conda`` package manager.
-`Canopy <https://www.enthought.com/products/canopy/>`_
+`Canopy <https://www.enthought.com/product/canopy/>`_
A "comprehensive Python analysis environment" with editors and other
development tools.
@@ -377,7 +377,7 @@ System variables, you need non-restricted access to your machine
.. seealso::
- https://support.microsoft.com/kb/100843
+ https://support.microsoft.com/en-us/help/100843/environment-variables-in-windows-nt
Environment variables in Windows NT
https://technet.microsoft.com/en-us/library/cc754250.aspx
@@ -386,7 +386,7 @@ System variables, you need non-restricted access to your machine
https://technet.microsoft.com/en-us/library/cc755104.aspx
The SETX command, for permanently modifying environment variables
- https://support.microsoft.com/kb/310519
+ https://support.microsoft.com/en-us/help/310519/how-to-manage-environment-variables-in-windows-xp
How To Manage Environment Variables in Windows XP
https://www.chem.gla.ac.uk/~louis/software/faq/q1.html
diff --git a/Doc/whatsnew/2.2.rst b/Doc/whatsnew/2.2.rst
index a0bb81a..0aa6003 100644
--- a/Doc/whatsnew/2.2.rst
+++ b/Doc/whatsnew/2.2.rst
@@ -957,7 +957,7 @@ New and Improved Modules
# 'title': 'html2fo 0.3 (Default)'}, ... ]
The :mod:`SimpleXMLRPCServer` module makes it easy to create straightforward
- XML-RPC servers. See http://www.xmlrpc.com/ for more information about XML-RPC.
+ XML-RPC servers. See http://xmlrpc.scripting.com/ for more information about XML-RPC.
* The new :mod:`hmac` module implements the HMAC algorithm described by
:rfc:`2104`. (Contributed by Gerhard Häring.)
diff --git a/Doc/whatsnew/2.3.rst b/Doc/whatsnew/2.3.rst
index cebfb21..b5628a9 100644
--- a/Doc/whatsnew/2.3.rst
+++ b/Doc/whatsnew/2.3.rst
@@ -1955,7 +1955,7 @@ The RPM spec files, found in the :file:`Misc/RPM/` directory in the Python
source distribution, were updated for 2.3. (Contributed by Sean Reifschneider.)
Other new platforms now supported by Python include AtheOS
-(http://atheos.cx/), GNU/Hurd, and OpenVMS.
+(http://www.atheos.cx/), GNU/Hurd, and OpenVMS.
.. ======================================================================
diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst
index 4d48291..15d35d3 100644
--- a/Doc/whatsnew/2.5.rst
+++ b/Doc/whatsnew/2.5.rst
@@ -330,7 +330,7 @@ statement, only the ``from ... import`` form.
:pep:`328` - Imports: Multi-Line and Absolute/Relative
PEP written by Aahz; implemented by Thomas Wouters.
- https://pylib.readthedocs.org/
+ https://pylib.readthedocs.io/
The py library by Holger Krekel, which contains the :mod:`py.std` package.
.. ======================================================================
diff --git a/Doc/whatsnew/2.6.rst b/Doc/whatsnew/2.6.rst
index 45b0ab9..33d9f7c 100644
--- a/Doc/whatsnew/2.6.rst
+++ b/Doc/whatsnew/2.6.rst
@@ -172,7 +172,7 @@ this edition of "What's New in Python" links to the bug/patch
item for each change.
Hosting of the Python bug tracker is kindly provided by
-`Upfront Systems <http://www.upfrontsystems.co.za/>`__
+`Upfront Systems <http://www.upfrontsoftware.co.za>`__
of Stellenbosch, South Africa. Martin von Löwis put a
lot of effort into importing existing bugs and patches from
SourceForge; his scripts for this import operation are at
diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst
index eec8984..90ce06c 100644
--- a/Doc/whatsnew/2.7.rst
+++ b/Doc/whatsnew/2.7.rst
@@ -1545,7 +1545,7 @@ changes, or look through the Subversion logs for all the details.
*ciphers* argument that's a string listing the encryption algorithms
to be allowed; the format of the string is described
`in the OpenSSL documentation
- <https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT>`__.
+ <https://www.openssl.org/docs/manmaster/man1/ciphers.html#CIPHER-LIST-FORMAT>`__.
(Added by Antoine Pitrou; :issue:`8322`.)
Another change makes the extension load all of OpenSSL's ciphers and
diff --git a/Doc/whatsnew/3.2.rst b/Doc/whatsnew/3.2.rst
index 78d3105..2d74000 100644
--- a/Doc/whatsnew/3.2.rst
+++ b/Doc/whatsnew/3.2.rst
@@ -1643,7 +1643,7 @@ for secure (encrypted, authenticated) internet connections:
* The :func:`ssl.wrap_socket` constructor function now takes a *ciphers*
argument. The *ciphers* string lists the allowed encryption algorithms using
the format described in the `OpenSSL documentation
- <https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT>`__.
+ <https://www.openssl.org/docs/manmaster/man1/ciphers.html#CIPHER-LIST-FORMAT>`__.
* When linked against recent versions of OpenSSL, the :mod:`ssl` module now
supports the Server Name Indication extension to the TLS protocol, allowing
diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst
index 67c86df..a355af7 100644
--- a/Doc/whatsnew/3.6.rst
+++ b/Doc/whatsnew/3.6.rst
@@ -1568,7 +1568,7 @@ mark class variables. As introduced in :pep:`526`, a variable annotation
wrapped in ClassVar indicates that a given attribute is intended to be used as
a class variable and should not be set on instances of that class.
(Contributed by Ivan Levkivskyi in `Github #280
-<https://github.com/python/typing/issues/280>`_.)
+<https://github.com/python/typing/pull/280>`_.)
A new :const:`~typing.TYPE_CHECKING` constant that is assumed to be
``True`` by the static type chekers, but is ``False`` at runtime.