Index: ChangeLog =================================================================== diff -u -r545f952e2868a774dc0c1677d40232eddfe5800e -r73c727f3b02520959569bdeb64b25d282db9b948 --- ChangeLog (.../ChangeLog) (revision 545f952e2868a774dc0c1677d40232eddfe5800e) +++ ChangeLog (.../ChangeLog) (revision 73c727f3b02520959569bdeb64b25d282db9b948) @@ -1,3 +1,11 @@ +2011-01-20 + * Backport of fix for nsf : fixed a nasty bug within namespace + deletion, when a deletion of one tcl cmd caused implicit deletions + of other cmds in the same namespace. The classical idiom for + looking over hash tables with Tcl_GetHashValue() and + Tcl_NextHashEntry(hSrch) can lead to crashes (and has different + behavior depending on the number of buckets). + 2010-12-26 * Make cppcheck happy @@ -131,7 +139,7 @@ * added command ::xotcl::finalize This command has the only purpose to delete all objects and classes - of an interpreter in a multi-threaded environment at a safe time. + of an interpreter in a multi-threaded environment at a safe time. Background: when XOTcl is used in a threaded environment such as for example in AOLserver, one has to take care that the deletion @@ -155,17 +163,17 @@ * handle nonposargs in method "copy" properly * extend regression test for copy - + * added " mixinof -closure ?pattern?" - Query the objects for which is used as a per-object-mixin + Query the objects for which is used as a per-object-mixin (directly or indirectly) * extended regression test for mixinof - * updated documentation - + * updated documentation + 2008-09-11 - * Implement proper downgrading of Classes to Objects: + * Implement proper downgrading of Classes to Objects: In cases where a class ::C is created, which is later downgraded to an object ::C (either via "::C class ::xotcl::Object" or via @@ -182,7 +190,7 @@ of a class is deleted, which is used as per-object mixin * extended regression test - * Updating and improving documentation + * Updating and improving documentation 2008-06-24 * Release of XOTcl 1.6.1 @@ -201,20 +209,20 @@ 2008-05-30 * updating language reference - * Fix contents for %proc in forwarders in cases, + * Fix contents for %proc in forwarders in cases, where the forwarder was called via next and the argument list for next was provided. Previously, "next" was used for %proc. 2008-05-28 * make "info (inst)?forward -definition name" more robust (provide an - error message, if is not given - * New info subcommands "info parametercmd" + error message, if is not given + * New info subcommands "info parametercmd" and "info instparametercmd" * export *parametercmds in Serializer, use "-noinit" on slots as well 2008-05-26 - * fixed bug in info instdefault, when the given argument name + * fixed bug in info instdefault, when the given argument name is an empty string. Example: X info instdefault crash "" var @@ -231,8 +239,8 @@ (many thanks for Andreas Kupries for reporting) 2008-02-25 - * Fix for "x configure -set"; many thanks to - Rene Zamseil for reporting. + * Fix for "x configure -set"; many thanks to + Rene Zamseil for reporting. 2008-02-24 * Release of XOTcl 1.6.0 @@ -241,7 +249,7 @@ * Update of documentation 2008-02-21: - * Clear XOTCL_MIXIN_ORDER_VALID flag unconditionally + * Clear XOTCL_MIXIN_ORDER_VALID flag unconditionally in MixinInvalidateObjOrders() for mixins (Neophytos had problems in naviserver; many thanks for reporting!) @@ -272,7 +280,7 @@ 2008-02-08: * New info option "-closure" for "info instmixin" with -guards and -closure support - + * Extended test cases for "info instmixin" 2008-02-06: @@ -317,7 +325,7 @@ info instances ?-closure? ?pattern? info instmixinof ?-closure? ?pattern? info mixinof ?pattern? - + In cases, where the option "-closure" is defined, the values are computed transitively. @@ -374,7 +382,7 @@ - don't call unset traces during an object move (related to fix below) 2008-01-04: - - preserving var traces when copying objects + - preserving var traces when copying objects (Many thanks to Florian Murr for reporting the bug) 2008-01-02: @@ -394,7 +402,7 @@ * instmixinofs -> isClassMixinOf * getAllInstMixinofs -> getAllClassMixinsOf * RemoveFromMixinofs -> removeFromObjectMixinsOf - * RemoveFromInstmixinsofs -> removeFromClassMixinsOf + * RemoveFromInstmixinsofs -> removeFromClassMixinsOf 2007-12-28: - new function from Martin MixinResetInstanceOrder() @@ -415,9 +423,9 @@ 2007-10-29: * return mixins before procs in procsearch * added regression test - * Don't through error when the last argument of + * Don't through error when the last argument of "obj info class <...>" or "cl info superclass <....>" - is a non-existing class, but return false instead. + is a non-existing class, but return false instead. This leaves room for pattern matching. 2007-10-28: @@ -427,7 +435,7 @@ 2007-10-23: * First version of new info methods "mixinof" and "instmixinof" - new class info options: "mixinof" and "instmixinof" - - on class destroy entry is now removed from mixin + - on class destroy entry is now removed from mixin and instmixin lists 2007-10-12: @@ -438,7 +446,7 @@ during shutdown: - do not allow to create new objects during shutdown - do not allow objects to be set volatile during shutdown - - handle cases, where application level destroy methods + - handle cases, where application level destroy methods fail (this could lead to remaining tcl traces pointing to destroyed objects) - handle namespaced variables helding deletion traces @@ -467,7 +475,7 @@ * Serializer: moved deactivation of traces into "Serializer all" to get simpler results on "o serialize". - * Regression tests: extended tests to address + * Regression tests: extended tests to address the newly identified and fixed problem cases. 2007-09-29: @@ -504,17 +512,17 @@ * Allow to load XOTcl compiled for Tcl 8.4 to be loaded into a tclsh8.5 (again, substantial change). - The behavior can be turned off by setting + The behavior can be turned off by setting FORWARD_COMPATIBLE to 0 One can now test now 4 versions: a) a native version for Tcl 8.4 (without compatibility layer) b) a native version for Tcl 8.5 c) a version compiled for Tcl 8.4 with compatibility layer in tclsh8.4 - d) a version compiled for Tcl 8.4 with compatibility layer in tclsh8.5 + d) a version compiled for Tcl 8.4 with compatibility layer in tclsh8.5 Tests showed that the overhead is for the compatibility - layer is between 1.1% and 2.3%, the difference between + layer is between 1.1% and 2.3%, the difference between tcl8.5 and tcl8.4 is much larger. 2007-08-10: @@ -531,17 +539,17 @@ 2007-08-07: * More work on Tcl 8.5 and VarReform Compiles now with stock Tcl 8.5 from CVS - * Make more use faster Tcl_Obj based interfaces + * Make more use faster Tcl_Obj based interfaces (Many thanks to Miguel Sofer for the suggestions and patch) 2007-08-06: * Changed all references to /tmp to [::xotcl::tmpdir] to honor TMPDIR TEMP TMP if set - * Handling of variable traces in serializer: - traces might require a different topological sort, - which is hard to handle. Similar as with filters, - we deactivate the variable traces during initialization. + * Handling of variable traces in serializer: + traces might require a different topological sort, + which is hard to handle. Similar as with filters, + we deactivate the variable traces during initialization. This happens by (1) replacing the XOTcl's trace method by a no-op (2) collecting variable traces through collect-var-traces @@ -550,7 +558,7 @@ (Many thanks to Stefan Sobernig for the help!) 2007-08-05: - * Changes to compile xotcl with the new Var structures in the + * Changes to compile xotcl with the new Var structures in the head version of Tcl 8.5. This is a rather large change, the patch is more than 800 lines. @@ -595,7 +603,7 @@ 2007-07-03: * allow to call methods from the class to be called - from slot objects (Many thanks for + from slot objects (Many thanks for Nico L'INSALATA for noting this problem). 2007-06-05: @@ -604,7 +612,7 @@ 2007-05-27: * Fixed potential error with default values for parameters - starting with a "-". (Many thanks to Shishir Ramam + starting with a "-". (Many thanks to Shishir Ramam for reporting) 2007-03-16: @@ -613,7 +621,7 @@ for reporting the bug) 2007-01-14: - * fixing error message propagation for methods called via + * fixing error message propagation for methods called via configure. (Many thanks for Kristoffer Lawson for reporting the bug) @@ -631,11 +639,11 @@ * Release of XOTcl 1.5.3 2006-11-24 - * provided compatibility with Tcl 8.5 + * provided compatibility with Tcl 8.5 (checking callframe level instead of empty varframe for toplevel frames) - * provided compatibility with Tcl 8.4.14 + * provided compatibility with Tcl 8.4.14 proc->cmdPtr was used in prior releases only to determine the namespace in which the proc is executed (documented in tclInt.h). Starting with Tcl 8.4.14, this cmdPtr is used as @@ -674,7 +682,7 @@ suggesting this) * fix for nested -contains with new (many thanks to Stefan Sobernig for pointing this out) - * Added a target test-nohttp for automated regression tests + * Added a target test-nohttp for automated regression tests on machines with firewalls (used for FreeBSD build system) 2006-09-26 @@ -728,7 +736,7 @@ architecture 2006-09-19 - * added XOTCL_NONLEAF_METHOD: This constant + * added XOTCL_NONLEAF_METHOD: This constant must be used fwhen registering C-implemented methods that call "::xotcl::next" to push the XOTcl activation record. @@ -742,12 +750,12 @@ parameters. Class C C instproc foo {{-q:mult[2],optional 1} -x:boolean,optional args} {puts hu} - Tcl lists add another layer of braces + Tcl lists add another layer of braces ... foo {{{-q:mult[2],optional} 1} -x:boolean,optional args} .... which have to be removed at the definition time of the parameters. * fixed a 64-bit problem for POWER5+ machines * fixed serializer to handle deeper stratification layers - * fixed an autoname crash under NT + * fixed an autoname crash under NT (Many thanks to Mark Jannsen for the patch) 2006-09-17 @@ -784,7 +792,7 @@ 2006-09-07 * provided Tcl 8.5a4 compatibility - * spellechecking langref, make terminology more consistent + * spellechecking langref, make terminology more consistent (naming of arguments like .e.g methodName) 2006-09-04 @@ -793,13 +801,13 @@ 2006-09-03 * "mixin|filter|instmixin|instfilter set ..." deprecated, use "mixin|filter|instmixin|instfilter assign ..." instead - + 2006-09-01 * fixed a bug in the xotcl trace module (many thanks to jima for reporting) * extended procsearch to report parametercmd and instparametercmd 2006-08-30 - * extended procsearch to report as well [inst]parametercmd + * extended procsearch to report as well [inst]parametercmd 2006-08-26 * extended procsearch to report as well [inst]forward and [inst]cmd @@ -818,21 +826,21 @@ the setrelation command. 2006-08-22 - * fixed a bug with nonpositional arguments, some + * fixed a bug with nonpositional arguments, some positional arguments and "args" - * fixed a bug in nonpositional arguments when called without + * fixed a bug in nonpositional arguments when called without arguments * improved error messages in connection with nonpositional arguments * extended interface of XOTclErrBadVal() to provide better error messages (this changes the stub interface, so we have to change the version number) 2006-08-21 - * new command for registering predefined C-implemented Tcl commands + * new command for registering predefined C-implemented Tcl commands as methods ::xotcl::alias | \ ?-objscope? ?-per-object? - "-objscope" has the same meaning as for forwarder, - "-per-object" has the same meaning as for the method "method", + "-objscope" has the same meaning as for forwarder, + "-per-object" has the same meaning as for the method "method", This command is somewhat similar to "[inst]forward -earlybinding", but can be used to bootstrap xotcl (when e.g. no methods are available). @@ -845,22 +853,22 @@ 2006-05-22 * package.xotcl: evaluating calls to "tcl_package" in the global namespace instead of the current. This fixes problem of - xotcl 1.4.* with xotclide. Many thanks to + xotcl 1.4.* with xotclide. Many thanks to Bill Paulsen and Artur Trzewik for identifying the problem and suggesting a fix. 2006-04-20 * xotcl.c: new option for the argument substitution. When the argument list of the forward command contains "%argclindex {a b c}", then depending of the number of arguments at invocation "a", "b" - or "c" is substituted. - * New option for forwarder: The option -earlybinding can be used to look - up the function pointer of the called Tcl command at - definition time of the forwarder instead of invocation time. + or "c" is substituted. + * New option for forwarder: The option -earlybinding can be used to look + up the function pointer of the called Tcl command at + definition time of the forwarder instead of invocation time. This option should only be used for calling C-implemented Tcl commands) 2006-03-22 - * deprecated command filterappend, instfilterappend, mixinappend, + * deprecated command filterappend, instfilterappend, mixinappend, instmixinappend, tclcmd, insttclcmd deleted 2006-03-20 @@ -901,7 +909,7 @@ 2006-01-06 * unsetting the global variable "cmd" from predefined.xotcl - (Many thanks to Koen Danckaert for reporting) + (Many thanks to Koen Danckaert for reporting) 2006-01-05 , Uwe Zdun * fixing incorrect state in filters after next @@ -921,7 +929,7 @@ * release of 1.3.9 2005-12-06 - * fixed bug with error propagation when gett/setter methods are + * fixed bug with error propagation when gett/setter methods are used for parameters (many thanks to Manfred Stelzhammer for pointing this out) @@ -939,17 +947,17 @@ 2005-11-18 * new switch -nocomplain for "mixin|instmixin|filter|instfilter delete" - to avoid error messages when deleting entries not there (similar unset) - + to avoid error messages when deleting entries not there (similar unset) + 2005-11-10 * " info vars" does not trigger read traces anymore - * fixing version numbers for package require + * fixing version numbers for package require (many thanks to Andreas Kupries for the report) - * Serializer: exportMethods accepts forwards/instforwards now + * Serializer: exportMethods accepts forwards/instforwards now as well 2005-11-02 - * new subcommand of self: [self args] return the full argument list + * new subcommand of self: [self args] return the full argument list of the current call 2005-10-02 , Uwe Zdun @@ -958,7 +966,7 @@ 2005-10-01 * fixed a bug concering __unknown called via mixin method (many thanks to Zoran for the report) - * fixed a memory leak in isMetaClass() in connection with + * fixed a memory leak in isMetaClass() in connection with instmixins (many thanks to Ben Thomasson for the report) 2005-09-28 @@ -980,7 +988,7 @@ 2005-09-25 * defined an experimental method named "method" * new global command "::xotcl::configure filter on|off" - to deactivate all filters for an interpreter. This is + to deactivate all filters for an interpreter. This is needed for serializing code with active filters. * Changed xotcl serializer to use "::xotcl::configure" @@ -993,14 +1001,14 @@ (many thanks to Andreas Kupries for the report) 2005-09-09 - * fixing various namespace issues in library files to make + * fixing various namespace issues in library files to make regression test working again. 2005-09-08 * documentation and regressiontest for "self isnextcall" added * added further regression tests, documentation improvements - * Httpd: changed classes - AccessControl BasicAccessControl + * Httpd: changed classes + AccessControl BasicAccessControl DigestAccessControl Responder to Httpd::AccessControl ... Httpd::Responder in order to reduce namespace pollution; applications @@ -1009,15 +1017,15 @@ 2005-09-07 * fixed callstack information for expr; old code could believe (in connection with forward) to be in an uplevel when - a forward to expr was called. This could result in a wrong + a forward to expr was called. This could result in a wrong result for [self].... - * merged first bunch of files from Andreas Kupries to + * merged first bunch of files from Andreas Kupries to make libraries more namespace clean. fixed a few namespace iusses in the libraries. Many thanks to Andreas Kupries! - + * fixed refrence resolving in istype; the following works now the same - way: + way: C create c1 c1 istype ::C c1 istype C @@ -1035,11 +1043,11 @@ This fixes the abstact method. 2005-05-04 - * prevent new from overwriting an existing object + * prevent new from overwriting an existing object (increment further until unused name is found) 2005-07-04 Jeff Hobbs - * providing update for configure + * providing update for configure 2005-04-04 * allow xotcl to be used in safe safe interpreters @@ -1051,7 +1059,7 @@ slave % load "" xotcl slave % slave eval ::xotcl::Object o1 - ::o1 + ::o1 2005-03-24 * implemented resolving for references to classnames not @@ -1073,11 +1081,11 @@ 2005-03-16 * extended semantics of meta class definitions: - old: - a meta class is either ::xotcl::Class or one of its + old: + a meta class is either ::xotcl::Class or one of its direct subclasses - new: - a meta class is either ::xotcl::Class or a class + new: + a meta class is either ::xotcl::Class or a class inheriting from ::xotcl::Class The subtle difference is that with the new definition every class can be made to a superclass by adding an instmixin @@ -1092,7 +1100,7 @@ * new info subcommand: info precedence * fixed possible crashes of objects are called with class methods (e.g. due to instmixins) - * fixed bug when instmixins are defined recursively + * fixed bug when instmixins are defined recursively (e.g. Class instmixin Class) * code refactoring, fixed erroneous documentation of c code * improved documentation in tutorial, als syntactically @@ -1109,7 +1117,7 @@ Object o -mixin m } such that m is resolved from the foo namespace. - The ::xotcl:: namespace is now skipped, since a + The ::xotcl:: namespace is now skipped, since a helper method that calles the primitive setting command is defined there @@ -1127,13 +1135,13 @@ 2005-01-10 * added instproc for ::xotcl::Class allinstances - to return all instances for the actual class + to return all instances for the actual class 2005-01-07 * code cleanup for nonpos args * new methods for Serialzer: - Serializer methodSerialize (to serialize methods) - - Serializer exportMethods (to export methods from the + - Serializer exportMethods (to export methods from the xotcl namespace via ::Serializer all - Serializer exportObjects (to export Objects from ::xotcl::*) * put Serializer into a namespace (::Serializer is auto-exported) @@ -1148,12 +1156,12 @@ the syntax with separate lists) 2005-01-05 Uwe Zdun - * Added support for defaults + non-pos args in info args, + * Added support for defaults + non-pos args in info args, default, instargs, instdefault * fixed bug: Check Boolean in non-pos args crashed with 2 args 2004-12-15 - * fixed crash for empty arguments + * fixed crash for empty arguments (thanks to Gerald Stermsek for reporting this bug) 2004-12-02 , Uwe Zdun @@ -1162,9 +1170,9 @@ 2004-12-02 * changed metadata analyser from recursive to iterative -2004-11-30 +2004-11-30 * various fixes to improve portability - + 2004-11-27 , Uwe Zdun * release of distribution XOTcl 1.3.3 @@ -1184,11 +1192,11 @@ (many thanks to MichaelL@frogware.com for reporting the problem) 2004-11-14 - * fixed yet another free memory read + * fixed yet another free memory read (many thanks for Zoran for help with purify) 2004-11-13 - * fixed entries for aolserver in configure.in + * fixed entries for aolserver in configure.in (many thanks for Zoran reporting this problem) * fixed --enable symbols (many thanks for Zoran reporting this problem) * fixed free memory read in namespace deletes @@ -1232,7 +1240,7 @@ XOTcl's Namespace Delete Proc, and not invalidated by TclTeardownNamespace yet. add test for this to testx. Thanks to Kristoffer Lawson for reporting this bug. - * fixed mis-formating in tutorial (only visible in browsers + * fixed mis-formating in tutorial (only visible in browsers other than Mozilla) 2004-09-02 Uwe Zdun @@ -1253,7 +1261,7 @@ spaces in arguments * auto-generating docs in build tree (instead in source tree) - * cleanup and documentation of somewhat confusing declations + * cleanup and documentation of somewhat confusing declations in xotcl.h and xotclInt.h (XOTcl_Object and XOTclObject) * make tar makes distclean first @@ -1262,11 +1270,11 @@ * if configure is run outside the src tree the directory structure is now built on the fly. All binary output files are now placed in the built-tree. - + 2004-08-18 * added a regresion test for serialzer * fixed a "last minute" bug in serializer - * configure changes: made subdirs relative to $srcdir, + * configure changes: made subdirs relative to $srcdir, set XOTCL_SRC_DIR to $srcdir to make build succeed from outside dir @@ -1289,7 +1297,7 @@ * some code generalization and cleanup 2004-08-01 - * changes to forward and instforward: + * changes to forward and instforward: providing positional arguments for the forwarder. It is now possible to prefix the arguments with "%@POS ", where POS can be a @@ -1310,18 +1318,18 @@ * test with tcl 8.4.7 2004-07-29 - * changes to forward and instforward: - + %some-command executes some-command at invocation time and + * changes to forward and instforward: + + %some-command executes some-command at invocation time and substitutes result + substitution extended to all arguments (also on callee) - + 2004-07-28 - * yet another fixed access to freed memory + * yet another fixed access to freed memory (thanks to Zoran for his help with Purify ) 2004-07-26 - * fixed bug in filters in connection with instmixin; - inactive tcl callstack frame was dereferenced. This fixed as well + * fixed bug in filters in connection with instmixin; + inactive tcl callstack frame was dereferenced. This fixed as well a potential uplevel bug * fixed access to freed memory (thanks to Zoran for his help with Purify ) @@ -1373,7 +1381,7 @@ obj mixin add C3 3 adds a mixin at the 3rd position obj mixin delete ::C3 removes the mixin from the mixin list - The same semantics are available as well for filter, instmixin + The same semantics are available as well for filter, instmixin and instfilter. The implementation uses the forwarder and is extensible, new subcommands can be added. As a side effect, the c-code was reduced @@ -1391,7 +1399,7 @@ * xotcl.c: added current namespace prefix, when a forwarder is defined with -objscope and no namespace prefix was specified * optimized forward/instforward such it reaches practically - same speed as tclcmd/insttclcmd. + same speed as tclcmd/insttclcmd. * removed tclcmd/insttclcmd * added tests for forward to regression test suite * applied and fixed the config improvements by Jim Lynch @@ -1400,40 +1408,40 @@ * xotcl.c: allow literal %self, %proc, %1 etc. as arguments of the forwarder: arguments in the definition of a forwarder proc starting with two %-characters are changed into arguments starting - with one % - * xotcl.c: forced options to be placed in forward definition after + with one % + * xotcl.c: forced options to be placed in forward definition after before * xotcl.c: new info option for Object and Class: info forward ?-definition? ?pattern? list the defined forwarder for the class/object. * Serializer.xotcl; Added handling of the forwarders to the serializer. - Therefore forwarders are kept in the serialized state. + Therefore forwarders are kept in the serialized state. 2004-06-29 * changed name of delegator methods to forward/instforward * removed most of the switches of the forwarder. We have now - - obj forward ?options? ?arglist? - where arglist might contain + + obj forward ?options? ?arglist? + where arglist might contain * %self for inserting the forwarding object * %proc for inserting the forwarding method * %1 for using the first argument of the invocation options might contain: -inscope: evalute method in obj scope - -methodprefix: prefix, to be added in front of called method + -methodprefix: prefix, to be added in front of called method (to avoid name clashes with methods like "set", "mixin" etc.) -default list-of-methods: to be used in connection with %1, when there are not enough arguments in the actual call. - + 2004-06-24 * fixed coredump for delegation to object without method specified (many thanks for Bryan Schofield for the bug report) - + 2004-06-20 * removed inclusion of - * second version of delegator methods cmd and instcmd + * second version of delegator methods cmd and instcmd - A delegator method is defined via + A delegator method is defined via Class instcmd method COMMAND ARGS a call to the defined method with some args obj method arg1 arg2 arg3... @@ -1449,23 +1457,23 @@ ?-prefix string? \ ?-defaultmethod subcommand? \ - where - methodname: name of an instcommand for the class + where + methodname: name of an instcommand for the class to be registered, commandname: command that receives delegation - -nomethod: don't insert the callers method + -nomethod: don't insert the callers method -nocaller: don't insert caller after method -inscope: evalute method in obj scope -skip: skip n arguments from the call. "-skip 1" means that not the "method" from the invocation is used as the method call, but the first argument - -prefix: prefix, to be added in front of - called method (to avoid name clashes + -prefix: prefix, to be added in front of + called method (to avoid name clashes with "set", etc.) -insert: tokens to be inserted after the caller - -defaultmethod: when number of arguments is not sufficient - to determine the called method, use the specified + -defaultmethod: when number of arguments is not sufficient + to determine the called method, use the specified value to be used as method name (only useful when -skip is used and the arguments run out) (e.g. [$obj info] be mapped to COMMAND showInfoOptions) @@ -1481,55 +1489,55 @@ factored list of configure output files into macro made sure value of output files got through to make distclean target -2004-06-12 +2004-06-12 * changed namespace treatment in procs/instprocs in provious versions, methods were evaluated in the namespace where they are invoked. This has the problem that either the xotcl primitives (next,my,self) have to be prefixed in methods by ::xotcl::, or ::xotcl::* has to be imported globally. Now, the instprocs are evaluated in the namespace where they are defined. - * computing default prefixes in insttclcmd/tcllcmd for + * computing default prefixes in insttclcmd/tcllcmd for not fully qualified commands 2004-05-29 * first version of instdelegatecommand - * defined metaclass ::xotcl:.SelfApplicableClass to allow + * defined metaclass ::xotcl:.SelfApplicableClass to allow for instprocs of this class to be applicable for itself (useful for delegation objects) - * first version of ::xotcl::relations + * first version of ::xotcl::relations (for relations between objects and classes and for inter-class-relations) 2004-05-22 - * fixed path for installing files in Makefile.in + * fixed path for installing files in Makefile.in (many thanks to Jeffrey Hobbs) * fixed path searching in xotcl.m4 2004-05-07 - * fixed compile problems under HPUX + * fixed compile problems under HPUX (with the help of Attila Dona') - * fixed some compiler warnings in tcl-expat showing up + * fixed some compiler warnings in tcl-expat showing up (some are still missing) with -Wall -Wconversion -Wno-implicit-int 2004-04-30 * removed duplicates from results from [obj info methods] * fixed GENERIC_HDRS in configure.in and Makefile.in - * fixed documentation bugs for "info children" and + * fixed documentation bugs for "info children" and "info classchildren" * fixed an incorrect error message, when method called from a mixin was not found. 2004-04-25 * alloc returns name of created object * On an "Object create ::o1 -noinit" the noinit option - deactivates the search for default values + deactivates the search for default values (as used in the serializer) * TEA3 changes: - - re-included xotclConfig.sh file in xotcl dependent + - re-included xotclConfig.sh file in xotcl dependent libraries - fixed variable contents in xotclConfig.sh file - passing of include and spec file for gdbm @@ -1538,7 +1546,7 @@ * start to move to TEA3 * moved tcl scripts xotclsh and xowish into apps/utils * made minimal build independent from tclsh; - new target libraries-pkgindex, fulldoc, doc removed + new target libraries-pkgindex, fulldoc, doc removed from default targets * at least for the time being, no static shells @@ -1549,7 +1557,7 @@ Lynch to suggestion it. 2004-03-03 - * fixed a potential crash in procSearch method (Thanks to + * fixed a potential crash in procSearch method (Thanks to Artur Trzewik for the good error report) 2004-02-29 @@ -1567,48 +1575,48 @@ * fixed a Tcl_Obj ref count free that was called too early. * fixed support for Visual CC debugger * fixed Win version info - + 2004-02-16 * fixed a reference to a structure of a destroyed object 2004-02-16 Uwe Zdun * added self class and self proc context to GuardCall - * removed guardedScope and info guardedlevel completely - from the code + * removed guardedScope and info guardedlevel completely + from the code -> use parameters instead (see tutorial) * rewritten the tutorial text for mixin/filter guards completely * added new files to Win makefile.vc - + 2004-02-14 - * experimental new command "self guardedlevel" as replacement + * experimental new command "self guardedlevel" as replacement for getGuardedScope - * added documentation for self callinglevel, self + * added documentation for self callinglevel, self activelevel and the methods upvar and uplevel - * used a bold font for predefined Tcl and XOTcl words + * used a bold font for predefined Tcl and XOTcl words in the HTML version of the tutorial 2004-02-13 * xotcl.c more code cleanup: - some minor performance improvement - - used the same idiom for iterating over a class + - used the same idiom for iterating over a class hierarchy consistently - - simplified the usage of ComputeOrder() and let + - simplified the usage of ComputeOrder() and let the optimizer do more work 2003-02-04 Uwe Zdun - * xotcl: removed MixinRemoveFromMixinStack, + * xotcl: removed MixinRemoveFromMixinStack, MixinRemoveFromCmdPtr, MixinRemoveOnObjFromCmdPtr, FilterRemoveFromFilterStack, FilterRemoveFromCmdPtr, FilterRemoveOnObjFromCmdPtr ... and replaced with simple forward stepping in cmd list. * made the mem count work with multi, single-threaded interpreters - + 2003-02-03 Uwe Zdun * testx: tests for CmdListReplaceCmd, MixinRemoveFromMixinStack, - MixinRemoveFromCmdPtr, MixinRemoveOnObjFromCmdPtr, - XOTclOGetGuardedScopeMethod, XOTcl_InterpObjCmd, + MixinRemoveFromCmdPtr, MixinRemoveOnObjFromCmdPtr, + XOTclOGetGuardedScopeMethod, XOTcl_InterpObjCmd, XOTclOVwaitMethod, - * xotcl: removed XOTclAssertionRename, + * xotcl: removed XOTclAssertionRename, simplified XOTcl_RenameObjCmd * corrected mistakes in tutorial code for filterguards. @@ -1619,7 +1627,7 @@ 2004-01-28 * Streamlined code; removed mixinChainOn from mixinStack and - filterChainOn from filterStack and use callstack + filterChainOn from filterStack and use callstack frameTypes instead. * some performance improvements @@ -1631,9 +1639,9 @@ * some performance improvements 2004-01-19 - * added more test cases, - * upvar method fully functional - * simplified CallFrame management on XOTcl stack + * added more test cases, + * upvar method fully functional + * simplified CallFrame management on XOTcl stack (wish, CallFrame had ClientData !!!) * Reduced size of XOTclCallStackContent * modularized xotcl more (new file xotclShadow.c; all shadowing @@ -1649,7 +1657,7 @@ 2004-01-15 * allow volatile to be called from toplevel - * decrementing refcount of global objects as needed + * decrementing refcount of global objects as needed (some had a high increment) 2004-01-14 @@ -1660,7 +1668,7 @@ system with the basis of 26+26+10=62. These strings can grow up to memory size. XOTcl can run as a server practically infinitely long generating objects with 'new'. - + * new package xotcl::upvar-compat This package provides backward compatibility with earlier versions of xotcl that redefined upvar/uplevel such that @@ -1676,22 +1684,22 @@ of object (as suggested by Zoran) 2004-01-11 - * all occurrences of uplevel/upvar equipped with + * all occurrences of uplevel/upvar equipped with [self callinglevel] such that library works with standard uplevel/upvar - * faster version of 'new' method (more than 20% faster, + * faster version of 'new' method (more than 20% faster, using c-variable, faster long to ascii conversion) * objinst (of oo-bench) about 17% faster 2004-01-10 - * polished macros XOTcl_FrameDecls, XOTcl_PushFrame, + * polished macros XOTcl_FrameDecls, XOTcl_PushFrame, XOTcl_PopFrame (2 versions, slower version with less dependencies on tclInt.h) * removed mixinCalls and filterCalls from interpreter state. * removed unneeded macros 2004-01-08 - * fixed bug on exit, when no threads are enabled + * fixed bug on exit, when no threads are enabled (different cleanup strategy in threads) * fixed crash on deleted Tcl_Cmd, when xotcl debugging output is turned on @@ -1708,20 +1716,20 @@ * 2 new subcommands for self: - self callinglevel: returns the tcl stack level to address the invocation of the actual method - - self activelevel: returns the topmost active stack entry + - self activelevel: returns the topmost active stack entry from the xotcl stack Both commands return the absolute level number (syntax #n) if called from an xotcl method or 1 if called from a tcl proc. These subcommands are designed to be used in the form of "upvar [self callinglevel] a b" - * Replaced C implementation of uplevel and upvar + * Replaced C implementation of uplevel and upvar (with callstack manipulation) by a simple Tcl proc that uses [self callinglevel] as default level (if is was not called with an explicit level). * Extended test suite * Changed all variables of type "Interp *" to "Tcl_Interp *" and defined macros Tcl_Interp_XXXX to access component XXXX - * Changed all variables of type "CallFrame *" to + * Changed all variables of type "CallFrame *" to "Tcl_CallFrame *" and defined macros Tcl_CallFrame_XXXX to access component XXXX @@ -1734,20 +1742,20 @@ callstack * possible extension "self previous ?n?" similar to "self next" to obtain information about next chain - * possible extension "self level ?n?" similar to + * possible extension "self level ?n?" similar to "info level ?n?" to obtain information about call stack 2004-01-02 - * Changed all variables of type "Namespace *" to + * Changed all variables of type "Namespace *" to "Tcl_Namespace *" and defined macros Tcl_Namespace_XXXX to access component XXXX - * generalized invocation on callProcCheck and + * generalized invocation on callProcCheck and handling of calldata in new function DoCallProcCheck * overall code cleanup * extended test suite with tclmd and insttclcmd 2004-01-01 - * fixed loop on invocation of methods registered by + * fixed loop on invocation of methods registered by the tclcmd method * allowed to register fully qualified commands via tclcmd or insttclcmd @@ -1765,13 +1773,13 @@ qualified name, use "self" method (see above) instead. To keep backward compatibility, define Object instproc defaultmethod {} {return [my self]} - * New method " next" can be used to invoke next + * New method " next" can be used to invoke next on the last recent invocation of a method on . must be on the callstack, otherwise an error message is generated * The new defaultmethod calls next on parent object to prohibit shadowing of methods through sub-objects - + 2003-12-28 * new functions: CallStackUseActiveFrames()/CallStackRestoreSavedFrames() to to avoid walking through and modifying the whole stack @@ -1781,7 +1789,7 @@ callingclass, callingobject 2003-12-25 - * update of various library functions (such as Httpd) to + * update of various library functions (such as Httpd) to use sub-objects as methods (avoids calls of [self]::objname) 2003-12-19 @@ -1796,7 +1804,7 @@ * release of distribution XOTcl 1.1.1 2003-12-13 - * Removed dependency that certain variable references in + * Removed dependency that certain variable references in tclConfig.sh (such as TCL_SHARED_LIB_SUFFIX='${VERSION}${DBGX}.so'); There was a problem on freebsd systems that use hardcoded "84" instead @@ -1816,29 +1824,29 @@ include path and library path can be configured * Httpd.xotcl: added simple redirects, can be used like e.g. Httpd h2 -port 9086 -root /tmp \ - -redirect {^(mailman|pipermail|cgi-bin) + -redirect {^(mailman|pipermail|cgi-bin) http://alice.wu-wien.ac.at>:80} 2003-12-07 * incorporated more fixes for build system suggested by Daniel Steffen * changed version number to 1.1.1 - * further cleanup in Makefiles, reduced redundancy in + * further cleanup in Makefiles, reduced redundancy in distro by using symbolic links - * used everywhere for SHLIB_LD_LIBS XOTCL_BUILD_STUB_LIB_SPEC + * used everywhere for SHLIB_LD_LIBS XOTCL_BUILD_STUB_LIB_SPEC instead of XOTCL_STUB_LIB_SPEC 2003-12-06 - * httpd.xotcl: fixed return format in HTTP reply header + * httpd.xotcl: fixed return format in HTTP reply header parameters Allow: and Public: for HTTP OPTIONS method - * library/store/XOTclGdbm/: fixed initialization of + * library/store/XOTclGdbm/: fixed initialization of xotcl stubs, usage of ck{free,alloc} vs. {free,malloc}. * library/store/XOTclSdbm/: fixed handling of O_SYNC on system that do not have it * Configure can run now as well from outside of xotcl sources; One can use now for example the following commands to compile and install XOTcl - + % mkdir -p /tmp/xotcl/unix % cd /tmp/xotcl/unix % ~/xotcl-1.1.1/unix/configure --with-all @@ -1849,12 +1857,12 @@ 2003-12-05 * incorporated changes as suggested by Daniel Steffen - using consequently DESTDIR for all directory references - - made procs in predefined.xotcl independent + - made procs in predefined.xotcl independent from namespace import ::xotcl::* - make references relative to $(srcdir) in all Makefile.in 2003-12-02 - * added "--with-tkinclude" + * added "--with-tkinclude" * fixed "--with-tclinclude" to set TCL_INCLUDES (for all subdirs) @@ -1878,9 +1886,9 @@ * extended regression test 2003-11-27 Uwe Zdun - * added new version of Klaus' securePlaceDemo, some minor + * added new version of Klaus' securePlaceDemo, some minor corrections for new XOTcl version - * installed XOTcl library into lib directory under + * installed XOTcl library into lib directory under windows instead of bin 2003-11-26 @@ -1920,12 +1928,12 @@ 2003-11-13 Uwe Zdun * various changes to support conditional shell building with stubs - * various changes to build libxotcl/xotclsh with tcl 8.0 + * various changes to build libxotcl/xotclsh with tcl 8.0 (stub dependencies) - * Httpd.xotcl: added parameter to web server to + * Httpd.xotcl: added parameter to web server to configure timeout for persistent connections * eliminated a few compiler warnings from xotcl.c - + 2003-11-12 * removed namespace import/forget in predefined.xotcl * Makefile cleanup (fixed duplicate dependencies, quoting in @@ -1942,7 +1950,7 @@ * xotcl.c: simplified handling of command substitutions; starts to work with Zoran's nstrace.tcl for AOLserver -2003-11-02 MichaelL@frogware.com +2003-11-02 MichaelL@frogware.com * XOTcl Stub lib configure files for C-based extensions. 2003-11-02 @@ -1956,25 +1964,25 @@ % package req XOTcl 2003-10-31 - * Substituted config/config.sub and config/config.guess + * Substituted config/config.sub and config/config.guess (many thanks to Zoran) * unix/Makefile.in fixed target install-aol 2003-10-23 * xotcl.c: new proc "__unknown" for Class; whenever XOTcl references a class, which is not defined yet, - "Class __unknown" is called; this mechanism can be + "Class __unknown" is called; this mechanism can be used to autoload classes in a lightweight fashion * fixes in the built system to avoid two different - "package ifneeded" (seems to cause troubles under + "package ifneeded" (seems to cause troubles under certain circumstances) - -2003-10-20 MichaelL@frogware.com - * Fixed the return value of TclExpatUnknownEncodingHandler + +2003-10-20 MichaelL@frogware.com + * Fixed the return value of TclExpatUnknownEncodingHandler in tclexpat.c. The return value of the handler is now correctly passed to expat. -2003-10-14 MichaelL@frogware.com +2003-10-14 MichaelL@frogware.com * Changed library names on Windows to make library names more similar across platforms. Changed xotcl.c and xotclStubLib.c to support XOTcl stubs. Changed Windows Makefile.vc's to @@ -1992,21 +2000,21 @@ exposed via xotcl.decls. 2003-09-10 Uwe Zdun - * Integrated bug fixes provided by Klaus Kolowratnik + * Integrated bug fixes provided by Klaus Kolowratnik for the secure http server. 2003-08-27 Uwe Zdun * moved config.vc, installWin.tcl to win dir and corrected them * merged /makefile.vc and /win/makefile.vc; everything for win - now works from the win dir + now works from the win dir * adapted other makefile.vc's in distro * corrected stub table decls and auto generated table .h files that where incorrect due to recent changes in external API (XOTclRemoveClass, XOTclAddClass) * corrected README * added pkgIndex file for win local dir * win version change to 1.1 - * corrected the wrong local TCLLIBPATH on unix from '$(TOP_DIR)' + * corrected the wrong local TCLLIBPATH on unix from '$(TOP_DIR)' to '$(TOP_DIR)/unix $(TOP_DIR)/library' to circumvent the win dir on the auto_path * added locale support to xotclAppInit @@ -2018,19 +2026,19 @@ * fixed optional built of xowish (TK_LIB_SPEC was not passed correctly) * removed obsolete check_library_path in predefined.xotcl * some fixes in ::xotcl::config mkindex for autoloadine files - + 2003-08-26 Uwe Zdun * doc for precedence order and transitive instmixins in tutorial 2003-08-25 - * Generate library/pkgIndex.tcl from configure + * Generate library/pkgIndex.tcl from configure (contains version numbers) * Fixed script for changing version numbers in xotcl * Changed version of XOTcl to 1.1.0 2003-08-22 Uwe Zdun - * Added support for transitive instmixins in xotcl.c, + * Added support for transitive instmixins in xotcl.c, added test for transitive instmixins * Various fixes for new build stuff on Windows @@ -2041,21 +2049,21 @@ (See tutorial, section "Objects as Parameter") * fixed various bugs in the documentation. MAKE TODO: make rpm, bin-tar, version-change, install-aol - + 2003-07-13 * Fixed potential crash with shared objects in configure * First version of object tree creation via parameter 2003-07-11 - * extended parameter handling code to support the creation + * extended parameter handling code to support the creation of parameter objects * fixed a few documentation bugs 2003-07-05 - * xotcl.c: if object is called without method and - arguments, xotcl calls now a method named 'defaultmethod'; - the default behavior (defined as an instproc on - Object) is that the name of the object is returned. + * xotcl.c: if object is called without method and + arguments, xotcl calls now a method named 'defaultmethod'; + the default behavior (defined as an instproc on + Object) is that the name of the object is returned. Example: Object o puts <[o]> ;# outputs <::o> @@ -2071,16 +2079,16 @@ * added tests for 'info instmixinguard' and 'info mixinguard' * made -withGuard and -order work together for "info filter" on objects. - * checked that guard is deleted, when redefined + * checked that guard is deleted, when redefined with FilterAdd/MixinAdd * add -guard modifier into filter, mixin definitions and infos * updated tests 2003-05-23 - * removed toplevel configure and Makefile for better + * removed toplevel configure and Makefile for better TEA compliance (configure should be called from xotcl*/unix) - * added --with-actiweb to configure; + * added --with-actiweb to configure; (use --with-actiweb=yes to enable it) * standarized tests (using the same Test classes) @@ -2095,15 +2103,15 @@ use TCLLIBPATH * Two small tcl scripts "xotclsh" and "xowish" are provided for backward compatibility with xotclsh applications - * For interactive use, adding + * For interactive use, adding package require XOTcl; namespace import -force xotcl::* into your ~/.tclshrc is recommended * Various changes and simplifications in configure and Makefiles * XOTclGdbm: fixed it such it works with enable-threads without crashing immediately 2003-05-12 Uwe Zdun - * removed various bugs in new code and added tests for + * removed various bugs in new code and added tests for redefinition and removal of filterguards * added tests for 'instmixinguard' and 'mixinguard' @@ -2123,8 +2131,8 @@ * updated the tests accordingly * performance improvement: removed ::xotcl::Object from mixin full list computation - * added new tests for mixinguards to testx.xotcl - + * added new tests for mixinguards to testx.xotcl + 2003-05-03 * xotcl.c: Changed mixinlist creation from quadratic to linear (both, in XOTclAddClass and CmdListAdd) @@ -2144,24 +2152,24 @@ 2003-04-24 Uwe Zdun * document "info instdefault" in the language reference - * corrected a problem with move: it did not prevail the + * corrected a problem with move: it did not prevail the subclass relationships; also added a regression test 2003-04-22 - * xotcl.c: calling the "create" method from + * xotcl.c: calling the "create" method from the "new" method through the dispatcher (previous version used a direct call, now create can be overloaded) 2003-04-17 Uwe Zdun - * Unified ListObjChildren and ListClassChildren into one + * Unified ListObjChildren and ListClassChildren into one method ListListChildren - + 2003-04-16 * xotcl.c: fixed segfault from classchildren (many thanks to Michael Cleverly for pointing this out) 2003-04-16 - * xotcl.c: Fixed passing of error codes from constructors + * xotcl.c: Fixed passing of error codes from constructors (instproc init). In previous releases, errors were ignored * xotcl.c: Passing correctly error messages from "set" to the @@ -2174,7 +2182,7 @@ * release of full distribution XOTcl 1.0.2 2003-03-19 Uwe Zdun - * changed requireNamespace so that contents of a + * changed requireNamespace so that contents of a Tcl Namespace with the same name as the XOTcl Namespace to be created survive the requireNamespace invocation & added tests in testx.xotcl. Example: @@ -2189,11 +2197,11 @@ * Makefile less verbose 2003-03-07 - * Made output of the serializer more compact + * Made output of the serializer more compact (omitting unnecessary references to ::xotcl::Object 2003-03-07 Uwe Zdun - * Copy/Move to self had undefined or wrong results; corrected + * Copy/Move to self had undefined or wrong results; corrected both methods so that the objects stay untouched when copied or moved to self. Added test in testx.xotcl. @@ -2224,10 +2232,10 @@ * xotcl.c: fixed a bug the lead to a crash in "self x" 2003-02-20 - * fixes to compile xotcl as a module for aolserver-4 + * fixes to compile xotcl as a module for aolserver-4 2003-02-06 - * made -volatile a method rather than an option of the + * made -volatile a method rather than an option of the new method 2003-01-18 @@ -2239,15 +2247,15 @@ 2003-01-17 Uwe Zdun * new directory structure with no version information * removed pwd from make.xotcl - * new method "ismixin": Test whether the argument is a + * new method "ismixin": Test whether the argument is a mixin or instmixin of the object. - * new method "hasclass": Test whether the argument is either - a mixin or instmixin of the object or + * new method "hasclass": Test whether the argument is either + a mixin or instmixin of the object or if it is on the class hierarchy of the object. - This method combines the functionalities of + This method combines the functionalities of istype and ismixin. * documented and tested new methods. - + 2003-01-12 * Changed calls in the form of "[self] method" to "my method" in 59 files in the xotcl distribution @@ -2257,10 +2265,10 @@ * configure methods can be placed into a list to avoid ambiguity of "-". This character is used as a meta-char to denote method names, but it has to be used in values as well. - Example: + Example: Class Book -parameter {title author} Book b1 -title "--the title--" -author a.b.c - has to be written as + has to be written as Book b1 [list -title "--the title--"] -author a.b.c Note, that XOTcl allows us to provide multiple arguments to methods called via configure @@ -2269,7 +2277,7 @@ * configure returns now the number of preceding elements without a "-" in its first place. This is needed for convenient processing of argument lists with trailing - options from tcl. + options from tcl. * avoid processing configure list twice in c code. 2002-12-29 @@ -2286,15 +2294,15 @@ 2002-12-22 * xotcl.c: some cleanup - * aol-server: improved namespace.tcl (using Serializer) + * aol-server: improved namespace.tcl (using Serializer) 2002-12-19 - * New Serialzer: + * New Serialzer: - up to 30% faster recreation of objects - more control of objects or variables to be omitted - provide mappings for (relative) object names - In general, the Serializer - - is used to generate the blueprint of a workspace + In general, the Serializer + - is used to generate the blueprint of a workspace (e.g. in the aolserver) - can be used migate objects between threads - to cache objects in the aol-server @@ -2311,7 +2319,7 @@ * changed version to 1.0.1 2002-12-14 - * xotcl.c fixed a bug in "info default arg var" and + * xotcl.c fixed a bug in "info default arg var" and "info instdefault arg var" in connection with filters. The output variable was created in the filter frame. Many thanks to Oumung Mehrotra for reporting the problem. @@ -2330,7 +2338,7 @@ 2002-11-22 * fixes in documentation * automatic generation of pdf files and make target - for the tutorial and the language reference + for the tutorial and the language reference 2002-11-19 * fixes for configure for aolserver 3.5.* @@ -2341,8 +2349,8 @@ 2002-11-08 2002-11-08 Uwe Zdun - * Win makefile.vc: let nmake install call the install script - * removed "class" hook from recreate ... + * Win makefile.vc: let nmake install call the install script + * removed "class" hook from recreate ... * updateding AOL-server patch and README * finshing rpm and bin-tar generation * release of full distribution XoTcl 1.0 @@ -2360,17 +2368,17 @@ Zoran. 2002-10-26 - * xotcl.c: fixed problem with external symbol for - cmdType and reactivated KEEP_TCL_CMD_TYPE for all + * xotcl.c: fixed problem with external symbol for + cmdType and reactivated KEEP_TCL_CMD_TYPE for all tcl versions 2002-10-25 Zoran Vasiljevic * xotcl.c: fixed memory leak for new method. 2002-10-23 Uwe Zdun * Object instproc extractConfigureArg: get one configure argument - (and possibly cut it) from a given args list. Especially used in - create before init is called with next to get args + (and possibly cut it) from a given args list. Especially used in + create before init is called with next to get args before the object is actually created (& documentation). 2002-10-22 Uwe Zdun @@ -2388,13 +2396,13 @@ as well. 2002-09-14 - * Trace.xotcl: fixed typos in documentation code, changes + * Trace.xotcl: fixed typos in documentation code, changes for "my". - + 2002-08-29 Uwe Zdun * corrected findXOTcl.c: it got confused by an toplevel - XOTcl dir, like: ~/xotcl-1.0/x/xotcl-full-1.0 and didn't find - the libs then. + XOTcl dir, like: ~/xotcl-1.0/x/xotcl-full-1.0 and didn't find + the libs then. 2002-08-27 Uwe Zdun * disabled KEEP_TCL_CMD_TYPE for 8.4, as it did not compile for 8.4b1 @@ -2411,13 +2419,13 @@ * fixed mem leak of filter search 2002-07-10 - * fixes for compilation with Tcl 8.4b1 + * fixes for compilation with Tcl 8.4b1 2002-07-06 * Fixed a compilation bug concerning Tcl 8.2 and younger 2002-05-30 - * xotcl.c: fixed destroy bug, when object was destroyed + * xotcl.c: fixed destroy bug, when object was destroyed during init * xotcl.c: minor cleanup @@ -2427,7 +2435,7 @@ persist to be a filter. If no other filter or instfilter with the name is found, the filter entry is removed from the filter list. - + 2002-05-15 Uwe Zdun * COMPILE: an explicit sentence in the beginning that you need Tcl/Tk sources to compile XOTcl. @@ -2444,7 +2452,7 @@ 2002-05-05 * fixed UTF-8 conversion for filenames - + 2002-04-30 * Httpd.xotcl: minor cleanup (removed superfluous instvars) * xotcl.c: removed incr/decr refcount on cl-names in DoDispatch @@ -2462,7 +2470,7 @@ 2002-04-20 * Http client code: fixed several small bugs: - url composition - - error handling + - error handling - redirects to different ports 2002-04-09 Uwe Zdun @@ -2486,15 +2494,15 @@ * fixed a small memory leak in autonames 2002-04-05 - * defined the following policies for excplicit freeing in the + * defined the following policies for excplicit freeing in the exit handler: NO_CLEANUP for processes, the physical free in the exit handler is not needed CLEANUP for threads, just the xotcl classes/objects with its instvars are reclaimed, annother - mechanism should take care of the global + mechanism should take care of the global procs and vars (automatically choosen, when compiled with TCL_THREADS) @@ -2503,7 +2511,7 @@ are deleted as well. 2002-04-04 - * fixed a bug with duplicated tcl_objs of XOTclObjectType + * fixed a bug with duplicated tcl_objs of XOTclObjectType that could cause double frees. 2002-04-02 @@ -2524,20 +2532,20 @@ * more code for volatile objects moved to C 2002-03-26 - * Fixed a few more places, where recounted xotcl-objects + * Fixed a few more places, where recounted xotcl-objects can cause troubles (mem-leaks + invalid pointers) 2002-03-24 - * auto-deletion of global vars and proc to + * auto-deletion of global vars and proc to get rid of references to xotcl-objects for deletion 2002-03-20 Uwe Zdun * added reference counts for xotcl objects to - avoid crashes for recreated objects (thanks for + avoid crashes for recreated objects (thanks for Artur Trzewik for sending a good bug report) 2002-03-11 Zoran Vasiljevic - * xotcl.c: fixed XOTclReplaceCommand for AOL-Server + * xotcl.c: fixed XOTclReplaceCommand for AOL-Server (multi threading bug) 2002-03-11 @@ -2560,7 +2568,7 @@ exist 2002-02-13 - * Makefile.in: fixed a bug in make install + * Makefile.in: fixed a bug in make install ("package require package" did not work) 2002-02-12 @@ -2586,7 +2594,7 @@ Object o; o r with no unknown defined has looped (not for class -> unknown). corrected it and added it to testx.xotcl - + 2002-01-06 * further improvement of bytecode compilation * new bytecode instruction SELFDISPATCH @@ -2595,7 +2603,7 @@ * fixing external references for symbols not starting with xotcl 2002-01-02 - * new xotcl byte codes for XOTcl primitives next, self, + * new xotcl byte codes for XOTcl primitives next, self, and initProcNS. Speedup for the oo-shootout + methcall 30% + objinst 9% @@ -2618,10 +2626,10 @@ * removed all compiler warnings on windows 2001-12-09 - * revived configure-code for aolserver, added patchlevel + * revived configure-code for aolserver, added patchlevel to log message, updated aolserver README file * renamed directory "script-creation" to "serialize" - * deactivated create of unneeded installed dirs + * deactivated create of unneeded installed dirs (xotclexpat, xotclgdbm, xotclsdbm) 2001-12-07 Uwe Zdun @@ -2632,9 +2640,9 @@ 2001-12-01 Uwe Zdun * xotcl.c: xotcl::interp rewritten - + 2001-11/12 Uwe Zdun - * changed xotcl support a (more or less) TEA compliant + * changed xotcl support a (more or less) TEA compliant build process, use Tcl stub lib, and make shells only shallow wrappers that load the XOTcl package on demand @@ -2656,10 +2664,10 @@ * added regression test for stub library 2001-10-18 Uwe Zdun - * removed linking glitch in 0.9: stub enabled lib was linked + * removed linking glitch in 0.9: stub enabled lib was linked with non-stub enabled obj-files. * added a stub enabled lib to Windows make procedure - * renamed stub enabled lib to (lib)xotcl-tclstubs.(so|dll) + * renamed stub enabled lib to (lib)xotcl-tclstubs.(so|dll) 2001-10-17 Uwe Zdun * removed "can't instvar to link" problem during aliasing @@ -2668,10 +2676,10 @@ 2001-10-15 2001-05-15 Uwe Zdun * XOTcl 0.9 Release - + 2001-10-14 * new method of Object: parametercmd: - a convenient way to define a new getter/setter for + a convenient way to define a new getter/setter for individual objects (similar to parameters for classes) * polishing docu @@ -2687,25 +2695,25 @@ * xotcl.c: - conditional for different TclIncrVar2 interfaces in Tcl 8.05 and Tcl 8.3 - - added TCL_PARSE_PART1 to variable lookup in + - added TCL_PARSE_PART1 to variable lookup in GetInstVarIntoCurrentScope. TclLookupVar in 8.05 requires it for looking up arrays with only part1 given. - + 2001-10-10 * fixed autoname method for Tcl 8.0.5 2001-10-10 Uwe Zdun * finished polishing mem leaks (thanks to Zoran Vasiljevic again) * disallowed "[self] next" ... next is now only a command - * Gdbm,Sdbm,Expat: corrected Makefile.in to rely on + * Gdbm,Sdbm,Expat: corrected Makefile.in to rely on -L$(TCLLIBDIR) (thanks to Jrg Rudnik for the hint) 2001-10-08 * configure.in: fixes for AOLSERVER to ease configuration * aolstub.c: fixes for namespace handling (XOTcl is now a "well behaved" Tcl extension) - + 2001-10-05 Uwe Zdun * added PRESERVE and RELEASE functions for Tcl_Objs so that we remember all Tcl_Objs that are temporarily allocated, @@ -2719,10 +2727,10 @@ as a Tcl list. filtersearch does now operate on objs as well, procsearch does support mixins now. Added tests for both. * documented new features in tutorial and langRef - + 2001-10-04 Uwe Zdun * minor fixes to get WIN version to run again - + 2001-10-03 Uwe Zdun * removed some more mem leaks, * reworked exit handler to destroy metaclasses and operate on a @@ -2731,14 +2739,14 @@ from false deletion order, if "exit" is called from within a method * changed XOTclErrInProc not to rely on obj/class Tcl_Obj* - so that we do not have to preserve them in DoDispatch + so that we do not have to preserve them in DoDispatch (mem problem) 2001-10-02 Uwe Zdun * added a optional simple mem counter functionality. DEFINE XOTCL_MEM_COUNT so that you get a mem count dump after exit. * removed some mem leaks - + 2001-10-01 Uwe Zdun * new info option "info methods" ... returns all methods (procs and cmds) defined along the hierarchy for an object. @@ -2748,22 +2756,22 @@ * don't allow duplicates in filter/mixin structures (e.g. info filter has returned "b c b", now the filter appears only once. Filterguards are merged into one guard. - * new modifier "-order" for info filter and info mixin -> + * new modifier "-order" for info filter and info mixin -> returns order on a particular object, for filters with syntax " proc/instproc " for mixins just a class list 2001-09-26 * cleanup, removed a few bugs * new instproc for Class: insttclcmd - creates an instmethod with the given name + creates an instmethod with the given name that calls the Tcl command with the given name in the variable environment of the object * renamed instproc of Class parameteradd to: instparametercmd * xotcl.c: more complete set of tracing options for debugging - * some speedups: + * some speedups: - instcommand array, append, lappend trace - are now more than 3 times faster than before + are now more than 3 times faster than before (through insttclcmd) - condition checking (for pre and post conditions and guards) is as well more than 3 times faster than before @@ -2787,23 +2795,23 @@ 2001-09-20 Uwe Zdun * xotcl.c: - - made objectData structure optional and moved + - made objectData structure optional and moved functions into file xotclObjectData.c use XOTCL_OBJECTDATA to compile it in - moved obj & cl clientDatas into optional memory, new extern getter/setter functions: XOTclSetObjClientData, XOTclGetObjClientData, XOTclSetClassClientData, - XOTclGetClassClientData. Used them in persistence store + XOTclGetClassClientData. Used them in persistence store wrappers xotclSdbm.c & xotclGdbm.c * testx.xotcl: - Added some obj filter tests 2001-09-19 Uwe Zdun - * xotcl.c: + * xotcl.c: - added "opt" structures to XOTclObject and XOTclClass so that optional info (filters, mixins, asssertion,...) is only allocated on demand - - corrected bug ... search for epoched filter cmd in + - corrected bug ... search for epoched filter cmd in FilterRemoveOnObjFromCmdPtr also in mixins - added flags to XOTclObject instead of filterDefined, mixinDefined, and destroyCalled shorts @@ -2845,7 +2853,7 @@ [self] objeval [concat ::lappend [list $varName] $args] } This is easier an faster than using an alias ... - + 2001-09-16 Uwe Zdun * predefined.xotcl: - new method "trace" on Object ... simple forwarder to tcl's trace @@ -2859,11 +2867,11 @@ (c) grep for <}::> to get e.g. ${a}::b that should find most occurrences of variable namespace access, except for direct accesses like: set y::x, where y is an object - name and c a variable to be set. + name and c a variable to be set. 2001-09-15 Uwe Zdun * xotcl.c: - - Namespaces of objects are now created only on demand, + - Namespaces of objects are now created only on demand, that is when: - obj proc is created - obj command is created with XOTclAddPMethod @@ -2874,33 +2882,33 @@ That means: Object o set o::var 1 - returns TCL_ERROR: parent namespace does not exist. Use + returns TCL_ERROR: parent namespace does not exist. Use o set var 1 instead. Same appears for append, lappend, trace, array and other Tcl variable handling commands. - "info exists" is problematic because it does not return an + "info exists" is problematic because it does not return an error message: Object o o set i 1 info exists o::i returns 0. - It is save to use all Tcl command together with instvar. - + It is save to use all Tcl command together with instvar. + - new method "requireNamespace" on Object. Creates an object namespace explicitly. - new info option "hasNamespace" on Object: returns 1, if the obj currently has a namespace, otherwise: 0. - - eliminated "returnCode" on RUNTIME_STATE due to several bugs, - why was it there??? + - eliminated "returnCode" on RUNTIME_STATE due to several bugs, + why was it there??? 2001-09-14 Uwe Zdun * xotcl.c: - - Changed XOTclCInfoMethod to be based on two switch statement - instead of ifs. Let List* functions return the state (such - as TCL_OK). + - Changed XOTclCInfoMethod to be based on two switch statement + instead of ifs. Let List* functions return the state (such + as TCL_OK). - introduced code for modifiers in info methods. Modifiers are "-" options that change the behavior of an info method - - introduced -guard modifier for filter and instfilter (it + - introduced -guard modifier for filter and instfilter (it prints a filter list with guards) 2001-09-13 Uwe Zdun @@ -2911,7 +2919,7 @@ 2001-09-06 Uwe Zdun * xotcl.c: - also allowed instfilters on a mixin class of an object - + 2001-09-03 Uwe Zdun * xotcl.c: - bug corrected: filter correctly removed from all dependent @@ -2930,19 +2938,19 @@ ... for filter inheritance 2001-08-25 Uwe Zdun - * xotcl.c: + * xotcl.c: - new filter guards language construct for constraining filter appliance - introduced generic Tcl_obj* list instead of XOTclAssertion*, - + 2001-08-24 Uwe Zdun - * xotcl.c: + * xotcl.c: - CallStackGetFrame: iterate only over INACTIVE filters (was a bug) - self filter & mixin infos: determine info position from callstack with CallStackGetFrame, so that uplevel functions with [self calling*,called*] - - NextMethod: passed XOTCL_UNKNOWN through at end of mixin/filter + - NextMethod: passed XOTCL_UNKNOWN through at end of mixin/filter chain, if no method was found. * testx: added tests for these corrections. @@ -2962,7 +2970,7 @@ Now inside of a namespace, like ::Object, you can call global methods, like ::set without preceding "::" ... - + => Incompatibility to former versions: direct XOTcl proc calls, like: Object rp @@ -2977,11 +2985,11 @@ 2001-08-20 Uwe Zdun * xotcl.c and all tests: moved Object, Class, and @ into ::xotcl - namespace, now + namespace, now namespace import -force xotcl::* - has to be written at the beginning of each script to have + has to be written at the beginning of each script to have them in the global namespace. - - info options now return ::xotcl::Object, ::xotcl::Class, and + - info options now return ::xotcl::Object, ::xotcl::Class, and ::xotcl::@ - direct sets and unsets of variable are not possible anymore: "Object set a 5" functions, but not "set Object::a 5", @@ -2992,21 +3000,21 @@ to ::xotcl::classes 2001-08-20 Uwe Zdun - * Actiweb -> made it run with new filter code ... what you have to + * Actiweb -> made it run with new filter code ... what you have to change on your existing code to make it run: 1. change all invocations of "filter" to "instfilter" 2. same for "info filter" to "info instfilter" 3. same for "filterappend" to "instfilterappend" 4. for all filters on metaclasses: you must not provide the - metaclass name anymore, the filter finds it - automatically, say, if you have a metaclass C and a + metaclass name anymore, the filter finds it + automatically, say, if you have a metaclass C and a filter f, you had to write: A filter C::f now this is A instfilter f - 5. replace regclass with [lindex [self filterreg] 0] ... + 5. replace regclass with [lindex [self filterreg] 0] ... may be changed again - + 2001-08-17 Uwe Zdun * xotcl.c: integrated complete rewrite of filter code with per-object filters @@ -3032,18 +3040,18 @@ * mos/AgentManagement.xotcl: fixed broken RDF-interface 2001-08-04 - * xotcl.c reduced size of XOTclObject structure from + * xotcl.c reduced size of XOTclObject structure from 172 bytes to 68 bytes by allocating assertion structures on demand and by deactivating per default the old metadata structures 2001-08-02 - * integrating AOL-server-changes from Zoran, solution for + * integrating AOL-server-changes from Zoran, solution for threads, stublib and older tcl-versions * improved stubs support * generating a stub library src/libxotclstub.so - * AOL_DEFINES in Makefile (automatically activated - when xotcl is compiled within the source tree + * AOL_DEFINES in Makefile (automatically activated + when xotcl is compiled within the source tree of aolserver * configure.in: using exec_prefix for platform dependent files * new target: make libs (for AOL-server) @@ -3054,9 +3062,9 @@ * xotcl.h: make it usable from C++ 2001-07-13 Uwe Zdun - * TextFileStorage: bug in opening files with - TextFileStorage eliminated - * MemStorage: fix for Mem Storage to support lazy + * TextFileStorage: bug in opening files with + TextFileStorage eliminated + * MemStorage: fix for Mem Storage to support lazy persistence (mem store persists object destroy) * Persistence.test: new test LotsOfObjects @@ -3070,30 +3078,30 @@ 2001-07-06 * xotcl.c: fix for propagating special return codes through next calls (e.g. ... return -code continue). - This is needed for Tk integration; - thanks to catherine letondal@pasteur.fr for + This is needed for Tk integration; + thanks to catherine letondal@pasteur.fr for pointing out the problem * Mime.xotcl: handling yet another file format for ~/.mime.types 2001-06-21 Uwe Zdun * fix for tclexpat in Tcl 8.2 versions 2001-06-21 - * xotcl.c: more fixes for bug in copy/move for object + * xotcl.c: more fixes for bug in copy/move for object names with spaces - * predefined.h: fixes for xotcl methods for spaces in object + * predefined.h: fixes for xotcl methods for spaces in object names (eval) 2001-06-20 - * xotcl.c: fixes for bug in copy/move for object names + * xotcl.c: fixes for bug in copy/move for object names with spaces * xotcl.c: reporting error codes when copy move does not work 2001-06-13 * AIX compatibility fixes (thanks to Adrian Wallaschek) * improved portability * easier export from bk - * Httpd.xotcl: added -ipaddr option to configure + * Httpd.xotcl: added -ipaddr option to configure IP-address of server 2001-06-12 Uwe Zdun @@ -3106,9 +3114,9 @@ * new predefined method: newChildOf 2001-05-28 - * HttpPlace.xotcl: added call to replyCode in front + * HttpPlace.xotcl: added call to replyCode in front of replyErrorMsg - * Httpd.xotcl: made httpd more robust in error cases + * Httpd.xotcl: made httpd more robust in error cases (invalid first line) * ignore attic in tar * xotclgdbm.c: faster exists test @@ -3119,7 +3127,7 @@ * XOTcl 0.85 Release 2001-05-15 Uwe Zdun - * xotcl.c: parameter defaults for (per-class) mixins are + * xotcl.c: parameter defaults for (per-class) mixins are evaluated upon creation * tutorial: documented how to evaluate parameter defaults for obj/class mixins @@ -3128,15 +3136,15 @@ 2001-05-15 * xotcl.c: fix for colon checking to determine parent namespace * xotcl.c: Object and Class create returns absolute name (with leading ::) - + 2001-05-15 Uwe Zdun * xotcl.c: fix for checking in parent namespace 2001-05-10 * doc update (formatting, info instproc, ismetaclass and isclass) * xotcl.c: argument for ismetaclass and isclass is now optional * xotcl.c: checking for namespace parent in object creation to avoid crash - * Httpd.xotcl: fix for ie 5.5 under win98, + * Httpd.xotcl: fix for ie 5.5 under win98, POST has not always contentlength set 2001-04-14 @@ -3155,7 +3163,7 @@ * xotcl::comm::httpd: added error code 500 {Server Error}, errorReply hook in replyCode added to be able to prevent HTML error response. - + 2001-04-03 * xotcl::comm::httpAccess: user-agent string more generic @@ -3168,9 +3176,9 @@ * version number in xotcl references to allow multiple xotcl-versions to coexist * various changes to accommodate bitkeeper - * package.xotcl: fixes for argument passing + * package.xotcl: fixes for argument passing (thanks to Artur Trzewik) - * Httpd.xotcl: better error messages containing referer for + * Httpd.xotcl: better error messages containing referer for files which are not found on the server. 2001-03-22 Uwe Zdun @@ -3190,7 +3198,7 @@ 2001-03-09 * removed "exec date" from tests to ensure win compatibility - * fixed regression tests under win: don't use dependencies on + * fixed regression tests under win: don't use dependencies on time-zones, fixed ordering problems and HTML bugs 2001-03-08 @@ -3202,32 +3210,32 @@ info from RCS strings (methods date and version) 2001-03-07 Uwe Zdun - * xotcl.c: Mutex patch for exit handlers in MT apps by + * xotcl.c: Mutex patch for exit handlers in MT apps by Zoran Vasiljevic * xotcl.c: self next implemented ... enables callstack information for the "next" method * Persistent.test: bench test reduced to 272 * tutorial/langref: documented new functionalities - + 2001-03-06 Uwe Zdun - * htmllib.xotcl: integrated new version with HtmlBuilder; + * htmllib.xotcl: integrated new version with HtmlBuilder; thanks to Antti Salonen. * package names: changed all package names to convention that - names are starting with lower cases. Separated names with :: + names are starting with lower cases. Separated names with :: prefixes. For now, these names are just chosen to avoid name clashes, in 0.85 they will probably be used as basis for a hierarchical component model. - + 2001-03-05 Uwe Zdun * metadataAnalizer: split into dynamic and static variant (static is used for xodoc 2001-03-02 Uwe Zdun * xotcl.c: moved callstack information (calledproc, calledclass, - callingproc, callingobject, callingclass, regclass) from + callingproc, callingobject, callingclass, regclass) from info to self; e.g. use in a filter instead of [[self] info calledproc] - from now on + from now on [self calledproc] * testx.xotcl: integrated callstack information changes. @@ -3243,26 +3251,26 @@ * new global variables for configuration and logging ::xotcl::confdir ~/.xotcl ::xotcl::logdir $::xotcl::confdir/log - * new script daemon.xotcl for starting/stopping + * new script daemon.xotcl for starting/stopping xotcl scripts in the background 2001-02-22 Uwe Zdun - * xoDoc.xotcl, metadataAnalyzer.xotcl: added documentation and - handling for "abstract" methods, and corrected bugs in html + * xoDoc.xotcl, metadataAnalyzer.xotcl: added documentation and + handling for "abstract" methods, and corrected bugs in html appearance - + 2001-02-22 * xotkAppInit.c: added static package Tk 2001-02-22 Uwe Zdun * splitted xodoc.xotcl into a generic static metadata analyzer (metadataAnalyzer.xotcl) and the HTML documentation part (xodoc.xotcl). - * htmllib.xotcl: incorporated fishpool's html lib for use + * htmllib.xotcl: incorporated fishpool's html lib for use in xodoc; thanks to Antti Salonen. 2001-02-17 - * Serializer.xotcl: new package for serialization of workspace + * Serializer.xotcl: new package for serialization of workspace contents (Classes and Objects). Serialization of full workspace: Serializer s @@ -3273,12 +3281,12 @@ * xotcl.c: tidying up 2001-02-10 - * xotcl.c: some speed improvements + * xotcl.c: some speed improvements (next without args more than twice as fast due to moving arguments to the stack, caching of stack pointers) 2001-02-08 Uwe Zdun - ! xotcl.c: Removed mixin init logic. Mixin & instmixin inits + ! xotcl.c: Removed mixin init logic. Mixin & instmixin inits are only called if the mixin is registered for the object during initialization. Beforehand "mixin" has called init, when it wasn't called before. This was inconsistent with @@ -3290,24 +3298,24 @@ 2001-02-04 * xotcl.c: cleanup and various simplifications ! using xotcl namespace for: - version, lib, check_library_path, - interp, trace, deprecated, mkindex, load, + version, lib, check_library_path, + interp, trace, deprecated, mkindex, load, namespace_copyvars, namespace_copycmd potential incompatibility: use ::xotcl::version instead of ::xotcl_version! 2001-02-01 Uwe Zdun - * xotcl.c: new destroy logic with recreate + * xotcl.c: new destroy logic with recreate 2001-01-26 Uwe Zdun - * Persistence.xotcl: + * Persistence.xotcl: - persistenceMgr now uses child object as storage - persistent arrays bug fixed, lazy persistent arrays added - added persistent arrays to test 2001-01-25 Uwe Zdun * xotcl.c: class redefinition logic instead of direct command - destroy added to solve destroy problems identified + destroy added to solve destroy problems identified by Kristoffer Lawson. 2001-01-24 Uwe Zdun @@ -3318,16 +3326,16 @@ * removed Unix dependencies from regression test (sleep) 2001-01-18 Uwe Zdun - * all storages: added nextkey + firstkey methods + * all storages: added nextkey + firstkey methods for traversal of DBs 2001-01-17 Uwe Zdun ! all packages: all internal distribution package names now - start with "xotcl::" to avoid name clashes with other + start with "xotcl::" to avoid name clashes with other packages - + 2001-01-16 Uwe Zdun - * XOTclGdbm: added XOTcl Gdbm wrapper + * XOTclGdbm: added XOTcl Gdbm wrapper 2001-01-15 Uwe Zdun * xotcl.c: alloc now handled as a Class instproc, like @@ -3342,25 +3350,25 @@ Storage abstract instproc exists key Storage abstract instproc set {key ?value?} Storage abstract instproc unset key - Storage abstract instproc names {} - + Storage abstract instproc names {} + 2001-01-12 Uwe Zdun * Storage test suite added 2001-01-09 Uwe Zdun - * Makefiles: generic makefile for expat, gdbm, ... in the + * Makefiles: generic makefile for expat, gdbm, ... in the style of XOTcl's Makefile + fed by toplevel configure - * packages/store/XOTclSdbm: sdbm wrapper for XOTcl + * packages/store/XOTclSdbm: sdbm wrapper for XOTcl 2001-01-08 - * The search for the XOTcl library is performed according to the + * The search for the XOTcl library is performed according to the following rules: 1) If the environment variable XOTCL is set and points to a directory, it is taken as the XOTCL directory. - 2) If the auto_path (determined in part by the environment - variable TCLLIBPTH) contains a directory named "xotcl" + 2) If the auto_path (determined in part by the environment + variable TCLLIBPTH) contains a directory named "xotcl" and it exists, it is taken. 3) If no xotcl library is determined yet, check @@ -3373,15 +3381,15 @@ 5) If the auto_path contains a directory that has a directory named xotcl as a neighbor, it is taken. - 6) Take the compiled-in path for the xotcl library. + 6) Take the compiled-in path for the xotcl library. After the search for the XOTcl library the global Tcl variable ::xotcl::lib is set to the determined directory. This directory is added automatically to the ::auto_path if necessary. 2000-12-15 - * packages/make.xotcl: passing target to avoid grep + * packages/make.xotcl: passing target to avoid grep through Makefile 2000-12-15 @@ -3395,7 +3403,7 @@ OPTIONS 2000-12-04 - * xoXML: fix info vars + * xoXML: fix info vars instvar method creates variable that is not accessible and should not be listed in info vars @@ -3411,61 +3419,61 @@ 2000-11-30 Uwe Zdun * xoXML/xoRDF: added the ability to process mixed content PCDATA (i.e. more than one pcdata in one element) - + 2000-11-29 Uwe Zdun - * src/lib/soccerClub.xotcl: simple introductory example for + * src/lib/soccerClub.xotcl: simple introductory example for the tutorial * xotcl.c: corrected assertion checking: built in commands that affect assertions are not checked (check, info, proc, instproc, invar, and instinvar). Otherwise we can not react on a broken assertion in the error handler (& documented this stuff in the tutorial). - + 2000-11-29 * tried to improve documentation tool * work on xotcl homepage, manual section added 2000-11-28 * apps/actiweb-apps/univ/ added (example for RDF) * packages/make.xotcl extended for test in apps directory - * HtmlPlace.xotcl: allowExit method added for HtmlPlace to allow an - actiweb place to terminate via URL (primarily for regression tests, + * HtmlPlace.xotcl: allowExit method added for HtmlPlace to allow an + actiweb place to terminate via URL (primarily for regression tests, which require no kill anymore, now platform independent) * Httpd.xotcl: logging of contains more detailed information - * HttpPlace.xotcl: added HTTP errors (invalid requests + * HttpPlace.xotcl: added HTTP errors (invalid requests for actiweb are correctly noted in log files) 2000-11-28 Uwe Zdun * xotcl.c: Removed theClasses/theObjecs hashtable, because they - caused some problems in exit handling (thanks to - Catherine Letondal for the hint), + caused some problems in exit handling (thanks to + Catherine Letondal for the hint), * xotcl.c: fixed all remaining memory leaks in tests (thanks to Zoran Vasiljevic for helping us out with purify) * tutorial.html: added documentation for @ 2000-11-27 - * src/Makefile.in: changed logic for building and + * src/Makefile.in: changed logic for building and installing xowish * xotcl.c: fixed bug in "info mixins" 2000-11-24 - * Access.xotcl: overhaul, uses now exits method instead of + * Access.xotcl: overhaul, uses now exits method instead of 'info exists' - * packages/xml/xml.xotcl: overhaul of the introductory XML-parser - example - * predefined.xotcl: new predefined method of Object: + * packages/xml/xml.xotcl: overhaul of the introductory XML-parser + example + * predefined.xotcl: new predefined method of Object: vwait (Tcl semantics) * some tuning to avoid speed penalties * src/Makefile.in: added some dependencies 2000-11-24 Uwe Zdun * xotcl.c: removed internal mem leaks reported by dmalloc * xotcl.c: corrected assertion checking for built-in commands, like set - * xotcl.c, xotclMetaData.c: put metadata into own file + + * xotcl.c, xotclMetaData.c: put metadata into own file + made them deprecated -> use @ instead * testx.xotcl, testo.xotcl: used @ instead of metadata * tutorial.html: reworked the tutorial, added instmixins - + 2000-11-22 * dmalloc defines added to Makefile.in * xotcl.c: removed some mem leaks @@ -3475,11 +3483,11 @@ * fixed problems with pipes for xocomm.test (should work now under windows as well) * polished output from xodoc - * extended sample webserver to return info about the current + * extended sample webserver to return info about the current request and provided means for stopping it remote. 2000-11-22 Uwe Zdun - * configure.in: added ""'s around -z tests and added + * configure.in: added ""'s around -z tests and added --without-gdbm support (thanks to Catherine Letondal for the hint) * package/store/persistenceExample.xotcl added as a basic @@ -3493,7 +3501,7 @@ * xotcl.c/xotclInt.h: moved the global objects and a static variable to interpreter structure (thanks to Zoran Vasiljevic for the patches) - * xotcl.c correctes mem leak in "mixin" method + * xotcl.c correctes mem leak in "mixin" method (thanks to Zoran Vasiljevic for the hint) 2000-11-03 @@ -3525,14 +3533,14 @@ 2000-10-13 * new global variable xotcl_version in analogy to tcl_version - * fixed parameter passing to init for multiple arguments + * fixed parameter passing to init for multiple arguments (not starting with a "-") * added regression test * fix bug for variable name aliasing in the instvar method ----------------------------------------------------------------------------- 2000-10-09 Uwe Zdun - * prepared Version 0.82 + * prepared Version 0.82 2000-10-06 Uwe Zdun * experimental tests for actiweb apps (invoke @@ -3542,18 +3550,18 @@ * Documented xotcl.c + src/lib and src/scripts directories 2000-09-29 Uwe Zdun - * xodoc.xotcl new XOTcl documentation package .. all docs + * xodoc.xotcl new XOTcl documentation package .. all docs are now in file docs, with @ object 2000-09-28 Uwe Zdun !! xotcl.c removed aggregation short form due to incompatibilities - with unknown. I.e., + with unknown. I.e., [self] Class x - does not function like + does not function like Class [self]::x anymore, but triggers the unknown mechanism. - * removed bug: parameters have tried to call "-1" - default value as method + * removed bug: parameters have tried to call "-1" + default value as method 2000-09-26 Uwe Zdun !! src/xotcl.c: short form for creation of nested object and @@ -3585,37 +3593,37 @@ 2000-09-12 * Httpd.xotcl: Fixed a bug for IE5.5 with persistent connections: - (Server blocked); cause: the Tcl command "fcopy" alters the - blocking state of a socket when it finishes (bug in fcopy + (Server blocked); cause: the Tcl command "fcopy" alters the + blocking state of a socket when it finishes (bug in fcopy of tcl 8.3.2) 2000-09-12 Uwe Zdun - * xotcl/src: added xotclInt.h as XOTcl internal API + * xotcl/src: added xotclInt.h as XOTcl internal API (still incomplete) - * xotcl.c: - - extracted xotclProfile.c, xotclReference.c, xotclTrace.c, + * xotcl.c: + - extracted xotclProfile.c, xotclReference.c, xotclTrace.c, and xotclError.c from xotcl.c, - - started conversion to Tcl-like naming convention for - functions: XOTcl... for internal API, + - started conversion to Tcl-like naming convention for + functions: XOTcl... for internal API, XOTcl_... for external API 2000-09-07 Uwe Zdun * xoXML.xotcl: removed need for empty topNode * xoRDF.xotcl/RDFTriple.xotcl: Uniform Parse Tree - - abbrev properties and parseType = resource are now parse + - abbrev properties and parseType = resource are now parse into descriptions - - class hierarchy uniformized to resources and properties + - class hierarchy uniformized to resources and properties ... object names are either prop.. or res.. - - resource types are stored in rdftypes variable + - resource types are stored in rdftypes variable (as a list of types) - Typed nodes are parsed into description + type - namespace definition at RDF tag recognized - - hard coded "rdf:" removed (now rdfNSPrefix is stored on - each node, the parser has a rdfNamespace parameter) + - hard coded "rdf:" removed (now rdfNSPrefix is stored on + each node, the parser has a rdfNamespace parameter) 2000-09-06 - * packages/store/Persistence.xotcl: lazy open for + * packages/store/Persistence.xotcl: lazy open for persistence database added (to avoid creation of not needed files, when no persistent variables are used, and to reduce permission problems for creation, opening, etc) @@ -3629,14 +3637,14 @@ * xoRDF: trivial fix for make numbering of anonymous resources easier to comprehend * predefined.xotcl: methods "append" and "lappend" added - * xotcl/Makefile: keeps track of configure.in and reconfigures + * xotcl/Makefile: keeps track of configure.in and reconfigures if necessary (eg. version change) * new -reset option for autoname (does currently not work with -instance) 2000-08-31 Uwe Zdun * xoRDF: added subject ID to anonymous descriptions & fixed bugs - + 2000-08-30 Uwe Zdun * xotcl.c: fixed xotcltrace * trace.xotcl: "deprecated messages" show* fixed @@ -3645,11 +3653,11 @@ * toplevel Makefile: target "make test" added 2000-08-16 - * RDFTriple got a new method "prettyTriples" which uses + * RDFTriple got a new method "prettyTriples" which uses indentation to show connections between triples (used in xoRDF.test) 2000-08-11 - * apps/xocomm/webserver.xotcl listens on port 9086 as well + * apps/xocomm/webserver.xotcl listens on port 9086 as well to test basic access control * packages/make.xotcl -test added * Access.xotcl: fixes for credentials, timing for SimpleRequest now optional @@ -3663,34 +3671,34 @@ * dead code removed * all internal calls to destroy handled by a single function "callDestroyMethod" - * target "xref" added to xotc/src/Makefile + * target "xref" added to xotc/src/Makefile (needs free program xref to be installed) 2000-08-08 * new instcommand "exists" to check whether a variable exists (no need to use namespaces or instvar to check for the existence of variables) - * xotcl.c: using new macros + * xotcl.c: using new macros VarFrameDecls VarFrameSwitchToObj(in,obj) VarFrameRestore(in) - to change VariableFrames + to change VariableFrames (speedup mand making code more uniform) * returning int objects instead of string objects * using new features obove led to more than 20% speedup on RDF benchmark. - * regression and speed test - xotcl/src/lib/speedtest.xotcl added + * regression and speed test + xotcl/src/lib/speedtest.xotcl added 2000-08-07 - * HTML Form interface changed, + * HTML Form interface changed, form arguments are not longer appended to call * new methods for WebObj: getWorker and getFormData to access worker internals and form data * some minor speed improvements 2000-08-01 - !! more thorough checks for object names + !! more thorough checks for object names (no ":", no "::", no ":[^:].+", no ".+:", no ".*NAME::[:]+NAME") * copy and move methods create no invalid names that must be fixed by Object creation @@ -3724,34 +3732,34 @@ corrected - support for synchronous invoke, clone, and migrate added in addition to async methods - + * AgentClient/Receiver: example enhanced with class cloning and sync invoke, clone, and migrate - + ----------------------------------------------------------------------------- 2000-06-05 XOTcl 0.81 Release -- Major Changes to Version 0.80 - changelog started by Uwe Zdun - * xotcl.c: + * xotcl.c: - deep copy/move with all language features - renamed "parameters" to "parameter" - renamed "info filters" and "info mixins" to "info filter"/ "info mixin" - added deprecated error message - added "xotcl_interp" command to start an XOTcl slave interp - better "package" support and integration - - linearizing of per-object mixin hierarchy with ordinary + - linearizing of per-object mixin hierarchy with ordinary class hierarchy - - isobject, isclass, and ismetaclass with identical interface: + - isobject, isclass, and ismetaclass with identical interface: all have the obj/cls in question as argument - reference tracing with "info reference", "info referencedby" added - - internal xotcl-lib now in predefined.xotcl -> make file - automatically creates predefined.h + - internal xotcl-lib now in predefined.xotcl -> make file + automatically creates predefined.h * toplevel-configure added * Actiweb: - - early alpha preview for code mobility, registry, web objects - added. be careful: the APIs will most likely change in the - future + - early alpha preview for code mobility, registry, web objects + added. be careful: the APIs will most likely change in the + future - SSL Place * HTTPserver/access: - Open SSL support @@ -3761,5 +3769,5 @@ - Tests integrated and several new tests - XML/RDF recreation added * xoStore: - - Support for tclgdbm added -- thanks to Stefan Vogel for + - Support for tclgdbm added -- thanks to Stefan Vogel for providing the Win version of gdbm