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/stk-genmake.in: 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 and tk-constructor. * STklos/Tk/Tk-meta.stklos: Added exportation of compute-tk-virtual-get-n-set. 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 now). * configure.in: 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 efficient. 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 to Tk-classes. 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/Makefile.in : 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 version. * configure.in : 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 parameter 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 . This class is the now the parent class of 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 , 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 natve (someday) on Windows. * STklos/Tk/MsgBox.stklos: New Classes: . 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 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 and 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 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 class. * STklos/Tk/Frame.stklos: Change in the STklos hierarchy: inherits now from . They were separate classes before. 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. now. 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 Elisp/CL DEFVAR * 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 given. 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 * configure.in: Take into account the new libc (Gnu libc) for Linux. 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 primitives Tue Oct 7 09:46:46 1997 Erick Gallesio * Extensions/posix.c (posix_stat2vector): bug correction (GC problems) * 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: . This is identical to the class , 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 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 windows. 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 ) 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 generic-function-name generic-function-methods method-generic-function method-specializers method-procedure remove-method change-object-class Sun Feb 23 23:08:40 1997 Erick Gallesio * STklos/stklos.stk: New MOP procedures slot-definition-name slot-definition-options slot-definition-allocation slot-definition-getter slot-definition-setter slot-definition-accessor * 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: and . A is a method which cannot be call next_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: STklos/stklos.stk: Modifications - 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 (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 problems). 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 grid. 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 and 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: and . 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 occurs) 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 * configure.in: * 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 posix.so 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 STk_set_signal_handler. * 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 * configure.in: 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 * configure.in: 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 indefinitely. * Lib/text.stk: Typo on *tk-strict-motif* for 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/Makefile.in: Bug correction signalled by Matthew.R.Wette@jpl.nasa.gov for X11 include files placed in non standard place * Lib/Makefile: Bug correction signalled by Matthew.R.Wette@jpl.nasa.gov when installing Lib files * configure.in: 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 ftp://kaolin.unice.fr/Binary * Lib/init.stk: Lib/Makefile.in: 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 tag with SIZE and COLOR sub-tags. This must be compatible with the HTML spec. The 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 ) args) as CLOS * no-applicable-method ((gf ) args) as CLOS * no-method ((gf ) 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 function (in this case we use a completly C hard-coded protocol). When a subclass of 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 ) args) * sort-applicable-methods ((gf ) methods args) * method-more-specific? ((m1 ) (m2 ) 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 * STklos/Tk/Composite/Multiwin.stk: 2 new composite widgets: : a window which can contain several windows : a window embedded in a 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 Drew.Whitehouse@anu.edu.au 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 * 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 * 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/run-snow.in: * Src/run-stk.in: 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/configure.in: * Src/Makefile.in: * configure.in: * Makefile.in: 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 integration 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 $(prefix)/man/man1/stk.1 * Src/error.c (STk_err): Don't print a line number when error comes from stdin. * 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 Wed Jul 12 09:57:10 1995 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 . * 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): prolog.ps 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 * STklos/Tk/Canvitem.stk (initialize-item): INCOMPATIBLE CHANGE in canvas has been renamed in 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 (): * STklos/Tk/Composite/Scrollbox.stk (): Bug correction in background propagation. (Bug signaled by H. J. Stein) Tue Jul 11 16:31:44 1995 Erick Gallesio * Correction of several bugs signaled by Eric Ostrom on text widget Fri Jul 7 23:27:17 1995 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 * Src/port.c: * Src/sport.c: Minor code cleaning (using STk_is_thunk) Fri Jun 23 22:27:26 1995 Erick Gallesio (eg@unice.fr) * STklos/Tk/Composite/Scrolltext.stk (): bug correction in background propagation Mon Jun 5 18:03:47 1995 Erick Gallesio (eg@kaolin.unice.fr) * 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 (eg@unice.fr) * 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 (eg@unice.fr) * Src/gf.c (find_method): Code cleaning. Thu Jun 1 19:29:39 1995 Erick Gallesio (eg@unice.fr) * 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 (eg@unice.fr) * STklos/Tk/Message.stk (): Deleteing the class from class. This was erroneous. Fri May 26 23:52:40 1995 Erick Gallesio (eg@unice.fr) * STklos/Tk/Toplevel.stk (): 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 (): 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 (eg@unice.fr) * Src/sport.c (STk_get_output_string): Correction of a bug signalled by Fritz.Heinrichmeyer@fernuni-hagen.de Wed May 3 12:59:24 1995 Erick Gallesio (eg@unice.fr) * STklos/Tk/Composite/Paned.stk (motion-grip): Applying the patch of Harvey J. Stein which constraints the grip ]0..1[ This permits to avoid its disappearance. Tue May 2 00:05:55 1995 Erick Gallesio (eg@unice.fr) * 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 (eg@unice.fr) * 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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 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 accept now horizontal scrollbar. Sat Apr 15 15:40:40 1995 Erick Gallesio (eg@unice.fr) * 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 (eg@unice.fr) * 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 (eg@unice.fr) * Src/configure.in: 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 (eg@unice.fr) * 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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * Src/slib.c (STk_internal_eval_string): Bug correction. The error context was false. Fri Mar 10 15:55:47 1995 Erick Gallesio (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * Added support for dynamic loading under Linux (with DLD). Code is inspired from a contribution of Patrick Nguyen (pnguyen@elde.epfl.ch) Sun Mar 5 16:06:11 1995 Erick Gallesio (eg@unice.fr) * 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 (eg@unice.fr) * 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 (eg@unice.fr) * 2.1.6 release Sat Feb 11 23:23:15 1995 Erick Gallesio (eg@unice.fr) * 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 (eg@unice.fr) * 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 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 classes. 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 (eg@kaolin.unice.fr) * Modification of all Makefile to use $(MAKE) rather than make as suggested by Christian Lynbech Mon Jan 30 15:22:06 1995 Erick Gallesio (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 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 which is the ancestor of and . Suggested by Harvey J. Stein (hjstein@math.huji.ac.il) 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 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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * Src/stk.h (MAX_CHAR_CODE): Correct value is 255 (it was 256) Fri Dec 16 16:06:57 1994 Erick Gallesio (eg@kaolin.unice.fr) * STk 2.1.5 release Fri Dec 16 13:56:25 1994 Erick Gallesio (eg@kaolin.unice.fr) * Src/dynload.c: Adding support for HPUX (thanks to ipankar Gupta ) Fri Dec 9 22:15:34 1994 Erick Gallesio (eg@biot) * Snow/run-snow.in: 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 variable. Thu Dec 8 22:47:44 1994 Erick Gallesio (eg@biot) * Makefile.in: Modifications of all configure.in and Makefile.in. 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 (Ruediger.Franke@rz.tu-ilmenau.de) 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 webbb@aies.tucson.saic.com) Wed Nov 9 13:54:34 1994 Erick Gallesio (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 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 (): 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 (eg@kaolin.unice.fr) * 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 portable. Mon Oct 17 11:38:17 1994 Erick Gallesio (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * Src/number.c: Add a rint compatible function for systems which desn't provide one (SCO apparently -- signaled by markd@grizzly.com) Wed Oct 12 15:12:51 1994 Erick Gallesio (eg@kaolin.unice.fr) * 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 Scheme. Tue Oct 11 15:53:49 1994 Erick Gallesio (eg@kaolin.unice.fr) * Src/slib.c (set_random_seed): modified to allow bignums for the seed. Mon Oct 10 14:16:52 1994 Erick Gallesio (eg@kaolin.unice.fr) * Minor modifications to allow a better compilation on some C and C++ compilers. 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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 2.1.3 Release Wed Sep 14 18:52:14 1994 Erick Gallesio (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * Packing of the STk2.1.2 release Thu Sep 8 09:27:16 1994 Erick Gallesio (eg@kaolin.unice.fr) * 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 writers) * 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 weird. Mon Sep 5 18:37:16 1994 Erick Gallesio (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * -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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 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 (eg@kaolin.unice.fr) * 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 (wu@cadence.com) * 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 (eg@kaolin.unice.fr) * Src/number.c (do_integer_division): bug correction for modulo. The fix is due to kerch@parc.xerox.com. Wed Aug 24 12:02:41 1994 Erick Gallesio (eg@kaolin.unice.fr) * 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 directory. Tue Aug 23 17:16:34 1994 Erick Gallesio (eg@kaolin.unice.fr) * 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)