|
| |
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 |