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/oodialect/*'

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
2021-04-30
12:12
Merge trunk. check-in: e535000f3e user: pooryorick tags: pooryorick
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
2018-12-03
15:19
Adding in the new wcswidth extension to textutil Bug fixes for clay and oodialect. check-in: 996df0b7c9 user: hypnotoad tags: pooryorick
15:17
Closing a fork check-in: 627347c712 user: hypnotoad tags: pooryorick
2018-11-30
21:38
Fix to move oo::dialect tests out of the global namespace check-in: b977e9d4f1 user: hypnotoad tags: hypnotoad
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-23
17:04
Adapted oodialect and clay to utilize tip470 if the feature is available in the core check-in: a3a199d385 user: hypnotoad tags: hypnotoad
2018-09-24
18:13
Update the ldap branch to latest. check-in: db19a51e4c user: andreask tags: ldap-60160205fe-tls
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-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
2018-02-08
05:19
Merged "mixing"-branch `tcllib-1-19-rc-mix-hypnotoad-f91bd1308c` into the release. Updated READMEs and generated documentation. check-in: 5addaf1406 user: aku tags: tcllib-1-19-rc
2018-02-07
19:45
Merged [hypnotoad] commit [f91bd1308c] with release work and fixed it up (conflict resolution, missing bumps). Placed into a new "mixing"-branch which can be used as starting point for further fixes if necessary, as per results of a testsuite run. Or committed to the release. Closed-Leaf check-in: df153cb3ea user: aku tags: tcllib-1-19-rc-mix-hypnotoad-f91bd1308c
2018-02-02
11:36
Pulling new oodialect from Taolib check-in: 149d7e5828 user: hypnotoad tags: hypnotoad
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
14:13
Fixed indentation in the source code. No functional changes check-in: dee02101fb 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
17:23
Arranged for metaclasses generated by oodialect to register themselves as core classes in oometa check-in: 7cb6941ec8 user: hypnotoad tags: odie
2016-02-04
09:47
Pulling updates from Trunk check-in: c5cf99e7b8 user: hypnotoad tags: odie
05:32
Remerge the revisions moved aside for the release. check-in: 5a936be902 user: aku tags: trunk
05:14
Tcllib 1.18 Release check-in: c272ee3410 user: aku tags: trunk, release, tcllib-1-18
2016-02-03
03:32
Pulling in the new "practcl" module from the odie branch check-in: f1eeaf6396 user: hypnotoad tags: skip-and-hop
2016-01-25
13:37
Adding a "package require TclOO" to the top of oo::dialect. Out of an abundance of caution. check-in: b6aa65f4a3 user: hypnotoad tags: odie
2016-01-24
13:18
Merged with trunk. Tweaked manpage metadata. Leaf check-in: e958f2695b user: lars_h tags: numtheory
2016-01-14
06:05
oo::dialect, oo::util, tool - Fixed testsuite setup broken by assumption about tcllib directory name, and not following the general format. check-in: 29a12d4bd8 user: aku tags: tcllib-1-18-rc
2015-12-17
11:22
Pulled changes from the odie branch: Examples: * Removed the --baseurl from the example fossil launcher Nettool: * the build_services.tcl tool in nettool no longer calls for the non-existant package listutil * A reimplmentation of cluster::sleep in the nns_cluster package. oo::dialect: * Improvements and fixes to namespace handing in oo::dialect * Improved cross-framework handling of class aliases and canonical names * Added a test suite for oo::dialect oo::meta: * Added a function to poll only data specificly defined by a class (and not its ancestors) * Fixed a goof that was causing core_class data to not be included in the gestalt tool: * Method ensembles are only built for classes which have modified one of the submethods. Other classes will get them for free through inheritance. And this prevents a primitive implementation in a mixin from overriding a more advanced version in an object's class. * Removed the locks created during the constructor * Added a -nocomplain to the unset logic in object_destroy * Replaced configure and cget with a method ensemble "config" which manages the local config dict * Options are now stored in a dict named config, instead of an array call options * Split the Functional parts of InitializePublic into a different method ClassPublicApply. ClassPublicApply can be called per-mixin, and understands the different between taking on properties of a main class vs a mixin * Added an optimization to allow a class to generate a pre-digested report of what its variables, arrays, and options are. * Added tao-style option_class handing to options. This allows an option to inherit repetitive properties from a template * TOOL no longer supports string option handling * Removed the complex bits of pipeline handling, that was really taotk specific stuff * Simplified the tool test suite New module: tool::datatype * Used by Tao and other projects * Condenses text display and input validation into an encyclopedia of object types check-in: 590f98ff56 user: hypnotoad tags: tcllib-1-18-rc
11:02
Closing an unintentional fork check-in: b553bfc67d user: hypnotoad tags: trunk
2015-12-16
15:08
Pulling fixes from the odie branch check-in: 27a122e9a2 user: hypnotoad tags: trunk
2015-12-15
23:00
Changed the options array to a config dict. There's a ton of code on Tao and IRM that rely on data being stored in dict format. (Sorry Will!) Added a "config" ensemble to manage configuration for the object. "configlist" replaced with "config merge" "configlist_triggers" replaced with "config triggers" "configure" not does rougly the same thing as "config set" "cget" is now an alias for "config get" Added a tool_datatype to manage the trandformations of basic integers, reals, vectors, and common time stamps. Stripped out the more esoteric pipeline concepts from TOOL. Those features are now in TAO, and will mark the transition point between the two frameworks. (TOOL is intended to be the 20% solution that gets 80% done.) Added option_class handling to TOOL Added tests for all of the major features thusfar. check-in: c7e410e133 user: hypnotoad tags: odie
2015-12-14
20:30
Removed a reference to listutils from the nettool/build_services.tcl script Tweaked and tightened the namespace resolution rules for oo::dialect check-in: ea04a9e8b5 user: hypnotoad tags: odie
2015-12-04
20:40
httpd module: * Moved the httpd demo files into the /example section (where it belongs.) * Removed the fossil proxy example. * Combined the form handling functions into the base class for httpd::reply * Added HTTPD cache control handling flags * Bulk file transfers no longer use blocking mode * The server dispatch method uses REQUEST_PATH instead of REQUEST_URI, as REQUEST_URI may contain extra data from a GET query * Added comments to the code * Reply objects are spawned into the server's namespace. Rather than register/unregister replies the server can simply poll what objects still exist within that namespace * Error no longer implies output * Added methods for obtaining POST and FORM data in the base httpd::reply class * Added a server string to HTTP headers * Fixed a typo that was keeping the HTTP_HOST header from being populated. * Added provisions for an IP validation check * Noted the dependency between httpd and sha1 * Added a proper test suite for the httpd module proper * The SCGI application server package has been updated to the new paradigm where replys are handed headers fully formed. * Combined the scgi_server.tcl code into the test script. oo::dialect module: * Added a provision that allows NSPACE::define to generate a new class on demand. Needed for prototyping large libraries where a developer may want to bulk reload a framework with objects in place to fix behavior. oo::meta: Removed the oometaclass package. It has been superceeded by the oo::dialect module. tool: * Code reorganization * Added the start of a manual page describing the additional language keywords, object methods, and framework concepts * tool::dynamic_methods now uses a pattern search to find any tool::dynamic_methods_* commands to run. This allows plugins to define additional dynamic_methods without having to rewrite tool::dynamic_method * Renamed the arrayobj keyword to array_ensemble * Renamed the dictobj keyword to dict_ensemble * Fixed the notification system in TOOL * Added the dependency on sha1 to tool's description * Added method ensemble handling to TOOL * Added class_method handling to TOOL * Added object registration/deregistration to the constructor/destructor handlers for TOOL * Standardized on the array "options" to store option settings. * Added an options_canonical array to store aliases for options * The validate-command of an option now rewrite the value, and reports a problem by throwing an error check-in: 88f9afb392 user: hypnotoad tags: trunk
2015-12-03
00:48
httpd module: * Fixed the test suite for httpd * Added tests for the httpd module * httpd now utilizes non-blocking I/O for bulk transfers * Brought the SCGI application module up to date with API changes * Added a validate IP check * Condensed form handling into the base httpd::reply class * Combined the code from scgi-server.tcl into the scgi.test file oometa: Removed the non-functioning oometaclass package oodialect: * The XXX::define procedure will now generate a class if one was not already present. This is needed for projects like IRM which may need to reload entire libraries of code (without destroying the objects implementing them) tool: * Fixed notification handling * Created a notification on object destruction * Added support for method ensembles * Added support for inheritable class methods * Added a "package require sha1" to the main TOOL bootloader check-in: 7491e48205 user: hypnotoad tags: odie
2015-11-24
15:26
Updated to latest trunk Closed-Leaf check-in: 0f5de54386 user: aku tags: huddle-a753cade83
2015-11-20
14:38
Merged changes from trunk. Added oodialog back into the code base (no idea how it got removed) Adding back in the httpwget module Added a dispatcher to the httpd package which would be appropriate for more than a trivial "hello world" system. check-in: f9c3483b2d user: hypnotoad tags: odie
2015-11-12
03:44
oo::meta Bug fix for oo::meta. It now has facilities to create the meta variable on the fly if we are in an object which was uncouth enough to not initialize it yet. tool: Added a "replace" subcommand for ensembles built by the dictobj keyword oodialect: A new implementation of oo::dialect, based on contributions and feedback from Donal K. Fellow's httpd: Reduced the difference between httpd reply handlers and scgi reply handlers Added facilities for all reply handlers to be able to serve file content Added a dedicated ensemble for reply_headers. check-in: 5654b29184 user: hypnotoad tags: trunk
03:35
Added facilities for web pages to return a file instead of a dynamic buffer. Eliminted the special "output" method for SCGI handlers. In truth, the only difference was in the format of the first line, and I put together an "EncodeStatus" method which sorts that out. We now change the translation mode of the channel during output to binary. I was getting strange line break issues on the Mac without it. Fixed OO::dialect such that Alias uses the same canonical mapping function as superclass. check-in: d4d5ecec27 user: hypnotoad tags: odie
2015-11-11
23:56
Bumped the version or oo::dialect. Added copyright attribution for DKF check-in: 3279fccef5 user: hypnotoad tags: odie
22:53
Modified oodialect based on feedback and contributed code from Donal K Fellows check-in: 0081f085be user: hypnotoad tags: odie
2015-11-10
21:20
Merging in changes from trunk check-in: 72130f2a57 user: hypnotoad tags: odie
21:18
Fixed how code snippets are marked up. They were using "valid" markdown, but not a variety Fossil understood. Simplified the option keyword for TOOL check-in: dd09258332 user: hypnotoad tags: trunk
19:52
Added back in an implementation of the TOOL framework/dialect Fixes to restore functionality to the tool::httpd and scgi::* packages check-in: 02f6147b07 user: hypnotoad tags: trunk
16:47
Added markdown documentation for dictool, oo::meta, and oo::dialect Minor bug fixes to oo::meta Fixed a goof in oo::dialect that was causing the XX::object created by the template to load YYY::class as a parent instead of YYY::object check-in: b64f96e053 user: hypnotoad tags: trunk
16:45
Bug fix to oo::meta and oo::dialect check-in: e2e215a5f3 user: hypnotoad tags: odie
2015-11-06
19:30
Added markdown documentation for oo::dialect and oo::meta check-in: a29f3952bd user: hypnotoad tags: odie
17:04
Adding the following new packages: dicttool oo::dialect Moving oo::meta to its own module Updating the following packages: cron nns oo::meta check-in: a0f661a93b user: hypnotoad tags: trunk
15:51
Fixed a typo in the oo::meta package More revisions to the oo::dialect package check-in: 4c1cf737bf user: hypnotoad tags: odie