summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-07-02 12:43:25 +0200
committerGitHub <noreply@github.com>2020-07-02 12:43:25 +0200
commit0ab917e07ed64c6bfde6f6e791f9b28acc97b510 (patch)
tree65501a3252a6701e91658cfc9d8071b74189011e
parent004e64e8059fe68a72890314673282f2e60d5ce1 (diff)
downloadcpython-git-0ab917e07ed64c6bfde6f6e791f9b28acc97b510.tar.gz
bpo-41193: Ignore OSError in readline write_history() (GH-21279)
The write_history() atexit function of the readline completer now ignores any OSError to ignore error if the filesystem is read-only, instead of only ignoring FileNotFoundError and PermissionError.
-rw-r--r--Lib/site.py6
-rw-r--r--Misc/NEWS.d/next/Library/2020-07-02-11-53-45.bpo-41193.8-Tnql.rst4
2 files changed, 7 insertions, 3 deletions
diff --git a/Lib/site.py b/Lib/site.py
index 544306cd40..8979365caf 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -462,9 +462,9 @@ def enablerlcompleter():
def write_history():
try:
readline.write_history_file(history)
- except (FileNotFoundError, PermissionError):
- # home directory does not exist or is not writable
- # https://bugs.python.org/issue19891
+ except OSError:
+ # bpo-19891, bpo-41193: Home directory does not exist
+ # or is not writable, or the filesystem is read-only.
pass
atexit.register(write_history)
diff --git a/Misc/NEWS.d/next/Library/2020-07-02-11-53-45.bpo-41193.8-Tnql.rst b/Misc/NEWS.d/next/Library/2020-07-02-11-53-45.bpo-41193.8-Tnql.rst
new file mode 100644
index 0000000000..8807d9c21f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-07-02-11-53-45.bpo-41193.8-Tnql.rst
@@ -0,0 +1,4 @@
+The ``write_history()`` atexit function of the readline completer now
+ignores any :exc:`OSError` to ignore error if the filesystem is read-only,
+instead of only ignoring :exc:`FileNotFoundError` and
+:exc:`PermissionError`.