[fish development history] n : new addition m : modification r : removal d : documentation change ? : unclassified ! : comment pre-0.1.x history removed as it is of little value (mainly prototyping and TextEdit 2.x development ) - useless as most feature didn't work consistently. Code bore little resemblance to 0.1.0+ either. 0.0.z are alpha systems. 0.y.z are beta systems. x.0.0 are release systems. x.y.0 are release update systems (usually bug fixes) x.y.z are release update systems (usually late alpha / early beta unless otherwise stated). Letters following system revision numbers are simply trackers for interim (within same revision) builds - usually debugging builds (without new features or novel code). fish 0.1.0g ----------- m Initialiser routines now only set %[lsivar1] and then pass to the appropriate parser (on/off) n{Mutation routines completed. { = Mutates %[lsivar1] using %[lsivar1]ON/OFF as appropriate. m{Substantial function revisions have been made for 0.1.0g { = Mutation routines internal to parser rather than separate functions. { = Parser sets %[lsivar4] from %[lsivar1] using two interims %[lsivar2] and %[lsivar3] { = Parser then passes to do_ functions - these use %[lsivar4] to perform actions. { = Function added to cleanup all the (lsivar)s - called in the parser and do_ functions on completion. m Debug information moved to parser functions. m{TextEdit updated to 2.2l { = TextEdit 2.1l introduced new escape codes: { \~ acts as ; { = TextEdit 2.2l Build 2 introduced new escape codes: { \= acts as " { \& acts as * { = TextEdit 2.2l Build 4 worked around "" problems with mzScript (see fish.txt) with a syntax change: { @ replaces " in all fields passed to TextEdit m Fixed a number of syntax issues in parser with string enclosures being handled incorrectly. m Fixed a number of debug variable dump syntax issues where string enclosure collisions were causing problems. n{Test routine suite added into parser.rc { = Checks on/off handling { = Checks mutation routines { = Dumps variable defs to lde-debug.txt at each step. d Documentation added. r Stripped out obsolete testing routines following the introduction of the new test suite. m All debugging code is currently active in the parser - lde-debug.txt is the target & could get quite big! ! Testing robustness of TextEdit 2.2l ! Trial code in 3.8 dev build of LDE(X) - some issues are rearing their heads. ! Test suite has been run and results -> 100% pass rate. . ! VarDump routine not working, though. ! Moving to a merged test suite to move toward the existing parser structure in 0.1.1 fish 0.1.1a ----------- m{Modified debug behaviour to report "%[lsivar2]" "%[lsivar3]" instead of %[lsivar4] { Old use of %[lsivar4] caused only search string to be dumped in debug mode. { @%[lsivar2] %[lsivar3]@ == %[lsivar4] m{Modified code layout to separate out engine from test and do functions. { Test code is self-contained from the main engine now. m Modified section header comments to make them easier to find in the code. n{New test2 suite added { Contains equivalents of parser functions in test form. { Call with !do_tests2 { Test1 suite has been retained & test2 suite is found later in file. m Fixed dump routine - had *Script exec rather than *Script bang as first line. m Pointing debug output to fish-debug.txt rather than lde-debug.txt - preempting problems that could arise on integration with LDE(X) or alfred. m Modified debug behaviour to report slightly clearer information than before. ! Continuing robustness evaluations for all areas. ! New test suite has been run and shows 100% success rate. fish 0.1.1b ----------- n{New test3 suite added { Uses same structure as test2 suite, but now using a single file target throughout. { -on function sets ()ON 'on' from 'off' & also handles mutation processing { -on function sets ()OFF 'off' from 'on' & also handles mutation processing { -off function sets ()OFF 'on' from 'off' & also handles mutation processing { -off function sets ()ON 'off' from 'on' & also handles mutation processing r Removed old functions - will restore with the test code system to fix the bugs in there. m %[lsivar4] cannot be dumped due to presence of multiple @@ enclosures - so debug dump now reconstructs this string with @%[lsivar2] %[lsivar3]@ ! Most comprehensive test that has so far been performed. ! Appears to be working 100% correctly. ! Addendum - fish 0.1.1b has been field tested with LDE(X)3.76 and has passed the 1024x768->1280x1024 test 100% fish 0.1.1c ----------- m Renamed lsivar to fishvar - legacy hangover. m Moved the cleanup calls out from the on/off routines to a separate !end_clean call. { Currently not called as debugging file clearing issues reported from the field test. n Added a series of safety checks for fishvar1 content to the !parser_do call. { Prevents any functions working when fishvar1 is empty { Possible cause of serious damage as all file contents would be erased. { Writes an event to the fish-debug.txt file if fishvar1 check fails (i.e. fishvar1 either doesn't exist or is empty) d Updated documentation to discuss new checks and update the naming conventions. ! Field reports mention file wiping problems in 0.1.1b. { Lab tests didn't show any problems so it's a little subtle & may be awkward to fix quickly. { Added safety checks and disabled cleanup calls for diagnosis. { 1280x1024<>1024x768 routines still work with no discernable differences to the rest that may explain the troubles. ! Test3 passed 100% { Bringing in LDE(X)4 files to assess problems within dedicated new test environment. fish 0.1.1d ----------- n Added test4 suite { Uses identical target file to test3, but uses an init call to set the fishvar1 variable. n Added in LDE(X)4 files to try and trace problems. n Added test5 suite { Uses fish-files.rc from LDE(X)4 and runs against all these files. { Uses same structure as test4 with init call to set fishvar1. { Works using !parser_do from the fish engine, rather than from an internal test function. m Fixed test naming collisions. m Fixed missing *Script ~bang in the !parser_do function (bug introduced in 0.1.1c / LDE(X)4 version) { Caused the looping within the 'off' mutation handling. m Added ;DEBUG to end of all !textappend lines processing fish-debug.txt ! Test4 was designed to trace whether the fishvar1 variable was being lost somewhere in the system. { Passed 100% with no loss of content. ! Test5 was designed to use as much 'real' code as possible to discover if there was a glitch in the engine somewhere. { Running Test5 caused fish-debug.txt to keep showing repeating blocks of 'off' mutation output - 40 KB. { Caused by the missing *Script ~bang code mentioned above. { This combined with no actual file manipulation being performed (due to looping). { Eliminated the !parser-debug_dumpvars command to prevent output and all manipulation then worked 100%. { Re-enabled following the discovery of the missing *Script ~bang code. ! Following fix to the *Script ~bang issue, Test5 has completed 100% successfully. ! fish 0.1.1d now implemented in LDE(X)4 alpha 3. ! fish 0.1.1d has problems with threading - TURN OFF THREADING ON ALL COMPONENTS THAT WILL CALL FISH FILE HANDLES. fish 0.1.1d (Release 2) ----------- m Documentation has been substantially re-written to make it easier to understand { Using HTML and standard leaf CSS template. m TextEdit updated to 2.2l Build 6. m LiteStep core files updated to 28th August 2001 build. fish 0.1.2 ---------- m Updated mzScript to 0.8 { Seems to work correctly with threading enabled (with TextEdit 2.2l Build 6) m Striped out the majority of the file references in fish-files.rc for clarity. n Added testfile.rc to allow confidence testing as per the 4 tests from fish dev work. m Renamed functions to identify as native LS scripting functions (parser_on, etc.) to (mzparser_on, etc.) fish 0.1.3 ---------- m Old _on and _off functions renamed to _on_body and _off_body respectively. { Called by new _on and _off functions n New _on and _off functions now provide the warning handling for when fish is busy, calling the _body functions as required. { Warning system being used is completely open of fish - pick whatever you prefer (including nothing!) m TextEdit 2.x and mzScript now loaded LAST - and always should be to prevent problems! m TextEdit 2.x now loaded BEFORE mzScript as some problems were evident during development of the therapy system in LDE(X)5. fish 0.1.3a ----------- m TextEdit updated to 2.3l. { Changed escape code for * to \> { Compiled as a multithreaded module. m mzScript updated to 0.8l { Compiled as a multithreaded module. fish 0.1.3b ----------- m DEBUG handling is now enabled using LiteStep EVar - if DEBUG exists, the operations will be performed. { Should allow (in the correct environment, as demonstrated in LDE(X)5) DEBUG to be isolated to certain conditions. fish 0.1.3c ----------- n Now supports an !updatehost call to update the host system. fish 0.1.3d ----------- m Utilised new Converse dialog handling system with !closedialog calls. { Will ship Converse + example dialogs with fish in future. fish 0.1.3e ----------- m Updated to use new mzScript 0.8.6l syntax %{} rather than the older %[]. m Updated to use new TextEdit syntax activation boolean. fish 0.1.3f ----------- m Modified the cleanup code to pause for a period to allow file buffers to be cleared. fish 0.1.3g ----------- m Now hooks into the progress subsystem of gHost for feedback on actions. r All ckDialog hooks, etc. as they weren't working well. fish 0.1.4 ---------- m Updated mzScript to 0.9 (actually done earlier, but not noted until now). n Added support for arguments to the on/off functions (mzScript 0.9 required). { Still compatible with the older approaches as well. m Fixed bug in distribution code that prevented the demonstration code from working (oops) fish 0.1.4a ----------- m Updated mzScript to 0.9 jam 2 d Updated implementation documentation ? Minor internal updates to the fish engine. fish 0.1.4b ----------- m Workarounds for LiteStep 0.24.7 problems with single '$' fish 0.1.4c ----------- m Separated out match string formation into !mzparser_match ("start" / "end") { start argument sets up fishvar4 to look for front marker; end argument does opposite. { Only supports "end" and "start" - other arguments will cause the function to halt. fish 0.1.4d ----------- m Now check for $gHostHome$ rather than assuming gHost will be available for progress services. fish 0.1.4e ----------- m Updated to be compatible with textedit 2.4.12 - uses # as EOL marker and so is more comfortable working with LiteStep (see textedit docs). d Updated the documentation to make the code snippets current and the structure flow better. { Updated the FAQ to be more useful. Coming soon..... ================ Not a lot =b Further down the road..... ========================== All supplementary language support will be through independent host files. fish 0.2.0 ---------- ! New support for Python based file manipulations will be developed within this generation. ! Preparing for the new 0.25.x generation of LiteStep. fish 0.3.0 ---------- ! Proposing to add support for vbScript fish 0.4.0 ---------- ! jScript based scripting fish 0.5.0 ---------- ! Perl support. ! fish 1.0.0 will support all native scripting solutions available under LiteStep 0.25.0.