generic

Clone Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* Continued with info orthogonality change

<object> info mixin ?pattern?

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

Still to do "-closure" in

<class> info instmixin -closure ?pattern?

* 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

<object> mixin delete pattern

<class> instmixin delete pattern

<class> superclass delete pattern

* extended regresson test

  1. … 3 more files in changeset.
- fix getAllClassMixinsOf to handle combinations of transitive per class mixins and inheriting per-class mixin via the class hierarchy, removed getAllSubClasses - extend test cases

  1. … 2 more files in changeset.
* Potential incompatibility: provide a uniform interface to the following info subcommands

<class> info superclass ?-closure? ?pattern?

<class> info subclass ?-closure? ?pattern?

<class> info instances ?-closure? ?pattern?

<class> info instmixinof ?-closure? ?pattern?

<class> 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 korrespinding 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.

Still to do:

children

parent

classchildren

classparent

  1. … 4 more files in changeset.
- 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")

- fixed softcrecreate for subclasses of recreated classes - fixed softcrecreate when recreate defines different superclasses - extended test cases for mixinoftest

  1. … 1 more file in changeset.
- Add closure option to mixinofinfo - Enhance getAllClassMixinofs

- saveing object->id in cl->opt->id (probably a temporary solution) - new function: MixinResetOrderForAllInstances (transitive version of MixinResetOrderForInstances() - use MixinResetOrderForAllInstances for resetting instances - extended regression test

  1. … 2 more files in changeset.
- preserving var traces when copying objects

  1. … 1 more file in changeset.
- fixed evaluation context in guard expressions ([self callingproc] returned "" in cases, where the callingproc was possible to determine)

  1. … 1 more file in changeset.
name change to reduce confusion: * mixinofs -> isObjectMixinOf * instmixinofs -> isClassMixinOf * getAllInstMixinofs -> getAllClassMixinsOf * RemoveFromMixinofs -> removeFromObjectMixinsOf * RemoveFromInstmixinsofs -> removeFromClassMixinsOf

  1. … 1 more file in changeset.
- fixed crash for deleted classes in new code - changed name from MixinResetInstanceOrder() to MixinResetOrderForInstances() - imporving documentation - made code more local - activate assertion during development

- new function from Martin MixinResetInstanceOrder() - better cleanup when classes are deleted

Adding Martin's patches for instmixinof

fix alias command for aliasing to tcl procs

- change panic() to Tcl_Panic() - panic, when cmdlist contains deleted command

- set clopt->assertions to NULL on class cleanup

- do not remove class from mixinof and instmixinof lists on recreate - fix deletion of clopt on Class recreate - fix street address in file header

syntactical cleanup

  1. … 6 more files in changeset.
syntactical cleanup

follow tcl coding convention to make merge easier

synchronized with head version xotcl-2007-10-30

  1. … 64 more files in changeset.
* change Tcl_ObjSetVar2() to Tcl_SetVar2Ex() to address problem in setting variables from C. The set variable was not seen in an eval. * extended regression test

  1. … 2 more files in changeset.
Don't though error when the last argument of "obj info class <...>" or "cl info superclass <....>" is a non-existing class, but return false instead. This leaves room for pattern matching.

  1. … 1 more file in changeset.
return mixins before procs in procsearch added regression test for this case

  1. … 2 more files in changeset.
minor cleanup and variable renaming

some code refactoring making new code more robust

  1. … 4 more files in changeset.
Adding mixinof and instmixinof - new class info options: mixinof instmixinof - on class destroy entry is now removed from mixin and instmixin lists

  1. … 2 more files in changeset.
importing experimental xotcl version

  1. … 60 more files in changeset.
restructured directory to remove superfluous directory xotcl

    • -0
    • +25
    ./mk_predefined.xotcl
    • -0
    • +880
    ./predefined.xotcl
  1. … 735 more files in changeset.