ANNOUNCE: Tcl/Tk 8.0.5

0 views
Skip to first unread message

Brent Welch

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
Tcl 8.0.5/Tk 8.0.5 Release Announcement
March 9, 1999

We are pleased to announce the 8.0.5 releases of the Tcl scripting
language and the Tk toolkit. This patch release has over 30 bug fixes
that include improvements to the configuration and build process, additions
to the test suite, as well as fixes for the Tcl and Tk core systems.
Many of these patches were contributed by the Tcl user community!
A separate posting will acknowledge those contributors. Thanks!

Where to get the new releases:
------------------------------

Tcl 8.0.5 and Tk 8.0.5 are available by public FTP from ftp.scriptics.com
in the directories /pub/tcl/tcl8_0. Within a few days
they will also appear at numerous mirror sites around the Internet. The
easiest way to retrieve these releases is via the Scriptics Web page for
the 8.0 releases:
http://www.scriptics.com/software/8.0.html

For additional information:
---------------------------

For complete information about all the Tcl/Tk resources available on the
Internet, visit the Tcl Resource Center at Scriptics:
http://www.scriptics.com/resource

Summary of changes:
-------------------

Below is a summary of the most important changes in the 8.0.5 releases.
For a complete list of all changes, see the "changes" files in the Tcl
and Tk source distributions.

1. Various Tcl bug fixes, including (but not limited to):
- NULL return in TclGetStdFiles.
- Fixed the building of dltests on SGI.
- Windows sockets are not kept open by exec'd processes.
- info sharedlibextension always returns ".sl" on HPUX.
- Windows now finds init.tcl even if no registry keys are defined.
- Added support for HKEY_PERFORMANCE_DATA and HKEY_DYN_DATA registry keys.
- The "open" implementation uses object interfaces.
- fixed core dump from overflowing exception stack in some expressions.
- BSDI 4.x support added to configure script.
- Fixed bug with upvar and deleted namespaces.
- Fixed the delete of a renamed interp.

2. Various Tk bug fixes, including (but not limited to):
- Sanity check on font names because on some X servers XQueryLoadFont
always returns a font, even if the font name is complete junk.
- Fixed bug in "grid forget" that led to crashes in rare cases.
- Postscript template uses European character with an umlaut when
determining font height.
- Improved behavior of "focus -force" on Windows.
- Under Windows, changed so toplevels that aren't resizable don't
have resize handles and the zoom box is disabled.
- Configure bug fix for TK_LD_SEARCH_FLAGS
- Changed to treat zero width lines in the canvas like they have
width 1 for purposes of selection
- Added a workaround for a bug in GetTextExtentExPoint on Win
NT 4.0/Japanese that cause a crash in some cases.
- Fixed uninitialized memory access bug in Unix send code.

3. Minor feature change in the "file extension" command. It now
returns, e.g., ".o" if a file ends in "..o". The old behavior was to
return "..o", and that was done to support a hack involved in dynamic
loading on some platforms. That trick is no longer needed and so "file
extension" is returning to normal.

4. Minor feature added to socket command so they handle errors during
async connections. Added fconfigure -error option to retrieve the
failure message.

5. Changed keyboard shortcuts so they will only be found in the current
toplevel. Previously, they might be found in menus attached to other
toplevels that might not even be mapped.

-- Brent Welch <we...@scriptics.com>
http://www.scriptics.com
Scriptics: The Tcl Platform Company

Chang LI

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
Brent Welch wrote:
>
> Tcl 8.0.5/Tk 8.0.5 Release Announcement
> March 9, 1999
>

Is Tk 8.0.5 a loadable extension for Tcl 8.0.5?



> We are pleased to announce the 8.0.5 releases of the Tcl scripting
> language and the Tk toolkit. This patch release has over 30 bug fixes
> that include improvements to the configuration and build process, additions
> to the test suite, as well as fixes for the Tcl and Tk core systems.
> Many of these patches were contributed by the Tcl user community!
> A separate posting will acknowledge those contributors. Thanks!
>

--
--------------------------------------------------------------
Chang LI, Neatware
email: cha...@neatware.com
--------------------------------------------------------------

Alexandre Ferrieux

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
Brent Welch wrote:
>
> Tcl 8.0.5/Tk 8.0.5 Release Announcement
> March 9, 1999

No Stubs ???

-Alex

Scott Redman

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
Actually, if your tclsh is built with --enable-shared,
then yes, and it has been for a while:

package require Tk

The trick is that you need to add vwait to the end of
your script in order to put it in the event loop. That's
a bigger issue. And you're pretty hosed with an interactive
tclsh (unless you periodically type "update" as well).
Wish is more event-driven.

