home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
dirs
/
tcl_447.lzh
/
TCL
/
Releases
< prev
next >
Wrap
Text File
|
1991-02-02
|
6KB
|
140 lines
Hackercorp - Hackercorp - Hackercorp - Hackercorp - Hackercorp - Hackercorp
Release Alpha 2
- Tcla init commands now require an argument, that being a pointer
to the interpreter into which the init command is to install
their application-specific Tcl commands. (The Alpha release docs
warned that this was forthcoming)
- display command now has a "draw" command for line drawing
- display command now has a "textlength" command to determine the
length in pixels of the specified text if it were to be displayed
- tcla documentation improved
- window command now lets you name the window within the
Tcl environment, rather than returning a "magic" window
name that you had to provide to subsequent window calls
- windows are now maintained on a per-interpreter basis.
(The window and menu data, etc, is contained within
the current interpreter via the clientdata capabiklity)
- when an interpreter exits, all windows still open within that
interpreter are closed
- an arbitrary number of windows are now supported per interpreter.
previously only 32 windows could be opened, total
- each window can now have its own menustrip attached, fixing a really
gross restriction in the alpha release
- menu.c Tcla library routines were folded into window.c and menu.c
was removed. This was essentially dictated by the desire to use
the clientdata field as a pointer to data structures for windows
and menus, we have it at window command addition time because we
allocate it then, but we won't have it handy for menu command
addition time unless we add the menu right then.
- added "window width name" to determine current width of a window
- added "window height name" to determine current height of a window
(these do not include borders, only the drawing area)
- added "display textwidth text" to determine width in pixels of text
- added "display fontheight" to determine height of font in pixels
- made "display move" make 0,0 the edge of the drawing area, not
the border
- all global data has been removed from tcla library and globals are
now accessed indirectly through clientdata references (this will
greatly ease making tcla into a shared library, plus allow multiple
interpreters in a task to use the various tcla capabilities, plus is
more consistent with tcl)
- Tcla_AddEventLoop command lets C interfaces register a routine
name and pointer to a longword wait event mask. When the eventloop
command is running, all event-handling C routines that that have
been registered via Tcla_AddEventLoop have their masks checked against
the wait flags returned by Wait and, if any bits are set in both,
the event-handling routine is called.)
- all event loop event-handling routines with Tcla for windows, menus
and interprocessor communications, etc, have been modified to use
Tcla_AddEventLoop and have had all of their routine-specific code
removed from loop.c.
- Tcl and Tcla are now a shared library
- print, echo, source, exec and run commands now use AmigaDOS directly
(Open, Seek, Read, Write, Close, etc.) rather than going through the
Manx unix-compatibility routines (open, read, write, etc). This
allowed them to be put into the shared library
- Added a command, 'programs', which returns the names of all other
programs that have Tcl messages ports to the shared library
- added a command, 'commandloop' which gives you a Tcl command loop
to the shared library
- added a command, 'random' to get random numbers.
- went back to having 'window open' return a handle that is required
for the other window routines, rather than having a global namespace
(it just didn't work out)
- window messages are replied to before message action is taken, that
way if a window close occurs, etc, we won't reply to a nonexistent
port, causing guru
- erroneous reporting of double panics when multiple tcla library
programs panic fixed -- static data was present in the panic
routine, it has been moved to the per-task TclaHeader structure.
- panic now works
- panic is now callable as a Tcl command for testing. I don't see
a real application for it for which 'error' wouldn't be better,
but who knows?
- programs using tcla.library can now supply a panic routine to be
called in place of the panic routine Tcla calls by default if Tcla
encounters an unrecoverable condition. A panic routine can be
supplied to Tcl via the Tcla_PanicRoutine call. If no routine is
specified a default routine puts up a requester, then after the
user responds follows cleanup logic described below
- programs using tcla.library can now supply a cleanup routine to be
called in place of the Tcla cleanup routine. This is called after
a panic.
- programs using tcla.library can now supply a low-memory routine.
This is done through the Tcla_LowMemRoutine call.
- random now keeps the seed on a per-task basis, so programs can
get deterministic behavior out of random (by seeding with a
constant) for testing purposes
- added a little tcl help application
- added font command, with options to open and close fonts, and to
get a list of fonts available on the system
- added an option to display to select a current font for the window
- made fontheight option of the display command use the current font
rather than the default
- added fonstyle option to display command so Tcl programs can get
a font soft-styled to the various options
- added code to support hit, toggle, string and integer gadgets
- added "default" option to "display font"
Release Alpha 2/26/90
- The Epoch