Index: .gitignore =================================================================== diff -u -N -rc6a4d70c3d408c0ee4698e67043ef9c8e3f1c1db -r2111020b49da8ce57758e51accf0b6073037f0d2 --- .gitignore (.../.gitignore) (revision c6a4d70c3d408c0ee4698e67043ef9c8e3f1c1db) +++ .gitignore (.../.gitignore) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -7,3 +7,5 @@ xotclsh pkgIndex.tcl Makefile +xotclConfig.sh +CVS Index: COPYRIGHT =================================================================== diff -u -N -rc72f9f638677608fab1502cd696c8f2d6b2952f9 -r2111020b49da8ce57758e51accf0b6073037f0d2 --- COPYRIGHT (.../COPYRIGHT) (revision c72f9f638677608fab1502cd696c8f2d6b2952f9) +++ COPYRIGHT (.../COPYRIGHT) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -1,6 +1,6 @@ * XOTcl - Extended OTcl * - * Copyright (C) 1999-2001 Gustaf Neumann (a), Uwe Zdun (b) + * Copyright (C) 1999-2008 Gustaf Neumann (a), Uwe Zdun (b) * * (a) Vienna University of Economics and Business Administration * Dept. of Information Systems / New Media Index: ChangeLog =================================================================== diff -u -N -r4dd2595d98574faaac87f5dd33b542516fdff5df -r2111020b49da8ce57758e51accf0b6073037f0d2 --- ChangeLog (.../ChangeLog) (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ ChangeLog (.../ChangeLog) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -1,3 +1,346 @@ +Method ::xotcl::Object->__exitHandler became ::xotcl::__exitHandler + +2009-06-14 + - fixed potential access to deleted command list item in + FilterSearchAgain() + - fixed potential access deleted xotcl object by switching order + in a condition + - some minor cleanup for configuration flags + +2009-03-19 + * Release of XOTcl 1.6.3 + +2009-03-19 + - removed references to 1.6.2 + +2009-03-04 + - re-enable small optimization + - factor out common code + - fix compatibility with Tcl 8.4 + - bump version number to 1.6.3 + +2009-03-03 + - simplify semantics of MixinSeekCurrent and FilterSeekCurrent, improve speed + - remove necessity to have tclCompile.h + - improve documentation + +2009-03-02 + - some small performance improvements (use CreateHashEntry instead + of FindHashEntry, remove unneded argument, improve order of long + and expressions) + - some code cleanup + - new methods, when compiled with tcl 8.5; + + MakeProcError (producing error messages from xotcl methods) + + PushProcCallFrame (compile method to byte-code) + The new support allows to call code at the begin of a proc + without using the old approach based on :xotcl::initProcNS + +2009-02-19 + - add comments to var resolution tests for objects without namespaces + - fixed reference counting + - removed temporary hacks + - added CONST to several functions + - added relative namespace handling + +2009-02-18 , sobernig@wu-wien.ac.at + - added Stefan's work for namespace resolvers + - fixed a memory leak for "obj exists" due to the changes + - found another memory leak, when e.g. "::info" is added as an + alias and "info exists" is tested against non-existing vars + +2009-01-19 + - Finish work on deletion of user-metaclasses + - commenting existing and potential usage of namespace resolvers + +2008-12-01 + * Correct deletion of user-metaclasses: Deletion of + user-metaclasses could lead to undestroyable objects, since the + instances of the user-metaclasses were reclassed to + ::xotcl::Object instead of ::xotcl::Class. + * extend regression test for such situations + +2008-11-02 + * Release of XOTcl 1.6.2 + +2008-11-01 + * 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. + + Background: when XOTcl is used in a threaded environment such as + for example in AOLserver, one has to take care that the deletion + of objects and classes happens in a safe environment, where the + XOTcl destructors (destroy methods) are still able to + run. Without ::xotcl::finalize the deletion happens in + Tcl_FinalizeThread(), after thread cleanup (where e.g. the + thread local storage is freed). This can lead to memory leaks in + AOLserver, which allocates e.g. some structures on demand, but + since this happens after cleanup, it will leak. A simple ns_log + in a destructor might lead to this problem. The solution is to + call ::xotcl::finalize in the "delete trace" in AOLserver (as it + happens in OpenACS). + + Note, that ::xotcl::finalize is not intended for application programs. + + * some code cleanup + +2008-10-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 + (directly or indirectly) + + * extended regression test for mixinof + + * updated documentation + +2008-09-11 + * 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 + "::xotcl::Object ::C"), earlier versions of XOTcl were to + liberal. The major problem is to invalidate all places, where + ::C might be used as a class, and were only classes are allowed + (e.g. mixin chains, precedence orders). + + The new version does not allow downgrading via the class method + and does a destroy/create instead of a recreate when a + same-named class existed before. + + * reset mixin order for per-object mixins, when the superclass + of a class is deleted, which is used as per-object mixin + + * extended regression test + * Updating and improving documentation + +2008-06-24 + * Release of XOTcl 1.6.1 + +2008-06-23 + * remove pattern argument from "info class" + * additional argument for "info precedence": "-intrinsic" + Syntax: + info precedence ?-intrinsic? ?pattern? + If "-intrinsic" is specified, only the classes of the + superclass type hierarchy are returnd. Otherwise, + the precedence contains mixin classes as well. + * Check results for guards to be boolean instead + of int (now, guards are allowed to return e.g. "true") + +2008-05-30 + * updating language reference + + * 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" + 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 + is an empty string. Example: + X info instdefault crash "" var + +2008-05-09 + * used catch in the deprecated package xotcl::upvar-compat + as suggested by Jeff Hobbs + +2008-03-18 + * allowed "abstract method" in additon to "abstract instproc" + and "abstract proc" + +2008-02-26 + * xotcl.c: The double ;; chokes MSVC6 in the next line. + (many thanks for Andreas Kupries for reporting) + +2008-02-25 + * Fix for "x configure -set"; many thanks to + Rene Zamseil for reporting. + +2008-02-24 + * Release of XOTcl 1.6.0 + +2008-02-22: + * Update of documentation + +2008-02-21: + * Clear XOTCL_MIXIN_ORDER_VALID flag unconditionally + in MixinInvalidateObjOrders() for mixins (Neophytos + had problems in naviserver; many thanks for reporting!) + +2008-02-21: + + * Replaced Tcl_ObjSetVar2() with Tcl_SetVar2Ex() in nonposargs, + since Tcl 8.5 seemed to optimize local variables away, if these + not referenced directly from from Tcl. + + Tcl 8.5 seems to optimize proc-local variables away, which are not + directly referenced by the Tcl proc body. In the following + example, "ot" is set from C (via nonposargs, previously via + Tcl_ObjSetVar2()) and consumed via C (from the db-driver, using + :ot). + + SomeClass instproc foo {-ot} { + #ns_log notice ot=$ot + return [db_string [my qn check_type] { + select 1 from acs_object_types where object_type = :ot + } -default 0] + } + + When the logging command is added, the statement works fine. When + the logging command was deactivated, the variable ot was not seen + from the consumer. By changing the variable setting command to + Tcl_SetVar2Ex(), it works fine. + +2008-02-08: + * New info option "-closure" for "info instmixin" with + -guards and -closure support + + * Extended test cases for "info instmixin" + +2008-02-06: + * Continued with info orthogonality change + + info mixin ?pattern? + info instmixin ?pattern? + + ?pattern? behaves exactly like in the change of two days + ago. Preceding colons in the name of the queried class are not + required. + + * In all mentioned calls, where pattern refers to an object/class + and it contains wild-cards, a preceding :: is added automatically + to the search pattern, if it is missing. Since all object names + start with ::, an omitted leading :: in a search pattern is an + obvious mistake + + * Made the behavior "pattern" in the following calls identical + concerning wild cards and object lookups + + mixin delete pattern + instmixin delete pattern + superclass delete pattern + + * extended regresson test + +2008-02-05: + + * fix getAllClassMixinsOf to handle combinations of transitive per + class mixins and inheriting per-class mixin via the class + hierarchy, removed getAllSubClasses + + * extend test cases + +2008-02-04: + * Potential incompatibility: + provide a uniform interface to the following info subcommands + + info superclass ?-closure? ?pattern? + info subclass ?-closure? ?pattern? + info instances ?-closure? ?pattern? + info instmixinof ?-closure? ?pattern? + info mixinof ?pattern? + + In cases, where the option "-closure" is defined, the values are + computed transitively. + + In cases, where a pattern is specified, and the pattern contains + meta-characters, a list of results is returned matching the + pattern (like "string match"). When no matching value is found, an + empty list is returned. + + In cases, where a pattern is specified, and the pattern contains + no meta-characters, a single value is returned corresponding to + the specified value. The pattern is used to lookup an object or + class, such it is not necessary to provide fully qualified names). + if there is no match, empty is returned. Previously, "info + superclass" and "info subclass" returned a boolean value and + performed always a transitive search. Returning "" is more + consistent and more in line with Tcl. + + By using the option "-closure" one can perform the lookup in the + transitive or in the intransitive sets. + +2008-02-03: + - fix getAllSubClasses + - fix "info mixinof -closure", when pattern was provided + - streamline code (AppendMatchingElement) + - new info option "-closure" for "info instances" (equiv. to + "allinstances", but 5 times faster) + - new info option "-closure" for "info superclass" (equiv. to + "info heritage") + +2008-02-02: + - Improving regression test: + + added ::xotcl::test::case + + shortened output + - Makefile.in: added missing src_man_dir + - fixed softcrecreate cases: + * update caches for subclasses of recreated classes + * fixed recreate when it defines different superclasses + * extended test cases for mixinoftest + +2008-02-01: + - new info option "-closure" for "info mixinof" (transitive version) + - process subclasses for getAllClassMixinsOf + +2008-01-23: + + - saving object->id in cl->opt->id (probably a temporary solution) + + - improving reset of affected objects, when (transitive) per class + mixins change + + - extended regression test + +2008-01-07: + - don't call unset traces during an object move (related to fix below) + +2008-01-04: + - preserving var traces when copying objects + (Many thanks to Florian Murr for reporting the bug) + +2008-01-02: + - fixed evaluation context in guard expressions + ([self callingproc] returned "" in cases, where the callingproc + was possible to determine) + +2007-12-28: + - fixed crash for deleted classes in new code (mixinof) + - changed name from MixinResetInstanceOrder() to MixinResetOrderForInstances() + - improving documentation + - made code more local + - activate assertion during development + - changed names + * MixinResetInstanceOrder() -> MixinResetOrderForInstances() + * mixinofs -> isObjectMixinOf + * instmixinofs -> isClassMixinOf + * getAllInstMixinofs -> getAllClassMixinsOf + * RemoveFromMixinofs -> removeFromObjectMixinsOf + * RemoveFromInstmixinsofs -> removeFromClassMixinsOf + +2007-12-28: + - new function from Martin MixinResetInstanceOrder() + - better cleanup when classes are deleted + +2007-12-13: + * fix alias command for aliasing to Tcl procs + +2007-11-09: + * added missing file (install.sh from tclconfig) + 2007-10-30: * change Tcl_ObjSetVar2() to Tcl_SetVar2Ex() to address problem in setting variables from C. @@ -2425,7 +2768,7 @@ * 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 - -L$(TCLLIBDIR) (thanks to J�rg Rudnik for the hint) + -L$(TCLLIBDIR) (thanks to Jrg Rudnik for the hint) 2001-10-08 * configure.in: fixes for AOLSERVER to ease configuration Index: Makefile.in =================================================================== diff -u -N -r46f02e4868e118466d888b35d6b281b3f2ba31ac -r2111020b49da8ce57758e51accf0b6073037f0d2 --- Makefile.in (.../Makefile.in) (revision 46f02e4868e118466d888b35d6b281b3f2ba31ac) +++ Makefile.in (.../Makefile.in) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -8,8 +8,9 @@ # # Copyright (c) 1999 Scriptics Corporation. # Copyright (c) 2002-2003 ActiveState Corporation. +# Copyright (c) 2001-2008 Gustaf Neumann, Uwe Zdun # -# See the file "license.terms" for information on usage and redistribution +# See the file "tcl-license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # RCS: @(#) $Id: Makefile.in,v 1.21 2006/10/04 20:40:23 neumann Exp $ @@ -22,30 +23,31 @@ #XOTCL_VERSION = @PACKAGE_VERSION@ XOTCL_VERSION = @XOTCL_VERSION@ -src_lib_dir = ${srcdir}/library -src_doc_dir = ${srcdir}/doc -src_test_dir = ${srcdir}/tests -src_app_dir = ${srcdir}/apps -src_generic_dir = ${srcdir}/generic -TCL_LIB_SPEC = @TCL_LIB_SPEC@ -TK_LIB_SPEC = @TK_LIB_SPEC@ -subdirs = @subdirs@ -aol_prefix = @aol_prefix@ +src_lib_dir = ${srcdir}/library +src_doc_dir = ${srcdir}/doc +src_test_dir = ${srcdir}/tests +src_app_dir = ${srcdir}/apps +src_generic_dir = ${srcdir}/generic +src_man_dir = ${srcdir}/man +TCL_LIB_SPEC = @TCL_LIB_SPEC@ +TK_LIB_SPEC = @TK_LIB_SPEC@ +subdirs = @subdirs@ +aol_prefix = @aol_prefix@ # Requires native paths -PLATFORM_DIR = `@CYGPATH@ $(srcdir)/@TEA_PLATFORM@` -target_doc_dir = ./doc +PLATFORM_DIR = `@CYGPATH@ $(srcdir)/@TEA_PLATFORM@` +target_doc_dir = ./doc src_lib_dir_native = `@CYGPATH@ ${src_lib_dir}` src_doc_dir_native = `@CYGPATH@ ${src_doc_dir}` src_test_dir_native = `@CYGPATH@ ${src_test_dir}` src_app_dir_native = `@CYGPATH@ ${src_app_dir}` src_generic_dir_native = `@CYGPATH@ ${src_generic_dir}` -libdirs = comm lib serialize @libdirs_actiweb@ -libsrc = COPYRIGHT pkgIndex.tcl -appdirs = comm scripts utils @apps_actiweb@ -appsrc = COPYRIGHT +libdirs = comm lib serialize @libdirs_actiweb@ +libsrc = COPYRIGHT pkgIndex.tcl +appdirs = comm scripts utils @apps_actiweb@ +appsrc = COPYRIGHT DOC_SOURCE = \ $(src_doc_dir)/langRef.xotcl \ @@ -350,7 +352,12 @@ -libdir $(PLATFORM_DIR) $(TESTFLAGS) $(TCLSH) $(src_test_dir_native)/slottest.xotcl \ -libdir $(PLATFORM_DIR) $(TESTFLAGS) + $(TCLSH) $(src_test_dir_native)/mixinoftest.xotcl \ + -libdir $(PLATFORM_DIR) $(TESTFLAGS) + $(TCLSH) $(src_test_dir_native)/varresolutiontest.xotcl \ + -libdir $(PLATFORM_DIR) $(TESTFLAGS) + test-http: $(TCLSH_PROG) $(TCLSH) $(src_test_dir_native)/xocomm.test \ -libdir $(PLATFORM_DIR) $(TESTFLAGS) Index: apps/COPYRIGHT =================================================================== diff -u -N -rc72f9f638677608fab1502cd696c8f2d6b2952f9 -r2111020b49da8ce57758e51accf0b6073037f0d2 --- apps/COPYRIGHT (.../COPYRIGHT) (revision c72f9f638677608fab1502cd696c8f2d6b2952f9) +++ apps/COPYRIGHT (.../COPYRIGHT) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -1,6 +1,6 @@ * XOTcl - Extended OTcl * - * Copyright (C) 1999-2001 Gustaf Neumann (a), Uwe Zdun (b) + * Copyright (C) 1999-2008 Gustaf Neumann (a), Uwe Zdun (b) * * (a) Vienna University of Economics and Business Administration * Dept. of Information Systems / New Media Index: apps/utils/xotclsh =================================================================== diff -u -N --- apps/utils/xotclsh (revision e7e4c556bc1221bc39a9c2de6e2597f832562471) +++ apps/utils/xotclsh (revision 0) @@ -1,13 +0,0 @@ -#!/usr/local/bin/tclsh8.5 -if {$argc == 0} { - puts "Don't use [info script] as interactive shell! Use instead:" - puts " /usr/local/bin/tclsh8.5" - puts " package require XOTcl; namespace import ::xotcl::*" -} else { - package require XOTcl - namespace import ::xotcl::* - set argv0 [lindex $argv 0] - set argv [lreplace $argv 0 0] - incr argc -1 - source $argv0 -} Index: apps/utils/xowish =================================================================== diff -u -N --- apps/utils/xowish (revision e7e4c556bc1221bc39a9c2de6e2597f832562471) +++ apps/utils/xowish (revision 0) @@ -1,17 +0,0 @@ -#!@WISH_PROG@ -###!/usr/local/bin/tclsh8.5 -###package require Tk -if {$argc == 0} { - puts "Don't use [info script] as interactive shell! Use instead:" - puts " @WISH_PROG@" - puts " package require XOTcl; namespace import ::xotcl::*" - exit -} else { - package require XOTcl - namespace import ::xotcl::* - set argv0 [lindex $argv 0] - set argv [lreplace $argv 0 0] - incr argc -1 - source $argv0 -} -###catch {vwait forever} Index: apps/xml/rdfExample.xotcl =================================================================== diff -u -N --- apps/xml/rdfExample.xotcl (revision 0) +++ apps/xml/rdfExample.xotcl (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -0,0 +1,76 @@ +#!/usr/bin/env tclsh +# $Id: rdfExample.xotcl,v 1.2 2006/02/18 22:17:33 neumann Exp $ +# +# small Example for usage of xoXML +# +package require XOTcl; namespace import -force xotcl::* +package require xotcl::package +package require xotcl::trace +package require xotcl::rdf::parser +package require xotcl::rdf::recreatorVisitor +package require xotcl::xml::printVisitor + +# +# instantiate parser and parser an example text into a node tree +# +RDFParser x +x parse { + + + + + Mary Andrew + Jacky Crystal + + + + + + + + + + + + + The Coolest Web Page + Il Pagio di Web Fuba + + + + + some text + + + + +} + +proc run {} { + # + # print the node treee to the std output + # + puts ************************************************************************ + puts "Node Tree:" + puts ************************************************************************ + PrintVisitor pv + foreach tn [x info children topNode*] { + pv interpretNodeTree $tn + } + + # + # recreate xml text and print it to the std output + # + puts \n + puts ************************************************************************ + puts "Recreated RDF Text:" + puts ************************************************************************ + RDFRecreatorVisitor rv + foreach tn [x info children topNode*] { + set result [rv interpretNodeTree $tn] + puts $result + } +} +run Index: apps/xml/xmlExample.xotcl =================================================================== diff -u -N --- apps/xml/xmlExample.xotcl (revision 0) +++ apps/xml/xmlExample.xotcl (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -0,0 +1,115 @@ +#!../../src/xotclsh +# +# small Example for usage of xoXML +package require xotcl::package +package require xotcl::trace +package require xotcl::xml::parser +package require xotcl::xml::recreatorVisitor +package require xotcl::xml::printVisitor + +# +# instantiate parser and parser an example text into a node tree +# +XMLParser x +#x parse { +# + +x parse { + + + a + b + c + + + b + c + + + a + b + c + b + d + + + + + + Mary Andrew + Jacky Crystal + + + + + + + + + + + + + The Coolest Web Page + Il Pagio di Web Fuba + + + + + some text + + + + +} + +proc run {} { + # + # print the node treee to the std output + # + puts ************************************************************************ + puts "Node Tree:" + puts ************************************************************************ + PrintVisitor pv + pv interpretAll x + + # + # recreate xml text and print it to the std output + # + puts \n + puts ************************************************************************ + puts "Recreated XML Text:" + puts ************************************************************************ + XMLRecreatorVisitor rv + puts [rv interpretAll x] + +} +run + +XMLParser y +y parse { + + + + + + + + + + + + + olla + + + + + hallo + + +} +XMLRecreatorVisitor rv +puts [rv interpretAll y] Index: config/mktar.sh =================================================================== diff -u -N -rc72f9f638677608fab1502cd696c8f2d6b2952f9 -r2111020b49da8ce57758e51accf0b6073037f0d2 --- config/mktar.sh (.../mktar.sh) (revision c72f9f638677608fab1502cd696c8f2d6b2952f9) +++ config/mktar.sh (.../mktar.sh) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -7,8 +7,8 @@ make distclean cd .. tar zcvf ./$name.tar.gz \ - `find ./$name -type f -o -type l| fgrep -v CVS | fgrep -v SCCS | \ + `find ./$name -type f -o -type l| fgrep -v .git| fgrep -v CVS | fgrep -v SCCS | \ fgrep -v Attic | fgrep -v "autom4te"| fgrep -v "~"|fgrep -v .db | \ - fgrep -v .junk | fgrep -v "#" |fgrep -v .DS_Store| fgrep -v config. | \ + fgrep -v .junk | fgrep -v .orig | fgrep -v "#" |fgrep -v .DS_Store| fgrep -v config. | \ fgrep -v .gdb` Index: configure =================================================================== diff -u -N -r46f02e4868e118466d888b35d6b281b3f2ba31ac -r2111020b49da8ce57758e51accf0b6073037f0d2 --- configure (.../configure) (revision 46f02e4868e118466d888b35d6b281b3f2ba31ac) +++ configure (.../configure) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for xotcl 1.6.0. +# Generated by GNU Autoconf 2.59 for xotcl 1.6.3. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -267,8 +267,8 @@ # Identity of this package. PACKAGE_NAME='xotcl' PACKAGE_TARNAME='xotcl' -PACKAGE_VERSION='1.6.0' -PACKAGE_STRING='xotcl 1.6.0' +PACKAGE_VERSION='1.6.3' +PACKAGE_STRING='xotcl 1.6.3' PACKAGE_BUGREPORT='' # Factoring default headers for most tests. @@ -777,7 +777,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xotcl 1.6.0 to adapt to many kinds of systems. +\`configure' configures xotcl 1.6.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -834,7 +834,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xotcl 1.6.0:";; + short | recursive ) echo "Configuration of xotcl 1.6.3:";; esac cat <<\_ACEOF @@ -979,7 +979,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -xotcl configure 1.6.0 +xotcl configure 1.6.3 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -993,7 +993,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xotcl $as_me 1.6.0, which was +It was created by xotcl $as_me 1.6.3, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1572,7 +1572,7 @@ # do not modify the following lines manually, they are generated with changeXOTclVersion XOTCL_MAJOR_VERSION=1 XOTCL_MINOR_VERSION=6 -XOTCL_RELEASE_LEVEL=.0 +XOTCL_RELEASE_LEVEL=.3 XOTCL_VERSION=${XOTCL_MAJOR_VERSION}.${XOTCL_MINOR_VERSION} NODOT_VERSION=${XOTCL_MAJOR_VERSION}${XOTCL_MINOR_VERSION} @@ -10583,7 +10583,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by xotcl $as_me 1.6.0, which was +This file was extended by xotcl $as_me 1.6.3, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10638,7 +10638,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -xotcl config.status 1.6.0 +xotcl config.status 1.6.3 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -11260,3 +11260,15 @@ + + + + + + + + + + + + Index: configure.in =================================================================== diff -u -N -r46f02e4868e118466d888b35d6b281b3f2ba31ac -r2111020b49da8ce57758e51accf0b6073037f0d2 --- configure.in (.../configure.in) (revision 46f02e4868e118466d888b35d6b281b3f2ba31ac) +++ configure.in (.../configure.in) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -11,7 +11,7 @@ # for this package, and can be a relative path, such as: # #-------------------------------------------------------------------- -define(XOTclVersion, 1.6.0) +define(XOTclVersion, 1.6.3) AC_INIT([xotcl], [XOTclVersion]) #-------------------------------------------------------------------- @@ -104,7 +104,7 @@ # do not modify the following lines manually, they are generated with changeXOTclVersion XOTCL_MAJOR_VERSION=1 XOTCL_MINOR_VERSION=6 -XOTCL_RELEASE_LEVEL=.0 +XOTCL_RELEASE_LEVEL=.3 XOTCL_VERSION=${XOTCL_MAJOR_VERSION}.${XOTCL_MINOR_VERSION} NODOT_VERSION=${XOTCL_MAJOR_VERSION}${XOTCL_MINOR_VERSION} @@ -506,3 +506,15 @@ + + + + + + + + + + + + Index: doc/Announce-1.6.0 =================================================================== diff -u -N --- doc/Announce-1.6.0 (revision 0) +++ doc/Announce-1.6.0 (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -0,0 +1,105 @@ +Dear XOTcl Community, + +XOTcl 1.6.0 is available. This release provides in short: + - orthogonality improvements for introspection, + - more introspection methods (one can now e.g. query, into which + classes a mixin class is mixed into) and + - performance improvements (some methods are significantly + faster. e.g. by a factor of 1000 for larger systems). + +In addition, the XOTcl source code follows now closer the Tcl +source code guidelines (e.g. variable naming), a few potential +crashes have been fixed. + +See below for more details. +Best regards + +-gustaf neumann + +Announcing XOTcl 1.6.0 +************************* + +We are pleased to announce the availability of XOTcl 1.6.0. + +Major changes relative to 1.5.6 are: + + * Provide a uniform interface to the following info subcommands + + info superclass ?-closure? ?pattern? + info subclass ?-closure? ?pattern? + info instances ?-closure? ?pattern? + info instmixin ?-closure? ?pattern? + + The new option "-closure" returns the transitive set of the + relation (e.g. .. info subclass -closure) returns the subclasses + and the subclasses of the subclasses. For "info instances + -closure" the instances of the subclasses are returned as + well. For more details, please see the language reference manual. + + In cases, where a pattern is specified, and the pattern contains + meta-characters, a list of results is returned matching the + pattern (like "string match"). When no matching value is found, + an empty list is returned. + + In cases, where a pattern is specified, and the pattern contains + no meta-characters, a single value is returned corresponding to + the specified value. The pattern is used to lookup an object or + class, such it is not necessary to provide fully qualified + names). if there is no match, empty is returned. Previously, + "info superclass" and "info subclass" returned a boolean value + and performed always a transitive search. Returning "" is more + consistent and more in line with Tcl. + + Note that " info superclass -closure" is a replacement for + " info heritage", and " info instances -closure" + is a replacement for " allinstances". The old commands + will be marked as deprecated in the near future. + + Please note, that the behavior of the match pattern has + changed and is therefor not completely compatible with + prior versions. + + * New info subcommands: + + info instmixinof ?-closure? ?pattern? + info mixinof ?pattern? + + These info subcommands are used to determine, into + which classes a mixin class was mixed into. + + These inverse functions of mixin and instmixin are used as well + internally. These functions help to speed certain operations + (e.g. superclass, or registering a mixin class) up by a factor of + 1000 (!) or more, when a large number of objects exist. + + This functionality was primarily implemented by Martin Matuska. + Many thanks! + + * Made the behavior "pattern" in the following calls identical + concerning wild cards and object lookups + + mixin delete pattern + instmixin delete pattern + superclass delete pattern + info mixin ?pattern? + + * Fix to preserve var traces when copying objects + (Many thanks to Florian Murr for reporting) + + * Fix problem in Tcl 8.5.* when setting variables + from C (problem with Tcl_ObjSetVar2()?); many + thanks to Florian Murr and Neophytos Demetriou + for reporting) + + * Improved documentation + + * Extended regression tests + + + For more details about the changes, please consult the ChangeLog and + documentation. + +MORE INFO + General and more detailed information about XOTcl and its components + can be found at http://www.xotcl.org + Index: doc/Announce-1.6.1 =================================================================== diff -u -N --- doc/Announce-1.6.1 (revision 0) +++ doc/Announce-1.6.1 (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -0,0 +1,43 @@ +Dear XOTcl Community, + +XOTcl 1.6.1 is available. This release provides in short: + - improved orthogonality for introspection, + - improvements in the serializer + - some minor fixes + +See below for more details. +Best regards + +-gustaf neumann + + +Announcing XOTcl 1.6.1 +************************* + +We are pleased to announce the availability of XOTcl 1.6.1 + +Major changes relative to 1.6.0 are: + + * Extended and generalized "info" method + + * Generalized serializing package: when deserializing code, now + consistenly no constructors are called. In previous versions, + constuctors were called on slots; due to the point above, this is + not needed; background: the previous solution had problems in + aolserver ns_eval, when a slot-constructor called db-functions, + since during ns_eval, the database handles are non-functional) + + * Fixes for potential crashes when methods were called + with invalid arguments + + * Improved documentation + + * Extended regression tests + + For more details about the changes, please consult the ChangeLog and + documentation. + +MORE INFO + General and more detailed information about XOTcl and its components + can be found at http://www.xotcl.org + Index: doc/Announce-1.6.2 =================================================================== diff -u -N --- doc/Announce-1.6.2 (revision 0) +++ doc/Announce-1.6.2 (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -0,0 +1,54 @@ +Dear XOTcl Community, + +XOTcl 1.6.2 is available. See below for more details. + +Best regards +-gustaf neumann + + +Announcing XOTcl 1.6.2 +************************* + +We are pleased to announce the availability of XOTcl 1.6.2 + +Major changes relative to 1.6.1 are: + + * Functional extensions: + - handle nonposargs in method "copy" properly + + - new command ::xotcl::finalize + (for forcing cleanup and destuctor execution at a time in + a multi-threaded environment, where it is still safe to execute + all Tcl commands) + + * Extended and generalized "info" method + + - Added " mixinof -closure ?pattern?" + Query the objects for which is used as a per-object-mixin + (directly or indirectly) + + * Fixes for potential crashes + + - Implemented proper downgrading of Classes to Objects (handle + cases, where something was created first as an object and is + reclassed/recreated later as a class) and vice versa + + - Reset mixin order for per-object mixins, when the superclass of + a class is deleted, which is used as per-object mixin + + + * Improved documentation + + * Extended regression tests + + * Some code cleanup + + + + For more details about the changes, please consult the ChangeLog and + documentation. + +MORE INFO + General and more detailed information about XOTcl and its components + can be found at http://www.xotcl.org + Index: doc/Announce-1.6.3 =================================================================== diff -u -N --- doc/Announce-1.6.3 (revision 0) +++ doc/Announce-1.6.3 (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -0,0 +1,52 @@ +Dear XOTcl Community, + +XOTcl 1.6.3 is available. See below for more details. + +Best regards +Gustaf Neumann + + +Announcing XOTcl 1.6.3 +************************* + +We are pleased to announce the availability of XOTcl 1.6.3 + +Major changes relative to 1.6.2 are: + + * Functional improvements: + + - simplified and generalized handling of namespaced instance + variables, where namespaced associative arrays could conflict + with global variables due to Tcl's default namespace + resolution. Many thanks to Stefan Sobernig for this + contribution! + + * Fixes: + - Corrected deletion of meta-classes. Before, it was possible + to create undestroyable objects via complex + meta-class structures + + * Speed improvements: + - Use of new interfaces in Tcl 8.5 (when compiled with Tcl 8.5) + - simplified interfaces for various C functions + - Speed improvement for method invocation: + * With Tcl 8.5: 10-15 % + * With Tcl 8.4: 5-10 % + + * Improve code quality: + - some more code cleanup + - factoring out common code + - using const in more cases + + * Extended regression tests + + * Improved documentation + + + For more details about the changes, please consult the ChangeLog and + documentation. + +MORE INFO + General and more detailed information about XOTcl and its components + can be found at http://www.xotcl.org + Index: doc/JufGdbmStorage-xotcl.html =================================================================== diff -u -N --- doc/JufGdbmStorage-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/JufGdbmStorage-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/store/JufGdbmStorage.xotcl - - - - -

- ./library/store/JufGdbmStorage.xotcl - ./library/store/JufGdbmStorage.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./library/store/JufGdbmStorage.xotcl - -
-
- -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/MemStorage-xotcl.html =================================================================== diff -u -N --- doc/MemStorage-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/MemStorage-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/store/MemStorage.xotcl - - - - -

- ./library/store/MemStorage.xotcl - ./library/store/MemStorage.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./library/store/MemStorage.xotcl - -
-
- -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/MultiStorage-xotcl.html =================================================================== diff -u -N --- doc/MultiStorage-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/MultiStorage-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/store/MultiStorage.xotcl - - - - -

- ./library/store/MultiStorage.xotcl - ./library/store/MultiStorage.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./library/store/MultiStorage.xotcl - -
-
- -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/Persistence-xotcl.html =================================================================== diff -u -N --- doc/Persistence-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/Persistence-xotcl.html (revision 0) @@ -1,358 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/store/Persistence.xotcl - - - - -

- ./library/store/Persistence.xotcl - ./library/store/Persistence.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Defined Objects/Classes: - -
- Filename: - - ./library/store/Persistence.xotcl - -
-
- - - - - -
- Description: - - - Persistent store for XOTcl objects with Eager and Lazy persistence. - Take a look at "persistenceExample.xotcl" for exmaple of usage. - -
-
-
-

- - - -

Class: PersistenceMgr

- Class: Class -
- - - - - - - -
- Description: - - - A persistent store requires a persistent manager. The persistent - manager implements the Storage interface via storage mixin. With - the parameter "dbPackage" we can specify which storage will be used. - The persistent manager than tries to load the package - "xotcl::${dbPackage}Storage". Default is Sdbm. - - Example: -
-	    PersistenceMgr pmgr -persistenceDir . -persistenceFile example-db
-	    
- - -
-

-
-

- - - -

Class: Persistent

- Class: Class -
- Procs/Instprocs: - makeVarScript, persistenceMgr, persistent, persistent+init, persistentVars, unPersistent. - - - - - -
- Description: - - - Superclass or mixin class for all persistent objects. Normally - subclasses are used as mixins or instmixins on object, like: -
-	    o mixin Persistent=Eager
-	    p mixin Persistent=Lazy
-	    
- -
-

Instprocs

-
    -
  • - - - - persistenceMgr - args - - - - - - - - - - -
    - Arguments: - - args: persistent manager name -
    - Description: - - - Specify which persistence manager to use for [self] object, like: -
    -	    o persistenceMgr pmgr
    -	    
    - Each persistent object must have a persistence manager specified, - before vars can be made persistent. - -
    -
  • -
  • - - - - persistentVars - - - - - - -
    - Description: - - - Returns list of persistent vars. - -
    -
  • -
  • - - - - persistent - list - - - - - - - - - - -
    - Arguments: - - list: persistent variables -
    - Description: - - - Make a list of object variables persistent. If a persistent - DB exists, the values are read from this DB, overwriting the current value. - E.g.: -
    -	    o persistent {x y}
    -	    
    - - -
    -
  • -
  • - - - - persistent+init - list - - - - - - - - - - -
    - Arguments: - - list: persistent variables -
    - Description: - - - Initialize all data in the list as empty strings, - if they do not exist yet, and then make them persistent - using the 'persistent' method - -
    -
  • -
  • - - - - unPersistent - list - - - - - - - - - - -
    - Arguments: - - list: persistent variables -
    - Description: - - - Make a list of object variables not persistent. - -
    -
  • -
  • - - - - makeVarScript - - - - - - -
    - Description: - - - Build a Tcl script of "set ..." statements reflecting the current situation in the database. - -
    -
  • -
-

-
-

- - - -

Class: Persistent=Eager

- Class: Class -
- - - - - - - -
- Description: - - - Eager persistence strategy. Store everything at the same moment to the database - -
-

-
-

- - - -

Class: Persistent=Lazy

- Class: Class -
- - - - - - - -
- Description: - - - Lazy persistence strategy. Store everything on object destroy (or program termination). - -
-

-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/Script-xotcl.html =================================================================== diff -u -N --- doc/Script-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/Script-xotcl.html (revision 0) @@ -1,93 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/Script.xotcl - - - - -

- ./library/lib/Script.xotcl - ./library/lib/Script.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Defined Objects/Classes: - -
- Filename: - - ./library/lib/Script.xotcl - -
-
- - - - - -
- Description: - - - A small package to instantiate an object, that - represents a script. - -
-
-
-

- - - -

Class: Script

- Class: Class -
- - - - - - - -
- Description: - - - An object of type Script becomes automatically the command - line arguments evaluated as "-" method calls during creation, e.g. -
-	    Script s -set r 5
-	    
- and a call with cmd-line "-set v 6" of the script, results in an - object s with two vars set: r to 5, and v to 6. - -
-

-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/Serializer-xotcl.html =================================================================== diff -u -N --- doc/Serializer-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/Serializer-xotcl.html (revision 0) @@ -1,384 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/serialize/Serializer.xotcl - - - - -

- ./library/serialize/Serializer.xotcl - ./library/serialize/Serializer.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Defined Objects/Classes: - -
- Filename: - - ./library/serialize/Serializer.xotcl - -
-
- - - - - - - - - - - - - -
- Description: - - - This package provides the class Serializer, which can be used to - generate a snapshot of the current state of the workspace - in the form of XOTcl source code. - -
- Authors: - - - Gustaf Neumann, Gustaf.Neumann@wu-wien.ac.at - -
- Date: - - $Date: 2007/10/05 09:06:00 $ -
-
-
-

- - - -

Class: Serializer

- Procs/Instprocs: - all, deepSerialize, exportMethods, methodSerialize, serialize. - -
-

Instprocs

-
    -
  • - - - - serialize - entity - - - - - - - - - - - - - - -
    - Arguments: - - entity: Object or Class -
    - Description: - - - Serialize the specified object or class. - -
    - Return: - - Object or Class with all currently defined methods, - variables, invariants, filters and mixins -
    -
  • -
-

Procs

-
    -
  • - - - - all - ?-ignoreVarsRE RE? - ?-ignore obj1 obj2 ...? - - - - - - - - - - - - - - - - - - -
    - Arguments: - - ?-ignoreVarsRE RE?: provide regular expression; matching vars are ignored -
    - - - ?-ignore obj1 obj2 ...?: provide a list of objects to be omitted -
    - Description: - - - Serialize all objects and classes that are currently - defined (except the specified omissions and the current - Serializer object). -

    Examples:
    -

    Serializer all -ignoreVarsRE {::b$}
    - Do not serialize any instance variable named b (of any object).

    -

    Serializer all -ignoreVarsRE {^::o1::.*text.*$|^::o2::x$}
    - Do not serialize any variable of c1 whose name contains - the string "text" and do not serialze the variable x of o2.

    -

    Serializer all -ignore obj1 obj2 ... 
    - do not serizalze the specified objects - -
    - Return: - - script -
    -
  • -
  • - - - - deepSerialize - objs - ?-ignoreVarsRE RE? - ?-ignore obj1 obj2 ...? - ?-map list? - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Arguments: - - objs: Objects to be serialized -
    - - - ?-ignoreVarsRE RE?: provide regular expression; matching vars are ignored -
    - - - ?-ignore obj1 obj2 ...?: provide a list of objects to be omitted -
    - - - ?-map list?: translate object names in serialized code -
    - Description: - - - Serialize object with all child objects (deep operation) - except the specified omissions. For the description of - ignore and igonoreVarsRE see - Serizalizer all. map can be used - in addition to provide pairs of old-string and new-string - (like in the tcl command string map). This option - can be used to regenerate the serialized object under a different - object or under an different name, or to translate relative - object names in the serialized code.

    - - Examples: -

    Serializer deepSerialize ::a::b::c -map {::a::b ::x::y}
    - Serialize the object c which is a child of a::b; - the object will be reinitialized as object ::x::y::c, - all references ::a::b will be replaced by ::x::y.

    - -

    Serializer deepSerialize ::a::b::c -map {::a::b [self]}
    - The serizalized object can be reinstantiated under some current object, - under which the script is evaluated.

    - -

    Serializer deepSerialize ::a::b::c -map {::a::b::c ${var}}
    - The serizalized object will be reinstantiated under a name specified - by the variable var in the recreation context. - -
    - Return: - - script -
    -
  • -
  • - - - - methodSerialize - object - method - prefix - - - - - - - - - - - - - - - - - - - - - - -
    - Arguments: - - object: object or class -
    - - - method: name of method -
    - - - prefix: either empty or 'inst' (latter for instprocs) -
    - Description: - - - Serialize the specified method. In order to serialize - an instproc, prefix should be 'inst'; to serialze - procs, it should be empty.

    - - Examples: -

    Serializer methodSerialize Serializer deepSerialize ""
    - This command serializes the proc deepSerialize - of the Class Serializer.

    - -

    Serializer methodSerialize Serializer serialize inst
    - This command serializes the instproc serialize - of the Class Serializer.

    - -

    - Return: - - Script, which can be used to recreate the specified method -
    -
  • -
  • - - - - exportMethods - list - - - - - - - - - - -
    - Arguments: - - list: list of methods of the form 'object proc|instproc methodname' -
    - Description: - - - This method can be used to specify methods that should be - exported in every Serializer all. The rationale - behind this is that the serializer does not serialize objects - from the ::xotcl:: namespace, which is used for XOTcl internals - and volatile objects. It is however often useful to define - methods on ::xotcl::Class or ::xotcl::Objects, which should - be exported. One can export procs, instprocs, forward and instforward

    - Example: -

          Serializer exportMethods {
    -	::xotcl::Object instproc __split_arguments
    -	::xotcl::Object instproc __make_doc
    -	::xotcl::Object instproc ad_proc
    -	::xotcl::Class  instproc ad_instproc
    -	::xotcl::Object forward  expr
    -      }
    - -
    -
  • -
-

-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/Storage-xotcl.html =================================================================== diff -u -N --- doc/Storage-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/Storage-xotcl.html (revision 0) @@ -1,398 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/store/Storage.xotcl - - - - -

- ./library/store/Storage.xotcl - ./library/store/Storage.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Defined Objects/Classes: - -
- Filename: - - ./library/store/Storage.xotcl - -
-
- - - - - - - - - -
- Description: - - - Simple generic storage interface for hashtable-like (persistent) - storages. There are several different existing stores, including - a memory storage, a GDBM storage, a SDBM storage, and a - TextFile storage. - -
- Date: - - $Date: 2005/09/09 21:09:01 $ -
-
-
-

- - - -

Class: Storage

- Class: Class -
- Procs/Instprocs: - close, exists, firstkey, names, nextkey, open, set, someNewChildStore, unset. - - - - - -
- Description: - - - Abstract storage interface class (superclass of all storages). - -
-

Instprocs

-
    -
  • - - - - open - filename - - - - - - - - - - - - - - -
    - Arguments: - - filename: database filename (or filename base, if more - than one file has to be created) -
    - Description: - - - Each storage object represents exactly one database table. The db - has to be opened, before it can it used. If it is not opened all - other methods return errors. - -
    - Return: - - empty string -
    -
  • -
  • - - - - close - - - - - - - - - - -
    - Description: - - - Close associated database. - -
    - Return: - - empty string -
    -
  • -
  • - - - - exists - key - - - - - - - - - - - - - - -
    - Arguments: - - key: Key to be searched for. -
    - Description: - - - Search for a key whether it exists or not. - -
    - Return: - - 1, if key exists in the database, otherwise 0 -
    -
  • -
  • - - - - set - key - ?value? - - - - - - - - - - - - - - - - - - -
    - Arguments: - - key: Key to be set. -
    - - - ?value?: Optional value that might be set -
    - Description: - - - Set or query a database key in the same way as Tcl's set functions. - -
    - Return: - - Key value. -
    -
  • -
  • - - - - unset - key - - - - - - - - - - - - - - -
    - Arguments: - - key: Key to be unset. -
    - Description: - - - Unset a database key in the same way as Tcl's unset functions. - -
    - Return: - - empty string -
    -
  • -
  • - - - - names - - - - - - - - - - -
    - Description: - - - Return a list of keys in the database (functions in the same - way as Tcl's array names) - -
    - Return: - - List of keys in the db. -
    -
  • -
  • - - - - firstkey - - - - - - - - - - -
    - Description: - - - Start a traversal of the database, starting with any key. - -
    - Return: - - Name of first key. -
    -
  • -
  • - - - - nextkey - - - - - - - - - - -
    - Description: - - - Proceed with the db traversal. Requires a firstkey before - first usage, otherwise it returns an error. - -
    - Return: - - Name of next key, if one exists. Otherwise an empty string is returned. -
    -
  • -
-

Procs

-
    -
  • - - - - someNewChildStore - - - - - - - - - - -
    - Description: - - - Create a childStore according to a preference list depending on - which storages are available. Currently the preference list has - the following order: Gdbm, Sdbm and TextFile. - -
    - Return: - - name of the created storage object. -
    -
  • -
-

-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/TclGdbmStorage-xotcl.html =================================================================== diff -u -N --- doc/TclGdbmStorage-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/TclGdbmStorage-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/store/TclGdbmStorage.xotcl - - - - -

- ./library/store/TclGdbmStorage.xotcl - ./library/store/TclGdbmStorage.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./library/store/TclGdbmStorage.xotcl - -
-
- -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/TextFileStorage-xotcl.html =================================================================== diff -u -N --- doc/TextFileStorage-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/TextFileStorage-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/store/TextFileStorage.xotcl - - - - -

- ./library/store/TextFileStorage.xotcl - ./library/store/TextFileStorage.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./library/store/TextFileStorage.xotcl - -
-
- -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/UNIVERSAL-xotcl.html =================================================================== diff -u -N --- doc/UNIVERSAL-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/UNIVERSAL-xotcl.html (revision 0) @@ -1,64 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/actiweb/univ/UNIVERSAL.xotcl - - - - -

- ./apps/actiweb/univ/UNIVERSAL.xotcl - ./apps/actiweb/univ/UNIVERSAL.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./apps/actiweb/univ/UNIVERSAL.xotcl - -
-
- - - - - -
- Description: - - - This is a demo of a Webserver that presents the contents of - an RDF source file in a friendly and easy readable manner. -

- The RDF file is parsed first into triples which - are added to the resource database RDFdb. This RDFdb used in this - example replaces the standard triple database of xoRDF by an - application specific version, which is easier to process. The triple - database is the source of the Catalog, which displays a short, easy to read - summary of the entries. The database is used as well for the "detailed - view", which presents all the data of the triples through nested HTML tables. -

- The demo program uses either HTTP or HTTPS (in which case you will require - the SSL/TLS extension of Tcl). - -

-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/adapter-xotcl.html =================================================================== diff -u -N --- doc/adapter-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/adapter-xotcl.html (revision 0) @@ -1,54 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/adapter.xotcl - - - - -

- ./apps/scripts/adapter.xotcl - ./apps/scripts/adapter.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./apps/scripts/adapter.xotcl - -
-
- - - - - -
- Description: - - - Simple adapter pattern meta-class taken from the paper - 'Filters as a Language Support for Design Patterns in - Object-Oriented Scripting Languages'. - -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/adapterExample-xotcl.html =================================================================== diff -u -N --- doc/adapterExample-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/adapterExample-xotcl.html (revision 0) @@ -1,54 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/adapterExample.xotcl - - - - -

- ./apps/scripts/adapterExample.xotcl - ./apps/scripts/adapterExample.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./apps/scripts/adapterExample.xotcl - -
-
- - - - - -
- Description: - - - Simple adapter pattern example class (FTP requests) taken from the paper - 'Filters as a Language Support for Design Patterns in - Object-Oriented Scripting Languages'. - -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/changeXOTclVersion-xotcl.html =================================================================== diff -u -N --- doc/changeXOTclVersion-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/changeXOTclVersion-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/changeXOTclVersion.xotcl - - - - -

- ./library/lib/changeXOTclVersion.xotcl - ./library/lib/changeXOTclVersion.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./library/lib/changeXOTclVersion.xotcl - -
-
- -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/composite-xotcl.html =================================================================== diff -u -N --- doc/composite-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/composite-xotcl.html (revision 0) @@ -1,54 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/composite.xotcl - - - - -

- ./apps/scripts/composite.xotcl - ./apps/scripts/composite.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./apps/scripts/composite.xotcl - -
-
- - - - - -
- Description: - - - Simple composite pattern meta-class taken from the paper - 'Filters as a Language Support for Design Patterns in - Object-Oriented Scripting Languages'. - -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/compositeExample-xotcl.html =================================================================== diff -u -N --- doc/compositeExample-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/compositeExample-xotcl.html (revision 0) @@ -1,55 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/compositeExample.xotcl - - - - -

- ./apps/scripts/compositeExample.xotcl - ./apps/scripts/compositeExample.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./apps/scripts/compositeExample.xotcl - -
-
- - - - - -
- Description: - - - Simple Graphics example of the composite pattern taken from the paper - 'Filters as a Language Support for Design Patterns in - Object-Oriented Scripting Languages'. They demonstrate instfilters, - filter chains and filter inheritance. - -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/ftp-xotcl.html =================================================================== diff -u -N --- doc/ftp-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/ftp-xotcl.html (revision 0) @@ -1,50 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/comm/ftp.xotcl - - - - -

- ./apps/comm/ftp.xotcl - ./apps/comm/ftp.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./apps/comm/ftp.xotcl - -
-
- - - - - -
- Description: - - A tiny FTP client -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/htmllib-xotcl.html =================================================================== diff -u -N --- doc/htmllib-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/htmllib-xotcl.html (revision 0) @@ -1,73 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/htmllib.xotcl - - - - -

- ./library/lib/htmllib.xotcl - ./library/lib/htmllib.xotcl

-
-

-

Package/File Information

- No package provided/required -
-
- Filename: - - ./library/lib/htmllib.xotcl - -
-
- - - - - - - - - - - - - -
- Description: - - - This package provides the class HtmlBuilder, which can be used to - generate HTML documents, or a part of a document. - -
- Authors: - - - Antti Salonen, as@fishpool.fi - -
- Date: - - - $Date: 2006/09/27 08:12:40 $ - -
-
-
-

-
-

-

- - Back to index page. - -
-
-

-

- - - Index: doc/index.html =================================================================== diff -u -N -rc72f9f638677608fab1502cd696c8f2d6b2952f9 -r2111020b49da8ce57758e51accf0b6073037f0d2 --- doc/index.html (.../index.html) (revision c72f9f638677608fab1502cd696c8f2d6b2952f9) +++ doc/index.html (.../index.html) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -10,10 +10,11 @@
  • Language Reference (HTML, PDF)
  • If you have question, problems etc. you might check the - archives of the XOTcl - mailing list or you might check the - XOTcl wiki. + mailing list (archive 1, + archive 2) + or you might check the XOTcl section of the + Tcl wiki.

    Package and Script Documentation

    @@ -22,7 +23,7 @@

    Index: doc/langRef-xotcl.html =================================================================== diff -u -N --- doc/langRef-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/langRef-xotcl.html (revision 0) @@ -1,3748 +0,0 @@ - - - - - XOTcl - Documentation -- ./doc/langRef.xotcl - - - - -

    - ./doc/langRef.xotcl - ./doc/langRef.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./doc/langRef.xotcl - -
    -
    - - - - - - - - - - - - - -
    - Description: - - - XOTcl language reference. Describes predefined objects and classes. - -
    - Predefined primitives: - - - XOTcl contains the following predefined primitives (Tcl commands): -
    -
    self
    -
    computes callstack related information. - It can be used in the following ways: -
      -
    • self - returns the name - of the object, which is currently in execution. If it is - called from outside of a proc, it returns the - error message ``Can't find self''. -
    • self class - the self - command with a given argument class returns the name of the - class, which holds the currently executing instproc. Note, that this - may be different to the class of the current object. If it is called - from a proc it returns an empty string. -
    • self proc - the self command with a given argument - proc returns the name of the currently executing proc or - instproc. -
    • self callingclass: Returns class name of the - class that has called the executing method. -
    • self callingobject: Returns object name of - the object that has called the executing method. -
    • self callingproc: Returns proc name of - the method that has called the executing method. -
    • self calledclass: Returns class name of the - class that holds the target proc (in mixins and filters). -
    • self calledproc: Returns method - name of the target proc (only applicable - in a filter). -
    • self isnextcall: Return 1 if this method - was invoked via next, otherwise 0 -
    • self next: Return the - "next" method on the precedence path as a string. -
    • self filterreg: In a filter: returns the name - of the object/class on which the filter is registered. Returns either - 'objName filter filterName' or 'className instfilter filterName'. - -
    • self callinglevel: Returns the calling level, from where - the actual proc was called from. Intermediary next calls are ignored - in this computation. The level is returned in a form - it can be used as first argument in uplevel or upvar. - -
    • self activelevel: Returns the level, from where - the actual proc was invoked from. This might be the calling level or a next - call, whatever is higher in the stack. The level is returned in a form - it can be used as first argument in uplevel or upvar. - -
    -

    -
    - -
    my methodName
    -
    is a short form for [self] methodName and can only be - called in a context of an instproc or an method specific proc. It allows certain - optimizations and shorter to write. -

    - next
    invokes the next shadowed (same-named) method on the - precedence path and returns its result. If next is - called without arguments, the arguments of the current method - are passed through the called method. If next is - invoked with the flag --noArgs, the shadowed method - is called without arguments. If other arguments are specified - for next, these will be used for the call. -

    -
    myvar varName
    -
    returns the fully qualified variable name of the specified - variable.

    -

    - -
    myproc methodName ?args?
    -
    calls the specified XOTcl method without the need - of using "[list [self] methodName ...]".

    -

    - -
    ::xotcl::alias class|obj methodName ?-objscope? ?-per-object? cmdName
    -
    can be used to register a predefined C-implemented Tcl command as - method methodName. - The option -objscope has the same meaning as for forwarder - (instance variables of the calling object appear in the local scope of - the Tcl command), -per-object has the same meaning as for - the method method (when used on a class, the method is registered for the - class object only, but not for the instances). This command - can be used to bootstrap xotcl (when e.g. no methods are available).

    -

    - -
    ::xotcl::configure filter ?on|off?
    -
    allows to - turn on or off filters globally for the current interpreter. - By default, the filter state is turned off. - This function returns the old filter state. - This function is needed for the serializer that is intended - to serialize the objects classes independent of filter settings.

    -

    - - -
    ::xotcl::configure softrecreate ?on|off?
    -
    allows to control - what should happen, when an object / a class is recreated. Per - default it is set off, which means that the object/class is destroyed - and all relations (e.g. subclass/superclass) to other - objects/classes are destroyed as well. If softrecreate is - set, the object is reseted, but not destroyed, the relations - are kept. This is important, when e.g. reloading a file - with class definitions (e.g. when used in OpenACS with file watching and - reloading). With softrecreate set, - it is not necessary to recreate dependent subclasses etc. -
    - Example: e.g. there is a class hierarchy A <- B <- C - Without softrecreate set, a reload of B means - first a destroy of B, leading to A <- C, and instances - of B are re-classed to ::xotcl::Object. When softrecreate is - set, the structure remains unchanged. -
    - -
    - - -
    - Date: - - $Date: 2006/10/04 20:40:23 $ -
    -
    -
    -

    - - - -

    Class: ::xotcl::Slot

    - Class: Class -
    - Heritage: Object -
    - - - - - - - -
    - Description: - - - A slot is a meta-object that manages property-changes of - objects. A property is either an attribute or a role of an - relation (e.g. in system slots). - The predefined system slots are class, - superclass, mixin, instmixin, - filter, instfilter. These slots appear - as methods of Object or Class. - -

    The slots provide a common query and setting interface. - Every multivalued slot provides e.g. a method add - to add a value to the list of values, and a method delete - which removes it. See for example the documentation of the slot - mixin.

    - - Parameters:

    - - - - - - - -
    -name Name of the slot to access from an object the slot
    -domain domain (object or class) of a slot on which it can be used
    -multivalued boolean value for specifying single or multiple values (lists)
    -defaultmethods list of two elements for specifying which methods are called - per default, when no slot method is explicitly specified
    -manager the manager object of the slot (per default [self])
    -per-object specify whether a slot should be used per class or per object; note that there is a restricted usage if applied per class, since defaults etc, work per initialization
    - -

    For more details, consult the - tutorial.

    - -
    -

    -
    -

    - - - -

    Class: Attribute

    - Class: Class -
    - Heritage: ::xotcl::Slot -
    - - - - - - - -
    - Description: - - - Attribute slots are used to manage the setting and querying - of instance variables. - - Parameters:

    - - - - - - -
    -default specify a default value
    -type specify the type of a slot
    -initcmd specify a Tcl command to be executed when the value of the - associated variable is read the first time; allows lazy initialization
    -valuecmd specify a Tcl command to be executed whenever the variable is read
    -valuechangedcmd specify a Tcl command to be executed whenever the variable is changed
    - -

    Example of a class definition with three attribute slots:

    -
    -  Class Person -slots {
    -    Attribute name
    -    Attribute salary -default 0
    -    Attribute projects -default {} -multivalued true
    -  }
    -  Person p1 -name "John Doe"
    -
    - -

    The slot parameters default, initcmd and - valuecmd have to be used mutually exclusively. - For more details, consult the - tutorial. -

    - -
    -

    -
    -

    - - - -

    Class: Class

    - Class: Class -
    - Heritage: Object -
    - Procs/Instprocs: - __unknown, allinstances, alloc, create, info, instdestroy, instfilter, instfilterguard, instforward, instinvar, instmixin, instparametercmd, instproc, new, parameter, parameterclass, recreate, superclass, unknown. - - - - - -
    - Description: - - - This meta-class holds the pre-defined methods available for all XOTcl - classes. - -
    -

    Instprocs

    -
      -
    • - - - - alloc - obj - ?args? - - - - - - - - - - - - - - - - - - -
      - Arguments: - - obj: new obj/class name -
      - - - ?args?: arguments passed during creation -
      - Description: - - - Allocate (create) an uninitialized object or class. Typically, alloc - is called automatically by create - to allocate an uninitialized object or class. - In contrast to alloc, create also - initializes and configures the object. - The method alloc can be used by a programmer who may want to - create uninitialized objects/classes. - -
      - Return: - - fully qualified name of created instance -
      -
    • -
    • - - - - allinstances - - - - - - - - - - -
      - Description: - - - Compute all immediate and indirect instances of a class - -
      - Return: - - fully qualified list of instances -
      -
    • -
    • - - - - create - objName - ?args? - - - - - - - - - - - - - - - - - - -
      - Arguments: - - objName: name of a new class or object -
      - - - ?args?: arguments passed to the constructor -
      - Description: - - - Create user-defined classes or objects. If the class is a meta-class, - a class is created, otherwise an object. - The object creation protocol implemened by create works as follows: -
        -
      • create firstly calls alloc - in order to create an uninitialized object or class. -
      • In the second step, the - default values for parameters are searched on superclasses and set in the created object. -
      • In the third step, the method configure - is called with the passed - argument list to configure the object/class. -
      • Finally the constructor init is called on the object - with all arguments up to the first '-' argument (as returned by configure). -
      - -

      In the default XOTcl definition, the create method - is called implicitly by the unknown method of the metaclass - Class, when a class (meta-class) is called with an unknown - method. E.g. the following two commands are equivalent - -

      -    Car herby -color red 
      -    Car create herby -color red 
      - - When a users may want to call the constructor init - before other '-' methods, one can specify '-init' - explicitly in the left to - right order of the '-' method. Init is called always only once. - e.g.: - -
         Class Car -init -superclass Vehicle 
      - - See also: recreate - -
      - Return: - - fully qualified name of the created instance (result of alloc) -
      -
    • -
    • - - - - info - args - - - - - - - - - - - - - - -
      - Arguments: - - args: info options -
      - Description: - - - Introspection of classes. All options available for objects - (see info object) is also available - for classes. - The following options can be specified: -
        - -
      • ClassName info classchildren ?pattern?: - Returns the list of nested classes with fully qualified names - if pattern was not specified, - otherwise it returns all class children where the class name - matches the pattern. - -
      • ClassName info classparent: - Returns the class ClassName is nesting to. - -
      • ClassName info heritage ?pattern?: - Returns a list of all classes in the precedence order - of the class hierarchy. - If pattern is specified, only matching values are returned. - -
      • ClassName info instances ?pattern?: - Returns a list of the instances of the class. - If pattern is specified, only matching values are returned. - -
      • ClassName info instargs method: - Returns the arguments of the specified instproc (instance method). - -
      • ClassName info instbody method: - Returns the body of the specified instproc (instance method). - -
      • ClassName info instcommands ?pattern?: - Returns all commands defined for the class. If pattern - is specified it returns all commands that match the pattern. - -
      • ClassName info instdefault method arg var: - Returns 1 if the argument arg of the instproc (instance method) - method has a default value, otherwise 0. If it exists - the default value is stored in var. - -
      • ClassName info instfilter: - Returns the list of registered filters. With -guard modifier - all instfilterguards are integrated - ( ClassName info instfilter -guards). - -
      • ClassName info instfilterguard name: Returns the guards - for instfilter identified by name. - -
      • ClassName info instforward ?-definition? name: Checks, - whether name is a forwarder (accepts wild chard characters). - When -definition is specified, it returns the definition - of the forwarder. - -
      • ClassName info instinvar: - Returns class invariants. - -
      • ClassName info instmixin: - Returns the list of instmixins of this class. - -
      • ClassName info isntmixinguard name: Returns the guards - for the instmixin identified by name. - -
      • ClassName info instnonposargs methodName: returns list of - non-positional args of methodName - -
      • ClassName info instpost methodName: - Returns post assertions of methodName. - -
      • ClassName info instpre methodName: - Returns pre assertions of methodName. - -
      • ClassName info instprocs ?pattern?: - Returns all instprocs defined for the class. If pattern - is specified it returns all instprocs that match the pattern. - -
      • ClassName info parameter: - Returns parameter list. - -
      • ClassName info subclass ?subclassname?: - Returns a list of all subclasses of the class, if subclassname - was not specified, otherwise it returns 1 if subclassname is a - subclass and 0 if not. - -
      • ClassName info superclass ?superclassname?: - Returns a list of all super-classes of the class, - if superclassname was not specified, otherwise it returns - 1 if superclassname is a superclass and 0 if not. - -
      • ClassName info slots: - Returns the slot objects defined for this class. - -
      - -
      - Return: - - Value of introspected option as a string. -
      -
    • -
    • - - - - instdestroy - obj - ?args? - - - - - - - - - - - - - - - - - - -
      - Arguments: - - obj: obj/class name -
      - - - ?args?: arguments passed to the destructor -
      - Description: - - - Standard destructor. Destroys XOTcl object physically from the memory. - Can be overloaded for customized destruction process. -

      - In XOTcl objects are not directly destroyed, when a destroy is - encountered in a method. Beforehand, the interpreter looks up whether - the object is still referenced on the method callstack or not. If not, - the object is directly destroyed. Otherwise every occurrence of the - object on the callstack is marked as destroyed. During popping of the - callstack, for each object marked as destroyed, the reference count is - decremented by one. When no more references to the object are on the - callstack the object is physically destroyed. This way we can assure - that objects are not accessed with [self] in running methods after - they are physically destroyed. - -

      - Return: - - empty string -
      -
    • -
    • - - - - instfilter - ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?args?: instfilter specification -
      - Description: - - - If $args is one argument, it specifies a list of - instfilters to - be set. Every filter must be an XOTcl proc/instproc within - the object scope. - If $args it has more argument, the first one specifies the - action. Possible values are assign, get, - add or delete, it modifies the current - settings as indicated. For more details, check the - tutorial. - -
      - Return: - - if $args return empty current instfilters, otherwise empty -
      -
    • -
    • - - - - instfilterguard - filterName - guard - - - - - - - - - - - - - - - - - - -
      - Arguments: - - filterName: filter name of a registered filter -
      - - - guard: set of conditions to execute the filter -
      - Description: - - - Add conditions to guard a filter registration point. The filter - is only executed, if the guards are true. Otherwise we ignore the - filter. If no guards are given, we always execute the filter. - -
      - Return: - - empty string -
      -
    • -
    • - - - - instforward - methodName - ?options? - ?callee? - ?args? - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - methodName: name of forwarder method -
      - - - ?options?: -objscope, -methodprefix string, -default names, -earlybinding, -verbose -
      - - - ?callee?: named of the called command or object -
      - - - ?args?: arguments -
      - Description: - - - Register a method for the instances of a class (similar to an instproc) - for forwarding calls to a callee (target Tcl command, - other object). - When the forwarder method is called, the actual arguments - of the invocation are appended to the specified arguments. In callee an - arguments certain substitutions can take place: -
      • %proc: substituted by name of the forwarder method
      • -
      • %self: substitute by name of the object
      • -
      • %1: substitute by first argument of the invocation
      • -
      • {%@POS value}: substitute the specified value in the argument list - on position POS, where POS can be a positive or negative integer - or end. Positive integers specify the position from the begin - of the list, while negative integer specify the position from the end. -
      • {%argclindex LIST}: take the nth argument of the specified list as - substitution value, where n is the number of arguments from the - invocation. -
      • %%: a single percent.
      • -
      • %Tcl-command: command to be executed; substituted by result.
      • -
      - Additionally each argument can be prefixed by the positional prefix %@POS - (note the delimiting space at the end) that can be used to specify an - explicit position. POS can be a positive or negative integer or the word - end. The positional arguments are evaluated from left to - right and should be used in ascending order. valid Options are: -
      • -objscope causes the target to be evaluated in the scope - of the object,
      • -
      • -methodprefix string inserts the specified prefix - in front of the second argument of the invocation,
      • -
      • -default is used for default method names (only - in connection with %1)
      • -
      • -earlybinding: 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, no procs etc.);
      • -
      • -verbose
      • : print the substituted command to stderr - before executing -
      - See tutorial - for detailed examples. - - -
      - Return: - - empty -
      -
    • -
    • - - - - instinvar - invariantList - - - - - - - - - - - - - - -
      - Arguments: - - invariantList: Body of invariants for the class -
      - Description: - - - Specify invariants for the class. These are inherited by - sub-classes. The invariants must hold for all instances. - All assertions are a list of ordinary Tcl conditions. - -
      - Return: - - empty string -
      -
    • -
    • - - - - instmixin - ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?args?: instmixin specification -
      - Description: - - - If $args is one argument, it specifies a list of instmixins to - be set. Every instmixin must be a defined class. - If $args has more argument, the first one specifies the - action. Possible values are assign, get, - add or delete, it modifies the current - settings as indicated. For more details, check the - tutorial. - -
      - Return: - - if $args empty return current instmixins, otherwise empty -
      -
    • -
    • - - - - instparametercmd - name - - - - - - - - - - - - - - -
      - Arguments: - - name: variable to be provided with getter/setter method -
      - Description: - - - Add a getter/setter command for an instance variable with the - specified name. This method is used for example by the - parameter method. - Example:
      -
      -    Class C
      -    C instparametercmd x
      -    C c1 -x 100
      -    puts [c1 x]
      - -
      - Return: - - empty string -
      -
    • -
    • - - - - instproc - name - ?non-pos-args? - args - body - ?preAssertion? - ?postAssertion? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - name: instance method name -
      - - - ?non-pos-args?: optional non-positional arguments -
      - - - args: instance method arguments -
      - - - body: instance method body -
      - - - ?preAssertion?: optional assertions that must hold before the proc executes -
      - - - ?postAssertion?: optional assertions that must hold after the proc executes -
      - Description: - - - Specify an instance method in the same style as Tcl specifies procs. -
      - Optionally assertions may be given by two additional arguments. - Therefore, to specify only post-assertions an empty pre-assertion list - must be given. All assertions are a list - of ordinary Tcl conditions. -
      - When instproc is called with an empty argument list and an empty - body, the specified instproc is deleted. - -
      - Return: - - empty string -
      -
    • -
    • - - - - new - ?-childof obj? ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?-childof obj? ?args?: args passed to create -
      - Description: - - - Convenience method to create an autonamed object. E.g.: -
      -    HTTP new 
      - creates ::xotcl::__#0, a subsequent call creates ::xotcl::__#1, ...
      - If -childof obj is specified, the new object is - created as a child of the specified object. - -
      - Return: - - fully qualified name of the created instance -
      -
    • -
    • - - - - parameter - parameterList - - - - - - - - - - - - - - -
      - Arguments: - - parameterList: list of parameter definitions -
      - Description: - - - Specify parameters automatically created for each instance. - Parameters denote instance variables which are available on each class instance - and that have a getter/setter method with their own name. - Parameters are specified in a parameter list of the form - {p1 p2 ... pn}. - p1 ... pn may either be parameter names or definitions of the form - {parameterName defaultValue}. - If a default value is given, that parameter - is created during creation process of the instance object, otherwise - only the getter/setter method is created (and the parameter does not - exist). The getter/setter method has the same name as the - parameter. It gets and returns the parameter, if no - argument is specified. With one argument, the parameter is set - to the argument value. -
      - Example: -
      -    Class Car -parameter {{doors 4} color}
      -    Car herby -doors 2 -color green 
      - -
      - Return: - - empty string -
      -
    • -
    • - - - - parameterclass - class - - - - - - - - - - - - - - -
      - Arguments: - - class: parameter class name -
      - Description: - - - Set the parameter class. - The parameter class specifies how parameters are stored and - maintained internally. Per default, a method "default" is called, - to set the parameter with a default value. I.e., -
      -    Class Car -parameter {
      -      {doors 4}
      -    }
      - - is a short form for -
      -    Class Car -parameter {
      -      {doors -default 4}
      -    }
      - - For specialized parameter classes other methods can be called, e.g.
      -
         {doors -default 3 -updateWidget car}
      - -
      - Return: - - empty string -
      -
    • -
    • - - - - recreate - obj - ?args? - - - - - - - - - - - - - - - - - - -
      - Arguments: - - obj: obj to be recreated -
      - - - ?args?: arbitrary arguments -
      - Description: - - - Hook called upon recreation of an object in cases where the user wants to distinguish - between creation and recreation of objects. A recreation occurs, when an Object is created - with a name that exists already. - A typical use-case is the redefinition - of classes in and IDE, where the relations between classes/classes and object/classes - should be preserved (this is different to a destroy of the object). - -

      The method recreate does not need to call alloc - but calls instead cleanup - to reset to the object (or class) to its initial state (e.g. remove variables, child objects, - for classes remove instaces, etc.). Then it performs the standard initialization - for the object or class. - -

      If recreate is overloaded and the default recreate method is called via next, - the pre-part - (before next) contains its old state of the object, - while during the part after next the - object is cleaned up. -

      To ease recreation of classes, see ::xotcl::configure softrecreate. - - See also: create - -

      - Return: - - fully qualified name of instance -
      -
    • -
    • - - - - superclass - classList - - - - - - - - - - - - - - -
      - Arguments: - - classList: ?list of classes? -
      - Description: - - - Specify super-classes for a class. "superclass" changes the list - of superclasses dynamically to classList. - The method returns the current value of superclass, - when it is called without arguments. - -
      - Return: - - if classList is not specified return superclass(es), otherwise empty -
      -
    • -
    • - - - - unknown - ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?args?: arbitrary arguments -
      - Description: - - - Standard unknown mechanism. This mechanism is always triggered when - XOTcl does not know a method called on an object. Supposed that - there is no method with the called name, XOTcl looks up the method - "unknown" (which is found on the Class Object) and executes it. - The standard unknown-mechanism of XOTcl calls create with all - arguments stepping one step to the right; in the general case: -
      -    ClassName create ClassName ?args?
      - - Unknown can be overloaded in user-defined subclasses of class. - -
      - Return: - - Standard unknown mechanism returns result of create -
      -
    • -
    -

    Procs

    -
      -
    • - - - - __unknown - name - - - - - - - - - - - - - - -
      - Arguments: - - name: name of class to be created -
      - Description: - - - This method is called, whenever XOTcl references a class, - which is not defined yet. In the following example: - Class C -superclass D - D is not defined. Therefore Class __unknown D - is called. This callback can be used to perform auto-loading - of classes. After this call, XOTcl tries again to - resolve D. If it succeeds, XOTcl will continue; otherwise, - an error is generated. -

      - This method is called on mixin/instmixin definition calls, - istype, ismixin, class, superclass and parameterclass - -

      - Return: - - empty string -
      -
    • -
    -

    -
    -

    - - - -

    Class: Object

    - Class: Class -
    - Procs/Instprocs: - abstract, append, array, autoname, check, class, cleanup, configure, contains, copy, destroy, eval, exists, extractConfigureArg, filter, filterguard, filtersearch, forward, getExitHandler, hasclass, incr, info, init, instvar, invar, isclass, ismetaclass, ismixin, isobject, istype, lappend, mixin, move, noinit, parametercmd, proc, procsearch, requireNamespace, set, setExitHandler, subst, trace, unset, uplevel, upvar, volatile, vwait. - - - - - -
    - Description: - - - This class holds the pre-defined methods available for all XOTcl - objects. All these methods are also available on classes. - -
    -

    Instprocs

    -
      -
    • - - - - abstract - methtype - methodName - arglist - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - methtype: instproc or proc -
      - - - methodName: name of abstract method -
      - - - arglist: arguments -
      - Description: - - - Specify an abstract method for class/object with arguments. - - An abstract method specifies an interface and - returns an error, if it is invoked directly. - Sub-classes or mixins have to override it. - -
      - Return: - - error -
      -
    • -
    • - - - - append - varName - args - - - - - - - - - - - - - - - - - - -
      - Arguments: - - varName: name of variable -
      - - - args: arguments to append -
      - Description: - - - Append all of the value arguments to the current value of variable - varName. Wrapper to the same named Tcl command - (see documentation of Tcl command with the same name for details). - -
      - Return: - - empty string -
      -
    • -
    • - - - - array - opt - array - ?args? - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - opt: array option -
      - - - array: array name -
      - - - ?args?: args of the option -
      - Description: - - - This method performs one of several operations on the variable - given by arrayName. It is a wrapper to the same named Tcl command - (see documentation of Tcl command with the same name for details). - -
      - Return: - - diverse results -
      -
    • -
    • - - - - autoname - ?<-instance>|<-reset>? - name - - - - - - - - - - - - - - - - - - -
      - Arguments: - - ?<-instance>|<-reset>?: Optional modifiers:
      - '-instance' makes the autoname start with a small letter.
      - '-reset' resets the autoname index to 0. -
      - - - name: base name of the autoname -
      - Description: - - - autoname creates an automatically assigned name. It is - constructed from the base name plus an index, that is - incremented for each usage. E.g.: -
          $obj autoname a
      - produces a0, a1, a2, ... - Autonames may have format strings - as in the Tcl 'format' command. - E.g.: -
          $obj autoname a%06d
      - produces a000000, a000001, a000002, ... - -
      - Return: - - newly constructed autoname value -
      -
    • -
    • - - - - check - options - - - - - - - - - - - - - - -
      - Arguments: - - options: none, one or more of: (?all? ?pre? ?post? ?invar? ?instinvar?) -
      - Description: - - - Turn on/off assertion checking. Options argument is the list - of assertions, that should be checked on the object automatically. - Per default assertion checking is turned - off. Examples: -
      -    o check {};         # turn off assertion checking on object o  
      -    o check all;        # turn on all assertion checks on object o   
      -    o check {pre post}; # only check pre/post assertions
      - info check introspects check options. - -
      - Return: - - empty string -
      -
    • -
    • - - - - class - newClass - - - - - - - - - - - - - - -
      - Arguments: - - newClass: ?new class? -
      - Description: - - - Changes the class of an object dynamically to newClass. - The method returns the current value of class, - when it is called without arguments. - -
      - Return: - - if newClass is not specified return class, otherwise empty -
      -
    • -
    • - - - - cleanup - ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?args?: Arbitrary arguments passed to cleanup -
      - Description: - - - Resets an object or class into an initial state, as after construction. - Called during recreation process by the method recreate. - -
      - Return: - - empty string -
      -
    • -
    • - - - - configure - ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?args?: '-' method calls -
      - Description: - - - Calls the '-' (dash) methods. This method evaluates its argument list - and calls everything starting with '-' (followed by an alpha character) - as a method. Every list element until the next '-' is interpreted as an - argument of the called method. XOTcl supports argument lists with a variable - number of arguments. If an argument of a method called this way starts - with a "-", the call can be placed safely - into a list (e.g. "Class c [list -strangearg -a-] -simplearg 2") to avoid - the interpretation of "a-" as a method. -

      The method configure is called automatically by - the default create and recreate methods after - the default values are set.

      -

      - In the following example, the variable set is called via - configure before init: -

          Object o -set x 4
      - The method configure can be called with the - dash-notation at arbitrary times: -
          o configure -set x 4
      - -
      - Return: - - number of the skipped first arguments -
      -
    • -
    • - - - - contains - ?-withnew? - ?-object? - ?-class? - cmd - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - ?-withnew?: Option to overload new to create new objects within - the specified object. Per default, this option is turned on. -
      - - - ?-object?: object, in which the new objects should be created. - The default is the object, for which contains>/tt> was called. -
      - - - ?-class?: In combination with option -object: If the specified - object does not exist, create it from the specified class. The default - is ::xotcl::Object -
      - - - cmd: Tcl command to create multiple objects -
      - Description: - - - This method can be used to create nested object structures - with little syntactic overhead. The method changes the namespace - to the specified object and creates objects there. - Optionally, a different object scope can be specified and - creating new objects in the specified scope can be turned off. - The following command creates a three rectangles, containing some - points. -
      -  Class Point -parameter {{x 100} {y 300}}
      -  Class Rectangle -parameter {color}
      -
      -  Rectangle r0 -color pink -contains {
      -    Rectangle r1 -color red -contains {
      -      Point x1 -x 1 -y 2
      -      Point x2 -x 1 -y 2
      -    }
      -    Rectangle r2 -color green -contains {
      -      Point x1
      -      Point x2
      -    }
      -  }
      -
      - The resulting object structure looks like in the folloing - example (simplified). -
      -   ::r0
      -   ::r0::r1
      -   ::r0::r1::x1
      -   ::r0::r1::x2
      -   ::r0::r2
      -   ::r0::r2::x1
      -   ::r0::r2::x2
      -
      - -
      - Return: - - number of the skipped first arguments -
      -
    • -
    • - - - - copy - newName - - - - - - - - - - - - - - -
      - Arguments: - - newName: destination of copy operation -
      - Description: - - - Perform a deep copy of the object/class (with all information, like - class, parameter, filter, ...) - to "newName". - -
      - Return: - - empty string -
      -
    • -
    • - - - - destroy - ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?args?: Arbitrary arguments passed to the destructor -
      - Description: - - - Standard destructor. - Can be overloaded for customized destruction process. Actual destruction - is done by instdestroy. "destroy" in principal does: -
      -    Object instproc destroy args {
      -      [my info class] instdestroy [self]
      -    }
      - -
      - Return: - - empty string -
      -
    • -
    • - - - - eval - args - - - - - - - - - - - - - - -
      - Arguments: - - args: cmds to eval -
      - Description: - - - Eval args in the scope of the object. That is local variables - are directly accessible as Tcl vars. - -
      - Return: - - result of cmds evaled -
      -
    • -
    • - - - - extractConfigureArg - al - name - ?cutTheArg? - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - al: Argument List Name -
      - - - name: Name of the configure argument to be extracted (should start with '-') -
      - - - ?cutTheArg?: if cutTheArg not 0, it cut from upvar argsList, default is 0 -
      - Description: - - - Check an argument list separated with '-' args, as for instance - configure - arguments, and extract the argument's values. Optionally, cut the - whole argument. - -
      - Return: - - value list of the argument -
      -
    • -
    • - - - - exists - var - - - - - - - - - - - - - - -
      - Arguments: - - var: variable name -
      - Description: - - - Check for existence of the named instance variable on the object. - -
      - Return: - - 1 if variable exists, 0 if not -
      -
    • -
    • - - - - filter - ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?args?: filter specification -
      - Description: - - - If $args is one argument, it specifies a list of filters to - be set. Every filter must be an XOTcl proc/instproc within - the object scope. - If $args it has more argument, the first one specifies the - action. Possible values are assign, get, - add or delete, it modifies the current - settings as indicated. For more details, check the - tutorial. - -
      - Return: - - if $args return empty current filters, otherwise empty -
      -
    • -
    • - - - - filterguard - filterName - guard - - - - - - - - - - - - - - - - - - -
      - Arguments: - - filterName: filter name of a registered filter -
      - - - guard: set of conditions to execute the filter -
      - Description: - - - Add conditions to guard a filter registration point. The filter - is only executed, if the guards are true. Otherwise we ignore the - filter. If no guards are given, we always execute the filter. - -
      - Return: - - an empty string -
      -
    • -
    • - - - - filtersearch - methodName - - - - - - - - - - - - - - -
      - Arguments: - - methodName: filter method name -
      - Description: - - - Search a full qualified method name that - is currently registered as a filter. Return a list of the - proc qualifier format: - 'objName|className proc|instproc methodName'. - -
      - Return: - - full qualified name, if filter is found, otherwise an empty string -
      -
    • -
    • - - - - forward - methodName - ?options? - ?callee? - ?args? - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - methodName: name of forwarder method -
      - - - ?options?: -objscope, -methodprefix string, -default names, -earlybinding, -verbose -
      - - - ?callee?: named of the called command or object -
      - - - ?args?: arguments -
      - Description: - - - Register an object specific method (similar to a proc) for forwarding calls to - a callee (target Tcl command, other object). - When the forwarder method is called, the actual arguments - of the invocation are appended to the specified arguments. In callee an - arguments certain substitutions can take place: -
      • %proc: substituted by name of the forwarder method
      • -
      • %self: substitute by name of the object
      • -
      • %1: substitute by first argument of the invocation
      • -
      • {%@POS value}: substitute the specified value in the argument list - on position POS, where POS can be a positive or negative integer - or end. Positive integers specify the position from the begin - of the list, while negative integer specify the position from the end. -
      • {%argclindex LIST}: take the nth argument of the specified list as - substitution value, where n is the number of arguments from the - invocation. -
      • %%: a single percent.
      • -
      • %Tcl-command: command to be executed; substituted by result.
      • -
      - Additionally each argument can be prefixed by the positional prefix %@POS - (note the delimiting space at the end) that can be used to specify an - explicit position. POS can be a positive or negative integer or the word - end. The positional arguments are evaluated from left to - right and should be used in ascending order. valid Options are: -
      • -objscope causes the target to be evaluated in the scope - of the object,
      • -
      • -methodprefix string inserts the specified prefix - in front of the second argument of the invocation,
      • -
      • -default is used for default method names (only - in connection with %1)
      • -
      • -earlybinding: 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, no procs etc.);
      • -
      • -verbose
      • : print the substituted command to stderr - before executing -
      - See - tutorial - for detailed examples. - -
      - Return: - - empty -
      -
    • -
    • - - - - hasclass - ?className? - - - - - - - - - - - - - - -
      - Arguments: - - ?className?: name of a class to be tested -
      - Description: - - - 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 - istype and ismixin. - -
      - Return: - - 1 or 0 -
      -
    • -
    • - - - - init - args - - - - - - - - - - -
      - Arguments: - - args: argument list -
      - Description: - - - The method init is called automatically by the default - create method on initialized - objects (the default variables are set, the configure - methods are already performed). This method is solely a user hook for - applications to perform class specific initialzation after object creation. - -
      -
    • -
    • - - - - incr - varName - ?increment? - - - - - - - - - - - - - - - - - - -
      - Arguments: - - varName: variable name -
      - - - ?increment?: value to increment -
      - Description: - - - Increments the value stored in the variable whose name is varName. - The new value is stored as a decimal string in variable varName and also - returned as result. Wrapper to the same named Tcl command - (see documentation of Tcl command with the same name for details). - -
      - Return: - - new value of varName -
      -
    • -
    • - - - - info - args - - - - - - - - - - - - - - -
      - Arguments: - - args: info options -
      - Description: - - - Introspection of objects. The following options can be specified: - -
    • objName info args method: - Returns the arguments of the specified proc (object specific method). - -
    • objName info body method: - Returns the body of the specified proc (object specific method). - -
    • objName info class ?classname?: - Returns the name of the class of the current object, if className was - not specified, otherwise it returns 1 if className matches the - object's class and 0 if not. - -
    • objName info children ?pattern?: Returns the - list of aggregated objects with fully qualified names if - pattern was not specified, otherwise it returns all - children where the object name matches the pattern. - -
    • objName info commands ?pattern: Returns all - commands defined for the object if pattern was not - specified, otherwise it returns all commands that match the - pattern. - -
    • objName info default method arg var: Returns 1 - if the argument arg of the proc (object specific - method) method has a default value, otherwise 0. If - it exists the default value is stored in var. - -
    • objName info filter: Returns a list of filters. - With -guard modifier all filterguards are integrated - ( objName info filter -guards). With -order - modifier the order of filters (whole hierarchy) is printed. - -
    • objName info filterguard name: Returns the guards - for filter identified by name. - -
    • objName info forward ?-definition? name: Checks, - whether name is a forwarder (accepts wild chard characters). - When -definition is specified, it returns the definition - of the forwarder. - -
    • objName info hasNamespace: From XOTcl version 0.9 on, - namespaces - of objects are allocated on demand. hasNamespace returns 1, if the - object currently has a namespace, otherwise 0. The method - requireNamespace can - be used to ensure that the object has a namespace. - -
    • objName info info: Returns a list of all available info - options on the object. - -
    • objName info invar: Returns object invariants. - -
    • objName info methods: Returns the list of all methods - currently reachable for objName. Includes procs, instprocs, cmds, - instcommands on object, class hierarchy and mixins. - Modifier -noprocs only returns instcommands, - -nocmds only returns procs. - Modifier -nomixins excludes search on mixins. - -
    • objName info mixin: Returns the list of mixins - of the object. With -order modifier the order of mixins - (whole hierarchy) is printed. - -
    • objName info mixinguard name: Returns the guards - for the mixin identified by name. - -
    • objName info nonposargs methodName: Returns - non-positional arg list of methodName - -
    • objName info parent: - Returns parent object name (or "::" for no parent), - in fully qualified form. - -
    • objName info post methodName: - Returns post assertions of methodName. - -
    • objName info pre methodName: - Returns pre assertions of methodName. - -
    • objName info procs ?pattern?: Returns all procs - defined for the object if pattern was not specified, - otherwise it returns all procs that match the pattern. - -
    • objName info precedence ?pattern?: Returns all - classes in the precedence order from which the specified - object inherits methods. The returned list of classes contains - the mixin and instmixin classes as well as the classes of the - superclass chain in linearized order (i.e., duplicate classes - are removed). If the pattern is specified, only matching classes - are returned. - -
    • objName info vars ?pattern?: Returns all - variables defined for the object if pattern was not - specified, otherwise it returns all variables that match the - pattern. - -
    • - Return: - - Value of introspected option as a string. -
      -
    • -
    • - - - - instvar - v1 - ?v2...vn? - - - - - - - - - - - - - - - - - - -
      - Arguments: - - v1: name of instance variable -
      - - - ?v2...vn?: optional other names for instance variables -
      - Description: - - - Binds an variable of the object to the current method's scope. - Example: -
      -    kitchen proc enter {name} {
      -      my instvar persons
      -      set persons($name) [clock seconds]
      -    }
      - Now persons can be accessed as a local variable of the method.
      - - A special syntax is: {varName aliasName} . - This gives the variable with the name - varName the alias aliasName. - This way the variables can be linked to the methods scope, - even if a variable with that name already exists in the scope. - -
      - Return: - - empty string -
      -
    • -
    • - - - - invar - invariantList - - - - - - - - - - - - - - -
      - Arguments: - - invariantList: Body of invariants for the object -
      - Description: - - - Specify invariants for the objects. All assertions are a list - of ordinary Tcl conditions. - -
      - Return: - - empty string -
      -
    • -
    • - - - - isclass - ?className? - - - - - - - - - - - - - - -
      - Arguments: - - ?className?: name of a class to be tested -
      - Description: - - - Test whether the argument (or the Object, if no argument is specified) - is an existing class or not. - -
      - Return: - - 1 or 0 -
      -
    • -
    • - - - - ismetaclass - ?metaClassName? - - - - - - - - - - - - - - -
      - Arguments: - - ?metaClassName?: name of a metaclass to be tested -
      - Description: - - - Test whether the argument (or the Object, if no argument is specified) - is an existing metaclass or not. - -
      - Return: - - 1 or 0 -
      -
    • -
    • - - - - ismixin - ?className? - - - - - - - - - - - - - - -
      - Arguments: - - ?className?: name of a class to be tested -
      - Description: - - - Test whether the argument is a mixin or instmixin of the object. - -
      - Return: - - 1 or 0 -
      -
    • -
    • - - - - isobject - objName - - - - - - - - - - - - - - -
      - Arguments: - - objName: string that should be tested, whether it is a name of an object or not -
      - Description: - - - Test whether the argument is an existing object or not. Every XOTcl object - has the capability to check the object system. - -
      - Return: - - 1 or 0 -
      -
    • -
    • - - - - istype - className - - - - - - - - - - - - - - -
      - Arguments: - - className: type name -
      - Description: - - - Test whether the argument is a type of the object. I.e., 1 is returned - if className is either the class of the object or one of its - superclasses. - -
      - Return: - - 1 or 0 -
      -
    • -
    • - - - - lappend - varName - args - - - - - - - - - - - - - - - - - - -
      - Arguments: - - varName: name of variable -
      - - - args: elements to append -
      - Description: - - - Append all the specified arguments to the list specified - by varName as separated elements (typically separated by blanks). - If varName doesn't exist, it creates a list with the specified - values - (see documentation of Tcl command with the same name for details). - -
      - Return: - - empty string -
      -
    • -
    • - - - - mixin - ?args? - - - - - - - - - - - - - - -
      - Arguments: - - ?args?: mixin specification -
      - Description: - - - If $args is one argument, it specifies a list of mixins to - be set. Every mixin must be a defined class. - If $args has more argument, the first one specifies the - action. Possible values are assign, get, - add or delete, it modifies the current - settings as indicated. For more details, check the - tutorial. - -
      - Return: - - if $args empty return current mixins, otherwise empty -
      -
    • -
    • - - - - move - newName - - - - - - - - - - - - - - -
      - Arguments: - - newName: destination of move operation -
      - Description: - - - Perform a deep move of the object/class (with all information, like - class, parameter, filter, ...) - to "newName". - Note that move is currently implemented as a copy plus - subsequent destroy operation. - -
      - Return: - - empty string -
      -
    • -
    • - - - - parametercmd - name - - - - - - - - - - - - - - -
      - Arguments: - - name: variable to be provided with getter/setter method -
      - Description: - - - Add a getter/setter for an instance variable with the - specified name as a command for the obj. - Example: -
      -    Object o
      -    o parametercmd x
      -    o x 100
      -    puts [o x]
      - -
      - Return: - - empty string -
      -
    • -
    • - - - - noinit - - - - - - - - - - -
      - Description: - - - flag that constructor (method init) should - not be called. - Example: -
      -    Class C
      -    C instproc init {} {puts hu}
      -    C c1 -noinit
      - The object c1 will be created without calling - the constructor. This can be used to draw a snapshot of - an existing object (using the serializer) and to recreate - it in some other context in its last state. - -
      - Return: - - empty string -
      -
    • -
    • - - - - proc - name - ?non-pos-args? - args - body - ?preAssertion? - ?postAssertion? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - name: method name -
      - - - ?non-pos-args?: optional non-positional arguments -
      - - - args: method arguments -
      - - - body: method body -
      - - - ?preAssertion?: optional assertions that must hold before the proc executes -
      - - - ?postAssertion?: optional assertions that must hold after the proc executes -
      - Description: - - - Specify a method in the same style as Tcl specifies procs. -
      - Optionally assertions may be specified by two additional arguments. - Therefore, to specify only post-assertions an empty pre-assertion - list must be given. All assertions are a list - of ordinary Tcl conditions. -
      - When instproc is called with an empty argument list and an empty - body, the specified instproc is deleted. - - -
      - Return: - - empty string -
      -
    • -
    • - - - - procsearch - procName - - - - - - - - - - - - - - -
      - Arguments: - - procName: simple proc name -
      - Description: - - - Search which method should be invoked for an object and return the fully - qualified name of the method as a list in - proc qualifier format: - 'objName|className proc|instproc|forward|instforward|parametercmd|instparametercmd|cmd|instcmd methodName'. - The proc qualifier format reports the command used to create the method. The - only exception is instcmd and cmd, which refer to commands implemented in C. - E.g., -
          o procsearch set 
      - returns
      ::xotcl::Object instcmd set
      . - -
      - Return: - - fully qualified name of the searched method or empty string if not found -
      -
    • -
    • - - - - requireNamespace - - - - - - - - - - -
      - Description: - - - The method requireNamespace can - be used to ensure that the object has a namespace. - Namespaces are created automatically by XOTcl, when e.g. an object has - child objects (aggregated objects) or procs. The namespace - will be used to keep instance variables, procs and child objects. - To check, whether an object currently has a namespace, - info hasNamespace can be used. - - Hint: In versions prior to XOTcl 0.9 all XOTcl objects - had their own namespaces; it was made on demand to save memory when - e.g. huge numbers of objects are created. - requireNamespace is often needed when e.g. using Tk widgets - when variables are to be referenced via the namespace - (with ... -variable [self]::varName ...). - -
      - Return: - - empty string -
      -
    • -
    • - - - - set - varName - ?value? - - - - - - - - - - - - - - - - - - -
      - Arguments: - - varName: name of the instance variable -
      - - - ?value?: optional new value -
      - Description: - - - Set an instance variable in the same style as Tcl sets a variable. - - With one argument, we retrieve the current value, - with two arguments, we set the instance variable to the new value. - -
      - Return: - - Value of the instance variable -
      -
    • -
    • - - - - subst - options - string - - - - - - - - - - - - - - - - - - -
      - Arguments: - - options: ?-nobackslashes? ?-nocommands? ?-novariables? -
      - - - string: string to be substituted -
      - Description: - - - Perform backslash, command, and variable substitutions - in the scope of the given object - (see documentation of Tcl command with the same name for details). - -
      - Return: - - substituted string -
      -
    • -
    • - - - - trace - varName - - - - - - - - - - - - - - -
      - Arguments: - - varName: name of variable -
      - Description: - - - Trace an object variable - (see documentation of Tcl command with the same name for details). - -
      - Return: - - empty string -
      -
    • -
    • - - - - unset - ?-nocomplain? - v1 - ?v2...vn? - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - ?-nocomplain?: possible error messages are suppressed -
      - - - v1: Variable to unset -
      - - - ?v2...vn?: Optional more vars to unset -
      - Description: - - - The unset operation deletes one or optionally a set of variables from an object. - -
      - Return: - - empty string -
      -
    • -
    • - - - - uplevel - ?level? - command ?args? - - - - - - - - - - - - - - - - - - -
      - Arguments: - - ?level?: Level -
      - - - command ?args?: command and arguments to be called -
      - Description: - - - When this method is used without the optional level, it is a short form - of the Tcl command -
          uplevel [self callinglevel] command ?args?
      - When it is called with the level, it is compatible with the original Tcl command. - -
      - Return: - - result of the command -
      -
    • -
    • - - - - upvar - ?level? - otherVar localVar - ?otherVar localVar? - - - - - - - - - - - - - - - - - - - - - - -
      - Arguments: - - ?level?: Level -
      - - - otherVar localVar: referenced variable and variable in the local scope -
      - - - ?otherVar localVar?: optional pairs of referenced and local variable names -
      - Description: - - - When this method is used without the optional level, it is a short form - of the Tcl command -
          upvar [self callinglevel] otherVar localVar ?...?
      . - When it is called with the level, it is compatible with the original Tcl command. - -
      - Return: - - result of the command -
      -
    • -
    • - - - - vwait - varName - - - - - - - - - - - - - - -
      - Arguments: - - varName: name of variable -
      - Description: - - - Enter event loop until the specified variable is set - (see documentation of Tcl command with the same name for details). - -
      - Return: - - empty string -
      -
    • -
    • - - - - volatile - - - - - - - - - - - - - - - -
      - Arguments: - - : -
      - Description: - - - This method is used to specify that the object - should be deleted automatically, when the current - Tcl-proc/object-proc/instproc is left. Example: -
          set x [Object new -volatile]
      - -
      - Return: - - empty string -
      -
    • -
    -

    Procs

    -
      -
    • - - - - getExitHandler - - - - - - - - - - -
      - Description: - - Retrieve the current exit handler procedure body as a string. -
      - Return: - - exit handler proc body -
      -
    • -
    • - - - - setExitHandler - body - - - - - - - - - - - - - - -
      - Arguments: - - body: procedure body -
      - Description: - - - Set body for the exit handler procedure. The exit handler - is executed when XOTcl is existed or aborted. Can be used to call - cleanups that are not associated with objects (otherwise use - destructor). - On exit the object destructors are called after the - user-defined exit-handler. - -
      - Return: - - exit handler proc body -
      -
    • -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/langRef-xotcl.pdf =================================================================== diff -u -N -r46f02e4868e118466d888b35d6b281b3f2ba31ac -r2111020b49da8ce57758e51accf0b6073037f0d2 Binary files differ Index: doc/langRef.xotcl =================================================================== diff -u -N -r46f02e4868e118466d888b35d6b281b3f2ba31ac -r2111020b49da8ce57758e51accf0b6073037f0d2 --- doc/langRef.xotcl (.../langRef.xotcl) (revision 46f02e4868e118466d888b35d6b281b3f2ba31ac) +++ doc/langRef.xotcl (.../langRef.xotcl) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -1,5 +1,5 @@ # $Id: langRef.xotcl,v 1.14 2006/10/04 20:40:23 neumann Exp $ -package provide XOTcl-langRef 1.5.2 +package provide XOTcl-langRef 1.6.0 package require XOTcl @ @File { @@ -113,18 +113,39 @@ with class definitions (e.g. when used in OpenACS with file watching and reloading). With <@tt>softrecreate set, it is not necessary to recreate dependent subclasses etc. -
    +

    Example: e.g. there is a class hierarchy A <- B <- C Without <@tt>softrecreate set, a reload of B means first a destroy of B, leading to A <- C, and instances of B are re-classed to ::xotcl::Object. When <@tt>softrecreate is set, the structure remains unchanged.

    +
    <@tt>::xotcl::finalize<@/tt>
    +
    Delete all XOTcl objects and classes and free all associated memory. +

    + This command has the only purpose to delete all objects and classes + 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 + of objects and classes happens in a safe environment, where the + XOTcl destructors (destroy methods) are still able to + run. Without ::xotcl::finalize the deletion happens in + Tcl_FinalizeThread(), after thread cleanup (where e.g. the + thread local storage is freed). This can lead to memory leaks in + AOLserver, which allocates e.g. some structures on demand, but + since this happens after cleanup, it will leak. A simple ns_log + in a destructor might lead to this problem. The solution is to + call ::xotcl::finalize in the "delete trace" in AOLserver (as it + happens in OpenACS). +

    + Note, that ::xotcl::finalize is not intended for application programs. +

    + } - date { $Date: 2006/10/04 20:40:23 $ } } ## @@ -257,7 +278,14 @@ The method configure can be called with the dash-notation at arbitrary times: <@pre class='code'> o configure -set x 4 - } + + Note, that if '-' is followed by a numerical, the arument is + interpreted as a negative number (and not as a method). If a + value of a method called this way starts with a "-", the call can + be placed safely into a list (e.g. "Class c [list -strangearg -a-] + -simplearg 2"). +

    See also create. + } return "number of the skipped first arguments" } @@ -515,10 +543,8 @@ <@li><@TT>objName info body method: Returns the body of the specified proc (object specific method). - <@li><@TT>objName info class ?classname?: - Returns the name of the class of the current object, if className was - not specified, otherwise it returns 1 if className matches the - object's class and 0 if not. + <@li><@TT>objName info class: + Returns the name of the class of the current object. <@li><@TT>objName info children ?pattern?: Returns the list of aggregated objects with fully qualified names if @@ -543,10 +569,14 @@ <@li><@TT>objName info filterguard name: Returns the guards for filter identified by name. - <@li><@TT>objName info forward ?-definition? name: Checks, - whether <@TT>name<@/TT> is a forwarder (accepts wild chard characters). - When <@TT>-definition is specified, it returns the definition - of the forwarder. + <@li><@TT>objName info forward ?-definition name? ?pattern?: + Returns the list of forwarders. One can call this method either + without the optional arguments, or with the <@TT>pattern + or with <@TT>-definition name. When the <@TT>pattern is specified + only the matching forwarders are returned. When the <@TT>definition + option is used together with a name of a forwarder, the definition + of the forwarder with all flags is returned in a way that + can be used e.g. for registering the forwarder on another object. <@li><@TT>objName info hasNamespace: From XOTcl version 0.9 on, namespaces @@ -567,16 +597,26 @@ <@TT>-nocmds only returns procs. Modifier <@TT>-nomixins excludes search on mixins. - <@li><@TT>objName info mixin: Returns the list of mixins - of the object. With <@TT>-order modifier the order of mixins - (whole hierarchy) is printed. + <@li><@TT>objName info mixin ?-order? ?-guard? ?pattern?: + Returns the list of mixins of the object. With <@TT>-order + modifier the order of mixins (whole hierarchy) is printed. If + <@TT>-guard is specified, the mixin guards are returned. + If <@TT>pattern is specified and it contains wildcards, + all matching mixins are returned. If <@TT>pattern does not + contain wildcards, either the fully qualified name is returned, + or empty, if no match exists. <@li><@TT>objName info mixinguard name: Returns the guards for the mixin identified by name. <@li><@TT>objName info nonposargs methodName: Returns non-positional arg list of methodName + <@li><@TT>objName info parametercmd ?pattern?: + Returns a list of registered parametercmds the object + (or empty if there are none). If <@TT>pattern + is specified, only the matching parametercmds are returned. + <@li><@TT>objName info parent: Returns parent object name (or "::" for no parent), in fully qualified form. @@ -591,9 +631,11 @@ defined for the object if <@TT>pattern was not specified, otherwise it returns all procs that match the pattern. - <@li><@TT>objName info precedence ?pattern?: Returns all + <@li><@TT>objName info precedence ?-intrinsic? ?pattern?: Returns all classes in the precedence order from which the specified - object inherits methods. The returned list of classes contains + object inherits methods. If the flag <@TT>-intrinsic is specified + only the intrinsic classes (from the class hierarchy) are specified. + If the flag is not specified, the returned list of classes contains the mixin and instmixin classes as well as the classes of the superclass chain in linearized order (i.e., duplicate classes are removed). If the pattern is specified, only matching classes @@ -942,13 +984,16 @@ ?args? "arguments passed during creation" } { description { - Allocate (create) an uninitialized object or class. Typically, alloc - is called automatically by <@tt>create<@/tt> - to allocate an uninitialized object or class. - In contrast to alloc, <@tt>create<@/tt> also - initializes and configures the object. - The method alloc can be used by a programmer who may want to - create uninitialized objects/classes. + + Allocate an uninitialized XOTcl object or class. Alloc is used by + the method <@tt>create<@/tt> to + allocate the object. Note that <@tt>create<@/tt> also calls as + well configure and init to initialized the + object. Only in seldom cases the programmer may want to suppress + the <@tt>create<@/tt> mechanism and just allocate uninitiaized + objects via <@tt>alloc<@/tt>. + } return "fully qualified name of created instance" } @@ -981,10 +1026,34 @@ with all arguments up to the first '-' argument (as returned by configure). -

    In the default XOTcl definition, the <@tt>create method - is called implicitly by the <@tt>unknown method of the metaclass - Class, when a class (meta-class) is called with an unknown + The method <@tt>create<@/tt> is responsible for allocating and + initializing objects. The method can be overloaded e.g. in a + metaclass if other initialization behavior is wanted. +

    + The standard behavior of <@tt>create<@/tt> is as follows: +

      + +
    1. Call the method <@tt>alloc<@/tt> to + create an uninitialized object. + +
    2. Call the method <@tt>searchDefaults<@/tt> to set default + values for instance attributes- + +
    3. Call the method <@tt>configure<@/tt> to + configure the object with the values provided at object creation + time. The method <@tt>configure<@/tt> interprets the arguments + with leading dashes as method calls. + +
    4. Call the method <@tt>init<@/tt> to + allow initialization by the class. The argument passed to init are the + values from the passed argument list containing the arguments up to the first '-'.<@p> + +
    +

    + superclasses (an set if found). + The <@tt>create method is often called implicitly through the method. E.g. the following two commands are equivalent <@pre class='code'> @@ -1028,9 +1097,14 @@ of the class hierarchy. If pattern is specified, only matching values are returned. - <@li><@TT>ClassName info instances ?pattern?: - Returns a list of the instances of the class. - If pattern is specified, only matching values are returned. + <@li><@TT>ClassName info instances ?-closure? ?pattern?: + Returns a list of the instances of the class. If + <@TT>-closure is specified, the resultet contains as well + the instances of subclasses. If <@TT>pattern is specified + and it contains wildcards, all matching instances are + returned. If <@TT>pattern does not contain wildcards, + either the fully qualified name is returned, or empty, if no + match exists. <@li><@TT>ClassName info instargs method: Returns the arguments of the specified instproc (instance method). @@ -1055,23 +1129,47 @@ <@li><@TT>ClassName info instfilterguard name: Returns the guards for instfilter identified by name. - <@li><@TT>ClassName info instforward ?-definition? name: Checks, - whether <@TT>name<@/TT> is a forwarder (accepts wild chard characters). - When <@TT>-definition is specified, it returns the definition - of the forwarder. + <@li><@TT>objName info instforward ?-definition name? ?pattern?: + Returns the list of instforwarders. One can call this method either + without the optional arguments, or with the <@TT>pattern + or with <@TT>-definition name. When the <@TT>pattern is specified + only the matching instforwarders are returned. When the <@TT>definition + option is used together with a name of a isntforwarder, the definition + of the instforwarder with all flags is returned in a way that + can be used e.g. for registering the instforwarder on another class. <@li><@TT>ClassName info instinvar: Returns class invariants. - <@li><@TT>ClassName info instmixin: - Returns the list of instmixins of this class. + <@li><@TT>ClassName info instmixin ?pattern?: Returns the + list of instmixins of this class. If <@TT>pattern is + specified and it contains wildcards, all matching mixin classes are + returned. If <@TT>pattern does not contain wildcards, + either the fully qualified name is returned, or empty, if no + match exists. + <@li><@TT>ClassName info instmixinof ?-closure? ?pattern?: + Returns the list of classes, into which this class was mixed in + via instmixin. This is the inverse function of <@TT>ClassName + info instmixin. If <@TT>-closure is specified, also + the classes are returned, for which the class is indirectly + mixed in via instmixin. If <@TT>pattern is specified and + it contains wildcards, all matching mixin classes are + returned. If <@TT>pattern does not contain wildcards, + either the fully qualified name is returned, or empty, if no + match exists. + <@li><@TT>ClassName info isntmixinguard name: Returns the guards for the instmixin identified by name. <@li><@TT>ClassName info instnonposargs methodName: returns list of non-positional args of methodName + <@li><@TT>objName info instparametercmd ?pattern?: + Returns a list of registered instparametercmds the class + (or empty if there are none). If <@TT>pattern + is specified, only the matching instparametercmds are returned. + <@li><@TT>ClassName info instpost methodName: Returns post assertions of methodName. @@ -1082,22 +1180,37 @@ Returns all instprocs defined for the class. If pattern is specified it returns all instprocs that match the pattern. + <@li><@TT>ClassName info mixinof ?-closure? ?pattern?: Returns the + list of classes, into which this class was mixed in via per + object mixin. This is the inverse function of <@TT>Object info + mixin. If <@TT>-closure is specified, also the + classes are returned, for which the class is indirectly mixed in + as a per-object mixin. If <@TT>pattern is specified and + it contains wildcards, all matching mixin classes are + returned. If <@TT>pattern does not contain wildcards, + either the fully qualified name is returned, or empty, if no + match exists. + <@li><@TT>ClassName info parameter: Returns parameter list. - <@li><@TT>ClassName info subclass ?subclassname?: - Returns a list of all subclasses of the class, if subclassname - was not specified, otherwise it returns 1 if subclassname is a - subclass and 0 if not. + <@li><@TT>ClassName info subclass ?-closure? ?pattern?: + Returns a list of all subclasses of the class. If + <@TT>-closure is specified, the result contains as well + the subclasses of the subclasses. If <@TT>pattern is + specified and it contains wildcards, all matching subclasses are + returned. If <@TT>pattern does not contain wildcards, + either the fully qualified name is returned, or empty, if no + match exists. - <@li><@TT> ClassName info superclass ?superclassname?: - Returns a list of all super-classes of the class, - if superclassname was not specified, otherwise it returns - 1 if superclassname is a superclass and 0 if not. - - <@li><@TT>ClassName info slots: - Returns the slot objects defined for this class. - + <@li><@TT> ClassName info superclass ?-closure? ?superclassname?: + Returns a list of all super-classes of the class. If + <@TT>-closure is specified, the result contains as well + the superclasses of the superclasses. If <@TT>pattern is + specified and it contains wildcards, all matching superclasses are + returned. If <@TT>pattern does not contain wildcards, + either the fully qualified name is returned, or empty, if no + match exists. <@/ul> } return "Value of introspected option as a string." Index: doc/link-checker-xotcl.html =================================================================== diff -u -N --- doc/link-checker-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/link-checker-xotcl.html (revision 0) @@ -1,68 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/comm/link-checker.xotcl - - - - -

    - ./apps/comm/link-checker.xotcl - ./apps/comm/link-checker.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./apps/comm/link-checker.xotcl - -
    -
    - - - - - -
    - Description: - - - A simple link checking program that checks in parallel - pages of a site. -

    - Options:

    - - - - - - -
    -url Start-URL
    -foreign 0 or 1, specifies, whether foreign links of - local pages should be checked (default 1)
    -local A string match pattern to decide - which url should be treated as local - e.g. -local *wu-wien.ac.at/* - Per default the locality filter ist set - to the name of the host followed by '/*'
    -restrict 0 or 1, sets the locality filter to the subtree - implied by the URL
    -verbose 0 or 1 or 2, verbosity level (default 0)
    - -

    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/make-xotcl.html =================================================================== diff -u -N --- doc/make-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/make-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/make.xotcl - - - - -

    - ./library/lib/make.xotcl - ./library/lib/make.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./library/lib/make.xotcl - -
    -
    - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/makeDoc-xotcl.html =================================================================== diff -u -N --- doc/makeDoc-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/makeDoc-xotcl.html (revision 0) @@ -1,54 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/makeDoc.xotcl - - - - -

    - ./library/lib/makeDoc.xotcl - ./library/lib/makeDoc.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./library/lib/makeDoc.xotcl - -
    -
    - - - - - -
    - Description: - - - Documentation tool for the XOTcl distribution.
    - Usage: 'makeDoc docdir filename ?filename ...?'
    - Called by Makefile. - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/metadataAnalyzer-xotcl.html =================================================================== diff -u -N --- doc/metadataAnalyzer-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/metadataAnalyzer-xotcl.html (revision 0) @@ -1,600 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/metadataAnalyzer.xotcl - - - - -

    - ./library/lib/metadataAnalyzer.xotcl - ./library/lib/metadataAnalyzer.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./library/lib/metadataAnalyzer.xotcl - -
    -
    - - - - - -
    - Description: - - - XOTcl file analyzer for @ metadata. E.g.\ used for - doumentation with xoDoc (but in the static variant - StaticMetadataAnalyzer which uses the dynamic - variant in this file). -

    - Sample sample usage: -

    -	    package require xotcl::metadataAnalyzer
    -
    -	    # instantiate metadata analyzer object
    -	    MetadataAnalyzer @::m
    -	    # make this object be known to @ and turn @ metadata processing on
    -	    @ analyzerObj @::m
    -	    @ onOff 1
    -
    -	    # read in some metadata tags (in sample file) & execute the file
    -	    source lib/testx.xotcl
    -
    -	    # turn @ metadata processing off again
    -	    @ onOff 0
    -
    -	    # print out all collected metadata
    -	    puts [@::m print]
    -	    
    - -
    -
    -
    -

    - - - -

    Object: @

    - Class: AnalyzerCmd -
    - - - - - - - -
    - Description: - - Recreate @ with metadata analyis funtionality. -
    -

    -
    -

    - - - -

    Class: AnalyzerCmd

    - Class: Class -
    - - - - - - - -
    - Description: - - Class that overload the unknown mechanism of @ to provide metadata analysis. -
    -

    -
    -

    - - - -

    Class: ClassToken

    - Class: Class -
    - Heritage: ObjToken -
    - - - - - - - -
    - Description: - - - Token for Class metadata. Contains additional parameters: - "instprocList" = list of all instproc token. - -
    -

    -
    -

    - - - -

    Class: ConstraintToken

    - Class: Class -
    - Heritage: MetadataToken -
    - - - - - - - -
    - Description: - - - Token for @Constraint Metadata. - -
    -

    -
    -

    - - - -

    Class: FileToken

    - Class: Class -
    - Heritage: MetadataToken -
    - - - - - - - -
    - Description: - - - Token for @File Metadata. - -
    -

    -
    -

    - - - -

    Class: InstprocToken

    - Class: Class -
    - Heritage: MethodToken -
    - - - - - - - -
    - Description: - - - Token for Instproc metadata. - -
    -

    -
    -

    - - - -

    Class: MetaClassToken

    - Class: Class -
    - Heritage: ClassToken -
    - - - - - - - -
    - Description: - - - Token for Meta-Class metadata. - -
    -

    -
    -

    - - - -

    Class: MetadataAnalyzer

    - Class: Class -
    - Procs/Instprocs: - print. - - - - - -
    - Description: - - Handler class for building a metadata runtime structure -
    -

    Instprocs

    -
      -
    • - - - - print - - - - - - -
      - Description: - - Print all collected token information to stdout. - This method is also an exmaple how the tokens can be used. -
      -
    • -
    -

    -
    -

    - - - -

    Class: MetadataToken

    - Class: Class -
    - Procs/Instprocs: - print, printProperties, sortTokenList. - - - - - -
    - Description: - - - Each collected metadata element is stored in a token object. - MetadataToken is superclass of token object classes. Each metadata token - has two interesting parameters: -

    - "properties" contains list of all described metadata properties. E.g. can - be printed with -

    -	    foreach p [my set properties] { 
    -		if {[my exists $p]} {
    -		    append c "    $p=[my set $p]\n"
    -		}
    -	    }
    -	    
    - "name" contains the method, object, ... name of the metadata element. -

    - All metadata token are aggregated by @. Therefore, -

    -	    foreach mdt [@ info children] { 
    -		if {[$mdt istype MetadataToken]} {$mdt print}
    -	    }
    -	    
    - prints all token. - - -
    -

    Instprocs

    -
      -
    • - - - - printProperties - - - - - - -
      - Description: - - Print metadata properties to stdout. -
      -
    • -
    • - - - - abstract - print - - - - - - -
      - Description: - - - Abstract method for printing a token to stdout. - -
      -
    • -
    -

    Procs

    -
      -
    • - - - - sortTokenList - l - - - - - - - - - - -
      - Arguments: - - l: token list -
      - Description: - - Sort a token list with names. Since names are autonames, - this means order of appearance in the program. -
      -
    • -
    -

    -
    -

    - - - -

    Class: MethodToken

    - Class: Class -
    - Heritage: MetadataToken -
    - - - - - - - -
    - Description: - - - Token for Method metadata. Contains additional parameters: - "arguments" of the method, "returnValue" of the method, - "obj" name, "abstract" = 0 or 1 (whether its an abstract method or not). - -
    -

    -
    -

    - - - -

    Class: ObjToken

    - Class: Class -
    - Heritage: MetadataToken -
    - - - - - - - -
    - Description: - - - Token for Object metadata. Contains additional parameters: - "procList" = list of all proc token and "cl"= class name. - -
    -

    -
    -

    - - - -

    Class: PackageToken

    - Class: Class -
    - Heritage: MetadataToken -
    - - - - - - - -
    - Description: - - - Token for Package metadata. Contains additional parameters: - "version" of the package and "type"= either "require" or "provide". - - -
    -

    -
    -

    - - - -

    Class: ProcToken

    - Class: Class -
    - Heritage: MethodToken -
    - - - - - - - -
    - Description: - - - Token for Proc metadata - -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/mixinStrategy-xotcl.html =================================================================== diff -u -N --- doc/mixinStrategy-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/mixinStrategy-xotcl.html (revision 0) @@ -1,246 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/mixinStrategy.xotcl - - - - -

    - ./library/lib/mixinStrategy.xotcl - ./library/lib/mixinStrategy.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./library/lib/mixinStrategy.xotcl - -
    -
    - - - - - -
    - Description: - - - These methods provide support for managing "strategies", i.e. - mixin-classes, where only one kind of a family of conformant - mixins should be registered. -

    - Naming convertions for strategies: - All strategies must follow the naming convention 'kind=implementation'. - Examples are the persistency strategy 'eager' specfied as - 'persistent=eager' or the persistency strategy 'lazy' (specified as - 'persistent=lazy') - -

    -
    -
    -

    - - - -

    Class: Object

    - Procs/Instprocs: - add, mixinQueryStrategy, mixinStrategy, remove. - -
    -

    Instprocs

    -
      -
    • - - - - mixinStrategy - strategy - - - - - - - - - - - - - - -
      - Arguments: - - strategy: Strategy to be added -
      - Description: - - - This method adds or replaces a new strategy from the mixin - list. Strategies are named following the convention mentioned - above. - -
      - Return: - - old strategy -
      -
    • -
    • - - - - mixinQueryStrategy - kind - - - - - - - - - - - - - - -
      - Arguments: - - kind: strategy kind -
      - Description: - - - This method searches the mixin list for a mixin of this - kind (starting with $kind=) - -
      - Return: - - returns the maching strategy -
      -
    • -
    • - - - - add - construct - args - - - - - - - - - - - - - - - - - - -
      - Arguments: - - construct: (inst) 'filter' or 'mixin' -
      - - - args: to be added -
      - Description: - - add the specified (inst) 'filters' or 'mixins' -
      - Return: - - empty -
      -
    • -
    • - - - - remove - construct - args - - - - - - - - - - - - - - - - - - -
      - Arguments: - - construct: (inst) 'filter' or 'mixin' -
      - - - args: to be removed -
      - Description: - - remove the specified (inst) 'filters' or 'mixins' -
      - Return: - - empty -
      -
    • -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/observer-xotcl.html =================================================================== diff -u -N --- doc/observer-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/observer-xotcl.html (revision 0) @@ -1,54 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/observer.xotcl - - - - -

    - ./apps/scripts/observer.xotcl - ./apps/scripts/observer.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./apps/scripts/observer.xotcl - -
    -
    - - - - - -
    - Description: - - - Simple observer pattern meta-class taken from the paper - 'Filters as a Language Support for Design Patterns in - Object-Oriented Scripting Languages'. - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/package-xotcl.html =================================================================== diff -u -N --- doc/package-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/package-xotcl.html (revision 0) @@ -1,149 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/package.xotcl - - - - -

    - ./library/lib/package.xotcl - ./library/lib/package.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./library/lib/package.xotcl - -
    -
    - - - - - -
    - Description: - - - Represent Tcl package loading command by an XOTcl - object. Enables tracking, tracing, and verbose output - of package loading - -
    -
    -
    -

    - - - -

    Object: package

    - Class: Object -
    - Procs - present, verbose. - - - - - -
    - Description: - - - Supports all Tcl package options plus present and verbose. - -
    -

    Procs

    -
      -
    • - - - - present - args - - - - - - - - - - -
      - Arguments: - - args: packageName or -exact packageName -
      - Description: - - - Check whether a package is present or not. Similar to Tcl's - package present, but works with Tcl < 8.3 - -
      -
    • -
    • - - - - verbose - v - - - - - - - - - - -
      - Arguments: - - v: 1 or 0 -
      - Description: - - - Toggle verbose output on/off. If on, package prints the locations - from where packages are loaded to the screen. Default is off. - -
      -
    • -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/parameter-xotcl.html =================================================================== diff -u -N --- doc/parameter-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/parameter-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/parameter.xotcl - - - - -

    - ./apps/scripts/parameter.xotcl - ./apps/scripts/parameter.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./apps/scripts/parameter.xotcl - -
    -
    - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/persistenceExample-xotcl.html =================================================================== diff -u -N --- doc/persistenceExample-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/persistenceExample-xotcl.html (revision 0) @@ -1,42 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/store/persistenceExample.xotcl - - - - -

    - ./library/store/persistenceExample.xotcl - ./library/store/persistenceExample.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./library/store/persistenceExample.xotcl - -
    -
    - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/pinger-xotcl.html =================================================================== diff -u -N --- doc/pinger-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/pinger-xotcl.html (revision 0) @@ -1,55 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/pinger.xotcl - - - - -

    - ./apps/scripts/pinger.xotcl - ./apps/scripts/pinger.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./apps/scripts/pinger.xotcl - -
    -
    - - - - - -
    - Description: - - - Pinger example for the observer pattern taken from the paper - 'Filters as a Language Support for Design Patterns in - Object-Oriented Scripting Languages'. - It demonstrates how to observe a network connection. - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/secure-webclient-xotcl.html =================================================================== diff -u -N --- doc/secure-webclient-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/secure-webclient-xotcl.html (revision 0) @@ -1,53 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/comm/secure-webclient.xotcl - - - - -

    - ./apps/comm/secure-webclient.xotcl - ./apps/comm/secure-webclient.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./apps/comm/secure-webclient.xotcl - -
    -
    - - - - - -
    - Description: - - - A sample secure web client that queries an secure web-server. - It needs to be adopted with different https URLs for testing... - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/secure-webserver-xotcl.html =================================================================== diff -u -N --- doc/secure-webserver-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/secure-webserver-xotcl.html (revision 0) @@ -1,57 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/comm/secure-webserver.xotcl - - - - -

    - ./apps/comm/secure-webserver.xotcl - ./apps/comm/secure-webserver.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./apps/comm/secure-webserver.xotcl - -
    -
    - - - - - -
    - Description: - - - This small secure web server that provides its documents - via SSL (https, port 8443) and plain http (port 8086). -
    - This file requires TLS. If you experice problems with - versions obtained from the Web, contact gustaf.neumann@wu-wien.ac.at - for a patch. - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/simpleFilters-xotcl.html =================================================================== diff -u -N --- doc/simpleFilters-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/simpleFilters-xotcl.html (revision 0) @@ -1,55 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/simpleFilters.xotcl - - - - -

    - ./apps/scripts/simpleFilters.xotcl - ./apps/scripts/simpleFilters.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./apps/scripts/simpleFilters.xotcl - -
    -
    - - - - - -
    - Description: - - - Some simple examples of (inst)filters taken from the paper - 'Filters as a Language Support for Design Patterns in - Object-Oriented Scripting Languages'. They demonstrate filters, - filter chains and filter inheritance. - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/soccerClub-xotcl.html =================================================================== diff -u -N --- doc/soccerClub-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/soccerClub-xotcl.html (revision 0) @@ -1,54 +0,0 @@ - - - - - XOTcl - Documentation -- ./apps/scripts/soccerClub.xotcl - - - - -

    - ./apps/scripts/soccerClub.xotcl - ./apps/scripts/soccerClub.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./apps/scripts/soccerClub.xotcl - -
    -
    - - - - - -
    - Description: - - - This is a simple introductory example for the language XOTcl. - It demonstrates the basic language constructs on the example of - a soccer club. - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/speedtest-xotcl.html =================================================================== diff -u -N --- doc/speedtest-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/speedtest-xotcl.html (revision 0) @@ -1,53 +0,0 @@ - - - - - XOTcl - Documentation -- ./tests/speedtest.xotcl - - - - -

    - ./tests/speedtest.xotcl - ./tests/speedtest.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Filename: - - ./tests/speedtest.xotcl - -
    -
    - - - - - -
    - Description: - - - Regression and speed test for various ways to achieve a similar - behaviour. - -
    -
    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/staticMetadata-xotcl.html =================================================================== diff -u -N --- doc/staticMetadata-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/staticMetadata-xotcl.html (revision 0) @@ -1,120 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/staticMetadata.xotcl - - - - -

    - ./library/lib/staticMetadata.xotcl - ./library/lib/staticMetadata.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./library/lib/staticMetadata.xotcl - -
    -
    - - - - - -
    - Description: - - - XOTcl file static analyzer for @ metadata. E.g. used for - doumentation with xoDoc. I.e. allows for reading in a - file and evaluating the metadata-related info only. - -
    -
    -
    -

    - - - -

    Class: StaticMetadataAnalyzer

    - Class: Class -
    - Heritage: MetadataAnalyzer -
    - Procs/Instprocs: - analyzeFile. - - - - - -
    - Description: - - - Metadata analyzer class that allows for reading in files - and evaluation of the metadata content in the file. - -
    -

    Instprocs

    -
      -
    • - - - - analyzeFile - name - - - - - - - - - - -
      - Arguments: - - name: File name -
      - Description: - - Analyze a file and build up a token structure for each metadata token in the file. -
      -
    • -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/test-xotcl.html =================================================================== diff -u -N --- doc/test-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/test-xotcl.html (revision 0) @@ -1,96 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/test.xotcl - - - - -

    - ./library/lib/test.xotcl - ./library/lib/test.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./library/lib/test.xotcl - -
    -
    - - - - - -
    - Description: - - - Simple regression test support. - -
    -
    -
    -

    - - - -

    Class: Test

    - Class: Class -
    - - - - - - - -
    - Description: - - - Class Test is used to configure test instances, which can - be configured by the following parameters: -
      -
    • cmd: the command to be executed
    • -
    • expected: the expected result
    • -
    • count: number of executions of cmd
    • -
    • pre: a command to be executed at the begin of the test (before cmd)
    • -
    • post: a command to be executed after the test (after all cmds)
    • -
    • namespace in which pre, post and cmd are evaluated; default ::
    • -
    - The defined tests can be executed by Test run - -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/testo-xotcl.html =================================================================== diff -u -N --- doc/testo-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/testo-xotcl.html (revision 0) @@ -1,109 +0,0 @@ - - - - - XOTcl - Documentation -- ./tests/testo.xotcl - - - - -

    - ./tests/testo.xotcl - ./tests/testo.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./tests/testo.xotcl - -
    -
    - - - - - -
    - Description: - - - This is a class which provides regression test objects - for the OTcl derived features of the XOTcl - Language. - This script is based upon the test.tcl script of the OTcl distribution - and adopted for XOTcl. - -
    -
    -
    -

    - - - -

    Class: TestClass

    - Class: Class -
    - - - - - - - -
    - Description: - - - A meta-class for test objects. - -
    -

    -
    -

    - - - -

    Class: TestSuite

    - Class: Class -
    - - - -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/testx-xotcl.html =================================================================== diff -u -N --- doc/testx-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/testx-xotcl.html (revision 0) @@ -1,718 +0,0 @@ - - - - - XOTcl - Documentation -- ./tests/testx.xotcl - - - - -

    - ./tests/testx.xotcl - ./tests/testx.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./tests/testx.xotcl - -
    -
    - - - - - -
    - Description: - - - This is a file which provides a regression test - for the features of the XOTcl - Language. - -
    -
    -
    -

    - - - -

    Class: TestX

    - Class: Class -
    - - - -
    -

    -
    -

    - - - -

    Object: assertions

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing the assertions. -
    -

    -
    -

    - - - -

    Object: condMixins

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test for conditional mixins - -
    -

    -
    -

    - - - -

    Object: copymove

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test for copy/move methods -
    -

    -
    -

    - - - -

    Object: filterAddRemove

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing adding/removing of filters. -
    -

    -
    -

    - - - -

    Object: filterClassChange

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing class changes of filters. -
    -

    -
    -

    - - - -

    Object: filterGuards

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing filter guards. -
    -

    -
    -

    - - - -

    Object: filterInfo

    - Class: TestX -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - Description{: - - Regression -
    - Test: - - object -
    - Testing: - - introspection -
    - Of: - - filters. -
    - }: - - -
    -

    -
    -

    - - - -

    Object: filterSimpleObserver

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing a simple observer using filters. - -
    -

    -
    -

    - - - -

    Object: init_params

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test object testing the parameter instance method, - the init dash '-' and constructor calling. - -
    -

    -
    -

    - - - -

    Object: mixinGuards

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing mixin guards. -
    -

    -
    -

    - - - -

    Object: mixinInheritanceTest

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test object testing per-object mixin inheritance. - -
    -

    -
    -

    - - - -

    Object: mixinTest

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test object testing per-object mixins. - -
    -

    -
    -

    - - - -

    Object: nestingClasses

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing the class nesting feature. -
    -

    -
    -

    - - - -

    Object: nestingObjects

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing the object nesting feature. -
    -

    -
    -

    - - - -

    Object: nextTest

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test object testing the next primitive. -
    -

    -
    -

    - - - -

    Object: objectReferences

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test for object and class references in tcl_objs - -
    -

    -
    -

    - - - -

    Object: procsearchTest

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test for procsearch - -
    -

    -
    -

    - - - -

    Object: recreation

    - Class: TestX -
    - - - - - - - -
    - Description: - - Regression test for object recreation/cleanup. -
    -

    -
    -

    - - - -

    Object: smallScripts

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test object testing arbitrary features. - -
    -

    -
    -

    - - - -

    Object: stdargs

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test object testing the ability of the next primitive to pass - arguments without naming them. - -
    -

    -
    -

    - - - -

    Object: volatileObjects

    - Class: TestX -
    - - - - - - - -
    - Description: - - - Regression test for volatile objects - -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/trace-xotcl.html =================================================================== diff -u -N --- doc/trace-xotcl.html (revision 4dd2595d98574faaac87f5dd33b542516fdff5df) +++ doc/trace-xotcl.html (revision 0) @@ -1,432 +0,0 @@ - - - - - XOTcl - Documentation -- ./library/lib/trace.xotcl - - - - -

    - ./library/lib/trace.xotcl - ./library/lib/trace.xotcl

    -
    -

    -

    Package/File Information

    - No package provided/required -
    -
    - Defined Objects/Classes: - -
    - Filename: - - ./library/lib/trace.xotcl - -
    -
    - - - - - -
    - Description: - - - Various tracing tools for the XOTcl language. - -
    -
    -
    -

    - - - -

    Class: Object

    - Procs/Instprocs: - lintFilter, showCall, showClass, showMsg, showStack, showTimeEnd, showTimeStart, showVars, statFilter, traceFilter. - -
    -

    Instprocs

    -
      -
    • - - - - traceFilter - args - - - - - - - - - - - - - - -
      - Arguments: - - args: arbitrary args -
      - Description: - - - Filter to trace every method call on an object or class hierarchy. - Outputs a message befora and after each call of the traced object. - -
      - Return: - - empty string -
      -
    • -
    • - - - - lintFilter - - - - - - -
      - Description: - - Experimental lint filter -
      -
    • -
    • - - - - statFilter - - - - - - -
      - Description: - - Experimental statistics filter -
      -
    • -
    • - - - - showVars - args - - - - - - - - - - -
      - Arguments: - - args: ist of variables -
      - Description: - - Show the values of the specified variables (or of all variables) - of an object on stderr. -
      -
    • -
    • - - - - showMsg - msg - - - - - - - - - - -
      - Arguments: - - msg: optional output -
      - Description: - - Show a message msg with the form "[self] $cls->$method $msg" on stderr. -
      -
    • -
    • - - - - showClass - - - - - - -
      - Description: - - Show classes and mixins of the object -
      -
    • -
    • - - - - showStack - maxDepth - - - - - - - - - - -
      - Arguments: - - maxDepth: max stack depth, default=100 -
      - Description: - - Show callstack up to the specified calldepth. -
      -
    • -
    • - - - - showCall - - - - - - -
      - Description: - - Show the current call with the form "[self] $cls->$method $args" on stderr. -
      -
    • -
    • - - - - showTimeStart - ?handle? - - - - - - - - - - -
      - Arguments: - - ?handle?: Handle object name, optional -
      - Description: - - start a timer -
      -
    • -
    • - - - - showTimeEnd - ?handle? - - - - - - - - - - -
      - Arguments: - - ?handle?: Handle object name, optional -
      - Description: - - end a timer and show result -
      -
    • -
    -

    -
    -

    - - - -

    Object: Trace

    - Class: Object -
    - Procs - closeTraceFile, openTraceFile, puts. - - - - - -
    - Description: - - - Write trace outputs and produce statistics. Variable traceStream - defines where to write trace output (default: stderr). - -
    -

    Procs

    -
      -
    • - - - - puts - line - - - - - - - - - - -
      - Arguments: - - line: output line -
      - Description: - - - Define how traceFilter writes to the output stream. Default: - write to trace stream. - -
      -
    • -
    • - - - - openTraceFile - name - - - - - - - - - - -
      - Arguments: - - name: file name -
      - Description: - - - Redirect trace output to file. - -
      -
    • -
    • - - - - closeTraceFile - name - - - - - - - - - - -
      - Arguments: - - name: file name -
      - Description: - - - Close trace file and redirect output to stderr. - -
      -
    • -
    -

    -
    -

    -
    -

    -

    - - Back to index page. - -
    -
    -

    -

    - - - Index: doc/tutorial.html =================================================================== diff -u -N -r46f02e4868e118466d888b35d6b281b3f2ba31ac -r2111020b49da8ce57758e51accf0b6073037f0d2 --- doc/tutorial.html (.../tutorial.html) (revision 46f02e4868e118466d888b35d6b281b3f2ba31ac) +++ doc/tutorial.html (.../tutorial.html) (revision 2111020b49da8ce57758e51accf0b6073037f0d2) @@ -4,7 +4,7 @@ XOTcl - Tutorial - +