3110 lines
109 KiB
Raw Blame History

1999-09-27 Erick Gallesio <>
* Release 4.0.1
* Doc/Reference/*.tex : Numerous documentation correction provided
by Ben L. Di Vito <>
* Lib/srfi-9.stk: New file which implements (guess what?) SRFI-9
aka records.
* STklos/stklos.stk : Bug correction in find-class
1999-09-16 Erick Gallesio <>
* Doc/Reference/Reference2.tex : Added documentation on the
primitive export-al-symbols which was missing.
* Lib/www-mailto:
* Lib/www.stk: New hook "www:hook-mailto" to handle "mailto:"
requests. Furthermore, unknown protocol are properly handled now.
* Lib/www-browser.stklos: Added a mail composer !!! It is used
by the HTML browser when a "mailto:" is encountered.
1999-09-15 Erick Gallesio <>
* STklos/Tk/Composite/Hierarchy.stklos (maybe-update-hierarchy):
new function which retain that a update of the hierarchy is
requested. If there is already a request pending nothing is
done. This solves the problem (and enhance redisplay btw)
signalled by Harvey Stein <>
* Lib/www-url.stk : Applied a patch provided by Harvey Stein to
correctly parse URL which use proxies.
* Src/unix.c (STk_setenv): Use of STk_must_malloc instead of
1999-09-14 Erick Gallesio <>
* Lib/init.stk (dotimes): Corrected incorrect behavior for
negative bounds. Bug signalled by "Ben L. Di Vito"
<>. BTW, if no result is given by the user
in the dotimes, the result is now undetermined.
* Extensions/process.c (run_process): Added the option :fork to
run-process. This allows to simulate the "exec" command of Unix
shells. Not implemented on Win32
* Src/: Minor problems for Alpha compilation (thanks to Jeremie
Petit <>)
1999-09-13 Erick Gallesio <>
* Demos/README.html: Modified the applet for allowing the
execution of the examples when STk is installed (bug signalled
by Harvey Stein <>
1999-09-12 Erick Gallesio <>
* Demos/server.stk : Bug correction: two xterm were launched and a
GC caused the death of all the demo.
* Doc/Makefile: Added the installation of manual in
$(prefix)/stk-$(version). Manual is also added in RPMS as
requested by Harvey Stein <>
1999-09-05 Erick Gallesio <>
* Release 4.0.0
* STk.prj: Added the file Combobox.stklos
1999-09-04 Erick Gallesio <>
* Demos/server.stk : Set the process in a variable to avoid the
socket be closed when a GC occurs.
* Win32: some minor corrections
1999-09-03 Erick Gallesio <>
* First package named 4.0 (Let's pray).
* New Copyright applied to all the files which need it. The new
copyright deletes the restriction on commercial applocations.
* Tk/generic/tkConfig.c (DoConfig): Correction of a long standing
bug signalled by Brian Denheyer <>about the
environments which were garbaged on checkbutton menu entry.
* : Modifications for RPM 3.0 packaging
1999-09-01 Erick Gallesio <>
* Src/syntax.c (syntax_let_family): Bug correction in named let:
the scope of the name of a * named let encloses only the body of
the let and not the * initialization values of the bound
variables. That means that
(let ((f -)) (let f ((n (f 1))) n)) => -1
rather than 1. This (apparently very common) bug was signaled in
* Src/print.c (STk_print): Deleted an extra close parenthesis when
printing a local var.
1999-08-31 Erick Gallesio <>
* Lib/srfi-7.stk: New file for SRFI-7 (PROGRAM)
* Src/syntax.c (STk_syntax_begin): Accepts now the form "(begin)"
without complaining about a null body
* Src/port.c : slight modification to input-port? primtive: it
returns #t for all the input port (i.e. file, string and virtual
port) instead of the file port only. A new primitive as been
added: input-file-port? for testing explicitly if an object is an
input port. Of course, the same applies also for output. This
change was needed to be conform to SRFI-6.
1999-08-30 Erick Gallesio <>
* Lib/defsyntax.stk : R4RS define-syntax. This is the Macro By
Example implementation from Dorai Sitaram <>
adapted for STk.
* Lib/srfi-0.stk: New file implementing srfi-0
* Lib/srfi-2.stk: New file implementing srfi-2
1999-08-24 Erick Gallesio <>
* Demos/widget.stk (show-code): Changed the way the code file is
read to work under Win32 too.
1999-08-23 Erick Gallesio <>
* Lib/init.stk (STk): Changed the time where the autoload of the
graphical error routine is done, so that an error during the
reading of initialization file doesn't pop this weird black empty
window on the screen.
* Src/port.c (STk_close_file_port): closing a closed file with
fclose on glibc2.1.1 dumps core. fclose has been replaced by a
fflush and a close.
* Lib/winsocket.stklos : New file which implements sockets for
Win32. This file is a contribution of Steve Pruitt
1999-08-22 Erick Gallesio <>
* Demos/console-demo.stk: New (simple) demo showing the console in
* (install-no-strip): New entry to install the
executable without stripping them. This was needed by Brian
Denheyer <>
* Lib/console.stk : Added scrollbar in the list of modules when
choosing a new console
1999-08-19 Erick Gallesio <>
* STklos/Tk/Composite/Paned.stklos (): Made the fraction of a
paned an active slot. This was requested by Andrew Dorrell
1999-08-18 Erick Gallesio <>
* Demos/widget.stk :Changed the Quit button by a new toolbar for
the widget Demo.
1999-08-16 Erick Gallesio <>
* Doc/Reference/Reference*.tex: Big documentation update.
* Src/io.c (STk_internal_flush): Changed the implementation of
virtual port and make some cleanups. everything is documented now.
1999-08-15 Erick Gallesio <>
* Lib/console.stk : Clos console menu didn't exit the interpreter
on the main console.
* Lib/help.stk: Modified the help function to deiconify the
browser if it already exists
* Src/stk.h: Conditionally define TRUE and FALSE as requested by
Shiro Kawai <>
* Lib/console.stk : New menu in
console to allow to open a new console in a given module.
* Src/module.c (STk_all_modules): New primitive "all-modules"
which returns the list of all the living modules.
1999-08-12 Erick Gallesio <>
* Lib/www-url.stk (merge-paths): modified to take into account Win32
* Lib/fs.stk: * Lib/win32.stk: fs.stk is the file which will load
either unix.stk or win32.stk depending of the running system.
* Lib/image.stk : Changed the images are searched. It didn't work
for Win32
1999-08-04 Erick Gallesio <>
* Lib/console.stk (console-splash-screen): compute geometry with
quotient rather than "/" (useful for people with odd
resolutions. Yes it exists!)
1999-08-03 Erick Gallesio <>
* Src/unix.c: Modifications to parse correctly DOS filenames.
This is probably not completely correct (DOS guys are really
* Lib/www-url.stk (url-regexp): Changed the regexp for parsing
correctly DOS filename (C:\\A was seen as the path \\A for the
service "C")
1999-07-02 Erick Gallesio <>
* Src/error.c (STk_err): the assignment of the two global is done
now in STk_err to have it even in the context of a CATCH. Patch
provided by Ian Wild <>.
* Lib/balloon.stk ((display-balloon-help w)): Correction of a bug
which apperas when the window to which a ballon is associated does
not exists anymore.
* Lib/dialog.stk:
* Lib/error.stk:
* STklos/Tk/Composite/Msgbox.stklos (): Added more colorful icons
for the standard message boxes
1999-07-01 Erick Gallesio <>
* STklos/stklos.stk:
* Src/stklos.c (next_method_exists): New primitive in STklos:
1999-06-30 Erick Gallesio <>
* Src/symbol.c: New primitive string->uninterned-symbol.
* Lib/init.stk (gensym): gensym now use an uninterned symbol.
1999-06-21 Erick Gallesio <>
* install.bat: Added the installation of libraries for Win32 as
requested by Jonathan Berry <>
1999-06-19 Erick Gallesio <>
* Src/hash.c (hash_table_put):
* Src/tk-glue.c (STk_add_callback): Changed the variable new to
new_entry to be more C++ friendly as requested by Jonathan Berry
1999-06-06 Erick Gallesio <>
* Use a coherent scheme for toolbars. All the pixmaps have been
1999-06-05 Erick Gallesio <>
* Doc/Reference/Appendix-C.tex (subsection{Example}): Typo error
signalled by Ben L. Di Vito <>
1999-06-04 Erick Gallesio <>
* Src/proc.c (STk_procedurep): Bug corrcetion: procedure? was
returning #t for all STklos instance, it returns #t for
next-methods and descendants of methods now.
(STk_is_thunk): ditto.
* Tcl/tclInt.h: The Tcl List type is now hidden (since it is not
used by STk) . It is a request from Jonathan Berry
1999-05-28 Erick Gallesio <>
* Tk/generic/tkCanvLine.c: Added the option :centerarrow for
lines. The implementation was provided by Sarah Calvo
* STklos/Tk/Canvitem.stklos (<Line>): Added the center-arrow slot
to the <Line> class to take into account the new:centerarrow
1999-05-26 Erick Gallesio <>
****** All the stuff below has been provided by people at Grammatech
****** <> & <>
* Tk/generic/tkFrame.c: Declare the menu option of a frame as
* Src/tcl-lib.c (Tcl_CreateInterp): flags field was not
* Src/stk.h: Added #define USE_PROCESS for Win32
* Src/eval.c: Two new functions for applying 1 or 2 arguments only.
* Src/io.c (STk_StdinProc): initializing errno to 0 before a read
system call.
* Src/dynload.c: Type declaration was uncorrect for a message
issued on architectures without FFI.
* Src/cont.c (STk_throw): On some architecture, the thunk to be
executed on restauration of a continuation should be in a global
rather than a local variable.
* Lib/unix.stk: Win32 adaptations
* Lib/menu.stk: Typos and motion.
* Lib/init.stk: Win32 fixes
* Lib/console.stk (console-invoke): fix of STk Error if there were
multiple regions with "input" tag.
((init-console module std-console?)): color missing on HPUX
replaced by its value.
* the --prefix option was not correctly propagated
to Tk and Tcl configure scripts.
* Stack/ new entry install.libs
1999-05-21 Erick Gallesio <>
* Src/dynload.c:
* Src/number.c:
* Src/port.c:
* Src/env.c: Some typo errors signalled by David Fox.
* Src/tcl-lib.c (Tcl_CreateCommand): bug correction suggested by
David Fox <>
1999-05-20 Erick Gallesio <>
* STklos/Tk/Composite/Filebox.stklos: When the filebox was first
invoked the "all" button was NOT checked, but the filebox displays
all of the files, i.e., the button doesn't match functionality.
Bug signaled and corrected by Brian Denheyer <>.
* STklos/describe.stklos (describe): Extended types were described
as unknown types, whereas a class is automatically defined for
* Lib/init.stk (STk): added the function repl-write which is used
by the repl-display-result to display results at the toplevel. It
was write*, but it doesn't seem to be appreciated. The new value
is a function which use write or write* for list and write* for
other object. Of course it can be changed by just setting the
repl-write result.
* STklos/Tk/Composite/Hierarchy.stklos: Added the remove-item!
* STklos/Tk/Composite/Toolbar.stklos: Modification of the toolbar
code to allow the inclusion of any widget in a toolbar
1999-05-19 Erick Gallesio <>
* Lib/www-browser.stklos (WWW:browser):
* Demos/Widget/Wmenu.stklos (demo-menu):
* Demos/amib.stklos (build-interface): Use the new toolbar widget
instead of simple menu as before.
* Demos/stklos-widgets.stklos: Added the font-chooser demo.
1999-05-18 Erick Gallesio <>
* STklos/Tk/Composite/Toolbar.stklos (map-toolbar): Added the
convention that spaces of length 0 in a toolbar correspond to a
space which takes all the spaces (i.e. it sets the :expand option
of the packer to #t)
* Lib/menu.stk (Tk:menu-escape menu): code was incorrect when
using the Escape key on a cascade menu.
* STklos/Tk/Composite/*.stklos: Added a class to all the composite
widgets, so that it can be initialized from resources.
* STklos/Tk/Composite/Scrollframe.stklos: Modification to take
into account the width and the height of a Scroll frame.
* STklos/Tk/Font.stklos: New <Font> class which allow to
manipulate fonts as widgets.
1999-05-16 Erick Gallesio <>
* Src/dynload.c (push_argument): New convention: #f is now
accepted for speicfing a NULL value for a string or a pointer.
This was already the case for returned values but not for
parameters. thsi was requested by terry jones
* STklos/Tk/Composite/Notepad.stklos (initialize): Set the
highlight thickness of tabs to 0, Otherwise the effect was bad
(unluckily this was the defaut value I set in my .Xdefaults)
* Lib/font-chooser.stklos (pretty): The weight of the font was
1999-05-13 Erick Gallesio <>
* STklos/Examples/E3.stklos: Use a require "Tk-classes" instead of
"Canvas", otherwise *top-root* is improperly initialized
1999-05-11 Erick Gallesio <>
* STk.prj: Integration of floating toolbars
* STklos/Tk/Tk-classes.stklos: Integration of toolbars
* STklos/Tk/Composite/Toolbar.stklos: New file which implements
the floating toolbar abstraction. This was really a pain to write
(even if it does not seem complicate afterwards :-<). This is not
complete, but it's time to release...
* STklos/Tk/Menu.stklos: Special clone-widget methods for <menu>
and <menu-button>. This was necessary when cloning a toolbar which
contains a menu.
1999-05-10 Erick Gallesio <>
* STk.prj: A pseudo-stable version.
* Src/tcl-obj.c (Tcl_EvalObj): Added code for evaluating a Tcl_obj
expression. I forgot to write the code when new handlers were
introduced for 3.99.4 :-<. Bug signalled by many, really many,
* Lib/palette.stk: New functions: make-rgb-color, make-darker-color
* STklos/Tk/Basics.stklos (clone-widget): New generic function.
It allows the creation of a clone of the given widget in another
place in the hierarchy.
1999-05-06 Erick Gallesio <>
* Tk/generic/tkFrame.c (TkCreateFrame): Small modification to
allow the specification of a :colormap which is the empty string
for Frames and toplevels. This is needed for cloning frames.
1999-05-02 Erick Gallesio <>
* Lib/menu.stk: Some global grabs in the Tcl file were reported as
local grab in STk.
* STklos/Tk/Composite/Combobox.stklos (show/hide-combo-list):
Changed the focus policy for combo boxes
1999-05-01 Erick Gallesio <>
* Tk/generic/tkPlace.c: Typo error detected in Biglook and which
seems not harmful in STk.
* Src/vector.c (STk_sort): When sorting a list, there was an
unnecessary copy vector which was allocated. Thanks to Manuel for
signalling this bug.
1999-04-25 Erick Gallesio <>
* Demos/stkfontsel.stk: New demo.
* Lib/font-chooser.stklos (): When the user exits the widget
without selecting a font, the old font remains the default one.
1999-04-24 Erick Gallesio <>
* Lib/font-chooser.stklos: The font chooser has been completely
rewritten. Now it only use one global variable (instead of 6) and
is cleaner than the older one. The chooser also use the Combobox
composite widget.
1999-04-17 Erick Gallesio <>
* STklos/Tk/Text.stklos (text-see): typo error signalled by
Brian Denheyer <>
* Src/argv.c: Added the -version option to stk. This options just
prints the version number and exit the interpreter.
1999-04-06 Erick Gallesio <>
* STklos/Tk/Composite/Combobox.stklos: New Composite widget.
* STklos/Tk/Tk-classes.stklos (STklos+Tk): Adaptation for the new
composite widget.
1999-04-01 Erick Gallesio <>
* Lib/trace.stk (Trace): Correction of a bug which deals with
environments. Bug signaled by Jacques Chazarain <>.
* Src/boolean.c (STk_eqv): Now environment can be compared with
eqv?. Consequently, (eqv? (the-environment) (the-environment))
returns now #t.
1999-03-26 Erick Gallesio <>
* STklos/describe.stklos (describe): Used ~W instead of ~S in some
format to avoid infinite loops when describing circular structures.
1999-03-24 Erick Gallesio <>
* Src/dynload.c (push_argument): Forgot to implement the boolean case
Patch provided by David Fox <>.
* Application of corrections for FreeBSD provided by
"F. Heinrichmeyer" <>
* STk.prj: Various bug corrections
* STklos/Tk/Image.stklos (initialize): New method: Pixmap
extension need that the :file or :data be passed when the image
is created => we use a new initialize method rather than the
initialize-image scheme used for bitmaps and photos.
Bug signaled by Brian Denheyer <>
1999-03-13 Erick Gallesio <>
* Src/io.c (STk_getc): Correction of a bug on Alpha (OSF does not
seem to set errno to 0 before a read!). Bug signaled by Vincent
Granet <>
1999-03-11 Erick Gallesio <>
* Tk/generic/tkBind.c: patch to make significant only the first
character of a parameter in a binding lambda (i.e. x1 is now
equivalent to x). Strange behaviour signalled by Brian Denheyer
* Src/primitives.c: New primitive port-closed?.
1999-02-13 Erick Gallesio <>
* Demos/widget.stk: Modification of the path for accessing source
in the widget demo. Thanks to Daniel Ortmann <>
1999-02-10 Erick Gallesio <>
* Tk/win/tkWinDialog.c (ProcessCDError): compound options for
standard dialog have now a dash (-initialfile => :initial-file, ...)
to be consistent with Unix.
* Tk/win/tkWinFont.c (WinFontFamilyEnumProc): Modified to
transform font-name into strings rather than symbols.
* Lib/menu.stk (Tk:menu-button-button-up): Typo correction (thanks
to Eric Fintzel <>)
* STklos/Tk/Composite/Scrollframe.stklos: Rewritten
1999-02-08 Erick Gallesio <>
* STklos/Tk/Composite/Scrollframe.stklos: New widget <Scroll-Frame>.
1999-02-02 Erick Gallesio <>
* Release 3.99.4: This is the last pre 4.0 version. Code for Win32
is included. The definitive version will follow shortly if people
thinks this version is OK (and when documentation will be updated
1999-02-01 Erick Gallesio <>
* Lib/font-chooser.stklos: New file.
1999-01-28 Erick Gallesio <>
* Lib/ftp.stklos: Changed the ftp code which hanged in some
situations Thanks to David Tillman <>
for signalling the bug.
1999-01-27 Erick Gallesio <>
* : typos which avoid the compilation of static
1999-01-26 Erick Gallesio <>
* Lib/console.stk: some console binding have been changed to be less
"alien" with Windows.
1999-01-07 Erick Gallesio <>
* Src/stk.h: Acces to float is now direct (i.e. without pointer).
It was not the case to avoid to make too much big cells due to
alignments problems. The trick was to put the union before the
tag (suggested by "Jay Krell" <>. Thanks)
1998-12-27 Erick Gallesio <>
* STklos/Tk/Composite/Balloon.stklos (<Help-Balloon>): class
redefined to use the STk layer ballons (defined for the console).
* STklos/Tk/Composite/Schemetext.stklos: Modified to use the new
font-lock code.
1998-12-26 Erick Gallesio <>
* Src/signal.c: Finally code for Control-C works (finger crossed),
for the console and for classical xterms. This was a pain to write
it correctly.
* Lib/console.stk: code cleaning and some minor bug corrections.
1998-12-25 Erick Gallesio <>
* Src/dynload.c (find_function): Better error message when dynamic
loading fails
1998-12-19 Erick Gallesio <>
* Src/error.c (print_message): recursive error seems finally correct ;-)
This was something that was unsatisfying since v2.0 !!!
* Src/unix.c: Changes for MS C compiler provided by
have been applied.
* STklos/Tk/Basics.stklos (Id->instance): typo error
1998-12-10 Erick Gallesio <>
* Src/error.c: error management has ben completely changed. This should
be less fragile now.
1998-12-08 Erick Gallesio <>
* Lib/tk-init.stk ("edit"): The ed function is now the scheme editor
instead of the old one in file editor.stk
* Lib/text.stk: Deleted the binding for Control-v on Unix. I don't
like that but this allow to be more consistent with others
software which use the windowish Contol-C Control-v Control-X
* Lib/tk-init.stk:New functions set-widget-property! and
1998-12-02 Erick Gallesio <>
* Lib/tk-init.stk: Typo correction which prevent the loading of
Tk:get-save-file on Unix.
* STklos/Tk/Text.stklos: Correction of a bug in the initialization
of <Text-window> (generic parent was hidden by a local). Thanks to
Eric Fintzel <> for signaling it.
1998-12-01 Erick Gallesio <>
* Src/argv.c: New option -console to the interpreter to interact
through a console rather than a xterm. On Windows, the console
will be the implicit way to interact with the interpreter
* Src/console.c:
* Lib/console.stk: New files to implement a console for interacting
with STklos.
* Lib/font-lock.stk: New file. Font-lock doesn't need to load STklos
1998-11-22 Erick Gallesio <>
* Src/port.c (STk_copy_port): New primitive: copy-port
* Src/tcl-lib.c : Some cleaning on Tcl channels.
* STklos/Tk/Listbox.stklos (y-view): Method lacks a dot before the
"args" paramter (thanks to Walter C. Pelissero
<> for signaling it).
1998-11-21 Erick Gallesio <>
* : Applied the patch given by Shiro Kawai
<> for IRIX 6.2.
* Src/port.c: Char-ready is now implemented in io.c which is a
quite natural place ... More code cleaning.
1998-11-19 Erick Gallesio <>
* Src/sport.c: New primitive with-error-to-string
* Src/port.c:
- New primitive with-error-to-file (why was it absent?)
- New primitives with-input-from-port, with-output-to-port,
- Rewriting of large parts of the file using new primitives.
Src/io.c: has completely be rewritten. It should be faster now
and handle all the kind of port we have: file, strings and
1998-11-18 Erick Gallesio <>
* Lib/text.stk: Pasting with mouse is now correct.
1998-11-10 Erick Gallesio <>
* Src/*.c : * Extensions/*.c: Funtions using files heve all been
replaced with port. It means that port, string-ports and virtual
ports are now truly interchangeable. The drawback is that user
code written in C which use files can be BROKEN.
1998-11-05 Erick Gallesio <>
* Src/signal.c (STk_send_signal): New primitive.
1998-11-04 Erick Gallesio <>
* Src/vport.c: New file which implement virtual ports. A virtual
port can be opened for reading or writing. Functions to access
the port are given by the user as Scheme procedures
* STklos/Tk/Composite/Filebox.stklos : Error messages use a :text
option instead of :message => error messages were not correctly
1998-10-29 Erick Gallesio <>
* Src/port.c (STk_read_line): starts now with a static buffer and
extend it dynamically if needed. Furthermore a potential bug has
been corrceted.
1998-10-22 Erick Gallesio <>
* Lib/listbox.stk : 2 typo errors corrected
1998-10-15 Erick Gallesio <>
* STklos/Tk/Toplevel.stklos: New generic-function: children and
typo error correction in export list
1998-09-30 Erick Gallesio <>
* Release 3.99.3
1998-09-27 Erick Gallesio <>
* Src/toplevel.c (init_interpreter): *stk-library* is now
initialized here instead in the Tk initialization procedure
(implying that this variable is now defined in snow).
* Tk version is now 8.0.3. The stable version of Tk8.0
1998-09-26 Erick Gallesio <>
* Demos/classbrowse.stklos: New Demo of the class browser
* Lib/class-browser.stklos: New file. This is class browser which
fully use the MOP to display various informations about classes,
such as their methods or their slots. Accessing to a class is done
through a panel which shows the complete class hierarchy
* Lib/method-editor.stklos: New file: Editor for methods and
generic functions
* Demos/widget.stk: Code of the various demo of the big widget
program are now "font-locked".
* STklos/Tk/Composite/Schemetext.stklos: New class: <Scheme-text>.
This is a subclass of <Scroll-text> specialize for Scheme
programs. For now, only Emacs like "font-locking" is done by this
* Tk/generic/tkText.c (TextSearchCmd): Added environment
management to the Text searches.
1998-09-25 Erick Gallesio <>
* Src/tcl-lib.c (Tcl_CreateInterp): Cache of regexp was not
correctly initialized.
* STklos/Tk/Composite/Multiwin.stklos: Border width of a Mutiple
window is fixed to 0. Otherwise, displacement of inner windows is
"chaotic". This particularly occurs when the user has a default
border-width defined in its Xdefaults file.
1998-09-19 Erick Gallesio <>
* Extensions/locale.c: New file. This extensions implement string
and character comparisons using locale. The new functions are of
the form string-lo<?, string-lo-ci=?, and so on...
* Src/str.c (stringcomp): Bug in stringcomp with 8bit characters.
We had (char<? #\<5C> #\e) => #f whereas (string<? "<22>" "e") => #t
Comparison is now done on unsigned chars.
1998-09-17 Erick Gallesio <>
* Src/argv.c (STk_process_argc_argv): Processing of argument has
been rewritten.
1998-09-16 Erick Gallesio <>
* Src/number.c (_STk_do_addition): Bug correction (two small
giving a bignum in some cases).
1998-09-10 Erick Gallesio <>
* Lib/tk-unix.stk: completely rewritten.
* Doc/Manual/choose-color.n:
* Doc/Manual/message-box.n: New manual pages
* STklos/Tk/Tk-classes.stklos : The standard Tk dialog were not
exported correctly.
1998-09-09 Erick Gallesio <>
* Big code cleanup on all STk code. There were problems with
Alpha, and I hope that this cleanup, will ease to find the
1998-08-31 Erick Gallesio <>
* Tk/unix/tkUnixSend.c (TkGetInterpNames): Bug correction: If the
number of running intrepreters was 1, the command (winfo 'interps)
returned a strings instead of a list of length 1.
* Src/toplevel.c (repl_driver): The interpreter cannot be executed
if the DISPLAY variable is not set and the option -no-tk has not
been used. This should avoid me a lot of mail from people which
install STk and complain of weird message when launching the
* Src/eval.c (STk_eval): Call to apply without parameter
(i.e. [apply]) yields an error. This was a long standing bug
signalled by Josh Mc Donald in 1995!!!
1998-08-29 Erick Gallesio <>
* STklos/Tk/Toplevel.stklos: Two new methods make-transient and
* STklos/stklos.stk (class-methods): New function, which return
all the methods which have a given class (or a descendant) in its
1998-08-25 Erick Gallesio <>
* STklos/Tk/Composite/Notepad.stklos: New file which define a
Note-pad class.
* Demos/stklos-widgets.stklos: Added <Notepad> demo
1998-08-24 Erick Gallesio <>
* STklos/Tk/Composite/Hierarchy.stklos: New file which define 2
new classes: <Hierarchy-tree> and <Hierarchy-item> which allow to
display any kind of hierarchy (see the source file for 3 examples
of use).
* Demos/stklos-widgets.stklos: Added <hierarchy-tree> demo
1998-08-23 Erick Gallesio <>
* Tk/generic/tkBind.c (Tk_CreateBinding, FreeTclBinding): Bug
correction: Bindings on item canvas, were not properly
garbaged. BTW, the way for keeping track of closures used in
bindings has been simplified.
* Tk/generic/tkCmds.c (Tk_BindCmd): Adaptated to the new scheme
for bindings.
1998-08-20 Erick Gallesio <>
* STklos/Tk/Scrollbar.stklos: Adding exportation of
STk:{h|v}-scroll-side and STk:{h|v}-scroll-side-set!
1998-07-28 Erick Gallesio <>
* STklos/stklos.stk (compute-get-n-set): Signaling that an
allocation scheme is unknown is now done in a method which
discriminate on <object> instead of <class>. This greatly
simplifies the usage of meta-classes which use multiple
inheritance (old code implicitly suppose that a meta-class has a
CPL of the form [ ... <class> <object> <top>]. With this
modification, <class> can appear before an "ante-penultiem"
1998-07-27 Erick Gallesio <>
* Utils/ Modified to be more architecture independent
(as far as possible). In particular Linux PPC should work
(inspired from a STk.spec file given by Philippe Laliberte
1998-07-25 Erick Gallesio <>
* Tk/unix/tkUnixWm.c: Make the result of (wm 'state ...)
consistent. It was, depending the cases, a string or a
symbol. This is always a string now. THIS COULD BREAK EXISTING
* Lib/tk-init.stk (*start-withdrawn*): One example of code broken
by previous modification...
1998-07-22 Erick Gallesio <>
* Src/ (install.stk.libs): The tcl-glue.h and tk-glue.h
files were not installed when doing a "make
install.libs". Corrected now. Thanks to Vincent Granet
<> for signalling it.
1998-07-20 Erick Gallesio <>
* Src/print.c (printlist_star): Buggy when printing some simple
dotted pair. The patch was provided by Ian Wild
* Tk/generic/tkFont.c (GetAttributeInfoObj): Bug when reporting
boolean font attributes. Bug signalled by Vincent Granet
* Extensions/base64.c: New file which provides base64 file
encoding and decoding (base64-encoding and base64-decoding)
* Lib/base64.stk: New file which load the base64 extension. It
also provides the functions (base64-encoding-string and
1998-07-19 Erick Gallesio <>
* Src/cont.c (STk_throw): Bug correction: continuation escape
procedures couldn't take an arbitrary number of arguments. Thanks
to Michael N. Livshin <> for the patch.
1998-07-17 Erick Gallesio <>
* Modified so that all the install paths are relative
to the value of "prefix". This seems to be useful for people using
STOW. Suggestion made by Michael N. Livshin <>.
1998-07-15 Erick Gallesio <>
* Extensions/hash.c (hash_table_put): Another bug in the hash
table is corrected. Code for putting values in hash tables whose
hash function is given by the user has been rewritten. Thanks to
Brian Denheyer <> for pointing this bug.
1998-07-14 Erick Gallesio <>
* Suppression of the background bitmap for the Web pages. It was
not easily readable on 8bits displays. Even HTML is hard to port !!
1998-06-27 Erick Gallesio <>
* Doc/Reference/Appendix-F.tex: Correction of a "bug" for the
emacs auto-mode-alist variable initialization (signalled by
craig dry <>)
1998-06-09 Erick Gallesio <>
* Release 3.99.2
1998-06-03 Erick Gallesio <>
* Src/port.c (STk_read_line): Iconcorrect behaviour when a file is
not ended by a newline (thanks to Shiro Kawai
1998-06-02 Erick Gallesio <>
* Tcl/tcl.h: Added a dumb field to the Tcl_Obj type for AIX cc
compiler (thanks to Eric Fintzel <>)
* Src/dynload.c : Added fake functions STk_call_external,
STk_external_existsp and STk_cstring2string for systems without
dynamic loading. Patch proposed by Eric Fintzel <>
and Ron Lawrence <>.
* Extensions/ File added. This script file can be
used to build a Makefile for extensions. It constructs a Makefile
which uses exactly the same options and compiler that was used to
build the interpreter.
* Extensions/%README: Updated.
1998-06-01 Erick Gallesio <>
* STklos/Tk/Basics.stklos: Added exportations of <Tk-object> and
* STklos/Tk/Tk-meta.stklos: Added exportation of
1998-05-31 Erick Gallesio <>
* STklos/stklos.stk (ensure-class): Better error message when a
slot or a metaclass is duplicated (the duplicate is now clearly shown
* Added the -fpic option for Linux shared libraries.
It seems that problems appear when the object file is bigger than
64Kb (at least the Tktable is is in this case).
1998-05-30 Erick Gallesio <>
* Doc/Reference/*.tex : Documentation update
* Src/port.c (internal_format): Added the ~W format
* Src/print.c: heavy rewritting. should be a little bit more
1998-05-28 Erick Gallesio <>
* Extensions/html.c (html_next_token): Partly rewritten to take
into account the syntax "&#number;" (signalled by Jacques
Chazarain). BTW, the procedure has now the same behaviour as
Netscape for unfinished entity (e.g. x&zz<...> is seen as a string
which must not be interpretated).
1998-05-25 Erick Gallesio <>
* Src/read.c: Now we can read circular data such as the ones
built by write*
1998-05-22 Erick Gallesio <>
* STklos/Tk/Tk-classes.stklos: Added <Tk-composite-toplevel> to
1998-05-21 Erick Gallesio <>
* Tk/unix/tkUnixSend.c (Tk_SetAppName): Change the names of
mutiple applications from "STk #2", "STk #3", ... to "STk#2",
"STk#3" to avoid problems with the (winfo 'interps) call.
This is clearly a hack.
1998-05-19 Erick Gallesio <>
* Extensions/process.c: Correction of a bug that prevents you from
getting the exit status of a child process under certain
circumstances. Patch provided by Grant Edwards
* Src/tcl-glue.c (STk_tcl_getvar): forgot a return in the function
which breaks result at least on Solaris (thanks to Thomas Buerger
for the patch).
* STklos/stklos.stk (compute-get-n-set): Added the :each-subclass
allocation scheme which correspond to the 3.1.1 :class allocation.
Change was requested by Thomas Buerger
1998-05-15 Erick Gallesio <>
* Lib/trace.stk: Bug correction: traces of primitives was incorrect.
1998-05-14 Erick Gallesio <>
* Lib/init.stk:
* Src/toplevel.c: New global variable *last-defined* which is set
when a define is done. This allow some traces when evaluating
large pieces of code.
1998-05-11 Erick Gallesio <>
* Lib/tk-init.stk : functions of image.stk are now autoload
1998-04-30 Erick Gallesio <>
* STk-3.99.1 Release
* STklos/stklos.stk (ensure-class): Inclusion of the Metaclass
init-keywords patch from J-M kubek <>, which
allows to initialize some slots of a class when declaring it.
* Lib/bigloo.stk (module): The compatibility function between
bigloo modules and STk modules was not updated to the current
version of modules. Bug signaled by J-M kubek <>
* STklos/stklos.stk (shallow-clone): usage of
class-definition-name instead of slot-definition-name in *-clone
functions. Bug signaled by Walter C. Pelissero
* Tcl/tclUnixPort.h:
* Tcl/Int.h: Path correction for accessing compatibility
files. This was needed for SunOS 4.3.x.
* Extensions/ : Don't trap errors when linking to see
that there are problems (particularly for Solaris).
1998-04-27 Erick Gallesio <>
* Installation process has been updated.
* STklos/Tk/Button.stklos: The variable associated to a radio
button or check button was not using the environment.
* STklos/Tk/Text.stklos:
* STklos/Tk/Entry.stklos:
* STklos/Tk/Scale.stklos:
* STklos/Tk/Basic.stklos: New function: initialize-value-slot
which allow to initialize this slot even if the state of the
widget is disabled. Idea from Walter C. Pelissero
1998-04-26 Erick Gallesio <>
* Src/toplevel.c: Correction of a long standing bug which causes
background STk to take all the CPU in some circumstances. It was
hard to track
1998-04-22 Erick Gallesio <>
* Src/tcl-glue.c (STk_valid_environment): Various problems
corrected with the new :environment options which is available on
widgets now.
* Src/port.c (STk_flush): Bug correction. Trying to flush a string
port was erroneous. Bug signalled by Walter C. Pelissero
Mon Apr 20 20:52:21 1998 Erick Gallesio <>
* Doc/Manual/repl-display-prompt.n: New documentation file.
* Doc/Reference/*: Documentation update.
Mon Apr 13 12:24:19 1998 Erick Gallesio <>
* Demos/Html-demos/*: Adding the English demos which were
accidentally forgotten from the previous release
Sun Apr 12 14:13:05 1998 Erick Gallesio <>
* Help/*: Pages were not regenerated and correspond to an old
* : Various correction in the installation process
which was wrong. The spec file for RPM and the STk.prj are now
auto generated at configuration time
Fri Apr 10 09:01:17 1998 Erick Gallesio <>
* STk-3.99.0 release
Wed Apr 8 17:02:26 1998 Erick Gallesio <>
* Src/*.c: Correction: stderr (instead of STk_stderr) was
incorrectly used in some places.
* Src/Stack: Code was absolutely incorrect for machine which don't
support FFI.
Sun Mar 22 15:05:47 1998 Erick Gallesio <>
* STk/port.c: load accepts now (again) a module as optionnal
Mon Mar 9 21:42:08 1998 Erick Gallesio <>
* Lib/www-html.stk: Code for applet in S-scape polished.
* Src/tcl-glue: Bug correction in STk_valid_environment
* Tcl/tclEvent.c: Bug correction: after events callback table was
not correctly cleaned when an event was fired.
Sun Mar 8 23:41:11 1998 Erick Gallesio <>
* Src/cont.c: Addition of R5RS values
Sun Mar 1 11:53:40 1998 Erick Gallesio <>
* Lib/www*: The Web Browser has been rewriten.
Sat Feb 28 12:37:29 1998 Erick Gallesio <>
* Src/gc.c: Bug correction: Error context was improperly reset
when an error occurs in catch.
Fri Feb 27 01:07:50 1998 Erick Gallesio <>
* Src/unix.c: Three new functions on file: remove-file,
rename-file temporary-file-name. They correspond to their
equivalent in the ANSI C norm.
Tue Feb 24 18:56:17 1998 Erick Gallesio <>
* Demos/Widget/*.stklos: All the widget demo are now implemented.
* STklos/Tk/Text.stklos: New <Tk-Text-inset>. This class is the
now the parent class of <Text-window> and of (the new) class
* Tk/generic/tkConfig.c: a lot of change to take image as a real
type (instead of a string). Configuration has been cleaned.
Thu Feb 19 16:39:46 1998 Erick Gallesio <>
* Demos/stetris.stk (new-game): replaced an after which use a pre
STk-3.0 after bindind (i.e. an after with a list) by a
lambda. This cause problem with module environment (the first one
I see since a long time). This could have been resolved by
makeing Tk importing STklos+Tk. But there is no good reason to do
so. The bad news is that very old code can be broken if it uses
list bindings instead of lambda (it's more than 2 years than this
form is deprecated) and STklos.
Thu Feb 12 16:17:36 1998 Erick Gallesio <>
* Demos/stklos-widgets.stklos: Updated to take into account new
composite widgets.
* Src/port.c: read-line now skips the '\r' characters.
Sun Feb 8 20:59:34 1998 Erick Gallesio <>
* Tk/generic/tkScale.c (ScaleVarProc): New option :ENVIRONMENT
* Tk/generic/tkMessage.c (ConfigureMessage): New option :ENVIRONMENT
* Src/error.c: Cleanup (one more time :-<)
Mon Feb 2 22:47:52 1998 Erick Gallesio <>
* STklos/Tk/Composite/Colorbox.stklos: New class <Color-box>, and its
user function Tk:choose-color.
Sun Feb 1 19:16:46 1998 Erick Gallesio <>
* Lib/tk-unix.stk: New file for the definition of standard
messages box. They are simulated on Unix and will be native
(someday) on Windows.
* STklos/Tk/MsgBox.stklos: New Classes: <Tk-message-box>
<Abort-retry-ignore-message-box> <Ok-message-box>
<Ok-cancel-message-box> <Ok-cancel-message-box>
<Retry-cancel-message-box> <Yes-no-message-box>
<Yes-no-cancel-message-box>. This classes are used by the
new function Tk:message-box to build mesages boxes.
* Src/read.c: Now #. is evaluated in the current module (instead
of the global one).
* Src/tcl-glue.c (STk_convert_Tcl_string2list): current module is
set to the Tk module when converting a Tk result to Scheme. This
is mainly for "#." expression which must be evaluated in the Tk
module since all the side effects done by Tk are done in it.
Thu Jan 29 19:21:48 1998 Erick Gallesio <>
* STklos/Tk/Composite/Choicebox.stklos: New slot for
<Choice-box>es: CHOICE. This slot contains the set of possible
values for the entry.
Mon Jan 26 15:42:11 1998 Erick Gallesio <>
* STklos/Tk/Tk-meta.stklos: Protocol for widget has been
"lighted". The slot tk-valid-option has ben deleted and slot are
set one by one after class initialization. This in in fact faster
than the old method. However <Frame> and <Toplevel> classes, don't
fit well in this scheme (some of their slots cannot be changed
after the widget is created (e.g. class or visual) => There is a
spcial init function for theses classes.
* STklos/Tk/Basics.stklos: Composite widgets have now a class
slots which contains the class of the object. This slot is
initialized by default to "Composite", but it can be overloaded
for a particular class. For instance labeled entries use the value
"LabeledEntry" by default. This feature can be used for
initializing the X11 resource database. for instance you can have
STk*LabeledEntry*Entry*Background: white
in the .Xdefaults file to set the default value of background of
the entry of a <Labeled-entry> widget.
* STklos/Tk/Basics.stklos: :tk-virtual slots accept now the
:init-form option. That means that you can do new classes which
simply change the default value by subclassing a previous widget
* STklos/Tk/Frame.stklos: Change in the STklos hierarchy:
<Toplevel> inherits now from <Frame>. They were separate classes
Sun Jan 25 10:53:54 1998 Erick Gallesio <>
* Src/toplevel.c:
* Lib/init.stk: User initialization file (.stkrc) is now loaded
after Tk is initialized. It used to be initialized at the end of
init.stk (and hence just before Tk). File loading is done in C.
Sat Jan 24 13:22:51 1998 Erick Gallesio <>
* STklos/stklos.stk: Bug correction in METHOD.
* STklos/describe.stk: renamed to STklos/describe.stklos
* STklos/active.stk: renamed to STklos/active.stklos
Thu Jan 22 23:50:38 1998 Erick Gallesio <>
* Lib/init.stk: New macro: DEFINE-VARIABLE. It's equivalent to the
* Lib/tk-init.stk (*start-withdrawn*): A lot of people dislike the
fact that the root window is mapped on screen when Tk is started,
The code below, unmaps the *root* window and make it appearing as
soon as the first sub-window is packed or some action is asked to
the window manager for *root*. With this code, the the behaviour
is identical to the Tk original one except that the empty squared
window don't appears on screen. The original behaviour can be
recovered by setting *start-withdrawn* to #f
Tue Jan 20 14:40:31 1998 Erick Gallesio <>
* Src/proc.c: New undoumented procedure: %procedure-arity
* STklos/stklos.stk:
* Src/stklos.c: Optimisation of slot accesses for virtual
slots. The call to APPLY is now inlined in the slot-ref and
slot-set! functions. The arity of the setter and getter functions
is now verified at class creation (rather than slot access, in
some extent). The only drawback is that the getter and setter
function must be closures now, whereas they could be generic
funtions or primitives before (but I cannot imagine how it could
be used).
Sun Jan 18 20:06:00 1998 Erick Gallesio <>
* STklos/trace-gf.stklos: New file for tracing generic functions.
* Lib/trace.stk: Trace has been updated and take into account
generic functions now.
Tue Jan 13 10:13:22 1998 Erick Gallesio <>
* Lib/dialog.stk: Correction of bug signaled by Fritz
Heinrichmeyer <>
Fri Jan 9 21:06:22 1998 Erick Gallesio <>
* Src/port.c: Bug correction in "AUTOLOAD?". BTW, this function
admit now a (optional) second parameter which can be a module.
* Src/syntax.c:
* Src/env.c:
* Src/module.c: Bug correction for C varaiables which were
"disconnected" of their C counterpart in some cases
Thu Jan 8 12:27:44 1998 Erick Gallesio <>
* Src/stklos.c: New slot for generic functions: "module"
Sat Jan 3 16:50:55 1998 Erick Gallesio <>
* STk.prj: STk.prj has been completely redefined. Now PRCS
versions are in sync with STk version.
Thu Jan 1 13:18:22 1998 Erick Gallesio <>
* Src/dynload.c: New function: EXTERNAL-EXISTS? to determine if a
symbol is defined in a library.
Wed Dec 31 15:37:36 1997 Erick Gallesio <>
* Src/hash.c (hash_table_put) Bug correction: code was not GC
safe. Thanks to Sarah Calvo <>
Tue Dec 30 23:33:09 1997 Erick Gallesio <>
* Extensions/posix.c: Integration of several new functions given
by Shiro Kawai <>
* Src/argv.c: The way arguments are processed has been changed:
now the first argument is taken as a script name (unless there was
already a -file option specified). Furthermore, when the -file
option is used (implicitly or explicitly), the variable
*program-name* is set to the name of the script file (instead of
the file name of the interpreter).
* Doc/Manual/stk.1: Adaptation of the man page for the new
conventions for argument passing to the interpreter (-file option
and implicit -file).
* Src/eval.c:
* Src/error.c: Bug correction: In some circumstances a buggy
REPORT-ERROR can lead to an infinite loop. Now we can have the
stack when in report-error AND the original error which caused the
execution of the report-error procedure.
Sun Dec 28 21:44:01 1997 Erick Gallesio <>
* Lib/Match/normalize.scm:
* Lib/Match/compiler.scm:
* Lib/Match/descr.scm: Adaptation for STk.
Mon Dec 22 00:00:54 1997 Erick Gallesio <>
* Doc/Reference/Appendix.tex: New Appendix which describes the
main differences between STk versions.
* Src/extend.c: POINTER->STRING has been moved to file dynload.c
and renamed C-STRING->STRING since ita accepts pointers AND
strings now.
Mon Dec 15 13:53:46 1997 Erick Gallesio <>
* Src/print.c: Cosmetic change: When a procedure is writen, it
displays its argument list. This is helpful when debugging
* Src/number.c: Two new function for dealing with unsigned C
numbers: long STk_integer2long(SCM x); unsigned long
STk_integer2ulong(SCM x);
* Src/extend.c: New primitive C-POINTER->STRING. This procedure
converts a C-pointer to a string. An optionnal length can be
Sat Dec 13 11:07:46 1997 Erick Gallesio <>
* Src/stklos.c:
* Src/slib.c:
* Src/port.c:
* Src/gc.c: Correction of various bugs signalled by Walter C. Pelissero
* Src/syntax.c: Bug correction in definition of internal variables
Wed Dec 10 23:25:21 1997 Erick Gallesio <>
* Src/signal.c (handle_sigsegv_signal): new procedure. This
procedure is called when a SIGSEGV is called. This avoid an
infinite loop when a real SIGSEGV occurs. It just go to the
toplevel (if the signal has not been redirected)
Sun Dec 7 22:01:54 1997 Erick Gallesio <>
* Take into account the new libc (Gnu libc) for
Wed Nov 19 09:34:22 1997 Erick Gallesio <>
* Cleaning code of environment allocation. There is now a new type
for frame cells (tc_frame). For now this type is equivalent to a
cons, but it allows future optimization on environment allocation.
Thu Nov 13 01:10:41 1997 Erick Gallesio <>
* Src/proc.c:
* Src/gc.c:
* Src/eval.c:
* Src/syntax.c: Cleaning of procedure creation code. All
closures are created by the function STk_makeclosure
(instead of being inlined in code).
* Src/syntax.c:
* Src/env.c: Correction of a long standing bug with internal
defines management. In some cases, access to local variable could
be false. This was because new variables were inserted at the
beginning of the environment instead of the end.
* Extensions/process.c (free_process): Standard ports were freed
instead of closed when a process was deallocated. Bug discovered
by Sarah Calvo <>
Wed Nov 12 09:35:13 1997 Erick Gallesio <>
* Src/list.c: new primitve: the R3RS last-pair
Sun Nov 9 22:01:56 1997 Erick Gallesio <>
* Src/list.c:
* Src/primitives.c: New primitive: append!
Tue Oct 28 21:24:02 1997 Erick Gallesio <>
* Lib/match.stk: Integration of the Bigloo MATCH-CASE and MATCH-LAMBDA
Tue Oct 7 09:46:46 1997 Erick Gallesio <>
* Extensions/posix.c (posix_stat2vector): bug correction (GC
* Src/proc.c (STk_for_each): minor bug correction: return an
undefined result instead of NIL as before.
* Lib/posix.stk: Two new functions POSIX-STAT->LIST and
POSIX-LSTAT which make easier the use of stat function (they
return a keyworded list instead of a (cryptic) vector.
Wed Sep 17 15:39:54 1997 Erick Gallesio <>
* Lib/tk-init.stk: New variable *image-path* which contains path
for loading images.
Tue Sep 16 16:29:51 1997 Erick Gallesio <>
* Src/tcl-lib.c (Tcl_OpenFileChannel): build an error message when
file cannot be opened. This is now done in Tcl. Note that the
Tk8.0 code is not consistent here since it exists places where the
check against NULL is done and other where it is supposed that Tcl
fill the error message!!!!
Sun Sep 14 11:22:48 1997 Erick Gallesio <>
* STklos/Tk/Basics.stklos: New metaclass:
<Tk-composite-toplevel>. This is identical to the class
<Tk-composite-widget>, except that the widhet lives in its own
toplevel window. Furthermore, this widget has a slot called TITLE
which contains the title of the widget window.
*STklos/Tk/*.stklos: added a "(select-module Tk) in all these files
Sat Sep 6 22:07:39 1997 Erick Gallesio <>
* Src/toplevel.c: names of display-prompt and display-result have
been changed to repl-display-prompt and repl-display-result
Wed Sep 3 18:18:45 1997 Erick Gallesio <>
* STklos/Tk/Basics.stklos:
* STklos/Tk/Button.stklos:
* STklos/Tk/Menu.stklos: Addition of new Tk8.0 slots
Fri Aug 29 12:17:58 1997 Erick Gallesio <>
* Lib/tearoff.stk: File deleted. It is now included in menu.stk
Wed Aug 27 15:46:25 1997 Erick Gallesio <>
* Mp/Makefile: Path was incorrect when using fgmp.
* Src/stklos.c:
* Src/tk-main.c: Gc_protect is no more useful on modules since a
module is always accessible from the module table.
* Src/tcl-lib.c: Simulation of the new function
"Tcl_DeleteCommandFromToken" used by the final Tk8.0
Mon Aug 25 12:27:11 1997 Erick Gallesio <>
* Start of port for final Tk8.0.
* Src/module.c:
* Src/primitives.c: Modules are now stored in a private table
instead of bound in the global space. The new primitive
FIND-MODULE queries the module table to find a given module
(modules are still first-class objects).
* Tk/generic/tkWindow.c: Reverted the command "tk-state" to "tk"
since the module names are no more bound in global space.
Sun Aug 24 17:10:00 1997 Erick Gallesio <>
* Src/module.c: There is now a module which is created when the
interpreter is initialized. This module (named Scheme) exports
all initial bindings (mainly primitives) defined when the
interpreter starts. So, even when the user overload a standard
primitive, the initial bindings can be found in the Scheme module.
Wed Aug 20 14:02:06 1997 Erick Gallesio <>
* Doc/Makefile: Installation of manual pages even if the
documentation is not requested.
Mon Aug 18 11:50:32 1997 Erick Gallesio <>
* Doc/Manual/label.n:
* Doc/Manual/grid.n:
* Doc/Manual/frame.n:
* Doc/Manual/font.n:
* Doc/Manual/event.n:
* Doc/Manual/entry.n:
* Doc/Manual/destroy.n:
* Doc/Manual/checkbutton.n:
* Doc/Manual/button.n:
* Doc/Manual/canvas.n:
* Doc/Manual/bind.n:
* Doc/Manual/bindtags.n: Documentation update for Tk8.0
Sun Aug 17 23:47:09 1997 Erick Gallesio <>
* STklos/Tk/Basics.stklos: New class <Tk-environment> for the
widget which have a "text-variable" or "variable" slot (Button,
Checkbutton, Entry, ...) The corresponding widget have been
changed to take into account this new class.
Sat Aug 16 16:28:55 1997 Erick Gallesio <>
* Tk/generic/tkButton.c: Buttons, Checkbuttons and Radiobuttons
can use a :variable and :textvariable in a given environment. This
environment is given with the new :environment option.
Wed Aug 13 17:21:08 1997 Erick Gallesio <>
* Src/error.c: The variables *last-error-message* and
*last-error-arg* are set hen an error occurs. This is useful to
find what error occured when errors are catched. This is also
needed by Envdraw.
Tue Jul 8 10:00:26 1997 Erick Gallesio <>
* New type in the interpreter: tc_tclobjet. This type is necessary
to simulate the Tcl "Tcl_Obj" type. Tcl_Obj is a crazy thing.
Why Tcl does not use a GC, and life would be a *lot* easier (for me
but for them too...)
Mon Jul 7 09:59:49 1997 Erick Gallesio <>
* Start of Tk8.0 integration
Mon Jun 23 19:43:36 1997 Erick Gallesio <>
* STklos/stklos.stk (class-subclasses): rewritten. It was too slow.
Sun Jun 1 11:20:21 1997 Erick Gallesio <>
* STklos/stklos.stk: (Tk-)virtual slots can now have an
:initform option.
Fri May 23 16:07:01 1997 Erick Gallesio <>
* Src/stklos.c (build_initializers): build_initializers takes now
one more parameter (the environment in which the class has been
defined) Consequently, initializer are evaluated in the lexical
environment of the class definition.
* STklos/stklos.stk (compute-get-n-set): Standard behavior of class
slots is now identical to CLOS: when a class-slot is inherited, it
is shared with instances of the superclass. If it is redefined,
a new slot is created
Thu May 15 18:04:50 1997 Erick Gallesio <>
* Lib/inspect-*.stk: Adaptation of the old inspector for the
STk-3.x release. This is incomplete but it can be use until the
Rigth Thing is finished. All the adaptation was done by Brian
Denheyer <>. Thanks to him.
* Src/proc.c (general_map): map was buggy with a null list of
argument (map +) gave a core dump!
Thu May 8 11:28:11 1997 Erick Gallesio <>
* Src/port.c: Go back: LOAD and TRY-LOAD don't use anymore the
environment parameter. In fact loading a file is done in the
current module now rather at the global level as before.
* Tcl/tclUtil.c (Tcl_DStringStartSublist, Tcl_DStringEndSublist):
braces replaced by parentheses (bug signaled by Vincent Granet
Sun Apr 6 15:07:20 1997 Erick Gallesio <>
* Src/port.c: File loading: LOAD and TRY-LOAD accept now an
optional second argument. This argument must be an environment
which states in which environment the file must be loaded.
Fri Apr 4 14:49:15 1997 Erick Gallesio <>
* Lib/error.stk: Minor fix in the layout of display environment
Thu Mar 27 15:32:28 1997 Erick Gallesio <>
* Src/toplevel.c (repl_loop): The interactive prompt is no more a
constant. In fact, when the prompt must be displayed, we try to
apply the thunk contained in the *prompt* global symbol (*prompt*
must be a thunk). If an error occurs during this application, the
usual "STk> " prompt is displayed.
* Lib/init.stk: Adding a default *prompt* closure in the startup file
Sun Mar 23 19:57:07 1997 Erick Gallesio <>
* Src/toplevel.c (repl_driver): in the toplevel repl, the result is
not displayed if we are not in interactive mode (suggested by a mail
from Jesse Schell <jns@ishmael>)
Fri Mar 14 14:00:51 1997 Erick Gallesio <>
* Src/list.c (STk_append2): The old private append2 is now public
since it is often used in the interpreter. Part of it using
STk_append have been modified.
Fri Feb 28 10:43:41 1997 Erick Gallesio <>
* Src/read.c: New feature: multi lines comments
(as in Common Lisp: #| ... |# )
* Src/stklos.c (STk_init_STklos): New MOP procedures
Sun Feb 23 23:08:40 1997 Erick Gallesio <>
* STklos/stklos.stk: New MOP procedures
* Src/stklos.c: Instances type is now in the cell. This decreases
globally the size of a STklos instance of the size of one int.
* Two new classes: <simple-method> and <accessor-method>.
A <simple-method> is a method which cannot be call next_method.
<Accesor-method>s are used for defining slot-readers and writers.
Application of these methods are faster than normal method
since the next-method object is not constructed.
Mon Jan 20 15:59:24 1997 Erick Gallesio <>
* STklos/stklos.stk (object-equal?): has been redefined to call
eqv? rather than returning #f. This is the same thing except that
when you redefine eqv?, it automatically redefine equal?.
Furthermore, it is more coherent with standard Scheme eqv? and equal?
Sat Jan 4 00:45:37 1997 Erick Gallesio <>
* STklos/describe.stk: New DESCRIBE method for generic functions.
Modification of DESCRIBE method for classes to take into account new
class slots (specializers and initializers are no more displayed)
* Src/stklos.c:
- when a slot does not exists, the gf slot-missing is called
- when a unbound slot is read, the gf slot-unbound is called
New primitives
- slot-ref-using-class
- slot-set-using-class
- slot-bound-using-class?
- slot-exists-using-class?
* STklos/stklos.stk (change-class): change-class didn't
initialize the slots added to the instance. This is done
now (but this is a little bit different from CLOS: unbound
slots in the "old" instances are initialized with the initform
value in the "new" instance, whereas they remain unbound
in CLOS).
Wed Jan 1 11:44:45 1997 Erick Gallesio <>
* Src/toplevel.c: Modification of copyright dates (we are (just) in
1997 now).
Mon Dec 30 10:08:19 1996 Erick Gallesio <>
* STklos/stklos.stk: STklos does not need hash table anymore.
Sun Dec 29 22:24:24 1996 Erick Gallesio <>
* Src/port.c (STk_autoloadp): Bug correction.
Mon Dec 23 12:05:35 1996 Erick Gallesio <>
* Src/io.c: old trace deleted
* Src/extend.h:
* Src/extend.c: Now, extended types are entered in the class
hierarchy; When you define a new type, such as hash-table, a new
class is defined. This class has a name which is built by adding
brackets (<>) around the type name; this class always inherits from
<object> (that means that it is not possible to make fancy
inheritance schemes with the current solution, which would have been
too difficult to take into account with dynamic loading precedence
Sun Dec 15 11:04:10 1996 Erick Gallesio <>
* Src/list.c: member: bug correction on circular lists
* Src/list.c: New list functions: remq, remv, remove.
Sun Dec 8 10:13:30 1996 Erick Gallesio <>
* STklos/Tk/Toplevel.stklos:
* STklos/Tk/Tk-methods.stklos:
* STklos/Tk/Tk-classes.stklos:
* STklos/Tk/Basics.stklos: Bug correction: Toplevel.stklos could be
sometimes loaded several times. Toplevel is now loaded when doing a
(require "Tk-classes").
Thu Nov 14 22:17:58 1996 Erick Gallesio <>
* Tk/generic/tkConfig.c (Tk_ConfigureInfo): Bug correction for gadgets
with only 1 option (such as separator in menus)
* Demos/amib.stklos: Bug correction in code generation. It was
possible to use a non yet defined widget in the ":in" option for
"place" or "pack".
Sat Nov 9 15:17:06 1996 Erick Gallesio <>
* STklos/Tk/Composite/Scrolltext.stklos:
* STklos/Tk/Composite/Scrollcanvas.stklos:
* STklos/Tk/Composite/Scrollbox.stklos: Scrollbars are now managed by
Wed Nov 6 00:15:42 1996 Erick Gallesio <>
* Tk4.2 integration.
Sun Nov 3 18:53:57 1996 Erick Gallesio <>
* Lib/www-browser.stklos: A new Web browser package.
* Demos/webrowse.stklos: This demo replaces the hbrowse demo
Wed Oct 30 16:19:46 1996 Erick Gallesio <>
* Extensions/pixmap.c: upgrading pixmap package to the Tix 4.1b1
Tue Oct 29 00:54:05 1996 Erick Gallesio <>
* Lib/www*.stk: New files for WEB browsing. Distant images and
files are now correctly handled. A lot of ideas have been taken
from the Harvey L. Stein WWW package.
Wed Oct 23 16:53:19 1996 Erick Gallesio <>
* Demos/stklos-widgets.stklos: New demo which replaces compo-demo
since it contains demo for widgets which are not composite.
* STklos/Tk/Widget/Balloon.stklos: new widget written in STklos
* Lib/focus.stk:
* Lib/tk-init.stk: binding for <Tab> and <Shift-Tab> are now set in
tk-init.stk to avoid problems when this default binding must be
overloaded by user. Bug signalled by Harvey J. Stein
Mon Oct 21 12:29:07 1996 Erick Gallesio <>
* STklos/active.stk: a new metaclass which provides actives slots.
Actives slots are slots to which a function can be associated
before/after reading/setting its value. The allocation is :active
and functions can be set with :before-slot-ref, :after-slot-ref
before-slot-set! or after-slot-set!.
* STklos/Tk/Widget/Gauge: Two new widgets written in Scheme:
<Gauge> and <Valued-Gauge>. They use the active slots metaclass.
Thu Oct 17 14:50:29 1996 Erick Gallesio <>
* Tk/generic/tkText.c: Modified "text dumping". It yields now a
correct Scheme list. The :command option is not corrected correctly
for now.
Mon Oct 14 10:22:37 1996 Erick Gallesio <>
* Extensions/socket.c: Correction of a bug in socket_shutdown (when GC
Fri Oct 11 13:02:55 1996 Erick Gallesio <>
* Extensions/socket.c (socket_shutdown): Bug correction in shutdown
(shutdown and close where inverted).
* Src/number.c:
* Src/read.c: Some change in number reading (in particular for
string<->number conversions which were buggy when number start with
a #.
Thu Oct 10 09:31:51 1996 Erick Gallesio <>
* Src/primitives.c: Adding support por JPEG images
Sun Oct 6 23:54:28 1996 Erick Gallesio <>
* Src/stk.h:
* Src/char.c:
* Src/port.c:
* Src/sport.h:
* Src/io.c:
* Src/print.c: Scheme characters were used as unsigned char without
explicitely specify it. Modified some declarations to specifically
say that chars were unsigned.
Thu Sep 26 19:38:42 1996 Erick Gallesio <>
* STk-3.1.1 Release
* Demos/amib.stklos: Accessing help is now stk:show-help-file (the
change was not reported)
Wed Sep 25 14:40:21 1996 Erick Gallesio <>
* Src/slib.c (STk_delete_Tcl_child_Interp): new function which must
called by a child process just after a fork. This function is
necessary to allow the dynamic loading of in snow
(otherwise some Tk symbols are undefined).
* Extensions/posix.c (posix_fork): Use now STk_delete_Tcl_child_Interp.
* Src/number.c: Interface has been added for the Frank Schmuelling
complex-number package. Don't rely on it, since rationnal and
complex numbers will be present in a future release. As soon as the
full tower will be implemented in STk, this door will be closed.
Tue Sep 24 18:26:06 1996 Erick Gallesio <>
* Lib/dialog.stk: The text of the dialog was reset to a message,
instead of a label (when was the change done?)
Mon Sep 23 22:52:10 1996 Erick Gallesio <>
* Src/signal.c: A lot of modifications in signal handling. Major
rewrite of some procedures. The '^Z' signal works again. BTW, I
was unable to correctly catch a SEGV on linux (which is necessary to
find that no more memory is available on Linux, since malloc never
returns NULL this OS. Need more work.
Sun Sep 22 23:54:44 1996 Erick Gallesio <>
* Src/toplevel.c (finish_initialisation): replaced the hard-coded
call to signal when using -f option to a call to the
* Src/slib.c (cannot_allocate): new private procedure called when
there is no more memory during a must_malloc or a must_realloc (the
old behaviour was incorrecte since it uses cons whereas there was no
more memory, conducting to a buggy report-error message). However,
the copy on write schem used by Linux cannot be detected by this
procedure. It seems that we have to wait a SIGSGV signal.
Tue Sep 17 10:03:49 1996 Erick Gallesio <>
* Src/toplevel.c: Bug correction: only create the stdin handler when
the process is interactive (Otherwise, STk interpreters launched in
backgound by system keep locked -- heavily used in the
Doc/README.html demo)
* STklos/Tk/Composite/Multipaned.stklos: Orientation of Multi-paned
didn't work since it was done with differents keywords (:orientation
and :position) in some places (thanks to MIZUSHIMA Kazunori
Fri Sep 13 08:22:41 1996 Erick Gallesio <>
* STklos/Tk/Tk-methods.stklos: Bug correction in a method of focus
(Erik Ostrom <>)
* Src/io.c:
* Src/port.c: char-ready? was incorrect when used on stdin
(thanks to Erick Ostrom)
* STklos/Tk/Text.stklos: Correction of the value field of text
widgets. Tk always add a newline at end of buffer.
* Lib/tk-init.stk (%redefine-Tk-command): After STklos was loaded,
each call to focus implies the loafing of file focus.stk !!
* Extensions/socket.c: Added support for sockets on Win32 (thanks to
Caleb Deupree <>)
* Src/unix.c: Added the VC++ support for file globbing (thanks to
Caleb Deupree <>)
Wed Sep 11 23:05:32 1996 Erick Gallesio <>
* Src/tk-main.c: command line argument handling for -geometry was
broken. Thanks to Harvey J. Stein <>
Fri Sep 6 18:20:28 1996 Erick Gallesio <>
* Extensions/stack.c: Replaced FILEPTR by PORT_FILE in the stack
demo. Thanks to Jean-Marie Kubek <>
* Get rid of '-n' on echo commands. This option is not
supported under Solaris 2.x
Wed Sep 4 13:16:38 1996 Erick Gallesio <>
* X11 libs/includes in non standard place were not taken
into account even when a --x-libraries or a --x-includes was given
to the configure script.
Mon Sep 2 10:46:06 1996 Erick Gallesio <>
* Tk: updraded to Tk4.1p1
* Src/eval.c: Bug correction in eval.c: arguments were not evaluated
when the generic function is implemented in Scheme rather than in C.
(Thanks to Jean-Christophe Pazzaglia <>)
* Lib/dialog.stk: Added a binding to the dialog window that sets the
result to -1; this is needed in case something happens that destroys
the window, such as its parent window being destroyed.
Thu Aug 29 13:43:13 1996 Erick Gallesio <>
* Src/slib.c (STk_quit_interpreter): replaced Tcl_DeleteInterp by a
call to delete the command ".". Otherwise, when the interpreter
delete all the commands and find ".", the process becomes
recursive. This yield problems when the interpreter has already
allocated images.
Sat Aug 24 15:48:40 1996 Erick Gallesio <>
* Src/io.c (STk_getc): Bug correction: when a handler was set on
stdin, and the process was interactive, the system loops
* Lib/text.stk: Typo on *tk-strict-motif* for <ButtonRelease-2>
Fri Aug 23 22:24:33 1996 Erick Gallesio <>
* Src/toplevel.c (finish_initialisation): Modifications to allow
using stdin when using the "-f" option. Signaled by Erik Ostrom
Sat Aug 17 11:21:30 1996 Erick Gallesio <>
* Src/io.c: Tcl_DoOneEvent parameter was "TK_DONT_WAIT", which is no
more necessary and which greatly increase cpu usage when used
interactively. Tcl_DoOneEvent is now 0
Tue Aug 13 18:00:10 1996 Erick Gallesio <>
* STklos/Tk/Composite/*.stklos: Avoid to use a (require
"Tk-classes") since it can condut to problem if normal widget have
been loaded by hand before (i.e. without using Tk-classes)
* Lib/posix.stk: The definition of posix-access? was inverted.
* Src/posix.c (posix_access): corrected error messages typos.
* Mp/Makefile: replaced make by $(MAKE)
* New directory: Doc/LaTeX-packages: This dictory contains packages
which ares used in documentation but which are absent from some
Latex distributions.
* Lib/process.stk: mispelling in string-append. Grrr.
* Tk/configure: Bug correction: Not everybody has "." in its PATH.
* Tk/unix/ Bug correction signalled by for X11 include files placed in non
standard place
* Lib/Makefile: Bug correction signalled by when installing Lib files
* Changed Linux 2.x namimg scheme (I forgot that Linux
is now in 2.0!)
Wed Jul 24 00:04:49 1996 Erick Gallesio <>
* STk-3.1 Release
* Src/stklos.c: The slot "name" in methods (which was always (buggyly)
set to "???") is gone. A new slot replace it:
"generic-function". The value of this slot is the generic function
to which the method belongs.
Anonymous function have a "generic-function" set to #f.
Potential problem: an anonymous method can be added to two different
GFs. In this case, the slot "generic-function" will be incorrect.
However, this should not be a problem since
1. anonymous method are rare
2. this is only used by STklos to find the class of the gf
(and not the gf itself) of a method when there is no
next-method when we applying a next-method....
* Tk/unix/tkUnixWm.c: A lot of adaptation to Scheme (empty lists
replaced by #f, mainly). This modificcations were needed for amib
whose save/restore didn't work in 3.0.
* Tk/generic/tkPlace.c: Bug correction in the info suboption
Tue Jul 23 10:11:28 1996 Erick Gallesio <>
* Src/argv.c (STk_process_argc_argv): has been rewritten and is
table driven now. Parameters are processed analysed
differently now: the "--" option has been added to allow a clear
separation between interpreter arguments and scripts arguments
(as in Tcl). However, interpreter arguments must precede scripts
arguments (this is different from Tcl, but more Unixish).
* Src/tk-main.c: Bug correction: if visual was incorrect the program
enter in an infinite loop.
* Doc/Makefile: Tk Manuals pages are now prefixed by "stk_"
to avoid confusion with original Tk ones. They are always placed
in a subtree of the STk tree installation since it eases
the distribution of binary releases.
* New demo: mc-server a multiple-client server. This is a first
version, because this demo should be graphical to see connections
and deconnection as they arrive. (Next release)
Mon Jul 22 15:53:44 1996 Erick Gallesio <>
* BINARY_DISTRIB: description of the way to make binary releases.
Binary release will be stored in
* Lib/init.stk:
Lib/ Adding a site-scheme directory. This is
the standard directory for non standard stuff. Local scheme
files or extensions can be put in this directory.
Sun Jul 21 17:53:35 1996 Erick Gallesio <>
* Lib/init.stk: added the variable *shared-suffix*. It is equal to
"so", except on HP-UX whers it is set to "sl". All the Lib/*.stk*
files haves been modified to use this variable rather than hardcode
the usual ".so". I hope it will be OK for HP users.
* Src/port.c (STk_open_file): new mode accepted "a" (for append).
Fri Jul 19 14:36:04 1996 Erick Gallesio <>
* Src/posix.c:
- Renamed posix-access to posix-access? (old name exists
for compatibility but will be garbaged in afuture version)
- Added the constant X_OK which was missing
Thu Jul 11 22:21:30 1996 Erick Gallesio <>
* Src/posix.c: New primitives: posix_host_name and posix_domain_name
based on gethostname and getdomainname (POSIX.1 does not define
these functions, but ISO/IEC 9945-1:1990 mentions them in B.4.4.1.,
according to the Linux documentation.
* Src/posix.c: New primitive: posix-uname
Fri Jul 5 19:41:38 1996 Erick Gallesio <>
* Lib/html.stk: Addition of the <FONT> tag with SIZE and COLOR
sub-tags. This must be compatible with the HTML spec. The <COLOR>
tag which was STk-specific is deleted
Mon Jun 10 00:05:16 1996 Erick Gallesio <>
* Port implementation is different: A port contains now its
input and output handler. String ports have been changed accordingly.
Sat Jun 1 21:23:01 1996 Erick Gallesio <>
* STk works on Win32: However, there are a lot of minor
things which are not correct (fonts, cursors). It seems that
most of this small problems are already resolved with Tk 4.1
(the official one). OK, start to port from Tk4.1a2 to Tk 4.1.
The main probleme will very probably be with the event loop.
Mon May 27 10:42:58 1996 Erick Gallesio <>
* Renaming files in STklos/Tk and STklos/Tk/Composite: they have now
a .stklos suffix (rather than .stk), because Win32 filenames are not
really case sensitives.
Sat May 11 08:33:22 1996 Erick Gallesio <>
* Integration of code modification for WIN32 port (snow only)
Fri Apr 26 09:26:10 1996 Erick Gallesio <>
* Src/primitives.c:
* Src/gc.c:
* Src/tcl-lib.c: Widgets don't capture anymore the environment. This
was necessary before release 3.0, but useless now. As a matter of
fact, widget-environment primitive has also been suppressed. Since it
was never documented, I doubt that someone will cry for it.
* Src/cont.c: Bug: Changed "#ifdef sun" by "#ifdef sparc" for
flushing the registers window Useful for Sun3 (bug signaled
by Michael A. Patton <>)
* Lib/menu.stk: Tk:option-menu: function added (identical to the
Tcl one)
Thu Apr 25 23:10:37 1996 Erick Gallesio <>
* Tk/generic/tkMenu.c: Bug correction: tearoffmenucommand was not
defined as a closure.
Wed Apr 24 16:21:42 1996 Erick Gallesio <>
* Src/stklos.c: New protocol around gf: the following methods are now
called when an error occur with a gf call:
* no-next-method ((gf <generic>) args) as CLOS
* no-applicable-method ((gf <generic>) args) as CLOS
* no-method ((gf <generic>) args) when calling gf
without method
Tue Apr 23 23:02:26 1996 Erick Gallesio <>
* STklos/stklos.stk: New protocol for calling standard generic
functions. This protocol is not used for real <generic> function (in
this case we use a completly C hard-coded protocol). When a subclass
of <generic> is applied, the interpreter uses the new protocol instead
of the C one. This "opens" the generic function mechanism:
- special generic function can easily coded in Scheme (but
they will be slow)
- standard generic functions are as fast as possible.
This protocol provides the following generic functions:
* apply-generic ((gf <generic>) args)
* sort-applicable-methods ((gf <generic>) methods args)
* method-more-specific? ((m1 <method>) (m2 <method>) targs)
Mon Apr 22 23:50:18 1996 Erick Gallesio <>
* Src/boolean.c:
* Src/proc.c:
* Src/print.c:
* Src/gc.c:
* Src/stklos.c:
* Src/eval.c: STklos integration. Generic functions are recognized now
by the interpreter as standard STk objects (i.e. stklos is no more a
dynamically loadable extension). This integration provides:
- faster gf (the old way to implement gf is very general and
is not efficient (each call to a generic function implied
to search the way to apply the generic function in a table).
- gf are now properly tail recursive.
Fri Apr 19 23:53:32 1996 Erick Gallesio <>
* Src/print.c: Change -- address printing: the "#p" is no more used
when displaying an address. The #p is kept for Tk (of course) and
when using write.
Sun Apr 14 19:05:50 1996 Erick Gallesio <>
* Demos/compo-demo.stklos: New compo-demo for <Multiple-window>
* STklos/Tk/Composite/Multiwin.stk: 2 new composite widgets:
<Multiple-window>: a window which can contain several windows
<Inner-window> : a window embedded in a <Multiple-window>
The look is very similar to the Windows 95 explorer.
Sat Apr 13 21:58:18 1996 Erick Gallesio <>
* Tk/generic/tkEvent.c (Tk_AfterCmd): Bug correction for after idle
Sun Mar 31 22:38:54 1996 Erick Gallesio <>
* Src/unix.c: New primitive: setenv!
Fri Mar 29 15:06:46 1996 Erick Gallesio <>
* Src/gc.c (allocate_new_heap): Don't use must_malloc here since it
can conduct to call GC when allocating large heaps (typically with
large -cells xxx).
Mon Mar 25 14:20:21 1996 Erick Gallesio <>
* STklos/Tk/Canvas.stk: bind-for-dragging: bug correction end
enhancement. You can now specify a :before-motion and :after-motion
scripts. The old :motion is always accepted
(it's equivalent to :after-motion). If the :before-motion closure
returns #f, the object is not displaced and the :after-motion closure
is not applied.
Mon Feb 26 16:11:30 1996 Erick Gallesio <>
* STklos/stklos.stk: Two new methods are defined in STklos:
object-eqv? and object-equal?. They are called when doing an eqv? or
an equal? on STklos instance. These methods, which can of course be
specialized, return #f.
* Src/boolean.c: Extended types can now have a compare function which
is called when eqv? or equal? is called. This function is called when
one of the arguments of eq*? is of an extended type. See the document
on Extending STk for details.
Sat Feb 24 01:47:06 1996 Erick Gallesio <>
* Port of STk on Tk4.1a2.
This should simplify the port on Windows.
Mon Feb 19 17:19:49 1996 Erick Gallesio <>
* Src/toplevel.c (repl_driver): STk_interactivep was not correctly
initialized. This seem to be a regression (or a quirk in the home &
work files)
Fri Feb 16 14:49:48 1996 Erick Gallesio <>
* Src/number.c (do_integer_division): Correction of a bug signalled by
Raymond Toy <>. Integer division of bignums was
buggy (aka Pentium symptom (except that it was always erroneous)).
Mon Feb 12 00:03:55 1996 Erick Gallesio <>
* Extensions/pixmap.c: Pixmap implementation uses now the file
tixImgXpm.c from the Tix Library (Author: Ioi Kim Lam). This
implementation doesn't need the Xpm library (which is difficult to
locate automatically with configure script and which has several
version with compatibily problems).
Wed Jan 24 11:52:49 1996 Erick Gallesio <>
* Src/print.c (STk_print): Bug correction. Print of special char in
Strings was buggy. Thanks for signalling
it. have also added \v and \a that I have forgot.
* STklos/Tk/Composite/Scrollcanvas.stk: Correcting a small typo error
signaled by Ralf Berger <>.
Sun Jan 21 23:57:37 1996 Erick Gallesio <>
* STk-3.0 (official) release (aka known as 3.0b2 since I have forgot to
set the correct version name.
Sun Dec 10 21:37:17 1995 Erick Gallesio < (Erick Gallesio)>
* Src/promise.c (STk_force):
Bug correction for recursive expression in a force. It is now conform
to R4RS.
(define c #f)
(define p (delay (if c 100 (begin (set! c #t) (+ (force p) 1)))))
returns now the value 100 (and not 101).
This bug was raised with test.scm.
Changelog was not maintained for a while. I will try to update
it later. Sorry.
Sat Oct 7 14:57:01 1995 Erick Gallesio <>
* STk-3.0b1 release
Tue Jul 18 08:46:49 1995 Erick Gallesio <>
* Starting STk 3.0 ....
Mon Jul 17 20:55:27 1995 Erick Gallesio < (Erick Gallesio)>
* 2.2 Release
* Src/syntax.c (STk_syntax_begin): begin, and & or were not always
tail recursives. This bug was detected (and corrected) by Lars Thomas
Hansen <>
* Doc/Reference/Reference2.tex: Documentation of new hash tables
Sun Jul 16 10:30:26 1995 Erick Gallesio <>
* Snow/
* Src/ I have changed the machine determination scheme
to avoid problems on Sun (sun4m sun4 sun4c... are all the same, at
least for STk). For Linux, there is no more differerence between
the Intel rocessor used for compiling STk (i{345}86 are all the same).
* Src/dynload.c:
* Src/
* Src/
* Support for ELF format under Linux. Thanks to
Johann Friedrich Heinrichmeyer and <>
* Src/slib.c (STk_machine_type):
* Src/toplevel.c (print_banner): MACH define has been changed by MACHINE
to avoid problems with Mach systems.
Sat Jul 16 23:30:27 1995 Erick Gallesio <>
* Doc/Extension/Extending.tex: Adding documentation for Tcl widget
Thu Jul 13 09:04:54 1995 Erick Gallesio <>
* Doc/Reference/Appendix-D.tex: Description of Ilisp, CMU Scheme packages
* Doc/Manual/stk.txt: New manual page. Manual page is now installed in
* Src/error.c (STk_err): Don't print a line number when error comes from
* Src/stk.h:
* Src/toplevel.c:
* Src/argv.c: New option: -interactive to force the
interpreter to be interactive, even if it doesn't seem to
be. This is useful when using STk under Emacs.
When STk is interactive, stdout and stderr are now unbuffered.
* Src/port.c (STk_init_standard_ports): line buffering of Stderr has been
deleted. Everything is done now in toplevel.c (depends on the
-interactive flag
* Lib/regexp.stk: Bug correction in regexp-replace-all when replacing
string appears in the string to replace. Correction is due to
Sean Slattery <jslttery@GS148.SP.CS.CMU.EDU>
Wed Jul 12 09:57:10 1995 Erick Gallesio < (Erick Gallesio)>
* Src/syntax.c (syntax_let_family): Don't signal an error if a
symbol is defined twice in a let*. Formal semantics given in R4RS
allows it (whereas textual explanation seems to forbid it.
Problem was found by Brent Knight <knight@CS.Cornell.EDU>.
* Src/port.c: New definition of macro READ_DATA_PENDING for
ELF compiling. Thanks to Jin S. Choi <>
for the bug correction.
* Lib/init.stk: Macros are now defined in the global environment.
This avoids problems when some primitives procedure are redefined.
All the primitive should be protected for those redefinitions.
* Lib/Makefile (install): is now placed in the good directory
* Tk/tkCanvas.c (CanvasWidgetCmd): Correction of a bug signaled by
Johann Friedrich Heinrichmeyer. The result of the poscript command
must be "stringified".
Tue Jul 11 21:16:17 1995 Erick Gallesio < (Erick Gallesio)>
* STklos/Tk/Canvitem.stk (initialize-item): INCOMPATIBLE CHANGE
<Text> in canvas has been renamed in <Canvas-text> to avoid a conflict
when using both cnavases and texts widgets.
Demos have been modified to take this modification into account
* STklos/Tk/Composite/Scrollcanvas.stk (<Scroll-canvas>):
* STklos/Tk/Composite/Scrollbox.stk (<Scroll-listbox>): Bug correction in
background propagation. (Bug signaled by H. J. Stein)
Tue Jul 11 16:31:44 1995 Erick Gallesio < (Erick Gallesio)>
* Correction of several bugs signaled by Eric Ostrom on text widget
Fri Jul 7 23:27:17 1995 Erick Gallesio < (Erick Gallesio)>
* Tk/tkWindow.c (Tk_CreateMainWindow):
* Src/toplevel.c (init_interpreter): Init system path from
STK_LIBRARY shell variable. This variable MUST be initialized now
(this is done in the stk or snow scripts). This allows us to make
binaries which are independant of their location. This will permit
to distribute binaries on kaolin.
* Src/hash.c: Modification of the hash table module to take into
account an optional parameter which specifies the comparison function.
This permits to have equal? eqv? eq? or string? hash tables for instance
Tue Jul 4 14:04:49 1995 Erick Gallesio < (Erick Gallesio)>
* Src/port.c:
* Src/sport.c: Minor code cleaning (using STk_is_thunk)
Fri Jun 23 22:27:26 1995 Erick Gallesio (
* STklos/Tk/Composite/Scrolltext.stk (<Scroll-text>): bug correction
in background propagation
Mon Jun 5 18:03:47 1995 Erick Gallesio (
* STk-2.1.7 release
* Extensions/posix.c: An extension for using Posix primitives in
Scheme. Far from complete. This is just a start. Any help on this
point would be appreciated.
* Doc/Extension/Extending.tex: A new version which is more (but not
totally :-<) complete.
* Extensions/stack.c: a new file used for illustating the document
"Extending the STk interpreter"
* Demos/amib.stklos: A new version of the interfac builder which
is usable now. This version handle the packer and the placer.
* STklos/Tk/Composite/Multipaned.stk (initialize-composite-widget):
Addition of the Multipaned composite widget. Thanks to Harvey J. Stein,
for his modifications.
Sat Jun 3 00:44:53 1995 Erick Gallesio (
* Lib/init.stk:
* Src/syntax.c: Rewritting of "while" and "unless" in C
* A new type: tc_ssubr. This type is temporary and will change in
the next release. This type correspond to all n-ary functions of
number.c. Correction of an ENNORMEOUS bug: There was a double
evaluation when fsubr where called by apply!!!. Fsubr cannot be
applyed now (ssubr are the only procedure with non evaluated
parameter which can be appyed.
* Src/proc.c (STk_procedurep): (Procedure? a-tk-command) => #t now
* Lib/inspect-misc.stk (inspect::typeof obj): correction of a bug
introcuced in the inspector by previous modification
Fri Jun 2 00:07:20 1995 Erick Gallesio (
* Src/gf.c (find_method): Code cleaning.
Thu Jun 1 19:29:39 1995 Erick Gallesio (
* Src/port.c (do_load): I have added a comment when a file has
finished to be loaded, as suggested by David Fox.
* Src/gc.c (gc_sweep): GC calls now Tcl_DeleteCommand when a new
command is deleted. See below ...
* Src/tcl-lib.c: Modifications of {Create,Delete}Interp and
{Create,Delete}Command to really execute the detete code of a
Tk-command. This seems to be useful only for the send command
annd "." command (but would also be probably useful for future
tcl extensions). The "send" associated delete proc permits to
unregister the interpreter from the X server (bug signalled by
Sean Slattery slttery@GS148.SP.CS.CMU.EDU and that I have never
seen !!!!).
Mon May 29 17:04:53 1995 Erick Gallesio (
* STklos/Tk/Message.stk (<Message>): Deleteing the class
<Tk-sizeable> from <Message> class. This was erroneous.
Fri May 26 23:52:40 1995 Erick Gallesio (
* STklos/Tk/Toplevel.stk (<Toplevel>): Adding the :init-keyword
for class and display slots. This modification was necessary for
the new AMIB. Min-size and max-size slots contain now a string
and class and display slots contain a string (it was a symbol)
* STklos/Tk/Frame.stk (<Frame>): Adding the :init-keyword for
class slot Class slot contains a string (it was a symbol)
Fri May 19 22:44:59 1995 Erick Gallesio (
* Src/sport.c (STk_get_output_string): Correction of a bug
signalled by
Wed May 3 12:59:24 1995 Erick Gallesio (
* STklos/Tk/Composite/Paned.stk (motion-grip): Applying the patch
of Harvey J. Stein <hjstein@MATH.HUJI.AC.IL> which constraints
the grip ]0..1[ This permits to avoid its disappearance.
Tue May 2 00:05:55 1995 Erick Gallesio (
* STklos/Tk/Tk-methods.stk: This file is always loaded now (it was
loaded only when Tk was initialized before). Read the comment in
this file when re-using STk images. *top-root* initialization is
in Tk-methods.stk rather than Toplevel.stk now.
* Lib/tk-init.stk (Tk:initialized?): a new variable which is set
to #t when Tk is fully initialized
Mon May 1 16:55:18 1995 Erick Gallesio (
* Src/stklos.c (display_instance):
* Src/error.c (STk_err):
* Src/eval.c (STk_show_eval_stack):
* Src/port.c (STk_write):
* Src/tk-glue.c (STk_convert_for_tk):
* Src/toplevel.c (repl_loop):
* Src/extend.c (internal_display):
* Src/print.c (STk_print): All those files have been modified for
giving the port (a SCM object) to the procedure which do a print
rather than a FILE *, which is more general. This modification is
necessary for permitting a real display_object in extension. STklos
uses this for the {write,display,tk-write}-object methods.
Tue Apr 25 14:57:48 1995 Erick Gallesio (
* Src/number.c (STk_gcd): Bug correction in lcm, gcd, min and max (arguments
were evaluated several times!!!!).
Tue Apr 18 14:55:23 1995 Erick Gallesio (
* STklos/Tk/Composite/Scrolltext.stk: New file. It implements what
you think it should!!
* STklos/Tk/Composite/Scrollcanvas.stk: New file. It implements
what you think it should!!
* STklos/Tk/Composite/Scrollbox.stk (<Scroll-listbox>): Scroll
listbox accept now horizontal scrollbar.
Sat Apr 15 15:40:40 1995 Erick Gallesio (
* Tk/tkListbox.c (ListboxWidgetCmd): Correction of an old old bug:
Getting an element of listbox always retusrns a string. However,
this modification breaks down the inspector.... (it is time to
rewrite it....)
Fri Apr 14 23:32:42 1995 Erick Gallesio (
* Src/number.c (STk_round): Bug correction. (Round x) must returns
the closest integer to x, rounding to even when x is halfway
between two integers.
Fri Mar 31 00:15:36 1995 Erick Gallesio (
* Src/ Adding test for the existence of the pid_t
type. This is needed for porting STk on Sony WS (Sony NEWS,
NEWSOS 4.2R) Thanks to Nobuyuki Hikichi <>
* Lib/init.stk (random): have been extended to allow the result to
be a bignum. Here again, thanks to Nobuyuki Hikichi
Sat Mar 25 23:33:54 1995 Erick Gallesio (
* STk/read.c: Modification of the reader to remember current
filename and line counters. This eases debugging since error
messages can display those informations.
Thu Mar 16 15:32:59 1995 Erick Gallesio (
* Src/extend.c (STk_define_C_variable): New function. This
function permit to establish a link between a C variable and a
Scheme one. Once this link is established, every reading of the
variable will call a getter function and every write will call the
setter function. No data is used in the Scheme space, variable
value is a C data.
Wed Mar 15 17:21:40 1995 Erick Gallesio (
* New primitive type: C-pointer. This is a Scheme type to wrap a C
pointer. It greatly eases communication with C.
* Src/extend.c: New file. This file contains all the code for
extensions and C pointers. It contains a ot of code from old
dynload.c. File dynload.c contains now only the function which do
dynamic loadind (and which is very sytem dependant.
Tue Mar 14 13:30:11 1995 Erick Gallesio (
* Src/slib.c (STk_internal_eval_string): Bug correction. The error
context was false.
Fri Mar 10 15:55:47 1995 Erick Gallesio (
* Src/userinit.c (STk_user_cleanup): STk_user_cleanup has been added.
* Src/port.c (STk_init_standard_ports): Error file is now line
buffered. This gives better performances when used under emacs.
Thu Mar 9 12:49:43 1995 Erick Gallesio (
* Added support for dynamic loading under Linux (with DLD). Code
is inspired from a contribution of Patrick Nguyen
Sun Mar 5 16:06:11 1995 Erick Gallesio (
* Src/port.c (STk_char_readyp): Added support for char-ready. Code
should not be very portable...
Sat Feb 25 11:51:45 1995 Erick Gallesio (
* Src/slib.c (STk_get_internal_info): Bug correction: the result
was completely erroneous. Is it possible that I have tested this
function without having seen this????
* Dynamic loading should work for OSF1 (Thanks to Erik Ostrom
Sun Feb 12 18:00:15 1995 Erick Gallesio (
* 2.1.6 release
Sat Feb 11 23:23:15 1995 Erick Gallesio (
* Src/env.c (STk_parent_environment): New function. It was time to
write it...
* Src/port.c (STk_error): Set context to ERR_OK but keep the bit
indicating if error must be caught or not.
* New version of blt for STk. Some minor changes for compiling it
with new C conventions.
Thu Feb 9 23:21:52 1995 Erick Gallesio (
* STklos/Tk/Basics.stk: Tk::find-option is defined as autoload to
permit image creation.
* STklos/Tk/Toplevel.stk: Definition of *top-root* is deferred
until first <Toplevel> creation (to allow image creation)
* STklos/Tk/Tk-methods.stk: New file. This file contains the
redefinition of Tk commands as methods. This file is loaded when
the first Tk object is really created. Deferring the loading of
this file permits to make images of interpreters containing Tk
Thu Feb 2 23:15:15 1995 Erick Gallesio (eg@biot)
* Src/unix.c (absolute): Bug correction for file name with mutiple
dots such as "...1../2" which were improperly expanded
* Src: Yeaaah. All the symbols defined by STk are now prefixed by
"STk_". It tooks me some days to obtain this. I take this
occasion to pass through the code and try to ameliorate things
rather than using brute force.
Wed Feb 1 02:17:12 1995 Erick Gallesio (eg@biot)
* Socket support has been rewritten. It is now configured by
default. New model seems more simple (at least for me) and more
coherent with the process extension.
Tue Jan 31 10:30:29 1995 Erick Gallesio (
* Modification of all Makefile to use $(MAKE) rather than make as
suggested by Christian Lynbech <>
Mon Jan 30 15:22:06 1995 Erick Gallesio (
* Tk/tkConfig.h: Modifications for HPUX.
Sun Jan 29 15:11:06 1995 Erick Gallesio (eg@biot)
* Src/process.c: Completely cleaned up. Table of processes is
managed by the SIGCHLD signal if it exists. On machines without
job control, process management is done by hand. Some new function
have been added (suggested on the mailing list by Giorgio Cesana
<>): process-exit-status, process-stop,
process-continue, process-send-signal.
(run_process): A new option: ":host" which permits to execute the command
on a distant host.
Mon Jan 23 12:07:23 1995 Erick Gallesio (
* Src/tk-main.c (Tk_main): adding code for managing argument line
-geometry option. It was missing....
* Src/stklos.c (make_primitive_classes): Adding the new primitive
class <list> which is the ancestor of <pair> and <null>. Suggested
by Harvey J. Stein (
Sun Jan 22 18:12:02 1995 Erick Gallesio (eg@biot)
* Demos/inspector.stk: A small demo, for showing usage of the
inspector with Tk object. A very simple thing but this seems to be
rather unknown.
Sat Jan 21 23:01:15 1995 Erick Gallesio (eg@biot)
* Src/read.c (lreadr): Cosmetic changes. Using the sym_XXX
variables instead of interning them at each time.
* Src/gc.c (allocate_new_heap): Setting of the field gc_mark to 0
for all new allocated cell. Thanks to Chet Murphy
<murthy@CS.Cornell.EDU> for this bug correction.
* Src/toplevel.c (init_interpreter): Bug correction: sym_unquote
was gc protected twice whereas sym_unquote_splicing was not. A
cut/paste error which took 2 days to debug :-(
Mon Jan 9 12:06:08 1995 Erick Gallesio (
* Configure and Mafefile files modifications to allow dynamic
loading under Irix 5.3. Thanks to Michael Tiemann
<> for the patches.
Sun Jan 1 21:10:45 1995 Erick Gallesio (eg@biot)
* One important thing :-) Adding 1995 in all the files which
contains a copyright notice. This is the good day for doing that
(an only that!).
Fri Dec 30 17:56:40 1994 Erick Gallesio (eg@biot)
* New organization of Tcl files. All The Tcl files have been
updated to release 7.4b1 (the Tcl release that comes with Tk
4.0b1). The file Src/tcl-util.c has shrink a lot and most of it
is now in Tcl/tlUtil.c (in fact a copy of the original file with
some #ifdefs). This last change is break the previous philosophy
of libtcl.a (a library of Tcl file *unmodified*) but changes are
minor and I hope that it will ease the port to new version of
Tcl/Tk which semble very instable at this time.
Wed Dec 28 18:14:22 1994 Erick Gallesio (eg@biot)
* Lib/error.stk (report-error): Modification of error message format
* Src/primitives.c: Deleting the definition of the "lindex"
primitive which doesn't serve anymore.
Tue Dec 20 12:02:00 1994 Erick Gallesio (
* Src/syntax.c (syntax_define): "Bug" correction: When using a
local "define", There was a duplication of the binding if the
symbol was already defined in the out most environment. Since the
new binding was placed before the older one, good value was
found. However, it makes environment bigger than necessary
(and strange result when using environment->list).
* Src/env.c (value_in_env): New function. It returns the value of
var in given env. Search is done only at out most level. This
function is an utility function for local "define".
Mon Dec 19 12:08:31 1994 Erick Gallesio (
* Src/stk.h (MAX_CHAR_CODE): Correct value is 255 (it was 256)
Fri Dec 16 16:06:57 1994 Erick Gallesio (
* STk 2.1.5 release
Fri Dec 16 13:56:25 1994 Erick Gallesio (
* Src/dynload.c: Adding support for HPUX (thanks to ipankar Gupta
Fri Dec 9 22:15:34 1994 Erick Gallesio (eg@biot)
* Snow/ There is now a new interpreter, called snow
(for Scheme NO Window), which is the STk interpreter without Tk
support. This interpreter is an independant executable. It can be
called with the snow shell-script or by unsetting the DISPLAY
Thu Dec 8 22:47:44 1994 Erick Gallesio (eg@biot)
* Modifications of all and
Now we can
- share versions of STk between different architectures
- have several versions of STk installed on the same machine
Wed Dec 7 21:46:44 1994 Erick Gallesio (eg@biot)
* Src/dynload.c (load_object_file): Adding dynamic loading support
for NetBSD-1.0 (i386-port). Thanks to Franke Ruediger
( for the patch.
Tue Dec 6 00:26:48 1994 Erick Gallesio (eg@biot)
* Src/tk-glue.c (execute_Tk_lib_cmd): GC bug correction. There was a
bug when a GC occured during the creation of the argv array of a Tk
command. This bug occured on Linux with -O2; Correcting it doesn't arrange
things==> Usage of an equivalent code. Thanks to H. Stein for signaling this bug.
Sat Nov 26 10:46:58 1994 Erick Gallesio (eg@biot)
* Src/stklos.c: Changing all the "class" variables by "clath" for
C++ users
* Src/port.c (loadfile): All the code for loading file is now
written in C and things are more "orthogonal". New variable
defined: *load-suffixes*.
* Src/toplevel.c (repl_driver): Move of user init initialisation
so taht they are taken into account in case of a "stk -f" (thanks
to Brian Webb
Wed Nov 9 13:54:34 1994 Erick Gallesio (
* STk-2.1.4 release
Thu Nov 3 23:20:06 1994 Erick Gallesio (eg@biot)
* A New datatype: regular expressions. They are defined in a
dynamic loadable file (for the regexp compiler and the apply
function) and in a Scheme file
(mainly for the regexp-replace[-all] procedures
Wed Nov 2 16:49:07 1994 Erick Gallesio (
* file-is-xxx? and file-exists? are now written in C
* Elimination of %file and %string Tcl command. Those commands
were used behind the scene to avoid some rewriting. No code in the
distribution should use them. This conduct to the defineition of
two new primitives string-index and file-is-executable? (which was
forgotten in previous releases).
Mon Oct 31 11:04:27 1994 Erick Gallesio (eg@biot)
* Src/hash.c (hash_table_stats): Circumvent a bug in Tcl code on
empty hash tables (see comment in source file)
Fri Oct 28 14:23:36 1994 Erick Gallesio (eg@biot)
* STklos/Tk/Toplevel.stk (<Toplevel>): All the "wm" Tk-command
options are now available through Toplevel slot accesses (Idea
from Rob Deline) A New global variable: *top-root*: This is a
toplevel which contains the *root* window. Changing the name of
the root window can now be done by
(set! (title *top-root*) "New title")
Tue Oct 18 14:42:55 1994 Erick Gallesio (
* Src/number.c (lround): Rewritten to avoid the use of the rint(3)
function which does'nt seems to exist on some systems (SCO and
some HP at least)
Mon Oct 17 18:29:31 1994 Erick Gallesio (eg@biot)
* Lib/editor.stk (stk:all-fonts): Various font specifications
changes (those which where used in all the Lib directory where not
Mon Oct 17 11:38:17 1994 Erick Gallesio (
* Src/slib.c (lrandom): Bug correction (bignum where not allowed
as parameter => (random(random 10)) was invalid since result of
random is always a bignum
(bug signaled by Markus Armbruster <>)
Fri Oct 14 09:02:12 1994 Erick Gallesio (
* New procedure: run-process which permit to run a process with
redirection off the stdin, stdout and stderr. The code is a
rewriting of the Alexander Taranov, Grygory Niconov and David
Tolpin contribution.
Thu Oct 13 14:56:05 1994 Erick Gallesio (
* Src/number.c: Add a rint compatible function for systems which
desn't provide one (SCO apparently -- signaled by
Wed Oct 12 15:12:51 1994 Erick Gallesio (
* New functions for port manipulation (port->string
port->string-list ....) With those function, it is easy to
write a Tcl-like exec. All those function are written in
Tue Oct 11 15:53:49 1994 Erick Gallesio (
* Src/slib.c (set_random_seed): modified to allow bignums for the seed.
Mon Oct 10 14:16:52 1994 Erick Gallesio (
* Minor modifications to allow a better compilation on some C and C++
Sun Oct 9 18:19:01 1994 Erick Gallesio (eg@biot)
* Bug correction: the eval_stack (which serves ONLY for displaying
context upon error was not corectly managed on "tail recursion
elimination". This leads to memory consumption on infinites loops.
Tue Sep 27 11:46:01 1994 Erick Gallesio (
* STklos/tk-classes.stk: Creation of a new file which define a set
of autoloads. Those autoload permits to avoid to use a long list
of require at the beginning of programs
* Src/port.c (do_autoload): Adding support for autoload in C. Now,
any kind of symbol can be autoloaded.
Thu Sep 15 16:36:01 1994 Erick Gallesio (
* 2.1.3 Release
Wed Sep 14 18:52:14 1994 Erick Gallesio (
* Src/stklos.c (make_instance): GC bug correction in a critical
section of code.
* Src/macros.c (lmacro): GC bug correction in a critical section
of code.
* Src/symbol.c (intern): modification of a critical section of
code a GC could occur between the hash table entry creation and
the end of its initialization. Correction of the same kind of
problem in keyword.c. Bug discovered by Rob Deline.
* Src/stklos.c (modify_instance): Bug correction (change-class
make a twist between old and new instance) ==> following GC free
the bad instance data !!
Fri Sep 9 13:40:12 1994 Erick Gallesio (
* Packing of the STk2.1.2 release
Thu Sep 8 09:27:16 1994 Erick Gallesio (
* STklos/stklos.c: Definition of a slot_set_if_unbound which only
affect a slot if needed. This function is used in the slots
initialization process. Now, things are corrects when a slot
:initform is overloaded by inheritance or when initialization is
done in an initialize followed by a next-method
(i.e. it's the user value which is taken instead of the default one).
* Src/gc.h: re-integretate gc_protect (can be useful for extension
* After 3 days continuations are tail recursive..... I thought I
will become crazy before I found the little typing mistake (a
lsubr instaed of a tsubr in primitives.c) which makes things
Mon Sep 5 18:37:16 1994 Erick Gallesio (
* Symbols and keywords use now Tcl Hash table (which grow
dynamically). Keywords share now memory. This reduces drastically
space occupation. (Old symbol table uses conses, and keywords
where not shared). Unused symbols can be GCed now.
* Change class bug correction (Thanks to Rob Deline).
Fri Sep 2 11:41:04 1994 Erick Gallesio (
* -image can be specified needs not anymore to be the first
argument of the command line.
* Src/argv.c: "-cells" can be specified when calling stk. This
give the amount of cells created upon init.
Wed Aug 31 14:17:44 1994 Erick Gallesio (
* Src/argv.h (save_unix_args_and_environment): moved to
argv.c. This new file contains all the argc/argv/env stuff. STk
doesn't rely anymore on Tk code for parsing command line
arguments. This permits to have a arguments processing even if not
compiled with -DUSE_TK.
Tue Aug 30 13:39:53 1994 Erick Gallesio (
* Tk/tkArgv.c (Tk_ParseArgv):
* Src/gc.c (init_gc): GC complete revision: Now we have a set of
heaps and a new heap is allocated as soon as the global space is
"nearly" filled (I have fixed nearly to 75%). User can maually
grow the heap by using extend-heap. There are time statitics now
indicating how much time is spent in GC.
Mon Aug 29 12:35:05 1994 Erick Gallesio (
* Src/cont.c (throw): bug correction in
continuations. Specifically, the gc_mark phase for the
continuation blocks may fail because the stack starting and ending
addresses used in the code are both (char *), not (SCM *),
aligned, and the stack is copied in bytes, not in SCMs. on char *
rather than SCM. This bug was discoverred by Felix Wu
* Adding SLIB support (i.e. I have written the STk.init
file). Some modifications in stk.init were needed (accepting the
".scm" suffix mainly)
* Src/macros.c (expand): Cleanup in macros. We have now
macro-expand and macro-expand-1
Thu Aug 25 15:59:33 1994 Erick Gallesio (
* Src/number.c (do_integer_division): bug correction for
modulo. The fix is due to
Wed Aug 24 12:02:41 1994 Erick Gallesio (
* Src/number.c (integerp): Bug correction. integer? must returns
#t even if the value is an inexact integer.
* port.c: - modification to allow close-port on string-port
- if the first char of a filename is a pipe ("|") character,
usage of popen instead of fopen. This permits to define
"pipe ports" very easily as in Tcl.
* Integration of the Suresh Srinivas STk-wtour demo to the
Contrib. Some minor bugs have been fixed and some new lessons have
been added. Hierarchy was modified to fit to the contrib
Tue Aug 23 17:16:34 1994 Erick Gallesio (
* Definition of a file compatibility file which assume compatibily
among versions. When this file is loaded, a message will be
printed, saying that you have to upgrade your source.
* Adding support for Text in STklos Definition of a new version of
the STF format (0.2) which permits to load and save files with
their enhancment (font, color, ...). Now, tags can be dynamically
created (instead of choosen in a fixed list). A compatibility
mode is provided (see above)