Tcl Library Source Code

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins that include changes to files matching 'modules/oometa/*'

2023-11-14
08:20
Integrated Rolf's work to make Tcllib ready for Tcl 9+ into the trunk. Thank you very much. check-in: 758418619e user: aku tags: trunk
2023-09-29
16:28
Bumped package version for all modules [a-r]*. (user: rolf) check-in: e5c34f86b7 user: rolf tags: tcl9-testarea-rde
2023-08-11
23:52
More adaption to the package require Tcl commands, following what was discussed at the montly meeting 2023/08. More work and changes to come. check-in: 46ab6ea7c8 user: rolf tags: tcl9-testarea-rde
2023-06-23
10:22
Pointsman testbed. check-in: a5532890a4 user: rolf tags: tcl9-testarea-rde
2021-04-30
12:12
Merge trunk. check-in: e535000f3e user: pooryorick tags: pooryorick
2021-04-14
22:00
Integration of test utilities work into trunk. check-in: e310e3a368 user: aku tags: trunk
2021-04-13
11:16
Make tests more robust by eliminating sensitivity to working directory the tests are executed from. check-in: fb1cfba3e8 user: pooryorick tags: pyk-testutilities
2020-04-16
23:51
Clean up Fossil commit warnings (fossil test-commit-warning) by removing carriage returns, switching to UTF-8 where appropriate, and whitelisting particular files. Note: Fossil fails to honor binary-glob for files that it doesn't think are binaries in the first place due to not containing NUL bytes, so these cases are listed in both binary-glob and encoding-glob. check-in: 7529457152 user: andy tags: trunk
2019-11-24
21:25
Merge amg-argparse Leaf check-in: b8b70870c9 user: andy tags: amg-argparse-validation
21:24
Merge trunk Leaf check-in: e7b61937e1 user: andy tags: amg-pipeline
21:24
Merge trunk Leaf check-in: eccc25a0c4 user: andy tags: amg-argparse
2019-06-05
05:02
Integrated testsuite fixups Merged latest work from trunk Regenerated documentation. - Fixed outdated references to feedback.inc Use `modules/common-text/feedback.inc` now. check-in: e3ae2af3f4 user: aku tags: hypnotoad
2019-05-07
01:21
Integrated the doc overhaul work into the trunk. This makes the various guides official. check-in: 6612c2b8a8 user: aku tags: trunk
2019-04-18
23:17
Moved text block for general feedback out of `doctools2base` module to directory `common-text`. Updated all doc references. check-in: 8b098b25f7 user: aku tags: doc-overhaul
2018-12-07
09:03
Pulling in changes to re-introduce a snapshot of mime,smtp and ncgi to allow existing modules to function. Modules that need the old ways must explicitly call for [package require -exact mime 1.6] (and such) check-in: f3988b211a user: hypnotoad tags: pooryorick
2018-12-06
22:46
Rolled oometa back to the release version check-in: eb80bb87f0 user: hypnotoad tags: hypnotoad
2018-12-03
15:17
Closing a fork check-in: 627347c712 user: hypnotoad tags: pooryorick
2018-11-17
17:06
Pulling new versions of clay, practcl, dicttol, cron, and tool from the hypnotoad branch. Clay and tool are now build as standalone modules with their own dedicated copies of support code. Clay's embedded software fits inside of the clay namespace. Tool still spreads its seeds all over the global namespace to presever backward compadiblity with older version. Reminder: Clay is the successor to tool. If you are starting new development, you should use clay instead of Tool. Tool has some design limitations and a rather impolite implementation. It should be considered deprecated... as much as anything in tcllib is allowed to be deprectated. Tool is being maintained in its present state to support the Integrated Recoverability Model until its developers get a chance to port Taolib to Clay. check-in: e397dc9470 user: hypnotoad tags: pooryorick
2018-10-11
06:02
Revised the rules for clay ancestry, and adjusted tests based on some edge cases encountered in the clay game framework check-in: 1a248d8dc5 user: hypnotoad tags: hypnotoad
2018-09-27
18:55
New versions of clay, oometa, dicttool, and tool. Refactored all three packages to allow existing tool libraries to leverage the clay framework without having to participate in the clay framework. Fixed a lot of hairy issues dealing with the opposite ways in which oo::meta and dicttool::merge/clay approach merging dicts. All tests now pass. Some esoteric tests in tool have been removed. The answers they were producing in the past were a shade of wrong, we were just documenting the wrongness. The major change for tool 0.8 is that it is aware of clay, and it now utilizes the same metadata structure elements as an equilent clay class/object. We are just preserving the notation. Tool objects now re-build their ensembles on mixin using an adapted vesion of the facilities from clay. An object should be able to inherit ancestors from either and still work perfectly. (Though I really should put some tests together to demonstrate that...) Eliminiated dicttool::canonical. We really only need to know where a value is going to be stored in the end. check-in: 0b56b6e8d4 user: hypnotoad tags: hypnotoad
2018-09-24
20:41
Closing a fork, re-rebuilding docs check-in: e75e5dfaaa user: hypnotoad tags: pooryorick
20:01
Pulling in more changes from hypnotoad check-in: 46bbf002fe user: hypnotoad tags: pooryorick
18:13
Update the ldap branch to latest. check-in: db19a51e4c user: andreask tags: ldap-60160205fe-tls
2018-09-21
15:50
Added a "dget" method to the oo::class and oo::object clay ensembles to provide unfiltered access to the clay structure for internal operations. Clarified that get will always return a sanitized value. Carried through the logical change to all of the affected modules. Removed the GET method from the ::oo::class clay ensemble Added more tests to check for problems I encountered along the way Removed the is_branch method from the global dict ensemble. It's functions are now performed by ::dicttool::is_branch Removed the rmerge method from the global dict ensemble. It's functions are now performed by ::dicttool::merge Removed the sanitize method from the global dict ensemble. It's functions are now performed by ::dicttool::sanitize Removed a second non-working implementation for ::dicttool::merge that had snuck into the code, but was never being exercised Removed acceptance of the . 1 entry for tests that were modified in the last checkin check-in: e18d70c90b user: hypnotoad tags: hypnotoad
11:39
oometa and clay now use a common storage arrangement that does not rely on altering the names of the branch fields. We now insert an entry for dot (.) into every branch eligable for merging. Clay now utilizes dicttool rather that do its own re-invention of many if its features. dicttool now builds as a clay style module All clay and tool language macros are now savvy about the extra . entry in the clay dictionary. Added a ::tcl::dict::is_branch procedure to the dict ensemble with the combined rules of clay and oometa. Added a ::tcl::dict::santize to remove . entries from output Combined the implementations of clay's dictmerge and dicttools' dict rmerge into a common implementaion: dict rmerge / dicttool::dictmerge httpd::server now uses the builtin instrospection function clay mixinmap rather than try to directly access the data structure itself. The table of mixins is now stored in .mixin The table of delegates is now stored in .delegate check-in: 196e093f6f user: hypnotoad tags: hypnotoad
2018-09-19
14:20
Pulling in latest versions of clay, httpd, and practcl from the hypnotoad branch check-in: 9f6fd773b3 user: hypnotoad tags: pooryorick
2018-08-28
14:12
Pulling changes from trunk check-in: c057f36dc1 user: hypnotoad tags: hypnotoad
03:29
Series of documentation fixes for problems caught by the experimental doctools parser written as large Marpa/Tcl example. - Removed many superfluous closing brackets. Some converted to proper [rb] markup. - Removed bad cross-references introduced by [c6b17331c9d12697] several years ago. - Removed several bad [para]graph markers placed before the first item of the enclosing list. Regenerated the embedded docs. check-in: 3c9d4bcd85 user: aku tags: pooryorick
2018-07-11
23:32
Reverting Tool back to it's prior state. Retrofitting all of the plumbing in Tao/Tk (and IRM) to use the new Clay framework is time prohibitive at the moment. With Clay interactions restricted to a dedicated variable name and a dedicated method ensemble, object systems are free to mix Clay, Tool, and Tao code. The developer just needs to be aware that the properties from tool/oometa will be invisible to clay and vice verse. At this point all future development in Tcllib will the clay based, with Tool remaining for API stability. check-in: 6ceed53d65 user: hypnotoad tags: hypnotoad
17:28
Condensing all clay framework interactions to the clay ensemble, and a single method "Evolve" which is called when the mixinmap changes. For clay framework objects, this Evolve method rebuilds the method ensembles. For standard OO objects, it does nothing. check-in: dd1a2e2be4 user: hypnotoad tags: hypnotoad
2018-07-09
16:25
Introducting a lower-footprint alternative to the tool framework: clay. Clay uses simpler rules more strictly enforced. It also resolves the long running issues caused by having to mark leaves by, instead, marking branches. Revamped the httpd package to utilize clay. Introduced a new version of tool which builds on the clay infrastructure instead of using oo::meta. oo::meta should be considered dead at this point. check-in: 8b5d471156 user: hypnotoad tags: hypnotoad
2018-02-19
19:50
Pulling files from the release check-in: c043be9248 user: hypnotoad tags: hypnotoad
2018-02-17
05:13
Tcllib 1.19 Release merged into Trunk. check-in: c78b1cfefe user: aku tags: trunk
04:49
Merged latest and last fixes from hypnotoad branch, for this release cycle. Regenerated docs. check-in: 540d616e21 user: aku tags: tcllib-1-19-rc
2018-02-14
10:43
Updating documentation for oometa, httpd, and tool check-in: 8a048124ae user: hypnotoad tags: hypnotoad
2018-01-22
20:06
oometa / oo::option - <B> - Fix missing version bump check-in: d9ebf11f97 user: aku tags: tcllib-1-19-rc
2018-01-08
20:39
Add a new package math::PCA for principal components analysis check-in: 2c24d9d9c1 user: arjenmarkus tags: trunk
2017-11-01
22:18
Pulling changes from trunk check-in: 1db8e05b30 user: hypnotoad tags: hypnotoad
2017-10-31
22:53
Fix Tcl requirements and testsuite constraints for packages `oo::meta` and `oo::option`. check-in: 8f0097e970 user: aku tags: trunk
2016-12-27
20:36
Added a "cget" to the oo::meta::info command to replace the "property" method that was eliminated check-in: 7ec21f206b user: hypnotoad tags: trunk
2016-10-19
12:31
Added checks in oometa to prevent errors for classes that define no metadata Added better handling of ensembles for cases of mixins and morphs Added an automatic rebuild of metadata prior to building dynamic methods for a class Added tests for these new behaviors in tool check-in: 6cda9ff384 user: hypnotoad tags: trunk
2016-10-18
15:02
Added checks in oometa to prevent errors for classes that define no metadata Added better handling of ensembles for cases of mixins and morphs Added an automatic rebuild of metadata prior to building dynamic methods for a class Added tests for these new behaviors in tool check-in: 592f264a47 user: tne tags: odie
2016-10-17
16:44
Cron: Added error handling OOdialect: Fixed tabs and indentation (no code change) oometa: Added a mechanism for frameworks to intercept and detect when the metadata for a class has changed tool: Delays ensemble creation until object creation. Utilizes the new metadata modified method from oometa to invalidate the method ensembles for classed and their decendents. check-in: 182b1361cf user: hypnotoad tags: trunk
16:36
Cron: Added error handling OOdialect: Fixed tabs and indentation (no code change) oometa: Added a mechanism for frameworks to intercept and detect when the metadata for a class has changed tool: Delays ensemble creation until object creation. Utilizes the new metadata modified method from oometa to invalidate the method ensembles for classed and their decendents. check-in: 9e1225edc2 user: tne tags: trunk
16:33
Bumped oometa to version 0.7 Added a new hook to notify dialects that a class' metadata has changed Bumped tool to version 0.6 Added a procedure to intercept calls from oometa's new "rebuild" command, and signal that a class needs to rebuild it's ensemble methods. Added a new family of procedures to be executed when a new tool object is instantiated. On object startup, every object checks to see if they have a valid method ensemble. If not, it triggers a rebuild. This replaces the prior scheme where ensembles were built on response to tool::define check-in: 76c9fac30f user: tne tags: odie
2016-10-06
04:47
Merged trunk, and regenerated documentation. Closed-Leaf check-in: 6caef9746a user: aku tags: pt-nx-ssoberni
2016-09-29
19:32
Pulling changes from odie 1) Fixed the handling of the myaddr argument in the httpd example 2) Added the concept of compositing the metadata from multiple classes on a per-object basis to oometa 3) Bumped oometa to 0.6 4) Fixed a bug in tool that was causing the UUID seed to always initialize to empty string 5) Added a workaround for occasionally inconsitent cpu activity results from TWAPI in nettool::platform 6) Changed line breaks in the httpd.tcl example check-in: 8b2744c208 user: hypnotoad tags: trunk
19:24
Updated the regression tests for oometa Added a new concept for oometa: mixins. This allows an object to construct a metadata picture that is the composite of multiple classes. Bumped oometa to version 0.6 check-in: 05045cb46b user: tne tags: odie
2016-05-25
08:04
Pulling changes from odie branch: * Updates to Practcl * Fixes for cases where TWAPI emits a null in nettool * Renamed the nns_cluster package udpcluster, and placed it in its own module. (It has nothing in common with NNS anymore) * oometa: Metaclasses are evaluated dead last in ancestry trees. * oometa: The table of dirty classes to be regenrated was never cleared (and this values were never cached) * oometa: Fixed the test case script * tool: Deprecated the property method * tool: Core classes now de-emphasize ensembles. And when provided they are just public wrappers around private methods * tool: Update the test case script * oodialect: The metaclasses generated by oodialect now register themselves with oometa check-in: 6cf2d2756e user: hypnotoad tags: trunk
2016-05-24
20:13
Fixed a structural/logical/philosphical goof with oo::meta Tool's config ensemble now grounds itself on private methods, exposed via a public ensemble. This allows for easier next'ing and chaining internally. (And it prevents screw ups in oo::meta from affecting that core behavior...) Bumped the version for both oometa and tool check-in: 828cc137e7 user: hypnotoad tags: odie