Commit Graph

1372 Commits

Author SHA1 Message Date
Victor Stinner 0ea395ae96
bpo-32030: Add Python/pathconfig.c (#4668)
* Factorize code from PC/getpathp.c and Modules/getpath.c to remove
  duplicated code
* rename pathconfig_clear() to _PyPathConfig_Clear()
* Inline _PyPathConfig_Fini() in pymain_impl() and then remove it,
  since it's a oneliner
2017-12-01 20:50:58 +01:00
Victor Stinner ebac19dad6
bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)
Changes:

* _PyPathConfig_Fini() cannot be called in Py_FinalizeEx().
  Py_Initialize() and Py_Finalize() can be called multiple times, but
  it must not "forget" parameters set by Py_SetProgramName(),
  Py_SetPath() or Py_SetPythonHome(), whereas _PyPathConfig_Fini()
  clear all these parameters.
* config_get_program_name() and calculate_program_full_path() now
  also decode paths using Py_DecodeLocale() to use the
  surrogateescape error handler, rather than decoding using
  mbstowcs() which is strict.
* Change _Py_CheckPython3() prototype: () => (void)
* Truncate a few lines which were too long
2017-12-01 20:09:52 +01:00
Victor Stinner 9ac3d88827
bpo-32030: Fix Py_GetPath(): init program_name (#4665)
* _PyMainInterpreterConfig_ReadEnv() now sets program_name from
  environment variables and pymain_parse_envvars() implements the
  falls back on argv[0].
* Remove _PyMain.program_name: use the program_name from
  _PyMainInterpreterConfig
* Move the Py_SetProgramName() call back to pymain_init_python(),
  just before _Py_InitializeCore().
* pathconfig_global_init() now also calls
  _PyMainInterpreterConfig_Read() to set program_name if it isn't set
  yet
* Cleanup PyCalculatePath: pass main_config to subfunctions to get
  directly fields from main_config (home, module_search_path_env and
  program_name)
2017-12-01 19:30:41 +01:00
Victor Stinner b64de46aae
bpo-32030: Cleanup "path config" code (#4663)
* Rename PyPathConfig structure to _PyPathConfig and move it to
  Include/internal/pystate.h
* Rename path_config to _Py_path_config
* _PyPathConfig: Rename program_name field to program_full_path
* Add assert(str != NULL); to _PyMem_RawWcsdup(), _PyMem_RawStrdup()
  and _PyMem_Strdup().
* Rename calculate_path() to pathconfig_global_init(). The function
  now does nothing if it's already initiallized.
2017-12-01 18:27:09 +01:00
Victor Stinner 9316ee4da2
bpo-32030: Add _PyPathConfig_Init() (#4551)
* Add _PyPathConfig_Init() and _PyPathConfig_Fini()
* Remove _Py_GetPathWithConfig()
* _PyPathConfig_Init() returns _PyInitError to allow to handle errors
  properly
* Add pathconfig_clear()
* Windows calculate_path_impl(): replace Py_FatalError() with
  _PyInitError
* Py_FinalizeEx() now calls _PyPathConfig_Fini() to release memory
* Fix _Py_InitializeMainInterpreter() regression: don't initialize
  path config if _disable_importlib is false
* PyPathConfig now uses dynamically allocated memory
2017-11-25 03:17:57 +01:00
Victor Stinner f04ebe2a4d
bpo-32030: Add _PyMainInterpreterConfig.program_name (#4548)
* Py_Main() now calls Py_SetProgramName() earlier to be able to get
  the program name in _PyMainInterpreterConfig_ReadEnv().
* Rename prog to program_name
* Rename progpath to program_name
2017-11-25 00:01:23 +01:00
Victor Stinner 46972b7bc3
bpo-32030: Add _PyMainInterpreterConfig_ReadEnv() (#4542)
Py_GetPath() and Py_Main() now call
_PyMainInterpreterConfig_ReadEnv() to share the same code to get
environment variables.

Changes:

* Add _PyMainInterpreterConfig_ReadEnv()
* Add _PyMainInterpreterConfig_Clear()
* Add _PyMem_RawWcsdup()
* _PyMainInterpreterConfig: rename pythonhome to home
* Rename _Py_ReadMainInterpreterConfig() to
  _PyMainInterpreterConfig_Read()
* Use _Py_INIT_USER_ERR(), instead of _Py_INIT_ERR(), for decoding
  errors: the user is able to fix the issue, it's not a bug in
  Python. Same change was made in _Py_INIT_NO_MEMORY().
* Remove _Py_GetPythonHomeWithConfig()
2017-11-24 22:55:40 +01:00
Berker Peksag 19fb134185
bpo-12239: Make GetProperty() return None for VT_EMPTY (GH-4539)
The previous behavior was to raise an exception

    NotImplementedError: result of type 0

when the value of the property is VT_EMPTY.
2017-11-24 18:11:18 +03:00
Berker Peksag 4864a619dc
bpo-12382: Make OpenDatabase() raise better exception messages (GH-4528)
Previously, 'msilib.OpenDatabase()' function raised a
cryptical exception message when it couldn't open or
create an MSI file. For example:

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    _msi.MSIError: unknown error 6e
2017-11-24 12:53:58 +03:00
Victor Stinner 0327bde9da
bpo-32030: Rewrite calculate_path() (#4521)
* calculate_path() rewritten in Modules/getpath.c and PC/getpathp.c
* Move global variables into a new PyPathConfig structure.
* calculate_path():

  * Split the huge calculate_path() function into subfunctions.
  * Add PyCalculatePath structure to pass data between subfunctions.
  * Document PyCalculatePath fields.
  * Move cleanup code into a new calculate_free() subfunction
  * calculate_init() now handles Py_DecodeLocale() failures properly
  * calculate_path() is now atomic: only replace PyPathConfig
    (path_config) at once on success.

* _Py_GetPythonHomeWithConfig() now returns an error on failure
* Add _Py_INIT_NO_MEMORY() helper: report a memory allocation failure
* Coding style fixes (PEP 7)
2017-11-23 17:03:20 +01:00
Berker Peksag bdb8315c21
bpo-1102: View.Fetch() now returns None when it's exhausted (GH-4459) 2017-11-23 15:47:30 +03:00
Victor Stinner 1f15111a6e
bpo-32030: Add _PyMainInterpreterConfig.pythonhome (#4513)
* Py_Main() now reads the PYTHONHOME environment variable
* Add _Py_GetPythonHomeWithConfig() private function
* Add _PyWarnings_InitWithConfig()
* init_filters() doesn't get the current core configuration from the
  current interpreter or Python thread anymore. Pass explicitly the
  configuration to _PyWarnings_InitWithConfig().
* _Py_InitializeCore() now fails on _PyWarnings_InitWithConfig()
  failure.
* Pass configuration as constant
2017-11-23 10:43:14 +01:00
Victor Stinner e32e79f7d8
bpo-32030: Move PYTHONPATH to _PyMainInterpreterConfig (#4511)
Move _PyCoreConfig.module_search_path_env to _PyMainInterpreterConfig
structure.
2017-11-23 01:49:45 +01:00
Victor Stinner d434110974
bpo-32030: Add _PyCoreConfig.module_search_path_env (#4504)
Changes:

* Py_Main() initializes _PyCoreConfig.module_search_path_env from
  the PYTHONPATH environment variable.
* PyInterpreterState_New() now initializes core_config and config
  fields
* Compute sys.path a little bit ealier in
  _Py_InitializeMainInterpreter() and new_interpreter()
* Add _Py_GetPathWithConfig() private function.
2017-11-23 00:12:09 +01:00
Serhiy Storchaka e2f92de6a9
Add the const qualifier to "char *" variables that refer to literal strings. (#4370) 2017-11-11 13:06:26 +02:00
Berker Peksag a935654f06
bpo-20486: Implement Database.Close() method in msilib (GH-4141) 2017-11-07 15:58:53 +03:00
Zackery Spytz cb04f75182 Fix a memory leak in _msi.c (#4127) 2017-11-07 02:03:09 -08:00
luzpaz a5293b4ff2 Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
xdegaye 56d1f5ca32 bpo-30697: Fix PyErr_NormalizeException() when no memory (GH-2327) 2017-10-26 15:09:06 +02:00
Masayuki Yamamoto 731e189014 bpo-25658: Implement PEP 539 for Thread Specific Storage (TSS) API (GH-1362)
See PEP 539 for details.

Highlights of changes:

- Add Thread Specific Storage (TSS) API
- Document the Thread Local Storage (TLS) API as deprecated
- Update code that used TLS API to use TSS API
2017-10-06 20:41:34 +10:00
Stefan Grönke f1502d097c bpo-31569: correct PCBuild/ case to PCbuild/ in build scripts and docs (GH-3711) 2017-09-25 17:58:10 +01:00
Serhiy Storchaka 13ad3b7a82 bpo-31462: Remove trailing whitespaces. (#3564) 2017-09-14 09:38:36 +03:00
Eric Snow fc1bf872e9 bpo-30860: Move windows.h include out of internal/*.h. (#3458)
PR #3397 introduced a large number of warnings to the Windows build. This patch fixes them.
2017-09-11 18:30:43 -07:00
Steve Dower af8d6b9072 Fixes reference leak (#3457) 2017-09-08 11:35:38 -07:00
Eric Snow 2ebc5ce42a bpo-30860: Consolidate stateful runtime globals. (#3397)
* group the (stateful) runtime globals into various topical structs
* consolidate the topical structs under a single top-level _PyRuntimeState struct
* add a check-c-globals.py script that helps identify runtime globals

Other globals are excluded (see globals.txt and check-c-globals.py).
2017-09-07 23:51:28 -06:00
Steve Dower 05f01d8525 bpo-30389 Adds detection of VS 2017 to distutils._msvccompiler (#1632) 2017-09-07 11:49:23 -07:00
Antoine Pitrou a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Zachary Ware d01db1c2a2 bpo-31358: Pull zlib out of the repository (GH-3375)
Also enable building externals by default on Windows, use PCbuild\build.bat's -E option to disable it.
2017-09-06 17:29:37 -07:00
Zachary Ware 49ce74efe8 Remove all mention of Windows IA-64 support (GH-3389)
It was mostly removed long ago.
2017-09-06 15:45:25 -07:00
Segev Finer a80e985c49 bpo-9566: Change HANDLE argument parsing to unsigned in msvcrtmodule.c (#2904) 2017-07-26 20:15:18 -07:00
Segev Finer 679b566622 bpo-9566: Fix some Windows x64 compiler warnings (#2492)
* bpo-9566: Silence liblzma warnings

* bpo-9566: Silence tcl warnings

* bpo-9566: Silence tk warnings

* bpo-9566: Silence tix warnings

* bpo-9566: Fix some library warnings

* bpo-9566: Fix msvcrtmodule.c warnings

* bpo-9566: Silence _bz2 warnings

* bpo-9566: Fixed some _ssl warnings

* bpo-9566: Fix _msi warnings

* bpo-9566: Silence _ctypes warnings

* Revert "bpo-9566: Fixed some _ssl warnings"

This reverts commit a639001c94.

* bpo-9566: Also consider NULL as a possible error in HANDLE_return_converter

* bpo-9566: whitespace fixes
2017-07-26 15:17:57 -07:00
Antoine Pitrou f474c5a3f3 bpo-30946: Remove obsolete fallback code in readline module (#2738)
* Remove obsolete fallback code in readline module

* Add NEWS

* Remove obsolete include

* Fix macro on Windows
2017-07-18 17:05:03 +02:00
Segev Finer c40ad03bf2 bpo-30731: python.manifest fix (#2328)
bpo-30731: python.manifest fix
2017-07-13 21:34:42 +02:00
Serhiy Storchaka 6969eaf468 bpo-29464: Rename METH_FASTCALL to METH_FASTCALL|METH_KEYWORDS and make (#1955)
the bare METH_FASTCALL be used for functions with positional-only
parameters.
2017-07-03 21:20:15 +03:00
INADA Naoki 6b42eb1764 bpo-29585: Fix sysconfig.get_config_var("PYTHONFRAMEWORK") (GH-2483)
`PYTHONFRAMEWORK` is defined in `Makefile` and it shoulnd't be used
in `pyconfig.h`.

`sysconfig.py --generate-posix-vars` reads config vars from Makefile
and `pyconfig.h`.  Conflicting variables should be avoided.

Especially, string config variables in Makefile are unquoted, but
in `pyconfig.h` are keep quoted.  So it should be private (starts with
underscore).
2017-06-29 15:31:38 +09:00
Segev Finer 9f3bdcb643 bpo-23451: Fix socket deprecation warnings in socketmodule.c (#2318)
* bpo-23451: Fix WSASocket and WSADuplicateSocket deprecation warnings

* bpo-23451: Add backwards compatibility note about socket share/fromshare

* bpo-23451: Fixed `WSAAddressToString`/`WSAStringToAddress` deprecation warnings

* bpo-23451: Use `inet_pton`/`inet_ntop` instead of `WSAAddressToString`/`WSAStringToAddress`

* bpo-23451: Move `HAVE_INET_PTON` from _socket.vcxproj to pyconfig.h

* bpo-23451: Add SUPPRESS_DEPRECATED_CALL to socketmodule.c

* bpo-23451: Add a NEWS.d entry

* bpo-23451: Corrected NEWS.d entry
2017-06-28 13:51:00 -07:00
Steve (Gadget) Barnes 5b8f972e09 bpo-30362 : Add list options to launcher. (#1578)
* bpo-30362 Add list options to launcher.

* bpo-30362 Add list options to help message.

* To avoid possible later conflict with python replaced flags with --launcher-list and --launcher-list-paths

* bpo-30362 Changed flag to -0 as suggested on review.

* bpo-30362: Modified to default to not path for -0, -0p to dispaly path and append * to default

* bpo-30362: Modified to display list on required version not found.

* bpo-30362 add --list and --list-paths added back in following review by paul.moore

* bpo-30362 Cleaner handing of -0 & -0p by not calling exit directly per review by @zooba

* bpo-30362: Tidy up and add news & what's new

Removed commented out line of code in PC/launcher.c.
Added the results of using blurb to add details of bpo-30362 & bpo-30291.
Updated Doc/whatsnew/3.7.rst to add a Windows only section covering both tickets.

* bpo-30362 Resolve conflict in Doc/whatsnew/3.7.rst

* bpo-30362:Address Whitespace Issue in Doc\whatsnew\3.7.rst

* Shorten NEWS message for bpo-30362

* Shorten NEWS item for bpo-30291
2017-06-28 12:14:52 -07:00
Victor Stinner b01c574ad6 bpo-29585: Define PYTHONFRAMEWORK in PC/pyconfig.h (#2477)
* bpo-29585: Fix PC/pyconfig.h whitespaces

Run "make patchcheck".

* bpo-29585: Define PYTHONFRAMEWORK in PC/pyconfig.h

* site: Fix path separator in _get_path() on Windows
2017-06-28 18:34:42 +02:00
Serhiy Storchaka ccdc09ed1e Fix compiler warnings on Windows introduced in bpo-13617. (#2464) 2017-06-28 09:55:22 +03:00
Serhiy Storchaka f7eae0adfc [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302)
Based on patch by Victor Stinner.

Add private C API function _PyUnicode_AsUnicode() which is similar to
PyUnicode_AsUnicode(), but checks for null characters.
2017-06-28 08:30:06 +03:00
Steve Dower 40a23e8899 bpo-30687: Fixes build scripts to find msbuild.exe and stop relying on vcvarsall.bat (#2252)
* Fixes build scripts to find msbuild.exe and stop relying on vcvarsall.bat
Also fixes bdist_wininst.vcxproj to use correct version in generated name.
2017-06-19 10:34:25 -07:00
Zachary Ware 6b6e687766 bpo-27425: Be more explicit in .gitattributes (GH-840)
Updates checked-in line endings on several files.
2017-06-10 14:58:42 -05:00
Sylvain 7445381c60 bpo-30600: Fix error messages (condition order in Argument Clinic) (#2051)
The function '_PyArg_ParseStack()' and
'_PyArg_UnpackStack' were failing (with error
"XXX() takes Y argument (Z given)") before
the function '_PyArg_NoStackKeywords()' was called.
Thus, the latter did not raise its more meaningful
error : "XXX() takes no keyword arguments".
2017-06-10 07:51:48 +03:00
Eric Snow e377416c10 bpo-29102: Add a unique ID to PyInterpreterState. (#1639) 2017-05-22 19:46:40 -07:00
Steve (Gadget) Barnes 870f6a11dd bpo-30291 Changes to launcher so as to allow py -3-32, -2.7-64, 3.10, etc.
bpo-30291 Changes to launcher so as to allow py -3-32, -2.7-64, 3.10, etc.
2017-05-12 16:21:26 -07:00
Serhiy Storchaka 55fe1ae970 bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051) 2017-04-16 10:46:38 +03:00
Serhiy Storchaka 0b3ec19225 Use NULL rather than 0. (#778)
There was few cases of using literal 0 instead of NULL in the context of
pointers.  While this was a legitimate C code, using NULL rather than 0 makes
the code clearer.
2017-03-23 17:53:47 +02:00
Serhiy Storchaka 4dadcd4ed7 bpo-26121: Use C library implementation for math functions erf() and erfc() on Windows. (#632) 2017-03-12 13:39:22 +02:00
Xiang Zhang 0710d75425 bpo-29770: remove outdated PYO related info (GH-590) 2017-03-11 13:02:52 +08:00
Steve Dower 824c6fdfaa Issue #29326: Ignores blank lines in ._pth files (Patch by Alexey Izbyshev) 2017-02-04 15:19:46 -08:00
Steve Dower 5f9193a6ed Issue #29326: Ignores blank lines in ._pth files (Patch by Alexey Izbyshev) 2017-02-04 15:19:29 -08:00
Steve Dower 38dbaced03 Issue #29392: Prevent crash when passing invalid arguments into msvcrt module. 2017-02-04 15:05:50 -08:00
Steve Dower bf0fc39edb Issue #29392: Prevent crash when passing invalid arguments into msvcrt module. 2017-02-04 15:05:40 -08:00
Steve Dower 21fae03e16 Issue #29392: Prevent crash when passing invalid arguments into msvcrt module. 2017-02-04 15:05:13 -08:00
Serhiy Storchaka 6e08baf12d Issue #27867: Function PySlice_GetIndicesEx() is deprecated and replaced with
a macro if Py_LIMITED_API is not set or set to the value between 0x03050400
and 0x03060000 (not including) or 0x03060100 or higher.  Added functions
PySlice_Unpack() and PySlice_AdjustIndices().
2017-01-25 13:27:44 +02:00
Serhiy Storchaka 512c57cb72 Issue #27867: Function PySlice_GetIndicesEx() is replaced with a macro if
Py_LIMITED_API is not set or set to the value between 0x03050400
and 0x03060000 (not including) or 0x03060100 or higher.
2017-01-25 13:25:52 +02:00
Serhiy Storchaka b2a5be0763 Issue #27867: Function PySlice_GetIndicesEx() is replaced with a macro if
Py_LIMITED_API is not set or set to the value between 0x03050400
and 0x03060000 (not including) or 0x03060100 or higher.
2017-01-25 13:23:05 +02:00
Serhiy Storchaka 228b12edcc Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
possible.  Patch is writen with Coccinelle.
2017-01-23 09:47:21 +02:00
Victor Stinner 259f0e4437 Run Argument Clinic: METH_VARARGS=>METH_FASTCALL
Issue #29286. Run Argument Clinic to get the new faster METH_FASTCALL calling
convention for functions using only positional arguments.
2017-01-17 01:35:17 +01:00
Victor Stinner 3e1fad6913 Rename _PyArg_ParseStack to _PyArg_ParseStackAndKeywords
Issue #29286.
2017-01-17 01:29:01 +01:00
Serhiy Storchaka 683cb8347a Issue #23903: Added missed Windows-specific names to PC/python3.def. 2016-12-27 17:44:18 +02:00
Serhiy Storchaka 32665009c3 Issue #23903: Added missed Windows-specific names to PC/python3.def. 2016-12-27 17:41:07 +02:00
Serhiy Storchaka e721be1faa Issue #23903: Added missed Windows-specific names to PC/python3.def. 2016-12-27 17:38:16 +02:00
Serhiy Storchaka fd54a74539 Issue #23903: Added missed names to PC/python3.def. 2016-12-27 12:17:41 +02:00
Serhiy Storchaka c70081cfc1 Issue #23903: Added missed names to PC/python3.def. 2016-12-27 12:13:05 +02:00
Serhiy Storchaka 6664e8c741 Issue #23903: Added missed names to PC/python3.def. 2016-12-27 12:10:58 +02:00
Serhiy Storchaka b6dc37e88d Issue #23903: Fixed errors and remove non-existing names in python3.def. 2016-12-27 11:51:56 +02:00
Serhiy Storchaka 26f15a430f Issue #23903: Fixed errors and remove non-existing names in python3.def. 2016-12-27 11:51:15 +02:00
Serhiy Storchaka d54d3d3d90 Issue #23903: Fixed errors and remove non-existing names in python3.def. 2016-12-27 11:49:53 +02:00
Serhiy Storchaka 1dd81012e9 Sort and remove duplicates from PC/python3.def (issue #23903). 2016-12-23 22:13:29 +02:00
Serhiy Storchaka 0dc1fa6d22 Sort and remove duplicates from PC/python3.def (issue #23903). 2016-12-23 22:11:57 +02:00
Serhiy Storchaka ab23347916 Sort and remove duplicates from PC/python3.def (issue #23903). 2016-12-23 22:09:48 +02:00
Steve Dower bbc5877427 Issue #25778: winreg does not truncase string correctly (Patch by Eryk Sun) 2016-12-17 13:31:58 -08:00
Steve Dower 40fa26606d Issue #25778: winreg does not truncase string correctly (Patch by Eryk Sun) 2016-12-17 13:30:27 -08:00
Yury Selivanov f2392133eb Issue #26110: Add LOAD_METHOD/CALL_METHOD opcodes.
Special thanks to INADA Naoki for pushing the patch through
the last mile, Serhiy Storchaka for reviewing the code, and to
Victor Stinner for suggesting the idea (originally implemented
in the PyPy project).
2016-12-13 19:03:51 -05:00
Steve Dower e6bb53bf61 Issue #26071: Fixes preprocessor definition and rebuilds wininst-14.0[-amd64].exe 2016-12-13 09:06:55 -08:00
Steve Dower 7262b42fd1 Issue #26071: Fixes preprocessor definition and rebuilds wininst-14.0[-amd64].exe 2016-12-13 09:06:42 -08:00
Steve Dower 4347881414 Issue #26071: Fixes preprocessor definition and rebuilds wininst-14.0[-amd64].exe 2016-12-13 09:06:24 -08:00
Steve Dower 06ba3d34b4 Issue #28522: Fixes mishandled buffer reallocation in getpathp.c 2016-10-27 14:29:13 -07:00
Steve Dower c6dd415252 Issue #28522: Fixes mishandled buffer reallocation in getpathp.c 2016-10-27 14:28:07 -07:00
Steve Dower 4a8ff9ef60 Issue #28217: Adds _testconsole module to test console input. 2016-10-03 09:12:42 -07:00
Steve Dower 312cef7452 Issue #28217: Adds _testconsole module to test console input. Fixes some issues found by the tests. 2016-10-03 09:04:58 -07:00
Steve Dower 64566db065 Merge with 3.6 2016-09-17 12:57:03 -07:00
Steve Dower ed51b26858 Issue #28137: Renames Windows path file to ._pth
Issue #28138: Windows ._pth file should allow import site
2016-09-17 12:54:06 -07:00
Martin Panter 369052bb05 Issue #28139: Merge indentation fixes from 3.6 2016-09-17 07:59:32 +00:00
Martin Panter d508d00919 Issue #28139: Merge indentation fixes from 3.5 into 3.6 2016-09-17 07:59:14 +00:00
Martin Panter 6d57fe1c23 Issue #28139: Fix messed up indentation
Also update the classmethod and staticmethod doc strings and comments to
match the RST documentation.
2016-09-17 03:26:16 +00:00
Ned Deily 4829bc6619 Bump to 3.7.0a0 2016-09-12 17:29:04 -04:00
Nick Coghlan 944368e1cc Issue #23722: Initialize __class__ from type.__new__()
The __class__ cell used by zero-argument super() is now initialized
from type.__new__ rather than __build_class__, so class methods
relying on that will now work correctly when called from metaclass
methods during class creation.

Patch by Martin Teichmann.
2016-09-11 14:45:49 +10:00
Martin Panter fd13c0fa01 One more spelling fix 2016-09-10 10:45:28 +00:00
Victor Stinner 37e4ef7b17 Issue #27810: Rerun Argument Clinic on all modules 2016-09-09 20:00:13 -07:00
Steve Dower f2bdb6b8ca Issue #27705: Update message in validate_ucrtbase.py 2016-09-09 18:21:15 -07:00
Steve Dower 2e82bf824e Issue #27705: Update message in validate_ucrtbase.py 2016-09-09 18:25:29 -07:00
Zachary Ware c4b53afce4 Issue #28046: Remove platform-specific directories from sys.path 2016-09-09 17:59:49 -07:00
Steve Dower 3ceb573a72 Fix call to PathCombineW. 2016-09-09 15:53:58 -07:00
Steve Dower 502893896a Issue #27874: Allows use of pythonXX.zip file as landmark on Windows 2016-09-09 14:22:43 -07:00
Steve Dower 6ceda631af Issue #24594: Validates persist parameter when opening MSI database 2016-09-09 11:56:34 -07:00
Steve Dower 2a2becc1d1 Merge with 3.5 2016-09-09 12:09:07 -07:00
Steve Dower 4db86bc1b4 Changes pyvenv.cfg trick into an actual sys.path file. 2016-09-09 09:17:35 -07:00
Yury Selivanov f8cb8a16a3 Issue #27985: Implement PEP 526 -- Syntax for Variable Annotations.
Patch by Ivan Levkivskyi.
2016-09-08 20:50:03 -07:00
Steve Dower 940f33a50f Issue #23524: Finish removing _PyVerify_fd from sources 2016-09-08 11:21:54 -07:00
Benjamin Peterson cc854499e4 clinic: PY_LONG_LONG -> long long 2016-09-08 09:29:11 -07:00
Benjamin Peterson 123374463b hardcode sizeof(_Bool) on windows 2016-09-07 11:39:46 -07:00
Christian Heimes 6fe2a75b64 Issue #16113: Add SHA-3 and SHAKE support to hashlib module. 2016-09-07 11:58:24 +02:00
Steve Dower 19ab0fd456 Issue #27731: Opt-out of MAX_PATH on Windows 10 2016-09-06 20:40:11 -07:00
Christian Heimes 7ba8337562 Issue #26798: Hello Winndows, my old friend. I've come to fix blake2 for you again. 2016-09-07 01:45:22 +02:00
Zachary Ware c401881d68 Closes #27982: Allow keyword arguments to winsound functions 2016-09-06 16:32:43 -05:00
Benjamin Peterson ca47063998 replace Py_(u)intptr_t with the c99 standard types 2016-09-06 13:47:26 -07:00
Serhiy Storchaka ea525a2d1a Issue #27078: Added BUILD_STRING opcode. Optimized f-strings evaluation. 2016-09-06 22:07:53 +03:00
Benjamin Peterson 4fe55106d1 require standard int types to be defined (#17884) 2016-09-06 11:58:01 -07:00
Benjamin Peterson af580dff4a replace PY_LONG_LONG with long long 2016-09-06 10:46:49 -07:00
Zachary Ware 625cb379f7 Issue #25387: Check return value of winsound.MessageBeep 2016-09-05 17:32:28 -05:00
Larry Hastings 10108a7b9a Issue #27355: Removed support for Windows CE. It was never finished,
and Windows CE is no longer a relevant platform for Python.
2016-09-05 15:11:23 -07:00
Zachary Ware ae8298bfb7 Closes #11620: Fix support for SND_MEMORY in winsound.PlaySound.
Based on a patch by Tim Lesher.
2016-09-05 16:31:21 -05:00
Steve Dower c7d1cf4de9 Issue #27756: Adds new icons for Python files and processes on Windows. Designs by Cherry Wang. 2016-09-05 14:05:17 -07:00
Serhiy Storchaka 9171a8b4ce Issue #27574: Decreased an overhead of parsing keyword arguments in functions
implemented with using Argument Clinic.
2016-08-14 10:52:18 +03:00
Steve Dower edddc2704c Issue #27469: Adds a shell extension to the launcher so that drag and drop works correctly. 2016-07-23 08:02:02 -07:00
Steve Dower 5e24b98fc3 Merge from 3.5 2016-07-17 21:58:11 -07:00
Steve Dower 5852fa3f72 Removes unused files from PC folder. 2016-07-17 21:58:01 -07:00
Steve Dower b6467902aa Issue #27309: Enables proper Windows styles in python[w].exe manifest. 2016-07-17 21:40:06 -07:00
Steve Dower 25f9cf479f Issue #27309: Enables proper Windows styles in python[w].exe manifest. 2016-07-17 21:39:13 -07:00
Steve Dower df450d1a18 Issue #27469: Adds a shell extension to the launcher so that drag and drop works correctly. 2016-07-16 16:17:33 -07:00
Serhiy Storchaka 2954f83999 - Issue #27332: Fixed the type of the first argument of module-level functions
generated by Argument Clinic.  Patch by Petr Viktorin.
2016-07-07 18:20:03 +03:00
Serhiy Storchaka 1a2b24f02d Issue #27332: Fixed the type of the first argument of module-level functions
generated by Argument Clinic.  Patch by Petr Viktorin.
2016-07-07 17:35:15 +03:00
Serhiy Storchaka cf2ad55511 Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling
function with generalized unpacking (PEP 448) and conflicting keyword names
could cause undefined behavior.
2016-06-12 09:35:13 +03:00
Serhiy Storchaka 3c317e76a2 Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling
function with generalized unpacking (PEP 448) and conflicting keyword names
could cause undefined behavior.
2016-06-12 09:22:01 +03:00
Serhiy Storchaka 6a7506a77f Issue #27140: Added BUILD_CONST_KEY_MAP opcode. 2016-06-12 00:39:41 +03:00
doko@ubuntu.com 87a8bcc221 - Issue #17500, and https://github.com/python/pythondotorg/issues/945: Remove
unused and outdated icons.
2016-06-10 18:23:35 +02:00
doko@ubuntu.com 339880809a - Issue #17500, and https://github.com/python/pythondotorg/issues/945: Remove
unused and outdated icons.
2016-06-10 18:25:42 +02:00
Serhiy Storchaka 5dee6551e2 Issue #26305: Argument Clinic now uses braces in C code as required by PEP 7. 2016-06-09 16:16:06 +03:00
Serhiy Storchaka 877826ad3d Regenerate Argument Clinic code for issue #23026. 2016-06-09 16:01:19 +03:00
Steve Dower 4d4bc42c8b Closes #23026: Documentation improvements and code formatting 2016-05-25 11:26:07 -07:00
Steve Dower 80ac11d01e Issue #23026: winreg.QueryValueEx() now return an integer for REG_QWORD type. (Patch by hakril) 2016-05-24 15:42:04 -07:00
Serhiy Storchaka b0f80b0312 Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode.
Patch by Demur Rumed.
2016-05-24 09:15:14 +03:00
Paul Moore 835416cf7c Issue #27064: The py.exe launcher now defaults to Python 3.
The Windows launcher ``py.exe`` no longer prefers an installed
Python 2 version over Python 3 by default when used interactively.
2016-05-22 12:28:41 +01:00
Steve Dower aa99b8e365 Merge with 3.5 2016-05-16 11:05:00 -07:00
Steve Dower dc953a5078 Fixes magic numbers for 3.6. 2016-05-16 11:04:44 -07:00
Steve Dower 8d0abb9eb6 Issue #26073: Updates magic number comment in _bootstrap_external.py and changes numbers in launcher.py to decimal to match official table. 2016-05-16 09:35:18 -07:00
Steve Dower 7ae61af827 Issue #26073: Updates magic number comment in _bootstrap_external.py and changes numbers in launcher.py to decimal to match official table. 2016-05-16 09:34:20 -07:00
Martin Panter 1ce738e08f Merge typo fixes from 3.5 2016-05-08 14:02:35 +00:00
Martin Panter 4c35964b76 Corrections for a/an in code comments and documentation 2016-05-08 13:53:41 +00:00
Serhiy Storchaka b6a9c9761c Issue #26778: Fixed "a/an/and" typos in code comment, documentation and error
messages.
2016-04-17 09:39:28 +03:00
Serhiy Storchaka 6a7b3a77b4 Issue #26778: Fixed "a/an/and" typos in code comment and documentation. 2016-04-17 08:32:47 +03:00
Steve Dower a4d41b3a3e Closes #26624: Adds validation of ucrtbase[d].dll version with warning for old versions. 2016-04-12 20:11:45 -07:00
Steve Dower a7a222fde7 Closes #26624: Adds validation of ucrtbase[d].dll version with warning for old versions. 2016-04-12 20:11:25 -07:00
Steve Dower 765c635dc8 Adds version info to all signed binaries on Windows 2016-04-06 12:36:23 -07:00
Steve Dower b0660582cc Adds version info to all signed binaries on Windows. 2016-04-06 12:35:24 -07:00
Victor Stinner 3aac0adfe0 Cleanup regrtest "main()" function
* Rename libregrtest.main_in_temp_cwd() to libregrtest.main()
* Add regrtest.main_in_temp_cwd() alias to libregrtest.main()
* Move old main_in_temp_cwd() code into libregrtest.Regrtest.main()
* Update multiple scripts to call libregrtest.main()
2016-03-24 17:53:20 +01:00
Victor Stinner e985726553 _msi.c: try to fix compiler warnings 2016-03-23 11:37:41 +01:00
Victor Stinner ccb1f8cb1a getpathp.c: fix compiler warning
wcsnlen_s() result type is size_t.
2016-03-23 11:31:58 +01:00
Steve Dower 709c2aeba6 Issue #26071: bdist_wininst created binaries fail to start and find 32bit Python 2016-01-16 13:55:05 -08:00
Steve Dower 332334f1ab Issue #26071: bdist_wininst created binaries fail to start and find 32bit Python 2016-01-16 13:54:53 -08:00
Steve Dower ca9aab19ab Issue #26073: Update the list of magic numbers in launcher 2016-01-16 13:48:31 -08:00
Steve Dower 87fb7f64d8 Issue #26073: Update the list of magic numbers in launcher 2016-01-16 13:48:06 -08:00
Mark Hammond 32d1e56bda Issue #26070: py.exe launcher fails to find in-place built binaries from earlier Python versions. 2016-01-11 14:53:01 +11:00
Mark Hammond ce543fd795 Issue #26070: py.exe launcher fails to find in-place built binaries from earlier Python versions. 2016-01-11 14:50:22 +11:00
Benjamin Peterson 71db903563 merge 3.5 2016-01-01 10:25:22 -06:00
Benjamin Peterson 4c70293755 merge 3.4 2016-01-01 10:25:12 -06:00
Benjamin Peterson e8c2a957c8 merge 3.3 2016-01-01 10:24:21 -06:00
Benjamin Peterson 75e3630c60 2016 will be another year of writing copyrighted code 2016-01-01 10:23:45 -06:00
Vinay Sajip 40005a7807 Closes #25360: Merged fix from 3.5. 2015-12-26 13:11:38 +00:00
Vinay Sajip a5892abf23 Fixes #25360: Search for pythonw.exe when in pyw.exe. 2015-12-26 13:10:51 +00:00
Vinay Sajip aab9f46c6d Closes #25789: Improved buffering behaviour in launcher. 2015-12-26 12:35:47 +00:00
Serhiy Storchaka be22a911ff Test UTF-32LE before UTF-16LE since UTF-16LE BOM is a prefix of UTF-32LE BOM. 2015-12-18 10:23:29 +02:00
Serhiy Storchaka 29e2aa696d Test UTF-32LE before UTF-16LE since UTF-16LE BOM is a prefix of UTF-32LE BOM. 2015-12-18 10:23:09 +02:00
Serhiy Storchaka f8ed0044f6 Issue #25889: Got rid of warning about mixing signed/unsigned char pointers. 2015-12-18 10:19:30 +02:00
Serhiy Storchaka 9bb0958b23 Issue #25893: Removed unused variable reqdSize.
Added test for return code for the last RegQueryValueExW.
2015-12-18 09:54:59 +02:00
Serhiy Storchaka e0cb9da9d6 Issue #25893: Removed unused variable reqdSize.
Added test for return code for the last RegQueryValueExW.
2015-12-18 09:54:19 +02:00
Vinay Sajip 67dbd0d73c Fixes #25844: Merged fix from 3.5. 2015-12-13 09:45:19 +00:00
Vinay Sajip a1d6f39997 Fixes #25844: Corrected =/== typo potentially leading to crash in launcher. 2015-12-13 09:44:15 +00:00
Vinay Sajip abeb6479bd Fixes #25844: Corrected =/== typo potentially leading to crash in launcher. 2015-12-13 09:41:29 +00:00
Martin Panter b4ce1fc31b Issue #5319: New Py_FinalizeEx() API to exit with status 120 on failure 2015-11-30 03:18:29 +00:00
Benjamin Peterson 860c8a404a merge 3.5 (#25502) 2015-10-28 23:15:22 -07:00
Benjamin Peterson 669ff66c32 remove duplicated imports (closes #25502) 2015-10-28 23:15:13 -07:00
Martin Panter 9955a373a8 Various minor typos in documentation and comments 2015-10-07 10:26:23 +00:00
Steve Dower ebbad80e85 Merge from 3.5 2015-09-22 18:21:13 -07:00
Steve Dower 5f62112db4 Issues #25112: py.exe launcher is missing icons 2015-09-22 18:20:58 -07:00
Steve Dower 8ef1db34bb Merge with 3.5 2015-09-22 17:01:17 -07:00
Steve Dower 3a0f471e5f Issue #25213: Restores requestedExecutionLevel to manifest to disable UAC virtualization. 2015-09-22 14:33:31 -07:00
Victor Stinner ba45295938 ssue #25207: fix ICC compiler warning in msvcrtmodule.c 2015-09-21 22:40:28 +02:00
Zachary Ware d038b78599 Closes #25022: Merge with 3.5 2015-09-10 15:03:02 -05:00
Zachary Ware 018e380d55 Issue #25022: Merge with 3.4 2015-09-10 15:02:14 -05:00
Zachary Ware b54a068204 Issue #25022: Remove PC/example_nt/
It was very much outdated, and the topic is better covered elsewhere.
2015-09-10 14:37:42 -05:00
Zachary Ware 95c0646547 Closes #24953: Merge with 3.5 2015-08-29 00:13:14 -05:00
Zachary Ware 7503ca7b16 Issue #24953: Include ICC version in sys.version string when bulit with ICC on Windows 2015-08-28 23:52:31 -05:00
Serhiy Storchaka ec466a15d9 Fixed indentation of Python examples in C comments. 2015-06-11 00:09:32 +03:00
Serhiy Storchaka 553e156921 Fixed indentation of Python examples in C comments. 2015-06-11 00:07:47 +03:00
Serhiy Storchaka d741a88049 Fixed indentation of Python examples in C comments. 2015-06-11 00:06:39 +03:00
Eric Snow 06a6a83826 Issue #16991: Use the correct version for master. 2015-05-30 14:34:10 -06:00
Eric Snow 59b2f6803c Merge from 3.5. 2015-05-30 14:26:40 -06:00
Eric Snow f3b73ad51d Issue #16991: Add PyODict* to Windows builds. 2015-05-30 14:19:27 -06:00
Yury Selivanov 7aa5341164 Reverting my previous commit.
Something went horribly wrong when I was doing `hg rebase`.
2015-05-30 10:57:56 -04:00
Zachary Ware 41a6a625d4 Update Windows build for 3.6 2015-05-28 17:30:03 -05:00
Steve Dower f64b9d5c71 Fixes handling of long values of PYTHONPATH on Windows. 2015-05-23 17:34:50 -07:00
Steve Dower 11d7b1423f Issue #24268: Adds PyModuleDef_Init and PyModuleDef_Type to python3.def (stable ABI) 2015-05-23 14:44:37 -07:00
Nick Coghlan d5cacbb1d9 PEP 489: Multi-phase extension module initialization
Known limitations of the current implementation:

- documentation changes are incomplete
- there's a reference leak I haven't tracked down yet

The leak is most visible by running:

  ./python -m test -R3:3 test_importlib

However, you can also see it by running:

  ./python -X showrefcount

Importing the array or _testmultiphase modules, and
then deleting them from both sys.modules and the local
namespace shows significant increases in the total
number of active references each cycle. By contrast,
with _testcapi (which continues to use single-phase
initialisation) the global refcounts stabilise after
a couple of cycles.
2015-05-23 22:24:10 +10:00
Steve Dower 4a7fe7e397 Issue #23955: Add pyvenv.cfg option to suppress registry/environment lookup for generating sys.path.
Also cleans up and secures getpathp.c
2015-05-22 15:10:10 -07:00
Zachary Ware f4e6030542 Closes #21931: Merge with 3.4 2015-05-18 00:49:15 -05:00
Zachary Ware 0a29e898cd Issue #21931: Fix error handling in msilib.FCICreate().
Patch by Jeffrey Armstrong.
2015-05-18 00:47:15 -05:00
Steve Dower 71f574f707 Issue #23995: Removes _WCONIO_DEFINED check as the wchar_t console functions are always available. 2015-05-13 19:35:49 -07:00