From: SourceForge.net <no...@so...> - 2007-12-12 23:41:38
|
Bugs item #1834288, was opened at 2007-11-19 11:51 Message generated for change (Comment added) made by das You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1834288&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 51. Portability Support Group: None Status: Open Resolution: Fixed Priority: 9 Private: No Submitted By: Jeffrey Hobbs (hobbs) Assigned to: Daniel A. Steffen (das) Summary: genStubs.tcl (or something) is broken Initial Comment: The genstubs script has some code to prevent duplication of entries for macosx and unix items. Unfortunately it doesn't seem to work very well. If you create a unix item in tclInt.decls after slot 20 (listed for macosx), you lose the macosx items completely. This should not happen. This needs to be corrected prior to 8.5.0 otherwise we will lost binary compat with any attempt to add more stubs in the currently broken generation script. ---------------------------------------------------------------------- >Comment By: Daniel A. Steffen (das) Date: 2007-12-13 10:41 Message: Logged In: YES user_id=90580 Originator: NO in fact many more entries in tkIntStubs are affected, anything above entry 112 will be shifted on aqua if we fix this issue, including the generic entries from 135 to 157, so this likely would affect much more extension code than previously thought... Given this, I no longer believe fixing the issue is a viable option, but if the consensus is to go ahead and fix it, I'll go along... ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2007-12-11 08:06 Message: Logged In: YES user_id=90580 Originator: NO if we decide to fix the bug, it certainly should be done now, before 8.5.0 I don't see a huge downside to keeping the status quo however; and given there is at least one widely used extension that will break, the disadvantages of the fix may outweigh the benefits? ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-12-11 07:54 Message: Logged In: NO It would probably be better to fix this now. An 8.4 <-> 8.5 transition problem is less bad than an 8.5.0 <-> 8.5.1 problem would be. ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2007-12-11 07:52 Message: Logged In: YES user_id=90580 Originator: NO FWIW tktreectrl uses a number of the affected functions: TkCreateRegion, TkDestroyRegion, TkUnionRectWithRegion, TkClipBox, TkSetRegion ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2007-12-11 07:37 Message: Logged In: YES user_id=90580 Originator: NO yes, the functions affected by this are all in tkIntStubs, specifically: TkClipBox, TkCreateRegion, TkDestroyRegion, TkIntersectRegion, TkRectInRegion, TkSetRegion, TkUnionRectWithRegion, TkpCreateNativeBitmap, TkpDefineNativeBitmaps, TkpGetNativeAppBitmap If we fix the bug for 8.5.0 (not opposed to it), any extensions using these via stubs will have an 8.4 <-> 8.5 compatibility problem ---------------------------------------------------------------------- Comment By: Jeffrey Hobbs (hobbs) Date: 2007-12-11 06:05 Message: Logged In: YES user_id=72656 Originator: YES Isn't this only for the internal stubs though? The only possible consumer would be Tile. If tile isn't using it, I think correcting this for 8.5.0 is probably the "Right Thing". ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2007-12-11 03:06 Message: Logged In: YES user_id=90580 Originator: NO File Added: tkGenStubs.diff ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2007-12-11 03:06 Message: Logged In: YES user_id=90580 Originator: NO fix committed, patches against tcl and tk HEAD attached, sorry this took longer than anticipated... Unfortunately, I discovered that genStubs.tcl had a bug that could cause it to erroneously generate both a 'unix' entry and an 'aqua' entry for a given stubs table slot. To preserve stubs table backwards compatibility, I now generate a dummy stubs entry before every aqua entry, however this also preserves the bug that the correspondence between emitted entry number and actual position of the entry in the stubs table is broken, e.g. TkIntStubs entry 113 for aqua is in fact at position 114 in the table, entry 114 at position 116 etc (this should only affect things like ffidl which look up stubs table entries by number, I considered preserving stubs table backwards compat to be more important). File Added: tclGenStubs.diff ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2007-12-07 07:50 Message: Logged In: YES user_id=90580 Originator: NO need another 24hrs, no time to work on it today, sorry... ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2007-12-07 06:35 Message: Logged In: YES user_id=80530 Originator: NO Please give me the best ETA you can on this, so I can plan for whether an additional RC makes sense. ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2007-12-05 21:06 Message: Logged In: YES user_id=90580 Originator: NO back to working on this, block 8.5.0 for this, my new code will make the generated files look significantly different (but functionally identical) ---------------------------------------------------------------------- Comment By: Daniel A. Steffen (das) Date: 2007-11-20 08:20 Message: Logged In: YES user_id=90580 Originator: NO looking into this, the problem is that the current code assumes there will never be any unix entries with higher indexes than macosx or aqua or x11 ones. ---------------------------------------------------------------------- Comment By: Jeffrey Hobbs (hobbs) Date: 2007-11-20 08:09 Message: Logged In: YES user_id=72656 Originator: YES The current stubs table is OK, but it is VERY fragile, and this needs to be addressed prior to 8.5.0 because any new "unix" entries will mysteriously kill the existing macosx ones on regen. I had to reorder to make this work, which makes 8.5b3's internal stubs different than 8.5b2s. ---------------------------------------------------------------------- Comment By: Joe English (jenglish) Date: 2007-11-20 04:51 Message: Logged In: YES user_id=68433 Originator: NO Status query: is the stubs table currently broken, or is it just _going to be_ broken if anything new is added? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1834288&group_id=10894 |