summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-03-23 22:32:41 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-03-23 22:32:41 (GMT)
commit7204821dbfb025a3a755ebef4a3a13b459bf57ee (patch)
treea0233f47011405ab93b7d13d1f8ae10cabc9e0a8 /tools
parent92ea491e1df5a8c3467062724cc6e6accda787a8 (diff)
parentceadda7eccad9e1d9ab05fc0f8c9fb17e7572381 (diff)
downloadtcl-7204821dbfb025a3a755ebef4a3a13b459bf57ee.zip
tcl-7204821dbfb025a3a755ebef4a3a13b459bf57ee.tar.gz
tcl-7204821dbfb025a3a755ebef4a3a13b459bf57ee.tar.bz2
Merge 8.7
Diffstat (limited to 'tools')
-rw-r--r--tools/genStubs.tcl15
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/genStubs.tcl b/tools/genStubs.tcl
index b02bd9f..87de58c 100644
--- a/tools/genStubs.tcl
+++ b/tools/genStubs.tcl
@@ -811,6 +811,21 @@ proc genStubs::forAllStubs {name slotProc onAll textVar
set temp {}
set plat aqua
if {!$slot(unix) && !$slot(macosx)} {
+ if {[string range $skipString 1 2] ne "/*"} {
+ # genStubs.tcl previously had a bug here causing it to
+ # erroneously generate both a unix entry and an aqua
+ # entry for a given stubs table slot. To preserve
+ # backwards compatibility, generate a dummy stubs entry
+ # before every aqua entry (note that this breaks the
+ # correspondence between emitted entry number and
+ # actual position of the entry in the stubs table, e.g.
+ # TkIntStubs entry 113 for aqua is in fact at position
+ # 114 in the table, entry 114 at position 116 etc).
+ eval {append temp} $skipString
+ set temp "# if TCL_MAJOR_VERSION < 9\n[string range $temp 0 end-1] /*\
+ Dummy entry for stubs table backwards\
+ compatibility */\n# endif /* TCL_MAJOR_VERSION < 9 */\n"
+ }
if {$slot($plat)} {
append temp [$slotProc $name $stubs($name,$plat,$i) $i]
} elseif {$onAll} {