If this doesn't work, then their may be other problems.

-- Scott Redman
-- Scriptics Corporation


Chang LI wrote in message <36E60C...@neatware.com>...


>Brent Welch wrote:
>>
>> Tcl 8.0.5/Tk 8.0.5 Release Announcement
>> March 9, 1999
>>
>

Don Porter

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
Chang LI wrote in message <36E60C...@neatware.com>...
>> Is Tk 8.0.5 a loadable extension for Tcl 8.0.5?

Scott Redman <red...@scriptics.com> wrote:
> Actually, if your tclsh is built with --enable-shared,
> then yes, and it has been for a while:
>
> package require Tk

If the definition of "loadable extension" is that "package require Tk"
works out of the box, then no, Tk is not a loadable extension in
Tcl/Tk 8.0.5 . Neither "make install" on Unix, nor the tcl805.exe
installer program on Windows installs a pkgIndex.tcl file which would
be needed to enable that function.

It is (mostly? [*]) true that the Tk shared library can be loaded into
tclsh using the [load] command. Therefore, it's not difficult to
create and install the missing pkgIndex.tcl file yourself if you know
something about the Tcl package architecture. It's not a feature of
Tcl/Tk 8.0.5 as shipped though.

[*] I seem to recall that some Unix platforms have trouble loading Tk
dynamically because the X libraries also have to be loaded? Or
something like that?

--
| Don Porter, D.Sc. Mathematical and Computational Sciences Division |
| donald...@nist.gov Information Technology Laboratory |
| http://math.nist.gov/mcsd/Staff/DPorter/ NIST |
|______________________________________________________________________|

Don Porter

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
>Brent Welch wrote:
>> Tcl 8.0.5/Tk 8.0.5 Release Announcement
>> March 9, 1999

Alexandre Ferrieux <alexandre...@cnet.francetelecom.fr> wrote:
> No Stubs ???

Sorry if you were misled by my previous article. The Stubs code
started appearing in the CVS sources a few days ago. Judging from
the content of the Tcl/Tk 8.0.5 distributions, it appears they
were frozen about 2 weeks ago. Look for Stubs in Tcl 8.0.6.

Scott Redman

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
Don is correct, we are working on it for 8.0.6 and 8.1 simultaneously.
Assuming all goes well, we'll make an announcement soon regarding one
or the other... (sorry to be vague, but until it's released, well you
know...).


-- Scott Redman
-- Scriptics Corporation

Scott Redman

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
My mistake, it works if you load the tk shared library or dll
with the "load" command or if you tweak the pkgIndex.tcl. But,
it is loadable (in a dynamically linked tclsh).

We are considering changes to the pkgIndex.tcl, probably after the
stubs code is implemented. Currently, there are problems with
statically-built tclsh's, since tk.so is linked to tcl.so, as
soon as you load tk.so you get an extra copy of the Tcl code (one
that is statically linked, tcl.a, and one that is dynamically
linked, tcl.so). The X library issue is really only a problem
on OS's that don't let shared libraries link to other shared libraries
properly (SunOS 4 probably had this problem, but Solaris 2+ should
not).

The stubs code fixes the multiple copy problem, and should be
ready for 8.1b2. We haven't discussed any schedules for the
pkgIndex issue yet, but we didn't want to add any entries until
after the stubs code because of statically-built shells. And, with
the stubs code, Tk should be loadable even by a statically built tclsh.

The stubs code in 8.0.6 may not get Tk loadable for that release
(there is an issue with wish and bootstrapping right now). We'll
see...

-- Scott

Don Porter wrote in message <7c6p86$eiu$1...@clover.cam.nist.gov>...


>Chang LI wrote in message <36E60C...@neatware.com>...
>>> Is Tk 8.0.5 a loadable extension for Tcl 8.0.5?
>
>Scott Redman <red...@scriptics.com> wrote:
>> Actually, if your tclsh is built with --enable-shared,
>> then yes, and it has been for a while:
>>
>> package require Tk
>
>If the definition of "loadable extension" is that "package require Tk"
>works out of the box, then no, Tk is not a loadable extension in
>Tcl/Tk 8.0.5 . Neither "make install" on Unix, nor the tcl805.exe
>installer program on Windows installs a pkgIndex.tcl file which would
>be needed to enable that function.
>
>It is (mostly? [*]) true that the Tk shared library can be loaded into
>tclsh using the [load] command. Therefore, it's not difficult to
>create and install the missing pkgIndex.tcl file yourself if you know
>something about the Tcl package architecture. It's not a feature of
>Tcl/Tk 8.0.5 as shipped though.
>
>[*] I seem to recall that some Unix platforms have trouble loading Tk
>dynamically because the X libraries also have to be loaded? Or
>something like that?
>

