msg164582 - (view) |
Author: Eric Snow (eric.snow) *  |
Date: 2012-07-03 06:54 |
There was some concern with PyImport_GetMagicTag() extracting its value from sys.implementation.cache_tag. One solution is to have the two use a common underlying value. However, that's basically what was already in import.c and I'd rather minimize that file at this point. An alternative is to have the underlying value defined in a more amenable spot, but I'm not convinced that buys a whole lot over simply exposing the underlying value in PyImport_GetMagicTag(). If we could deprecate that function... Another possibility is to move the underlying value to configure. The down-side is that it's platform-specific. I've attached a patch that does this. While it may do too much as-is, it demonstrates my point. |
|
|
msg164587 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) *  |
Date: 2012-07-03 07:54 |
Can the #defines appear in pyconfig.h instead? I find it easier to discover them this way, and will also simplify the implementation on Windows. |
|
|
msg164631 - (view) |
Author: Eric Snow (eric.snow) *  |
Date: 2012-07-04 01:43 |
> Can the #defines appear in pyconfig.h instead? I find it easier to > discover them this way, and will also simplify the implementation on > Windows. Agreed. I'd like to pull them into Python/sysmodule.h, though. I'm also going to drop the part that messes with SOABI. |
|
|
msg164675 - (view) |
Author: Larry Hastings (larry) *  |
Date: 2012-07-05 07:38 |
Sorry for the pedantry, but: I read the title of this bug as wanting these two values to be the exact same pointer. If you're talking about putting a constant string in a header file, you'll get an (identical) copy of that string in every .o that references it (unless your linker collapses identical strings, which I don't know if they do). From the description, it sounds like you want them to merely be guaranteed identical strings, but they don't have to be the same exact pointer. tl;dr: do you mean "=="? the title implies you mean "is". |
|
|
msg164683 - (view) |
Author: Brett Cannon (brett.cannon) *  |
Date: 2012-07-05 15:41 |
tl;dr: "==", not "is" Shouldn't tl;dr go first, else it seems a little pointless since I already read the whole thing. At which point the tl;dr is really just a summary of what I just read, not a "didn't read" line. Just being pedantic. =) |
|
|
msg164783 - (view) |
Author: Eric Snow (eric.snow) *  |
Date: 2012-07-07 04:30 |
Here's a new patch that keeps things simpler, but still cleans up the concerns about using sys.implementation.cache_tag in PyImport_GetMagicTag(). |
|
|
msg164785 - (view) |
Author: Eric Snow (eric.snow) *  |
Date: 2012-07-07 04:44 |
Patch updated to include a doc addition. |
|
|
msg165104 - (view) |
Author: Roundup Robot (python-dev)  |
Date: 2012-07-09 18:22 |
New changeset ee01fd98b5b0 by Brett Cannon in branch 'default': Issue #15242: Have PyImport_GetMagicTag() return a const char * http://hg.python.org/cpython/rev/ee01fd98b5b0 |
|
|
msg165105 - (view) |
Author: Brett Cannon (brett.cannon) *  |
Date: 2012-07-09 18:23 |
I went ahead and committed Eric's patch. Amaury, if you want to move the macros to a header file I see no reason not to, but I also don't see a need so I didn't want to spend the time doing it myself. |
|
|
msg165111 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) *  |
Date: 2012-07-09 19:18 |
It's not necessary. The fix looks good as is. |
|
|