From 0e175a6e762676fca6bfd656912bb862e29fbdd5 Mon Sep 17 00:00:00 2001 From: INADA Naoki Date: Mon, 21 Nov 2016 20:57:14 +0900 Subject: [PATCH] Issue #28532: Show sys.version when -V option is supplied twice --- Doc/using/cmdline.rst | 7 ++++++- Lib/test/test_cmd_line.py | 2 +- Misc/NEWS | 2 ++ Misc/python.man | 3 ++- Modules/main.c | 3 ++- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index 81b08236181..7ebdb95984d 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -180,7 +180,12 @@ Generic options Print the Python version number and exit. Example output could be:: - Python 3.0 + Python 3.6.0b2+ + + When given twice, print more information about the build, like:: + + Python 3.6.0b2+ (3.6:84a3c5003510+, Oct 26 2016, 02:33:55) + [GCC 6.2.0 20161005] .. _using-on-misc-options: diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index 87571d3073d..b71bb9f7ee5 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -43,7 +43,7 @@ class CmdLineTest(unittest.TestCase): def test_version(self): version = ('Python %d.%d' % sys.version_info[:2]).encode("ascii") - for switch in '-V', '--version': + for switch in '-V', '--version', '-VV': rc, out, err = assert_python_ok(switch) self.assertFalse(err.startswith(version)) self.assertTrue(out.startswith(version)) diff --git a/Misc/NEWS b/Misc/NEWS index 435fd0afcdb..7ba6b427700 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,8 @@ What's New in Python 3.6.0 beta 4 Core and Builtins ----------------- +- Issue #28532: Show sys.version when -V option is supplied twice. + - Issue #28746: Fix the set_inheritable() file descriptor method on platforms that do not have the ioctl FIOCLEX and FIONCLEX commands. diff --git a/Misc/python.man b/Misc/python.man index 28f19b68a76..385b6546c8a 100644 --- a/Misc/python.man +++ b/Misc/python.man @@ -194,7 +194,8 @@ searching for a module. Also provides information on module cleanup at exit. .TP .B \-V ", " \-\-version -Prints the Python version number of the executable and exits. +Prints the Python version number of the executable and exits. When given +twice, print more information about the build. .TP .BI "\-W " argument Warning control. Python sometimes prints warning message to diff --git a/Modules/main.c b/Modules/main.c index 6986d94b42d..d75f64a65f3 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -74,6 +74,7 @@ static const char usage_3[] = "\ -v : verbose (trace import statements); also PYTHONVERBOSE=x\n\ can be supplied multiple times to increase verbosity\n\ -V : print the Python version number and exit (also --version)\n\ + when given twice, print more information about the build\n\ -W arg : warning control; arg is action:message:category:module:lineno\n\ also PYTHONWARNINGS=arg\n\ -x : skip first line of source, allowing use of non-Unix forms of #!cmd\n\ @@ -512,7 +513,7 @@ Py_Main(int argc, wchar_t **argv) return usage(0, argv[0]); if (version) { - printf("Python %s\n", PY_VERSION); + printf("Python %s\n", version >= 2 ? Py_GetVersion() : PY_VERSION); return 0; }