ChangeLog for plainstruct.fs and plainstruct-test.fs ---------------------------------------------------- Unattributed changes are by David N. Williams. Last revision dates in source files may reflect cosmetic changes not recorded here. Version 1.0.5 22Aug21 * Removed GFORTH conditional in plainstruct.fs in favor of individual [UNDEFINED] conditionals. * Revised plainstruct-test.fs to use ttester-xf. 24Aug21 * Removed obsolete S" FLOATING-EXT" ENVIRONMENT? in favor of test for F@. * Revised /STRUCT to remove trailing structure alignment. This was a significant conceptual error. * Made SF, DF, and QF words and MAXALIGNED conditional on existence of SFALIGNED, DFALIGNED, and QFALIGNED. * Adjusted tests for above changes. * Made MAXALIGNMENT in tests conditional on existence of DFALIGNED, and QFALIGNED. 25Aug21 * Documented absence of trailing alignment. Version 1.0.4 7Jul10 * Removed USE-STATE-SMART-FIELDS and state-smart version of +FIELD. * Added ]&, for explicit early binding without state smartness. * Added: MAKE-STRUCT: MAKE-IMM-STRUCT: MAKE-FSTRUCT: MAKE-IMM-FSTRUCT: MAXALIGN MAXALIGNED FSTRUCTFIELD: * Added tests for 2's complement and 2^n alignment, assumed by MAXALIGNED. * Added GFORTH conditional. 9Jul10 * Simplified MAXALIGNED, idea borrowed from Andrew Haley. 4Aug10 * Updated ANSI color support in plainstruct-test.fs. Version 1.0.3 20Jun10 * Added STRUCTFIELD:, with tests. * Revised stack comments to use a-offset, fa-offset, sfa-offset, dfa-offset, as appropriate. * Added compiled access tests, missing for some fields. 21Jun10 * Made the fp structure instance in plainstruct-test.fs explicitly DFALIGNED, because CREATE is not required to do that. Version 1.0.2 16Jun10 * Reverted to the reference implementation of +FIELD as default, with the optimizing version selectable by external definition of the constant USE-STATE-SMART-FIELDS with value TRUE. Version 1.0.1 11Jun10 * Revised +FIELD to optimize compilation of field offset words, based on the approach in Hugh Aguilar's novice forth package. 12Jun10 * Added tests: STRUCT /STRUCT: +FIELD 13Jun10 * Renamed plainstruct-200x.fs as plainstruct.fs. * Fixed alignment omission in 2FIELD: and SFIELD:. * Separated tests into plainstruct-test.fs. * Added tests: FIELD: CFIELD: FIELD: 2FIELD: SFIELD: FFIELD: SFFIELD: DFFIELD: * Revised conditional fp compilation. * Revised comments. Version 1.0.0 1Aug08 * Renamed as plainstruct-200x.fs. * Modified names to conform to Forth 200x structure proposal. * Added from 200x proposal: FFIELD: SFFIELD: DFFIELD: 25Apr09 * Fixed stack picture for 2FIELD: and SFIELD:, and removed extra +. Version 0.8.1 21Sep02 * Added comment about need to terminate structure termination. 1Aug08 * Further changes frozen, switching to plainstruct-200x.fs. Version 0.8.0 24Aug02 * Original version start. 26Aug02 * Mitch Bradley attribution. * Added uncommentable field-defining shorthand.