-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
bpo-29779: new environment variable PYTHONHISTORY. #473
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -713,6 +713,13 @@ conflict. | |
|
||
.. versionadded:: 3.6 | ||
|
||
.. envvar:: PYTHONHISTORY | ||
|
||
If set to a non-empty string, you can change the location of a python_history | ||
file, by default it will be in ~/.python_history. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ``~/.python_history`` |
||
|
||
.. versionadded:: 3.7 | ||
|
||
Debug-mode variables | ||
~~~~~~~~~~~~~~~~~~~~ | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -372,6 +372,17 @@ def setcopyright(): | |
def sethelper(): | ||
builtins.help = _sitebuiltins._Helper() | ||
|
||
def gethistoryfile(): | ||
"""Check if PYTHONHISTORY environment variable | ||
is set and define it as python_history file, | ||
if not use the default ~/.python_history file. | ||
""" | ||
h = os.environ.get("PYTHONHISTORY") | ||
if h != '': | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What if |
||
return h | ||
return os.path.join(os.path.expanduser('~'), | ||
'.python_history') | ||
|
||
def enablerlcompleter(): | ||
"""Enable default readline configuration on interactive prompts, by | ||
registering a sys.__interactivehook__. | ||
|
@@ -407,13 +418,9 @@ def register_readline(): | |
pass | ||
|
||
if readline.get_current_history_length() == 0: | ||
# If no history was loaded, default to .python_history. | ||
# The guard is necessary to avoid doubling history size at | ||
# each interpreter exit when readline was already configured | ||
# through a PYTHONSTARTUP hook, see: | ||
# http://bugs.python.org/issue5845#msg198636 | ||
history = os.path.join(os.path.expanduser('~'), | ||
'.python_history') | ||
# If no history was loaded, default to .python_history, | ||
# or PYTHONHISTORY. | ||
history = gethistoryfile() | ||
try: | ||
readline.read_history_file(history) | ||
except IOError: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -259,6 +259,10 @@ def test_getsitepackages(self): | |
wanted = os.path.join('xoxo', 'lib', 'site-packages') | ||
self.assertEqual(dirs[1], wanted) | ||
|
||
def test_gethistoryfile(self): | ||
os.environ['PYTHONHISTORY'] = "xoxo" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please use |
||
self.assertEqual(site.gethistoryfile(), "xoxo") | ||
|
||
class PthFile(object): | ||
"""Helper class for handling testing of .pth files""" | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,9 @@ What's New in Python 3.7.0 alpha 1? | |
Core and Builtins | ||
----------------- | ||
|
||
- bpo-29779: New environment variable PYTHONHISTORY if | ||
this is set you can change the location of a python_history file. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please add "Patch by Your Name." |
||
|
||
- bpo-28856: Fix an oversight that %b format for bytes should support objects | ||
follow the buffer protocol. | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -431,6 +431,10 @@ values. | |
|
||
The integer must be a decimal number in the range [0,4294967295]. Specifying | ||
the value 0 will disable hash randomization. | ||
.IP PYTHONHISTORY | ||
If this is set you can change the location of a | ||
python_history file, by default it will be ~/.python_history. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. File names should be italic in man pages so python_history file, by default it will be
.IR ~/.python_history . You may need to escape ~ or / characters. |
||
|
||
.SH AUTHOR | ||
The Python Software Foundation: https://www.python.org/psf/ | ||
.SH INTERNET RESOURCES | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -105,7 +105,8 @@ static const char usage_6[] = | |
" predictable seed.\n" | ||
"PYTHONMALLOC: set the Python memory allocators and/or install debug hooks\n" | ||
" on Python memory allocators. Use PYTHONMALLOC=debug to install debug\n" | ||
" hooks.\n"; | ||
" hooks.\n" | ||
"PYTHONHISTORY: If this is set, you can change the location of a python_history file.\n"; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This line is a bit long. |
||
|
||
static int | ||
usage(int exitcode, const wchar_t* program) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"a ``.python_history`` file" or just "a history file".