4 Jan 1999: 'substitution' command is not Unicode-aware; substitution rmnbsp [list \xA0 " "] rmnbsp "\xA0." does not work: the arguments to the definition command end up UTF-encoded, while the arguments to the instance command are not. 24 Aug 1999: Cost: Multiple versions of Cost (2.1, 2.2) don't like to live together on the same system (pkgIndex.tcl, 'set COSTLIB ...') (8 Feb 2000: Should be sort-of-fixed now) KNOWN BUGS IN XML SUPPORT: [26 Jun 1999] I've only gotten as far as integrating EXPAT and adding the [loadxml] command; it's largely untested so far. Problems that I know about: + Does not handle external entities at all; + Does not handle Unicode at all (this should be easy to do under Tcl 8.1, I just haven't learned enough about I18N yet) + XML is case-sensitive, whereas the Cost query language is case-insensitive in several places; need to make sure it's doing the right thing. Under Windows: $COSTPATH should be ';'-separated, not ':'-separated. Ought (?) to check registry instead of relying on envars. Biggest problem: Cost is way too damn hard to compile and install. [24 Jun 1999] Should be a bit better now. [4 Feb 1999] Errors in parse_query() should go to Tcl_Interp result, not stderr. [9 Nov 1998] If sgmls encounters too many errors (esp. if it can't find the DTD), it seems to produce bad ESIS on stdout. This hopelessly confuses rdsgmls.c, and can cause a crash. Need to robustify rdsgmls. [30 May 1996] Reentrancy problem with 'loadsgmls' -- loading a new document while in the middle of a query, event handler, or other Cost primitive can crash the program. [24 Jun 1999] Fixed, sort of. Cost now never frees the old document. There are a few (rather large) memory leaks, but none are disastrous for most applications. In particular, loading a second or subsequent SGML document does not completely free earlier ones. [24 Jun 1999: This is now a feature :-(] Assumes NAMECASE GENERAL YES ENTITY NO and an 8-bit document character set. Treats "record-end" characters as "newline" characters. [26 Sep 1998] This is probably not a bug in Cost. Does not distinguish SDATA entity references in attribute values. SUBDOC support is a little shaky. Does not correctly keep track of entities in subdocuments. Only supports QUANTITY NAMELEN 8000 -- default: 8 -- LITLEN 8000 -- default: 240 -- PILEN 8000 -- default: 240 -- (8000 is an approximate value.) Also, more than ~8Kbytes of contiguous character data with no intervening record-ends or subelements will crash Cost (there is no QUANTITY setting for this). Other quantities and all CAPACITYs are limited by available memory.