Paul Duffin

unread,
Mar 11, 1999, 3:00:00 AM3/11/99
to
Alexandre Ferrieux wrote:
>
> Brent Welch wrote:
> >
> > Tcl 8.0.5/Tk 8.0.5 Release Announcement
> > March 9, 1999
>
> No Stubs ???
>
> -Alex

That is going into 8.0.6 AND 8.1 as far as I know.

--
Paul Duffin
DT/6000 Development Email: pdu...@hursley.ibm.com
IBM UK Laboratories Ltd., Hursley Park nr. Winchester
Internal: 7-246880 International: +44 1962-816880

Dave Marquardt

unread,
Mar 11, 1999, 3:00:00 AM3/11/99
to
d...@clover.cam.nist.gov (Don Porter) writes:
> It is (mostly? [*]) true that the Tk shared library can be loaded into
> tclsh using the [load] command. Therefore, it's not difficult to
> create and install the missing pkgIndex.tcl file yourself if you know
> something about the Tcl package architecture. It's not a feature of
> Tcl/Tk 8.0.5 as shipped though.
>
> [*] I seem to recall that some Unix platforms have trouble loading Tk
> dynamically because the X libraries also have to be loaded? Or
> something like that?

And on AIX the shared object is inside an archive, libtk8.0.a, and
"load" won't load an archive, so you need to extract shr.o from
libtk8.0.a and load that. Yuk.

-Dave

lvi...@cas.org

unread,
Mar 11, 1999, 3:00:00 AM3/11/99
to

According to Don Porter <d...@cam.nist.gov>:

:Scott Redman <red...@scriptics.com> wrote:
:> Actually, if your tclsh is built with --enable-shared,
:> then yes, and it has been for a while:
:>
:> package require Tk
:
:If the definition of "loadable extension" is that "package require Tk"
:works out of the box, then no, Tk is not a loadable extension in
:Tcl/Tk 8.0.5 . Neither "make install" on Unix, nor the tcl805.exe


Seems like this is something that could/should be bug reported then, right?

--
<URL: mailto:lvi...@cas.org> Quote: Saving the world before bedtime.
<*> O- <URL: http://www.purl.org/NET/lvirden/>
Unless explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.

Scott Redman

unread,
Mar 11, 1999, 3:00:00 AM3/11/99
to
No, not necessary. I was incorrect in my statement, and we
are already aware of this issue (it's not a bug, more like
an enhancement). Making Tk truly loadable is a goal that
we have, it's more a question of how much time it will take
and when we can get to it.

-- Scott

Paul Duffin

unread,
Mar 11, 1999, 3:00:00 AM3/11/99
to

That won't work. What you need is my patch which lets Tcl build a
shared object on AIX.

Dave Marquardt

unread,
Mar 15, 1999, 3:00:00 AM3/15/99
to
Paul Duffin <pdu...@mailserver.hursley.ibm.com> writes:
> Dave Marquardt wrote:
> >
> > d...@clover.cam.nist.gov (Don Porter) writes:
> > > It is (mostly? [*]) true that the Tk shared library can be loaded into
> > > tclsh using the [load] command. Therefore, it's not difficult to
> > > create and install the missing pkgIndex.tcl file yourself if you know
> > > something about the Tcl package architecture. It's not a feature of
> > > Tcl/Tk 8.0.5 as shipped though.
> > >
> > > [*] I seem to recall that some Unix platforms have trouble loading Tk
> > > dynamically because the X libraries also have to be loaded? Or
> > > something like that?
> >
> > And on AIX the shared object is inside an archive, libtk8.0.a, and
> > "load" won't load an archive, so you need to extract shr.o from
> > libtk8.0.a and load that. Yuk.
>
> That won't work. What you need is my patch which lets Tcl build a
> shared object on AIX.

Well, I did do an extract, and it did seem to work okay, if I remember
right.

-Dave

Paul Duffin

unread,
Mar 15, 1999, 3:00:00 AM3/15/99
to Dave Marquardt

It will work in the sense that you can load Tk dynamically into tclsh,
but you cannot also load extensions which link to Tk and have them
work properly because they will be linked to the shared library, and
so you will end up with two different version of Tk running, one of
which will be unitialised.

The patch I have produced creates a shared object which can be
dynamically loaded and also creates an import file which other
extensions can use to link to Tk.

Reply all
Reply to author
Forward
0 new messages