Changelog for dstrings-ext.c and dstrings-ext.h. Unattributed changes are by the initial author, David N. Williams. The revision date in the source file may be more recent than the most recent date here, when only cosmetic changes have been made. Version 1.0.0 27Aug10 * Added $FSP!. 11Sep10 * Fixed runon exception message for -2054 THROW: Error: string space overflowˆstring garbage locked Apparently a gremlin in the source text. Also replaced "string space overflow" by "dstring buffer overflow". 19Sep10 * Revised $CONSTANT to copy nonext string to data space. * Replaced "char body" in the p4_MStr sructure in dstrings-ext.h with "p4_char_t body" (which is unsigned) to avoid a cast. 20Sep10 * Updated $CONSTANT spec. 29Oct10 * Fixed typo in DROP-$FRAME stack effect. Version 0.7.6 31Aug08 * Renamed CAT$@ as CAT$P@. * Added remarks deprecating changing the count field from its unsigned long default. * Revised cats so they do nothing on the empty string but drop it (in particular, they don't start a cat). 3Sep08 * Added $EXCHANGE. 4Sep08 * Revised DROP-$FRAME to nip the top frame from beneath other strings, thus removing the restriction that the string depth not be increased between $ARGS{...} and the terminating semicolon. * Rationalized some casts. 10Sep08 * Removed P4_ON_SFRAME_MISMATCH. 21Nov08 * Fixed comments for $ARGS{ to allow a string depth increase in its scope. Version 0.7.5 21Aug08 * Revised P4_PUSH_STR() to avoid left/right evaluation order dependence in *--SSP assignment, because gcc 4.0.1 does it differently. Fixed $OVER and $PICK to use the corrected macro. 22Aug08 * Renamed, adjusted labels and pronunciations: old new MPLACE (M!) SM, M,S $S>-COPY $,S CAT $+ CAT" $+" CAT` $+` S-CAT S+ PARSE-CAT PARSE-S+ Version 0.7.4 skipped Version 0.7.3 8Oct06 * Fixed comments for doc autogeneration. * Added $GC-LOCK@ and $GC-LOCK!, to dstrings.fs as well, with tests in dstrings-test.fs. * Removed ChangeLog from our archive in favor of this file as the main log. A summary will be included in the pfe ChangeLog via CVS. 26May07 * Replaced our copy of dstrings-ext.* by the pfe cvs version, which has more doc fixes. 13Aug08 * Replaced dstrings-ext.* by pfe cvs version 0.7.3 revision 1.5. 14Aug08 * Found the cvs distribution copy of trydstrings.fs to be out of date. Version 0.7.2 7Jun04 * Start synchronization with ANS Forth implementation. 10Jun04 * Changed MAX_DATA_STR to be the same as MAX_MCOUNT for long count fields, like it already is for char and short. 11Jun04 * Cosmetic changes to comments. * Changed the name S, to SM,. * Added /MCOUNT, MAX-MCOUNT 12Jun04 * Promoted $FRAME-DEPTH from debug. Renamed other debugging words to agree with dstrings.fs under-the-hood words, and rationalized labels. * Added MCOUNT@, MCOUNT!, MCOUNT, -MCOUNT. * Renamed FIND-ARG as FIND-$ARG. At some point ARGS{ was renamed as $ARGS{ -- maybe here. 13Jun04 * Rationalized some labels. * Made PARSE>S state smart. There's a problem with SEEing words that use it. 14Jun04 * Added under the hood words $POP, $PUSH-EXT, IN$BUFFER?, PARSE>$. 15Jun04 * Factored p4_mstring_place() out of p4_mstring_comma(). Question: is there a pfe DP update that checks overflow? * Found problem with GARBAGE? and flag cast. * Added PARSE-CAT. Factored p4_s_cat() out of S-CAT to implement it. Untested. 12Jul04 * Fixed bug in $! in dynamic string copy for a string stored in two variables. * Added interpretation mode for CAT" and CAT` and fixed it for PARSE-CAT. Added #$ARGS. 13Jul04 * Added TH-$ARG. Changed ARGS{ to read across lines. * Passed dstrings-test.fs and trydstrings.fs, including char and long counts. 14Jul04 * Rearranged words to be more like dstrings-words.txt. 15Jul04 * Updated dstrings-ext.h prototypes. * Added some casts to remove warnings. Added comments for "more string space" words. 16Jul04 * Renamed IN$BUFFER as IN-$BUFFER. Added /$FRAME-ITEM. 25Jul04 * Cosmetic changes, replaced remaining examples of "Forth string" by "ANS Forth string" where appropriate. 17Jul04 * Bug in the $FRAME underflow exception revealed by dstrings-test.fs, in turn revealed inadequacy in the test, and a $FRAME bug in dstrings.fs as well. All fixed. 19Jul04 * Rationalized some macro names in dstrings-ext.h. * Collapsed count size logic into a single USER-CONFIG, PFE_CASEOF_MCOUNT, and tested. * Passed dstrings-test.fs with all three count-field sizes. After changing ARGS{ to $ARGS{ in trydstrings.fs, all three passed there, too. 8Oct04 * Inserted obsolete names with pfe warning via P4_xOLD and P4_iOLD for the name changes mentioned in the summarized ChangeLog: Old New FIND-ARG FIND-$ARG ARGS{ $ARGS{ S, SM, * Modifed "Name changes" item in ChangeLog to reflect this, and changed release date there from 2004-07-19 to 2004-10-08. 7Jan05 * Absorbed Guido's adjustments for pfe-0.33.56. Version 0.6.30 18Mar03 * Fixed inverted pronunciations of GC-OFF and GC-ON. * Added ( ior) DROP after FREE in trydstrings.fs. Version 0.6.29 28Feb03 * modified files to pick up P4_VAR: * merge with Tektronix CMS.......... Version 0.6.26 27Jun02 * Fixed bug in ENDCAT so it properly leaves EMPTY$ when there is no concatenation in progress. Also fixed ENDCAT specification in dstrings-ext.c, as well as in dstrings.html (not in pfe distribution). Version 0.6.25 29May02 * Fixed bug in SEE-handling for ARGS{ words. * Promoted $GARBAGE? to the regular dstrings word list. * Renamed M" and M` to CAT" and CAT`. Much more descriptive, and Guido's SYNONYM uninhibits the user from defining shorter synonyms. * Changed C names and labels to reflect mstring (measured string) replacement for pstring (packed string) terminology. * Added conditional throw compiles (#if mcount size less than cell size) for mcount overflow on cats and Forth string copies into the string buffer. Cleaned up and consolidated USER-CONFIG's for mcount size. * Reviewed and updated in-source documentation, updated prototypes. * Revised dstrings.html and smodel.html. * Changed the default USER-CONFIG from short-counted (nominally 16-bits) to long-counted strings (nominally 32-bits). * Added $FRAME-DEPTH to debugging section. * Fixed a bug in ENDCAT revealed by testing with char-size counts. Tests with char, short, and long all work, as far as they go... Version 0.6.24 13May02 * Fixed bug in p4_collect_garbage() where a string stack scan to update forward links was omitted for dynamic strings bound to variables. Also made the link update code more efficient. * Fixed another bug in p4_collect_garbage() by moving "target = next;" at top of do-loop from inside to outside the loop. * Added $GARBAGE? in the debugging section. Maybe it should be promoted to the regular dstrings word list. * Improved trystrings.fs and renamed as trydstrings.fs. Version 0.6.23 19Mar02 * Evolved from 16Dec00.