finding changes in tcl8.7?

59 views
Skip to first unread message

Ralf Fassel

unread,
Jun 15, 2022, 12:00:27 PMJun 15
to
Triggered by yesterdays' virtual meetup I took a chance on recompiling
our code base against tcl8.7a5. Compilation succeeded with minor
changes in some outdated packages (eg still using CONST84 macro which
seems no longer available in 8.7).

Now I'm facing some problems when running the resulting programs.
In order to research these I'm wondering what is the best way to search
for recent changes in tcl8.7 vs tcl8.6.

In the good old ages there were the Changelog files, which are no longer
maintained. Searching the timeline on https://core.tcl-lang.org/ either
returns tons of unrelated results, or none at all.

Eg. I have the problem with old Tix using

global tkPriv
if {![llength [info globals tkPriv]]} {
tk::unsupported::ExposePrivateVariable tkPriv
}

resulting in

invalid command name "tk::unsupported::ExposePrivateVariable"
while executing
"tk::unsupported::ExposePrivateVariable tkPriv"
(file "/homes/ralf/si++aegis/si++.4.0.C716/tcltk/linux/lib64/Tix8.4.3/ComboBox.tcl" line 20)
invoked from within
"source /homes/ralf/si++aegis/si++.4.0.C716/tcltk/linux/lib64/Tix8.4.3/ComboBox.tcl"


Now I wanted to check what happened to either 'tkPriv' (1000+ results)
or "tk::unsupported::ExposePrivateVariable" (1 result which added the
function in 2001, but none about removal).

So: how do I find which check-in affected a specific part of Tcl/Tk?

Thanks
R'

Harald Oehlmann

unread,
Jun 15, 2022, 12:19:28 PMJun 15
to
Am 15.06.2022 um 18:00 schrieb Ralf Fassel:
> Triggered by yesterdays' virtual meetup I took a chance on recompiling
> our code base against tcl8.7a5.

Great ! But as tcl8.7a5 is also quite outdated, it would be great to
test against core-8-branch (tcl) and main (tk). Or better main branch in
both of them.

Unfortunately, I have no answer to your real question, sorry.
I may remark, that the "changes" file is still maintained.
But I did not find your issue there, sorry.

Take care,
Harald

Ralf Fassel

unread,
Jun 15, 2022, 1:06:02 PMJun 15
to
* Harald Oehlmann <wort...@yahoo.de>
| Am 15.06.2022 um 18:00 schrieb Ralf Fassel:
| > Triggered by yesterdays' virtual meetup I took a chance on recompiling
| > our code base against tcl8.7a5.
>
| Great ! But as tcl8.7a5 is also quite outdated, it would be great to
| test against core-8-branch (tcl) and main (tk). Or better main branch
| in both of them.

Ah, ok. I just took what was linked on https://www.tcl-lang.org/ which
leads to https://www.tcl-lang.org/software/tcltk/8.7.html which has a
big "DOWNLOAD SOURCES" link - zu verführerisch :-)

Will retry with latest main branch for Tcl and Tk.

| Unfortunately, I have no answer to your real question, sorry.
| I may remark, that the "changes" file is still maintained.
| But I did not find your issue there, sorry.

My main issue seems related to the changes due to having all the Tcl/Tk
init startup code in zipfs, plus some issues relating to TCL_LIBRARY
environment variables which we required up to 8.6, but these seem no
longer required in 8.7. Stay tuned :-)

R'

Paul Obermeier

unread,
Jun 15, 2022, 1:33:38 PMJun 15
to
Hi Ralf,

Tix does work with Tcl/Tk 8.7.a5 using my BAWT framework.
But I disable zipfs using "--disable-zipfs" when compiling Tcl and Tk.

Paul

Ralf Fassel

unread,
Jun 16, 2022, 5:30:21 AMJun 16
to
* Paul Obermeier <ober...@poSoft.de>
| > My main issue seems related to the changes due to having all the Tcl/Tk
| > init startup code in zipfs, plus some issues relating to TCL_LIBRARY
| > environment variables which we required up to 8.6, but these seem no
| > longer required in 8.7. Stay tuned :-)
| >
>
--<snip-snip>--
| Tix does work with Tcl/Tk 8.7.a5 using my BAWT framework.
| But I disable zipfs using "--disable-zipfs" when compiling Tcl and Tk.

Thanks, Paul!

In the meantime I got it compiling and running with ZIPFS (which I like
to have in the core :-).

The main issue was
a) setting TCL_LIBRARY/TK_LIBRARY in the environment (left-over from
ancient times tcl 8.3, don't ask), and
b) overriding auto_path in our startup instead of appending to it:

set auto_path [list \
$env(TCL_LIBRARY) \
$env(TK_LIBRARY) \
[our libs go here]]

instead of leaving the TCL stuff to tcl, and just appending our stuff

lappend auto_path [our libs go here]

Regression tests are running right now :-)

R'
Reply all
Reply to author
Forward
0 new messages