nsf

Clone Tools
  • last updated 18 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- Removed @attribute parts and realise them as @param parts which are parts of @object parts - Renamed PartAttribute->get_part() to require_part() - The line scanner now stores all comment lines as list by using [split] at an early stage to improve the robustness when line strings are fed to list-specific commands.

- Introduced a PartClass meta-class which seconds Part and its subclasses (for a uniform id generation etc.) - Removed the kludge around new_from_attribute(), there is now a canonical new(). - "scope" turned into a property of PartAttributes and, as such, of the association (slot) objects managing parts. this more closely resembles the idea of per-class and per-object interfaces. in turn, parts now contain a navigatable association to their managing part attributes (e.g., to resolve their scope). - Adding some basic exception-catching infrastructure too better differentiate between error conditions (style violation, invalid tags, arbitrary errors emerging from the parsing machinery). Adjusting and extending the test suite. - Simplified/generalised the parser's tag dispatcher; also, there is no a general @doc tag which allows to add documentation lines as tagged parts, rather than a distinct doc block - Removed the tagged_entity mechanisms and per-tag forwards on EntityClass - Documentation blocks may now contain intermediate space lines (by adding a space->text transition to the parsing spec). - Adding basic support to trace script sources from [package req] calls, needs to be polished and refactored

    • -163
    • +305
    /library/lib/doc-tools.xotcl
- provide explicit error message stating the "substdefault" is not allowed for setters - don't add "substdefault" a second time, in case it was already used - never add "substdefault" to methodopts - extended regression test

- Renamed EntityFactory to EntityClass - Introduced PartAttribute for managing entity-part associations, they also protect against duplicate entries - Added NextAttribute (though it should fuse with parameter entities in the end) - Completed basic support for embedded (initcmd) and freestanding (script): This multi-stage processing introduces a precedence order between the commenting levels (script < initcmd < method bodies). - Renamed most entity classes using their tag equivalent (@object, ...) - Introduced offset feature for the comment line scanner (offsets are used to select embedded comment blocks, e.g., in initcmds or method bodies) - Parsing of arbitrary scripts is now realised in a child interp - Introduced qualified entity names (e.g., @attribute Bar#a1) and per-object scope (through a scope prefix in tags, e.g., @object-method) - Did some cleanup and extended the test suite

    • -391
    • +505
    /library/lib/doc-tools.xotcl
- minor updates

- fix wording in documentation

- update migration guide from XOTcl 2 to Next

- fix wording in documentation

Finished and tested the rewrite of the scanning&parsing front-end for the doc processor. Remains to be integrated with the intermediate @ notation (basics are already working)

    • -179
    • +258
    /library/lib/doc-tools.xotcl
Upgrading to the ::nx::* namespace renaming

Merge branch 'next-doc' into nx-doc

tests/doc.xotcl

    • -129
    • +480
    /library/lib/doc-tools.xotcl
- changed prefix from "::next::" to "::nx"

    • -46
    • +46
    /library/serialize/Serializer.xotcl
  1. … 7 more files in changeset.
- updated Changelog - added Annouce files

- updated changelog - deactivated assertions for release

- namespace changes: mostly due to marketing reasons, the naming of the top-level namespace changed from "xotcl2" to "next". reasons: xotcl is hard to pronounce for beginners, sounds like "exotic" (but who wants to program in an exotic language) has a certain stigma of strange namings (e.g. "instproc"), is seen as a precursor of tcloo, the top-level namespace ::xotcl2:: is not very nice either, the separation of framework and language is not clear.

We have now:

::next (the new object system, former ::xotcl2)

::next::core (framework, primitives)

::xotcl (former xotcl1)

- "::xotcl::use" no longer needed, use Tcl standard mechanisms instead

(e.g. "package req next"; "package req XOTcl", "namespace import ::next*")

  1. … 34 more files in changeset.
- first checkin of doc-tools

    • -0
    • +138
    /doc/langRef2.xotcl
    • -0
    • +72
    /doc/sample-source.xotcl
    • -0
    • +541
    /library/lib/doc-tools.xotcl
- undid part of last commit

- xotcl 1.6.6: initialize value

- backported part of the deletion logic of xotcl 2.0 to 1.6.6 to avoid a potential crash with volatile objects

- ::xotcl:.configure: added option "keepinitcmd" to flag, whether or not initcmds should be kept as instance variables

- remove unneeded attribute for method setter

- Allow to speficy last arg of objectparameter to replace scripted init block. The redefinition of objectparameter allows us to specify whether no/some/classical/altered/additional arguments should be allowed during object creation

- Handle cases, where objects/classes are created with the name of preexiting namespaces. Cases, where pre-exisitng namespaces contained classes/objects lead to problems, since xotcl did not see the object/classes of the pre-exiting namespace as children of the new object/class.

- backport change from 2.0 to 1.6.6 concerning cylcic dependencies through namespace imported commands

- fix a potential ordering problem with cyclic dependencies created by namespace import commands

- fix 64bit problem

- fixed 64bit problem

- change library/lib/make.xotcl to xotcl2

- xotcl 1.6.6: backport of memory fixes from xotcl 2.0