Ticket UUID: | 786509 | |||
Title: | TIP#112 Implementation | |||
Type: | Support | Version: | None | |
Submitter: | dkf | Created on: | 2003-08-11 09:11:19 | |
Subsystem: | None | Assigned To: | dkf | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2009-07-29 19:59:49 | |
Resolution: | Closed By: | dkf | ||
Closed on: | 2003-09-29 14:44:11 | |||
Description: |
This patch implements TIP #112: Ensembles See http://purl.org/tcl/tip/112.html for details Apply with 'patch -p0 <ensemble.patch' | |||
User Comments: |
dkf added on 2009-07-29 19:59:49:
IP - Comment Removed: 130.88.1.31 dkf added on 2008-11-02 18:31:35: data_type - 210894 dkf added on 2003-09-29 21:44:11: Logged In: YES user_id=79902 Patch (plus docs) applied to HEAD dkf added on 2003-09-16 05:02:37: File Deleted - 60189: File Added - 61598: ensemble.patch dkf added on 2003-09-16 05:02:36: Logged In: YES user_id=79902 Patch that implements API Revision 2.23 dkf added on 2003-08-30 04:33:39: File Deleted - 59429: File Added - 60189: ensemble.patch Logged In: YES user_id=79902 Patch that implements API Revision 2.17 dkf added on 2003-08-22 06:48:35: File Deleted - 59327: File Added - 59429: ensemble.patch Logged In: YES user_id=79902 Patch that implements API Revision 2.14 dkf added on 2003-08-21 06:00:44: File Deleted - 59320: File Added - 59327: ensemble.patch Logged In: YES user_id=79902 Patch that implements API Revision 2.9 dkf added on 2003-08-21 04:50:26: File Deleted - 59187: dkf added on 2003-08-21 04:50:25: File Added - 59320: ensemble.patch Logged In: YES user_id=79902 Another improvement. API Revision 2.8 dkf added on 2003-08-20 03:41:18: File Deleted - 59014: File Added - 59187: ensemble.patch Logged In: YES user_id=79902 New patch time. This one is supposed to implement Revision 2.5 dkf added on 2003-08-19 04:53:01: Logged In: YES user_id=79902 Current code (patchfile 59014) corresponds to Revision 2.2 of the TIP. Since I don't understand exactly what I'd do to make use of the TIP90 mechanisms in this context, I'll let someone explain that stuff a bit more first. :^) I'm still not yet 100% sure about the -command handling. I want to write some more tests before committing to a final version. I'm not sure yet about what to do about loops. Or whether a command prefix is really preferable to a script prefix for -unknown. jenglish added on 2003-08-19 03:21:07: Logged In: YES user_id=68433 Couple notes on the API -- namespace ensemble create ?cmdName? ?-option value ...? could be replaced with namespace ensemble create ?-command cmdName? ?-option value ...? since currently [namespace ensemble create -command foo] is an error ("-command is read-only"). The -unknown handler could (should?) use the TIP 90 -returncode / -returnlevel mechanism; that way the ensemble command can distinguish a TCL_CONTINUE meaning "reparse" from a TCL_CONTINUE that the resolved command returns. I'd also suggest treating anything other than a TCL_OK, TCL_CONTINUE, or TCL_RETURN return code as an "unexpected return code error". Beware infinite loops in the -unknown handler: namespace eval foo { namespace create -unknown "continue;#" } I'd prefer that the -unknown handler be a command prefix, not a script prefix. dkf added on 2003-08-18 21:21:48: Logged In: YES user_id=79902 Here's a version with a better API dkf added on 2003-08-18 21:21:01: File Deleted - 58365: File Added - 59014: ensemble.patch dkf added on 2003-08-11 16:11:19: File Added - 58365: ensemble.patch |
Attachments:
- ensemble.patch [download] added by dkf on 2003-09-16 05:02:36. [details]