_ >   3550 3550 - extend regression test
  3551 3551 nsf.c:
  3552 3552   - reform of argument parse. new parser uses NsfFlagObjType
< >   3553       to reuse earlier parse resuslts. Improved speed for
    3553     to reuse earlier parse results. Improved speed for
3554 3554     for methods with primitive bodies: 5%-25%.
  3555 3555   - added regression tests for argument parsing
  3556 3556
  3557 3557 - nsf.c
  3558 3558   - added experimental parameter option noleadingdash
< >   3559     - additionalal regression test file method-parameter.test
    3559   - additional regression test file method-parameter.test
3560 3560   - provide selective error messages for unknown nonpos args
  3561 3561
  3562 3562 nsf.c:
 
3571 3571
  3572 3572 nsf.c:
  3573 3573   - moved methodEpochCounters from global vars to the interp state
< >   3574       to improve resue in multi threaded apps
    3574     to improve reuse in multi threaded apps
3575 3575   - separated objectMethodEpoch and instanceMethodEpoch
  3576 3576   - bump version number to 2.0a2
  3577 3577
 
3596 3596 nx: added traits package
  3597 3597
  3598 3598 nonleadingdash handling:
< >   3599     - doc: added "nonleadingdash" to UML class diagramm
    3599   - doc: added "nonleadingdash" to UML class diagram
3600 3600   - nsf.c: added error message, when "noleadingdash" is used on
  3601 3601     non-positional parameters
  3602 3602   - nsf.c: use same logic for "nonleadingdash" to "value in argument"
 
3616 3616       * __unknown
  3617 3617     unknown is a hook for Object but a method for Class
  3618 3618
< >   3619   - fixed strange refcounting bug in 8.6b2 bug-is-86.tcl
  3620      where 2 refcounted items are not freed (value:class,
    3619 - fixed strange ref-counting bug in 8.6b2 bug-is-86.tcl
    3620    where 2 ref-counted items are not freed (value:class,
3621 3621    issued from nx.tcl around line 120). Compile with DEBUG86B2
  3622 3622    for more info
  3623 3623      =================================================
 
3689 3689
  3690 3690 - nsf.c: extended "new":
  3691 3691   * nonpos-arg "-childof" accepts now a namespace
< >   3692       (required an object before). Thefore, one can
    3692     (required an object before). Therefore, one can
3693 3693     use now "... new -childof [namespace current]",
  3694 3694     even when the current namespace is not an object
  3695 3695
  3696 3696 - nx.tcl: simplified ::nx::ScopedNew to ::nx::NsScopedNew:
  3697 3697   before it was necessary to create a new volatile class for every
< >   3698     invocaton of contains.
    3698   invocation of contains.
3699 3699 - extended regression test
  3700 3700
  3701 3701 - nx.tcl: don't use mixins in method "contains", but remap the new
 
3704 3704   of classes defined (the mixin paths for all classes must be
  3705 3705   invalidated). This might be a problem for frequent "contains"
  3706 3706   invocations.
< >   3707   - bup version numbers for nx, xotcl2 and nsf to 2.0b2
    3707 - bump version numbers for nx, xotcl2 and nsf to 2.0b2
3708 3708
  3709 3709 - rename "info method handle /methodName/" into
  3710 3710          "info method registrationhandle /methodName/"
 
3748 3748
  3749 3749 - Replaced hash-table for GetAllInstances() with a linear list.
  3750 3750   As a result, mass-destroy on exit is now much faster. Valgrind
< >   3751     reports that the full cicrcle of creating 100.000 objects and
    3751   reports that the full circle of creating 100.000 objects and
3752 3752   destroying it on exit became about 15% faster.
  3753 3753 - added additional argument adEnd to CmdListAdd()
  3754 3754 - renamed CmdListRemoveList() to CmdListFree()
 
3776 3776   maintaining the set of already processed entries in
  3777 3777   NsfClassInfoInstancesMethod1() and GetAllInstances().
  3778 3778 - extended regression test
< >   3779   - removed "namespace import" in objectsystem test
    3779 - removed "namespace import" in object-system test
3780 3780
  3781 3781 nsf.c:
  3782 3782 - Reform of subclass/superclass handling.
  3783 3783   * unifying transitive subclass handling
  3784 3784   * localizing and documenting caching of subclass/superclass lists
  3785 3785   * eliminating repetitious computation of subclass lists
< >   3786     * refactored code, renamed some functions to better reflect their purpose
    3786   * re-factored code, renamed some functions to better reflect their purpose
3787 3787   * improved documentation
  3788 3788 - fixed a potential crash for class deletion triggering implicit deletions
  3789 3789   further deletions referencing the parent class
 
3798 3798 ========================================================================
  3799 3799 TODO:
  3800 3800
< >   3801    - make rough comparsion table with NX, XOTcl, tclOO, itcl, Ruby, Python
    3801  - make rough comparison table with NX, XOTcl, tclOO, itcl, Ruby, Python
3802 3802    Most general superclass
  3803 3803    Metaclass
  3804 3804    Per-object methods
 
3822 3822  - warnings for "numeric" names for args and nonpos-args?
  3823 3823  - special handling of values looking like nonpos-flags,
  3824 3824    but wich are not ones (-1, "- a b c", ....) in detection
< >   3825      when to throw unknow.
    3825    when to throw unknown.
3826 3826
  3827 3827  - naming of slot classes
  3828 3828    * should we switch from "-class" to "-slotclass"?
 
3851 3851
  3852 3852  - call user-defined setter in object parameters?
  3853 3853
< >   3854   - Revise callstack introspection/intercession, i.e., [current
    3854 - Revise call-stack introspection/intercession, i.e., [current
3855 3855   activelevel] vs. [current callinglevel] vs. uplevel()/upvar():
  3856 3856  
  3857 3857   Currently, there are some inconsistencies when comparing activelevel
 
3865 3865   semantics, as callinglevel resolved to such INACTIVE frame contexts).
  3866 3866   2. The uplevel()/upvar() methods default to uplevel+callinglevel
  3867 3867   semantics, so they borrow their issues from 1)
< >   3868     3. For now, we do not support callstack-transparent upleveling into
    3868   3. For now, we do not support call-stack transparent up-leveling into
3869 3869   non-NSF frames, such as Tcl namespace + proc (apply) frames.
  3870 3870
  3871 3871   Approaches:
  3872 3872   a) Revise the current [current] subcmd scheme: callinglevel
  3873 3873   vs. activelevel vs. ...?
  3874 3874   b) Provide a more generic, filter-based [current callinglevel] (?)
  3875 3875   subcmd which allows for applying different bitmask filters
< >   3876     c) Provide the necessary callstack info in [info frame] and make
    3876   c) Provide the necessary call-stack info in [info frame] and make
< _   3877 3877   replacements for [current activelevel] & [current callinglevel]
  3878 3878   scriptable ...
  3879 3879   d) support for out/inout argument parsing strategies (however, this