Tcl Library Source Code

View Ticket
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.
Ticket UUID: 31868eeaff873109c7a15fd94c942c81c857dc15
Title: Consolidate (duplicated) utility packages
Type: RFE Version:
Submitter: aku Created on: 2013-12-17 22:36:50
Subsystem: (unused) Assigned To: aku
Priority: 7 High Severity: Important
Status: Closed Last Modified: 2019-04-19 17:05:11
Resolution: Fixed Closed By: aku
    Closed on: 2019-04-19 17:05:11
The modules 'doctools' and 'pt' have duplicated utility packages.

- doctools::paths  / paths         --> Simple path mgmt --> fileutil
- doctools::config / configuration --> array as object. Remove?
- doctools::text   / text::write   --> text generation utils --> textutil

The module 'doctools' and 'pt' contain utility packages which do not really belong to them, but other modules.

- text::write    --> textutil
- char           --> textutil
- doctools::html --> textutil, see doctools::text (foundation)
- doctools::text --> textutil

Crosscheck with html package
User Comments: aku added on 2019-04-19 17:05:11:
Merged into trunk with commit [788d248407].

aku added on 2019-04-19 04:06:26:

Implemented compat handling in commit [5186a0f24b].

Not moving `char`.

This completes the work on this ticket, except for merging back into trunk.

aku added on 2019-04-18 06:18:15:
Still mulling over moving `char`.

Also mulling over compatibility handling:

(1) Create chain packages under the old names which provide the old interface using the new packages.

(2) Or create placeholder packages under the old names which error on use and refer the user to the new names.

(3) Staged deprecation: Start with option 1 (next release), release after that switch to option 2, release beyond that remove the old packages entirely.

Liking option (3) best so far.

aku added on 2019-04-18 06:12:52:

Consolidated `doctools::config`, `configuration` (pt) as `struct::map`.

Commit [d7c72d4825] continues branch `ak-31868eeaff`.

aku added on 2019-04-17 17:17:50:
Rejecting consolidation of 
- doctools::text   / text::write   --> text generation utils --> textutil

While both packages are text writer support each is very much geared towards the context in which they are used (doctools, pt), with pretty much no commonalities in API and internals.

aku added on 2019-04-17 06:31:48:

Consolidated `doctools::paths`, `paths` (pt) as `fileutil::paths`.

Commit [d843b2df15] begins branch `ak-31868eeaff`.