You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've just noticed that my application is incompatible with Python 2.5, because ctypes.wintypes is missing SHORT constants. However, I can't find the information when these symbols were introduced first. To prevent such confusion in future it would be nice to extract symbol information for each Python release and automatically include the version of the first appearance in documentation.
Can you provide a patch, or show how to do it concretely?
markm commented on Jun 26, 2011
markmmannequin
Mannequin
More actions
This mostly a documentation concern - correct? ctypes.wintypes is sparsely documented - in 2.7 the help for it seems to be:
"The ctypes.wintypes module provides quite some other Windows specific data types, for example HWND, WPARAM, or DWORD. Some useful structures like MSG or RECT are also defined."
How about the following solution:
First of all get the previous release information
On Sun, Jun 26, 2011 at 10:44:59AM +0000, Mark Mc Mahon wrote:
So we need a doc patch? Should we update the older 'What's new in
Python 2.x' for added attribs?
The Documentation patch may be applied only 2.7 and 3.2/3.3 releases
now. What's new is updated for the upcoming release only.
So, if documenting those constants will help in 2.7.x and 3.2.x and
3.3, it would be helpful to provide patches against those lines and it
can be applied. As you said, the future version can be updated, but we
cannot go back with updating the documentation of the already released
versions.
What's new docs are usually for what is coming up new in the upcoming
releases. It is not updated once the release is done. Bug fixes and
related docs are updated in documentation.
Activity
techtonik commentedon Feb 20, 2011
I've just noticed that my application is incompatible with Python 2.5, because ctypes.wintypes is missing SHORT constants. However, I can't find the information when these symbols were introduced first. To prevent such confusion in future it would be nice to extract symbol information for each Python release and automatically include the version of the first appearance in documentation.
amauryfa commentedon Feb 25, 2011
Can you provide a patch, or show how to do it concretely?
markm commentedon Jun 26, 2011
This mostly a documentation concern - correct? ctypes.wintypes is sparsely documented - in 2.7 the help for it seems to be:
"The ctypes.wintypes module provides quite some other Windows specific data types, for example HWND, WPARAM, or DWORD. Some useful structures like MSG or RECT are also defined."
How about the following solution:
First of all get the previous release information
Future changes have to be updated manually (which probably is not a big deal as it is a reasonably stable module)
In fact I went and got the revision when each attribute was added... (some of those are just ctypes leakage)
{36899: ['ARRAY', 'MSG',
'ArgumentError', 'OLESTR',
'Array', 'OleDLL',
'BOOL', 'POINT',
'BYTE', 'POINTER',
'BigEndianStructure', 'POINTL',
'DEFAULT_MODE', 'PYFUNCTYPE',
'DWORD', 'PyDLL',
'FILETIME', 'RECT',
'FormatError', 'RECTL',
'GetLastError', 'RGB',
'HANDLE', 'RTLD_GLOBAL',
'HDC', 'RTLD_LOCAL',
'HGDIOBJ', 'SIZE',
'HINSTANCE', 'SIZEL',
'HKEY', 'SetPointerType',
'HMENU', 'Structure',
'HMODULE', 'ULARGE_INTEGER',
'HPEN', 'ULONG',
'HRESULT', 'Union',
'HRGN', 'VARIANT_BOOL',
'HTASK', 'WIN32_FIND_DATAA',
'HWND', 'WIN32_FIND_DATAW',
'LARGE_INTEGER', 'WINFUNCTYPE',
'LCID', 'WORD',
'LONG', 'WPARAM',
'LPARAM', 'WinDLL',
'LPCOLESTR', 'WinError',
'LPCSTR', 'alignment',
'LPCWSTR', 'get_errno',
'LPOLESTR', 'get_last_error',
'LPSTR', 'resize',
'LPWSTR', 'set_conversion_mode',
'LibraryLoader', 'set_errno',
'LittleEndianStructure', 'set_last_error',
'MAX_PATH',]
38788: ['ATOM', 'HRSRC',
'BOOLEAN', 'HSTR',
'COLORREF', 'HWINSTA',
'HACCEL', 'LANGID',
'HBITMAP', 'LCTYPE',
'HBRUSH', 'LGRPID',
'HCOLORSPACE', 'SC_HANDLE',
'HDESK', 'SERVICE_STATUS_HANDLE',
'HDWP', 'SMALL_RECT',
'HENHMETAFILE', '_COORD',
'HFONT', '_FILETIME',
'HGLOBAL', '_POINTL',
'HHOOK', '_RECTL',
'HICON', '_SMALL_RECT',
'HKL', 'tagMSG',
'HLOCAL', 'tagPOINT',
'HMETAFILE', 'tagRECT',
'HMONITOR', 'tagSIZE',
'HPALETTE',]
38830: ['DOUBLE',
'UINT',
'WCHAR',
'_LARGE_INTEGER',
'_SimpleCData',
'_ULARGE_INTEGER',
'__all__'],
48320: ['FLOAT',
'INT',
'LPCVOID',
'LPVOID',
'SHORT',
'USHORT']}
48320 -> 2.7?
38830 -> 2.5?
38788 -> 2.5?
36899 -> 2.4?
So we need a doc patch? Should we update the older 'What's new in Python 2.x' for added attribs?
orsenthil commentedon Jun 26, 2011
On Sun, Jun 26, 2011 at 10:44:59AM +0000, Mark Mc Mahon wrote:
The Documentation patch may be applied only 2.7 and 3.2/3.3 releases
now. What's new is updated for the upcoming release only.
So, if documenting those constants will help in 2.7.x and 3.2.x and
3.3, it would be helpful to provide patches against those lines and it
can be applied. As you said, the future version can be updated, but we
cannot go back with updating the documentation of the already released
versions.
techtonik commentedon Jul 3, 2011
On Mon, Jun 27, 2011 at 12:18 AM, Senthil Kumaran
<report@bugs.python.org> wrote:
Why?
anatoly t.
orsenthil commentedon Jul 3, 2011
What's new docs are usually for what is coming up new in the upcoming
releases. It is not updated once the release is done. Bug fixes and
related docs are updated in documentation.
[-]autodocument first appearance of ctypes.wintypes constants[/-][+]Document ctypes.wintypes constants[/+]gh-55462: Document the `ctypes.wintypes` module (GH-159753)
[3.14] gh-55462: Document the `ctypes.wintypes` module (GH-159753) (G…
[3.15] gh-55462: Document the `ctypes.wintypes` module (GH-159753) (G…