classification
Title: include structmember.h in Python.h
Type: enhancement Stage:
Components: Interpreter Core Versions: Python 3.3
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: belopolsky, benjamin.peterson, georg.brandl, herzbube, loewis, rhettinger
Priority: normal Keywords:

Created on 2008-05-16 22:45 by benjamin.peterson, last changed 2011-03-09 02:05 by terry.reedy.

Messages (5)
msg66972 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2008-05-16 22:45
As the comment in descrobject.c says:

/* Why is this not included in Python.h? */
msg67028 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2008-05-18 11:55
We could include it in Py3k.
msg67062 - (view) Author: Alexander Belopolsky (belopolsky) (Python committer) Date: 2008-05-19 14:43
Note that structmember.h pollutes global namespace with macros that do not  
have conventional Py_ or PY_ prefix.  READONLY and RESTRICTED macros seem 
to be most likely to conflict with other code.  I would be -0 on including tructmember.h in Python.h if flags macros are not properly renamed.  +0 
otherwise.  T_* macros are probably OK, but T prefix is reminiscent of 
popular (in some circles) Taligent naming conventions:

http://pcroot.cern.ch/TaligentDocs/TaligentOnline/DocumentRoot/1.0/Docs/bo
oks/WM/WM_63.html#HEADING77
msg79242 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2009-01-06 09:54
Martin, do you want to make the call on this one?
msg79244 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2009-01-06 10:09
I agree with Alexander; the header shouldn't be included into Python.h
as-is.

I would propose to eliminate it eventually, with the following steps:
1. move PyMemberDef and the function declarations into object.h
2. (simultaneously) introduce properly-prefixed macros in object.h
3. deprecate structmember.h
4. remove it
History
Date User Action Args
2011-03-09 02:05:54terry.reedysetnosy: loewis, georg.brandl, rhettinger, belopolsky, benjamin.peterson, herzbube
versions: + Python 3.3, - Python 3.1
2009-10-17 01:20:04herzbubesetnosy: + herzbube
2009-05-16 22:08:37ajaksu2linkissue2921 dependencies
2009-02-02 15:36:00loewissetassignee: loewis ->
2009-01-06 10:09:14loewissetmessages: + msg79244
2009-01-06 09:54:18rhettingersetassignee: loewis
messages: + msg79242
nosy: + loewis, rhettinger
2009-01-06 05:02:53gvanrossumsetnosy: - gvanrossum
2009-01-06 05:02:42gvanrossumsetassignee: gvanrossum -> (no value)
versions: + Python 3.1, - Python 3.0
2008-05-19 14:43:55belopolskysetnosy: + belopolsky
messages: + msg67062
2008-05-18 11:55:51georg.brandlsetassignee: gvanrossum
messages: + msg67028
nosy: + georg.brandl, gvanrossum
versions: + Python 3.0, - Python 2.6
2008-05-16 22:45:28benjamin.petersonsetcomponents: + Interpreter Core
versions: + Python 2.6
2008-05-16 22:45:11benjamin.petersoncreate