PFE 0.33.70

-The PFE Manual
  old manual / (book)
-License (LGPL)  
-Wordsets / (book)
-Functions .. (book)
-Dp of ANS Forth
-The 4thTutor
-   Old Wordsets
-   Old Words List

Forth Links
* Forth Repository
* Taygeta Compilation
* TinyBoot FirmWare
* FiCL, Free Forth
* Research Vienna
* Research Bournemouth
* zForth WebRing

Other Links
* Tektronix/MPT
* Forth Org. (FIG)
* Forth Inc.
* MPE Ltd. Forths
* SF Win32Forth
* PD Win32Forth
* Neil Bawd


generated 2008-12-22
(C) Guido U. Draheim

2008-12-21  guidod  <>

    * various: completely remove bin/pfe-config (conflict with pkgconfig pfe.pc)
        which in turn revealed a number of build bugs (mostly due to pkgconfig
        to prefer pfe-uninstalled.pc when it exists in parallel with pfe.pc)
	* add "rpm" target for in-build-directory rpmbuild scheme
	* test/checkans.fs: fixing tests - need 1000 bytes buffer instead of 500
	* pfe/term-lib.c (tparm): the tparm call should have all the nine
	  extra parameters in its prototype (patch by Josh Grams)
	* pfe/core-ext.c: noname should store-csp otherwise it can make
	   for "control structure mismatch" when the noname word contains
	   some "does>" handler. (bug reported and fixed by Josh Grams)

2008-11-24  guidod  <>
   * pfe.spec - done some testing on the opensuse build service

2008-11-21  guidod  <>

	* pfe/misc-ext.c: double-free due to usage of fclose() of glic - it seems that
	    the glibc does not yield EBADF for a closed file handle but it simply dumps.
	* bug was reported by Jusha Grams on using "bye" in forth script - however this
	    is ignored in the current PFE anyway (you need to say "-q" on the commandline)

20008-10-08 guidod <>
    * header-ext.c: move DEFER words to FORTH as specified in forth200x
    * header-ext.c: move SYNONYM to FORTH as specified in forth200x and
        move the ALIAS word from chainlist-ext to header-ext
    * term-ext.c: move ekeys to FORTH as specified in forth200x

2008-09-12 <>
    * updating dstrings-ext.c as follows...
    * Revised P4_PUSH_STR() to avoid a left/right evaluation
      order side effect in *--SSP assignment, because gcc 4.0.1
      does it differently from earlier versions under Mac OS X
    * Renamed, adjusted labels and pronunciations:
    old        new
    MPLACE      (M!)
    SM,        M,S
    $S>-COPY    $,S
    CAT        $+
    CAT"        $+"
    CAT`        $+`
    S-CAT        S+
    CAT$@        CAT$P@
    * Deprecated with comments the changing of the count field
      from its default (unsigned long).
    * Revised concatenations so they do nothing on the empty
      string except drop it (in particular, they don't start a cat).
    * 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.
    * Added $EXCHANGE, whose code is a major factor in the new

2008-09-11  guidod  <>

    * pfe/environ-ext.c: there was a bug in the environment-query search
      such that it was unable to find any ENVIRONMENT word containing
      lowercase characters. This conflicts with forth200x implementation
      environment queries which are by definition lowercase.
	* pfe/header-ext.c: introduce p4_SHOW and FCode(p4_logmessage_RT) such
	  that there may be declarations in ENVIRONMENT for the value-less
	* make up entries for all the forth200x X:queries - other than expected
	  any query on them will show a notification logmessage pointing to
	  the implemented version (which would be returned by our own values).
	* pfe/header-ext.c: make synonym PFA to default to itself - so if the
	  NAME> on the target name does throw then the resulting word will
	  yield a bad-synonym-throw on the next call. 

2008-09-10  guidod  <>

	* pfe/fpnostack-ext.c + pfe/floating-ext.c: cleanup REPRESENT - only
	  use the new code using C's sprintf("%e") to get the representation. 
	* pfe/fpnostack-ext.c + pfe/floating-ext.c: use signbit(X) and fabs(X)
	   to seperate sign and value of a floating point representation (this
	   is needed to handle the different representations of "+0.0" and "-0.0")
	* pfe/floating-ext.c: use another implementation of REPRESENT that builds
	   directly on the specifics of sprintf(2) "%e" value representation.
	* pfe/ install-exec-hook should use "ln -sf" to put renamed
	   executables into $bindir - that allows reinstall (report from DNW)

2008-09-01 guidod <>
    * pfe/pfe-master.odt - the *.dbk converted to *.odt (not yet packaged)
    * pfe/pfedoc/ - writing pfe-words.odt (not yet merged to master.odt)
    * .... and extend to make pfe-wordsets.odt (again, not yet merged to master.odt)

2008-08-31 guidod <>
    * locals-ext: the p4_word_paren_local functionality would compile the code
       for enter_locals before saving away a locals name. This would conflict with
       "BL WORD COUNT (LOCAL)" where HERE is occupied with the current name buffer.
       Hence the name buffer was trashed and junk bytes saved as the local's name.
    * This was a report from David N. Williams and Anton Ertl based on discussions
       on comp.lang.forth about the questionable "{...}" locals definition syntax.
       Also it became obvious that "(LOCAL)" was immediate which it should not
       have been ever. This is correct as well and the anslocal.fs test works ok.
    * test/anslocal.4th add the test program that had revealed the problem

2008-05-25 guidod <>
    * complex-ext: make actual compilation dependent on PFE_HAVE_ISINF detected (newly added)
    * prep 33.70

2008-05-12 guidod <>
    * hpux cc fixes
    * add test64.ok for x86_64 variants
    * use "testlist:" target along with for semi-automatic *.ok pickup
    * release 0.33.69 (V_33_69)
    * oops, introduced tests SKIPS = queryapp (does not work, again)

2008-05-11 guidod <>
    * implement "./" local path resolution
    * swap diff order of test/
    * pfe/def-config.h: remove PFE_DECLARE_BLOCK/PFE_DECLARE_END macros
       the actual source files (cdecl-ext.c/signals-ext.c) define direct to { and }
      reason: solaris10 gcc 3.4.1 -std=c99 does not make an error but it still 
      issues a "warning: ISO C90 forbids mixed declarations and code"
    * fix some of those warnigns in other files (via ___/_____)
	* pfe/option-set.c: static allocated_ only when USE_THREAD_BLOCK
	* test/*.ok - make all regression tests based on *.ok templates

2008-05-11 guidod <>
    * solaris-10: MAKE=gmake CFLAGS="-lcurses --std=c99" sh configure 
    | It is invalid to compile an XPG3, XPG4, XPG4v2, or XPG5 application
    | using c99.  The same is true for POSIX.1-1990, POSIX.2-1992, POSIX.1b,
    | and POSIX.1c applications. Likewise, it is invalid to compile an XPG6
    | or a POSIX.1-2001 application with anything other than a c99 or later
    | compiler.  Therefore, we force an error in both cases.
    and therefore, -D_XOPEN_SOURCE=600 must be set (removed _XOPEN_SOURCE_EXTENDED)
    * in -std=c99 soliris10 build breaks with
    ../../pfe/../pfe/term-lib.c:1130: error: too few arguments to function `tparm'
    the reason: grep tparm.*char /usr/include/*.h
     /usr/include/term.h:    *tparm(char *, long, long, long, long, long, long, long, long, long);
     also documented in solaris10 tparm
      char *tparm(char *str, long int p1, long int p2, long int p3,
                             long int p4, long int p5, long int p6, 
                             long int p7, long int p8, long int p9);
     as well as in the opengroup Unix98 standard
   * in -std=c99 soliris10 removes strlcat from its headers if also some XOPEN
     flag has been defined - those Sun managers seem to be really mad these days.
     Try to help it out with -D__EXTENSIONS__.
   * os-setjmp.h: solaris10 defines setjmp as a macro but not sigsetjmp.
   * does not compile testmodules but the ./pfe parts are okay.
   * release 0.33.68 (V_33_38)

2008-05-10  guidod  <>
	* pfe/def-regs.h: fix p4RP unused message in sbr-arg-threading
	... now all variants should compile without any warning message (yeah)
	* rename forth200x extensions from "EXTENSION:X" to "forth200x/extension"
	  the lowercase-naming was intentional (documented in the standard)
	  and the name should easily map to an external file such that an 
	  enviornment query S" x/deferred" ENVIRONMENT? can map to REQUIRED.
	* make &10 prefix obseletion warning dependent on REDEFINED_MSG as well,
	  allows to clear out some quirks in the regression testing. 

2008-05-10 guidod <>
 * make p4_check_deprecated(xt) -> p4_check_deprecated(nfa) which allows
    again that a SYNONYM an have a deprecation before (the result of
    p4_name_from(nfa) yields the target xt and not the cfa of the nfa). 
	* pfe/forth-83-ext.c: use DEPR-loader for "><" and ">MOVE<" since
	   the message is a bit longer (not an exact synonyme available)

 * the bug ist that isatty(2) does not recognize it is being piped from "cat",
   so it does not only initialize the terminal but QUERY is going to be set
   on get_vkey which finally ends in a curses routine.
 * rebuild tests to use *.ok templates

 * add extension-query numbers for Forth200x proposals
 * add THROW codes as mandated by
 * add also SYNONYM:X althought it is just propososed (RfD).
 * add additional backslash-sequences as defined in ESCAPED-STRINGS:X,
    like \l = '\n' and '\m' = '\r\n' ('\n' is either '\n' or '\r\n').
    and \z, \t ... especially \t seems to have been forgotten so far.
 * append the ESCAPED-STRINGS:X to ZCHAR-EXT wordset where S\" is defined.
 * make rpm shows that a *.py had been forgotten
 * the new test/*.ok files were not packaged
 * make rpm has a regression error... 
 * prep 0.33.68 (not yet published)    

 * implement DEFER@ DEFER! and ACTION-OF as specified in
 * during the implemention a bug in BEHAVIOR was found (an alias
      to DEFER@) that indicates that it had not been used before.
      Therefore it can be safely removed.
 * adding but use a modified
     variant deferred-x.fs for regression testing
 * a bug was found in deferred-x regression - the p4_defer_RT was
   not working in sbr-threading as it was not using FX_USE_BODY_ADDR
   setup and FX_POP_BODY_ADDR IP-adjustment.
 * done regression across
 * release 0.33.67

2008-05-04 guidod <>
 * introduce log.diff comparison for "make check"
 * switch to test/string.test.ok for a first example
 * adding ok
 * adding
 * adding
 * introduced PREFIX_DECIMAL_OLD '&' and change PREFIX_DECIMAL '#'
    to match with forth200x number-prefixes proposal
 * adding (modified)
     and updating the test-num-prefixes output templates 
 * rename "+FIELD" to "+FIELD:" and make the old one a SYNONYM
 * deprecate "+FIELD" reserved by
 * note: because of the overlap, forth200x structures can not be implemented
     at the moment - only a future version may pick it up.
 * adding K-INSERT and K-DELETE from
 * rename K1 to K-F1 and S-K1 to K-SHIFT-F1 to be close to forth200x ekeys,
     the old names are provided as SYNONYMs (they are NOT deprecated)
 * adding EKEY>FKEY and K-SHIFT-MASK - the latter is only used to decode
     the K-SHIFT-F1 values to a K-F1 K-SHIFT-MASK OR value
 * rename REQUIRES to REQUIRE - the old is kept as a SYNONYM (not deprecated)
     that renaming conforms to
 * rename p4_required/p4_requires to p4_include_required/p4_include_require
     to make its relation p4_included more obvious in code.
 * adding
 * adding PARSE-NAME with the implementation of PARSE-WORD and adapt the test
 * rename X:FP-STACK to FP-STACK:X to be compatible with - that proposal will not
      be used but application programmers shall be supported that want to 
      test explicitly for a Forth200x extension.
2008-05-04 guidod <>
 * remove old loader from dict-comp.c
 * requires to make p4_exception_string into a proper runtime-word
   that lives now in exception-ext.
 * kill forth-signal handling from exceptn.4th and move it to forth-signal.4th,
   as a consequence "make check" will now work without any errors.

2008-05-04 guidod <>
 * the segfault at system-exit seems to be introduced by p4_name_from
   being called from outside a Forth VM context. Looking over the source
   it could not be pinpointed - probably hidden somewhere in another function.
   Instead, move out the deprecated/obsoleted checks to a seperate call of
   p4_check_deprecated(xt) and run in inside p4_interpret_find_word. This
   however makes it possible to write your own outer interpreter using
   FIND EXECUTE and COMPLE, that skips over the functionality - but such
   a thing seems to be improbable and deprecated/obsolete message will
 * introduced (CHECK-DEPRECATED) to allow user-level code to take
   advantage of this PFE deprecation mechanism.
 * rename "(DEPRECATED" to "(DEPRECATED:" - it looks better. 

2008-05-03 guidod <>
 * improve logging - replace some usages of fprintf(stderr with P4_fail
 * introduced "(DEPRECATED word message)" along with dict-comp code.
 * map USING and USING-NEW to the new variant - simply try
      "USING nonexistingfile.blk" and see what it does.
 * oops: a segfault crept in (on BYE in normal forth). 
 * bug: using PFE.execute does not work for words using BODY or CODE. The
    simplication of using a direct (*p4_to_code)() was wrong and absolutely
    not needed because p4_call maps to p4_sbr_call which is handling it correct.  

2008-05-01 guidod <>
 * fixing DOES> in sbr-threading: gcc 4.2.3 uses arg-register %eax even if it was
   allocated to a local variable. Copy the value early on and everything is ok.
 * use execution-references in code with PFX only 

2008-05-01 guidod <>
 * remove char signedness warnigns (in ZNAME-ITC only one is left (deliberately))
 * p4_match goes to str/len on target string (resolves another signedness problem)

2008-05-01 guidod <>
 * allow for -DPFE_WITH_ZNAME that will create word names as zero-terminated strings.
 * In the default mode [PFE_WITH_FFA] all name-pointers will be zstrings, therefore
   `needs zchar-ext   ' dup >name dup zcount type` will yield 'dup'
 * In compatible mode [PFE_WITH_NO_FFA] a hybrid word header is created where the
   name-pointers point to a flag-field that will also have a count-value in the
   lower bits if the name-length is below 32. However in that mode each word is also
   terminated with an additional null byte - so NAME>STRING prefers ZCOUNT instead
   of the COUNT 31 AND. As the latter is possible some old code might get along with
   it while new code could [theoretically] take advantage of dictionary names of
   unlimited length.
 * does not only change header-sub and some macros - especially FIND and the lined
   name-completion needs to be fixed. In some cases we do switch to using a POCKET
   for storing intermediate values. Effectivly this limits the maximum word name
   size to POCKET_SIZE-1 -> by default that is 255 matching the maximum COUNT but 
   it is still bigger than either 31 in compat-header-modes or 127 with FFA headers.

2008-04-30 guidod <>
 * standardize on P4_NAMELEN/P4_NAMEPTR - avoid NFACNT !

2008-04-25  guidod  <>

	* pfe/debug-ext.c (is_sbr_compile_call_to): 
	* pfe/def-sbrcode.h: on PPC, expanding the macro twice will result in doubled labels
	  so we work around that with redefining (a new macro) PFE_SBR_LABEL_(label)	

2008-04-24  guidod  <guidod@pc3>

	* pfe/floating-ext.c: mark X:FP-STACK (forth200x)

2008-04-23 _ <>
 * add pfe/os-string.h to bin/pfe-exec.c to help with x86_64

2008-04-20 _ <>
 * allow pfedoc/ to run standalone producing a forthheaderxml document
 * allow pfedoc/ to run standalone producing a forthwordsetxml document
 * create pfedoc/ - if run standalone it produces a forthmodulexml text
 * modify Makefiles for "forthxml" and "forthxmls" targets creating those xml documents

2008-04-20 _ <>
 * unless SBR-threading, show the recognized compiled words only as comment
 * tested on x86 ITC with a CODE word that calls the DUP execution

2008-04-20 _ <>
 * switch back and forth between sbr/asm in decompiling
 * Copyright update to 2008

2008-04-20 _ <>
 * bug report from DNW: multiline-comments do not work anymore.
    Caused by wrong returncode in core-sub p4_parse_word in the
     "empty:" case which should be "return 0" instead of "return 1".
     Introduced in pfe-0.33.63 and corrected for next release
 * release 0.33.66

2008-04-20 _ <>
 * debug-ext sbr-decompiling can now recognize all compiled words
     which allows to make a normal decompiler in the future.

2008-04-19 _ <>
 * debug-ext is now able to SEE-decompile sbr-threaded colon-words
 * while working on it, the assembler END-CODE was fixed to do the 
    right thing - also the TOOLS-EXT ans ASSEMBLER-EXT words for
    CODE ;CODE END-CODE are similar now. 

2008-04-19 _ <>
 * import to Eclipse
 * fix m4 macro to enable in testmodules
 * reduce warning count in sbr-threading mode

2008-04-18 _ <>
 * introduce FX_SP_ROOM/FX_SP_DROP in def-macro.h and pull down 
	all the	FX_xDROP/FX_xROOM macros to those base definitions.
 * release 0.33.65

2008-04-18 _ <>
 *  try   sh configure --with-regs=2 --with-sbr-threading
	will yield a good result on x86 with GCC 4.1... this is built
	on a completely different implementation of the sbr RP-handling
	which is not done with inline-asm anymore but instead all the
	primitives with an RP-effect will compile the RP-effect machine
	code before or after the original subroutine. The subroutine
	does simply do the rest, i.e. without modifying the RP.
 * fixed automatic addition of -fno-builtin required for newer GCC
 * -momit-leaf-framepointer and --with-args make for nice and readable
	compiled primitive machine code.

2008-04-15 _ <>
 * nuke -fomit-frame-pointer -DPFE_OMIT_FRAME_POINTER and delete all
	asm reference to %ebp on i386. It does fit well with modern
	code optimization and current GCC can not compile proper code
	when ebp is (ab)used for something different than a stackframe.

 * Krishna Myneni - update to fpnostack-ext adding both FLOATING-EXT
	and FLOATING-STACK environment query results.

 * Josh Grams - update exception-sub to print line-numbers starting
	at 1 (see also MISC-EXT SOURCE_LINE for the same)

 * had to disable X11 tests in pfe/ - on Ubuntu it would
     not only link libpfe to libX11 but upon Forth invokation it would
     open a new X11 terminal - and of course all 'check's failed.

2007-02-18 _ ref. <>
   As of 2007-02-08, Compile Farm service 
	has been officially discontinued. 

2007-02-16 _ <>
  * finally implemented term-x11.c ... tetris is almost working with it
  * Enable at configure --with-x
	starts automatically in X-Window if DISPLAY found in `env`

2006-10-08 _<>
 7Oct06 * In complex-ext.c:  Fixed comments for doc autogeneration,
      removed superfluous _Bool, deprecated Z-ROT with P4_xOLD in
      favor of -ZROT, and informally tested ZLITERAL.
    * In dstrings-ext.c:  Fixed comments for doc autogeneration, and
      added $GC-LOCK@ and $GC-LOCK!, with tests in dstrings-test.fs.

2006-10-05 _ <>
	* CODE and ASSEMBLER have been given a generic implementation
	  in ITC (traditional) model.

2006-09-26 _ <>
	* change REFILL / NEXT-LINE to return P4_TRUE (-1) instead of +1.
	* introduce p4_bool_t / p4_cell_t in pfe/def-cells.h

2006-09-26 _ <>
	* p4_preload_interpret does work now. You can have a look at the
	    current definition with SEE (INTERPRET). That routine is being
	    activated thru INTERPRET-COMPILED ON! - of course there is
	    hardly any difference to be seen. To make it visual, I did
	    overload the behavior on "undefined word" which does print
	    "oops.." just before the 13 THROW. Look for that.
	* floating-ext does implant itself into (INTERPRET) - even that
	   the actual implementation is verrrry hackish.
	* assembler-ext module aded - and tools-ext provides a basic
	   set of words to fulfill the Forth-Standard requirements.
	   (fixed some problems a bit later - tested only with "CODE")
	* krishna myneni (of kForth fame) had been porting the gforth
	   x86 assembler - one might want to have a look at it:

2006-09-25 _ <>
	* experimental compiled outer interpreter:
	       : my-interpreter
	           begin ." ok! " cr
	              parse-word nip 0= if \ end of line
	                 refill 0= if exit then \ end of file
	                 parse-word nip 0= if exit then \ empty line
	    ' my-interpreter interpret-execution !
	    interpret-compiled on!
	* hint1: toolbelt-ext knows a word NEXT-WORD with implicit REFILL
	* hint2: QUERY will only get a line from terminal, REFILL will do
	         the same but also works on other SOURCEs (files, evaluate)

2006-09-22 _ <>
	* complex-ext.c - integrating last version from David N. Williams:
	* Version 0.8.9
	* 6Sep06 * Skipped version 0.8.8, to sync with complex-kahan.fs.
	         * Removed I/, renamed (-I)* as -I*, and renamed minimal
	           mixed ops, with P4_xOLD for old names.
	* Version 0.8.7
	* 15Jan05 * Changed ZBOX to conserve signs for all cases, contrary
	            to Kahan, p. 198, but in agreement with its use in
	            ARG, p. 199.
                  * Fixed bug in p4_carg(): x and y stack order reversed
                   in ZBOX call when x or y is infinite.
	* 16Jan05 * Replaced in complex-ext.c:
                      _extern double
                      _export double
                  * Reordered and updated complex-ext.h.
        * 21Jan05 * Added optional calls to C99 elementary functions for
                    comparison of results.
	* 25Jan05 * Reordered exception save in |Z|.
	* 30Jan05 * Found out that R2P1 and T2P1 were inverted!  Our tests
                    for |Z| were all perfect, and remain so after the fix!
                    More motivation for a table driven test.
	* 31Jan05 * Understood a discrepancy with complex-kahan.fs as due
                    to compiled x*x + y*y keeping doubles in registers
                    enough to benefit from the G4/PPC guard bit.  Did that
                    with a special version of |Z|^2 and -ffloat-store.
                  * We noticed sometime earlier, and confirmed today, that
                    using the MacOS X complex functions in complex.h
                    requires -lmx, whereas fenv.h does not, although it
                    says it does.
	* 15Feb05 * Removed Z=0, etc.
2006-09-22 _ <>
	* rename p4_if_execution to p4_q_branch_execution
	* rename p4_else_execution to p4_branch_execution
	* keep p4_if_execution and p4_else_execution - marked OBSOLETE
	* modify relevant smart-words to use p4_*branch_execution (if,else)
	* fix BRANCH / ?BRANCH in system-ext.c - they should be compiling!
	* fix AHEAD - it was defined as : AHEAD MARK> ORIG# ; but
	  it should have been : AHEAD BRANCH MARK> ORIG# ; ever since
	* thanks to David N. Williams for tiptoeing me on this bug. The
	  code portion had been marked as "fixme: isn't that incorrect ?"
	  but it is until now that the fixme can be removed, finally.
	* all usages of FX(p4_ahead) had to be adapted - they were all
	  wrong leaving the system in a nonfunctional state. Always use
	  explicit "MARK> ORIG#" instead of the old "AHEAD".

2006-09-21 _ <>
	* docs - skip over some man3 exports that would not be fine 
	  for a real `make install` in the system
	* `make` will also `make man1` now just like `make install`
	  will automatically trigger `make install-man1` - this does
	  not include `make man3` or `make install-man3` .. 
	  use `make it` to trigger `make all` and `make mans`
	* pfe.spec - fixup the build and install targets to ensure
	  full packaging of `bin/lib`, `mans` and `docs`. Finally,
	  and years after the last full release, pfe can be rebuild
	  completely in a simple process on a standard (Linux) PC.

2006-09-20 _ <>
	* doc-completed - the full sourceforge website can now be rebuild
	  with a call to "make docs". You may install a local copy by
	  using "make install-docs DESTDIR=$HOME/pfe". A single-stop
	  upload to sourceforge can be achieved with "make install-sf".
2006-09-19 _ <>
	* doc-chain generates a pfe-wordsets.html document now - note that
	  some doc parts have a "(no description)" entry which should be
	  fixed for the next release. Often it is "/*.." instead of "/**.."

2006-09-16 _ <>
	* doc/pfedoc/*.py doc/ - use "make docu" to build
	  along the newest doc-build-chain. It's also the default target
	  in the "doc" subdirectory - and it will be the only one in
	  the future.

2006-08-14 _ <>
	* pfe.spec - making over with rpmbuild --with-options
	* - default --programm-suffix is "-forth" now
	* make-install will `ln -s pfe-forth pfe` now
	* rpm-post/postun will `ln -s pfe-$variant pfe` now with
	     checking variants in forth/call/calls/fast/fastest
	* so finally a pfe rpm will only contain a single variant
	   which will be a traditional ITC by default. You need to use
	   rpmbuild --rebuild --with-call for a call-threaded variant
	* make-rpms will build pfe-forth-*.rpm and pfe-call-*.rpm that
	   can be installed in parallel now. The new way for multibuilds.

2006-08-11 _ <>
	* compilechecks - it seems that some new gcc does again break 
	  --with-sbr-theading model. It's a plain nuisiance and so I
	  consider to drop the model. Since sbr-call-threading does not
	  give an advantage over plain call-threading on modern
	  superscalar architectures, it can be dropped as well leaving
	  pfe on a pure portable level. That's the plan for the next 
	  generation of the Portable Forth Environment that will start
	  off next.
	* release 33.61

2006-08-10 _ <>
	* def-sbrcode.h/def-macro.h change all *((T)X)++ into new P4_xCOMMA
	   that gets us rid of some warning messages about improper 
	   use of a typecasted item as an lvalue. Arrgh, bad new C99.
	* def-gcc.h - gcc attribute __malloc__ and _const_ was inappropriate 
	  on debian 3.0 for alpha with gcc 2.95.4 - this compiler does not
	  allow __attribute__ syntax between function head and body.
	* term-lib.c:53 - #ifdef (unix && sun) is not enough - the newer
	  solaris9 features "fixed" headers for putchar / tputs exports
	* doc/ - bsd make calls for duplicate %.html rule in
	   doc/-subdir which is really %.html : %.xml and %.html : %.htm.
	   ...guess it does only understand traditional rules .htm.html:
	* stackhelp-ext.c - add cast to int for 64bit cells on alpha-cpu
	* WW x86-openbsd1 can not link a shared library for testmodule2
	* WW x86-solaris1 fails to link remote but does while online(?!)
	* WW sparc-solaris1 says comple-ext.896 "isinf" is not declared.

2006-08-09 _ <>
	* append makefile rules to allow automatic sf compilefarm testing
	* oops: bsd make does not understand $^ for module-dll rules. In
	  fact we find UNIX make to only know ($@ $% $? $< $*). The $^ as
	  all-source is known as $> to bsd make. Sun ccs make does not
	  know either. We need to resort back to "$?" which is possible
	  for the module-dll.c rules in pfe/ and testmodule*/
	* let run "make autoreconf" - autoreconf is easier
	* term-lib.c: rename t_puts > c_tputs; reason netbsd:
	../../pfe/term-lib.c:735: error: conflicting types for `t_puts'
	/usr/include/termcap.h:62: error: previous declaration of `t_puts'
	* complex-ext.c: #error no fenv.h seen on openbsd - modify to emit
	  a gcc warning and continue with dummy functions. For the usual
	  fmin, fmax, signbit we can approximate with inlines but all the
	  overflow/underflow checking with fetestexcept is impossible
	* solaris: the compilefarm did have both /usr/local/bin/gcc and
	  /opt/SUNWspro/bin/cc - but linking -lncurses will fail. It had
	  mixed the library and headers from different locations with
	  /usr/local/lib/libncurses from gcc and /usr/include/curses.h
	  from sunwspro intended for /usr/lib/libcurses. Both sparc and
	  x86 did show different error messages! Just be sure that the
	  /usr/local/include/ncurses.h is being found by modifying INCLUDE

2006-08-08 _ <>
	* cvs repository archive as pfe-33 on
	* fix minor build issues and "signedness warnings" by gcc 4.1

2005-01-14 _ <>
	* prepare x86_64 sbr-threading. It does not work due to the
	   stack-segment being not executable (the first "exec" will
	   segfault). However, we can enable registers R12..R15 for the
	   --with-regs allocation. And remember that x86_64 ABI  uses a 
           register-based callframe for the first two args.  Hooray.
	   Downside: native call-layout is 16byte-aligned instead of the
	   forthish 8byte (it's optional however, just runtime penalties),
	   so omitting the frame-pointer push/pop is not that a good plan.
2005-01-13 _ <>
	* ax_enable_builddir.m4 was updated to ensure that the *.tar.bz2
	   is copied as well - the earlier version made for a pre-version
	   of the tarball to end up at the sourceforge download area.
	* update pfe/complex-ext.c with the latest DNW changes
	* redistribute pfe/complex-pfe.log to reflect the latest changes
	* engine-set ensures to mate each VM_LOAD with a CALLER_SAVE
	* cut down p4_interpret into p4_interpret_query + p4_interpret_loop
	    to help us get rid of compiler bugs around.

2005-01-11 _ <>
	* move sbr-snippets from def-regmacro to def-sbrcode and
	     include it as a new header file
	* start creating sbr decompile support
	* add option-set/engine-set instead of main-sub includes
	* make FreeThread/FreeOptions to return a "char" whether a
	     thread block does still exist. The value is usually ignored.
	* add PFE_HAS_TLS_SUPPORT to pfe/_config.h
	* use it in option-set to define static __thread marker
	     when using gcc/C99
	* introduce pfe/def-regth to move extern-declarations to
	    a single header file - use the derived PFE_USE_THREAD_BLOCK 
	    instead of the configured PFE_WITH_STATIC_REGS only.
	* hmm, __thread"ed seems to be broken
2005-01-10 _ <>
	* add CODE/END-CODE for those architectures where we do know
	     the assembler-snippets for sbr-call-threading.
	* adapt test/checkans accordingly
	* move "RAISE" and "SIGNAL" from misc-ext to signals-ext
	* mark both "RAISE" and "SIGNAL" as obsolete and introduce
	    defined with a different stack behavior we also introduce
	    "RAISE-SIGNAL.DROP" as the fallback for the old RAISE.
	* mark forth-signal callback as FIXME
2005-01-08 _ <>
	* add comment blocks to mk/Make-H.* (i.e `make gen` / `make force-gen`)

2005-01-07 _ <>
	* serious: p4_Exec calls three parts with an "th"(p4_Thread)
	    argument but p4_run_script_file has been using PFE before
	    re-preparing the hardware VM registers. That is no problem
	    if the register was not used in between but it breaks on
	    some platforms. Damn it!
	* modifying test/wordsets.fs to use TOOLS-EXT ... reveals another
	    buglet: the "-I" adds to the end of the inc-path and any
	    system script is found first - which does not match the local
	    test-for-correctnesss *.sh script definitions.

2005-01-06 _ <>
	* minor adaptions for x86_64 and gcc3.4 support
	* add lots of "const" around (include dstrings/floating)
	* adapt fpnostack for x64 where sizeof(double) == sizeof(cell)
	* add lots of cast to "int"(printf precision) or "long" (printf
	    numeric value) or even change global variables to from "p4ucell"
	    to "unsigned" where there were warnings on LP64 (x86_64). Note
	    that "unsigned" might be 16bit on some systems (LP32), so this 
	    is only fine for the values being small usally. Otherwise one
	    would use "unsigned long" instead which is 64bit on LP64.
	* modify def-config.h with a "sensitive" modification:
	    if USE_FEEKSO then always set _LARGEFILE_SOURCE
	    (before we were only setting it when also LARGEFILE_SENSITIVE)
	    Some squarehead header files do cut out some "usual" exports
	    when any (!) posix def was seen and fallback to pure posix,
	    so this modification may lead to "missing function prototype"
	    warnings in other areas. (may be we need to reverse it later..)
	* introducing p4celll which is defined as "long" instead of the
	    traditional p4cell to be defined as "int". However, thinking
	    it over again we see that "p4cell" should be "long" always
	    to accomodate with common LP32/ILP32/LP64 systems. The old way
	    has been (obviously) driven by ILP32 system tests.
	* lots of DROP/ROOM changes to make fpnostack-ext 64bit-ready,
	    (and S>F had a bug!)
	* test/checkans breaks with a parsing-error on x86_64. Not yet fixed.

2005-01-04 _ <>
	* testing for -9 and -23 in exceptn (SIGSEGV and SIGBUS).
	* move INSTALL to INSTALL.TXT - darwin "make install" will
	  fail because filesystem names are check case-insensitive
	  and the "install" target does already exist.
	* The "$<" is not portable in explicit make rules - that's
	   what "info autoconf" says and which has come up as a
	   problem on some BSD machines with a non gnu make tool.
	   Let's try with "$^" as a substitute ("all listed dep targets")
	* add def-gcc.h for gcc-specific attribute declarations
	* add gcc function-const declarations to core-sub.c, version-sub.c
	* rename utils-sub.c to os-delay.c
	* cut out p4_gettimeofday into p4-gettimeofday.c and
	     introduce def-cell.h for the basic typedefs.
	* move some defines from def-xtra.h to _missing.h:
	     extern acess() and extern close() for vxworks
	* move the rest out of the way and make the include def-xtra.h
	    into an include of def-limits.h plus _missing.h

2005-01-03 _ <>
	* modify test script to return SKIP on missing floating module
	* modify toplevel makefile to exit with failure even for the
	     make check-all case - all pfe.spec variants must be correct now!
	* correct suffix-transform install of modules and pkgconfig files

2005-01-03 _ <>
	* create def-check.c and def-limits.h
	* change some def-headers to include at most pfe-sub.h
	* move testmodule to testmodule1 and create a new subdirectory
	    testmodule2 which shows a non-automake autoconf'ed way to
	    build and install a pfe binary module
	* add p4_NEED / P4_NEED code for loader-WordLists
	* update pfe/complex-ext.c from DNWs site
	* modify complex_init - use new P4_NEED loader-code

2005-01-02 _ <>
	* reworked the asm parts of the header files
	* both -sbr-call-threading and -sbr-call-arg-threading do work,
	   atleast for i386 architecture. Perhaps the others are broken
	   now for the change of p4RP/PFE_SBR_RP by +1 ... where the 
	   corresponding -1 adjustment in other places have been done blindly.
2004-12-01 _ <>
	* checking for sbr-call-threading - and found a master bug
	    that did not hit before since we did use -fomit-frame-pointer
	    but now we use the #define p4IP (p4RP[PFE_SBR_IP_OFFSET])
	    and "PFE_SBR_IP_OFFSET = -1". The hardware return-stacks
	    usually grow downwards, and while the "-1" seems natural it
	    nethertheless wrong: now changed to "PFE_SBR_IP_OFFSET = +1"
	* another sbr-threading bug was found in the p4_NEST trampolin
	* it still leaves us with a series of test/check failures but
	    there a little less of them.
	* and a long while little the bug was found:
	    if not -fomit-frame-pointer then a standard stack frame is
	    created. However any (newly introduced) PFE_SBR_RP_EXIT
	    will not restore the parent-ebp since the forth sbr-threading
	    model does not use a frame-pointer. Therefore, we are going
	    to backup/restore ebp in p4_sbr_call if that seems reasonable.
	* that leaves us with just three fails in "make check"

2004-12-31 _ <>
	* did check with "gcc -ansi" for maximum compatibility
	   strictly_ansi requires to set a few -Ddefines since the
	   linux glibc headers will not export functions that are
	   otherwise useful and very widespread even across no-unix systems.
	* move memmove and strlcat definitions to os-string
	* clean up some of the INC/DEC macro usages
	* make p4_TIB to be constant - and fix the warning messages that
	    it provokes - only one is currently left.
	* move intentional compile-time #warn message in dl-def.c to be
	    visible now only in the runtime execution of ".STATUS".
	* remove PFE_MODULE_DIR and add P4_opt.lib_paths that can also
	    be initialized via PFELIBDIR and add more parts with --lib-path
	* using --lib-path-string we can set the build-dir module path in
	    ./test for doing a real `make check` before doing `make install`.
	* switch pfe.spec rpm to do "make check-all" instead of "make check"
	    before install/packaging. That is a strong enforcement as it
	    enables the make-check for all --with-variants and includes
	    the new fix for the test/exceptn tests including sigbus things.
	* sbr-threading seems to be broken (rpm test succeeds anyway).

2004-12-31 _ <>
	* introduce os-string.h and os-ctype.h and
	  replace all memcpy/strcpy/isprint functions with p4_-prefixed ones
	* replace P4_INC/P4_ADD with __extension__ macros when using
	      gcc 3.3 --with-regs since addressof does not work then
	* replace COPY / ZERO macros with _p4_copy/_p4_zero macros which
	      do now use the p4_-prefixed ones from os-string.h
	* all those gcc 3.3.x depractation warnings have been silenced down
	     includes an change in def-macro relating to increment/decrement
	     pointer values (including p4SP,p4IP) where will also need to
	     globally replace all usage of P4_INC(P,T) with P4_INC_(T*,P)
	     and all usages of P4_VAR(T,V) = X with (V = (T) X). 
	* yes, say a big thankyou to the gcc developers who try to be
 	     aggressivly ansi-C compliant while making the life of the
	     common C-programmer somewhat harder including places where
	     it is really really dubious. Sorry for all the inconveniences.

2004-12-30 _ <>
	* fix autoconf/automake issues in
	* fix make-check problems related to loadm 
	      we now have p4_loadm_test everywhere

2004-12-24 _ <>
	* last merge with Tek
	* adding all the latest of dnw

2003-07-03 _ <>
	* the last merge with Tek was wrong, SORRY.
	* NVRAM stuff is now included, finally
	* need to fix a few doc things

2003-07-01 _ <>
	* adding a new header-fields.dbk
	* reordering docbook entries in doc-index.dbk
	* changing all parts into xincludes - need to copynpaste the
	   entities like PFE and Tek.
2003-06-30 _ <>
	* need two_constant_RT declared through DEF_RUNTIME to make it
	   visible to option-ext.c in some variant modes. The file
	   changed however is def-comp.h
	* fixing a few bugs in uppercasing.dbk
2003-06-30 _ <>
	* dnw did try on darwin, need to add <sys/time.h> include
	    alongside of <sys/resource.h> on most bsd systems.
	* adding -no-cpp-precomp to bin/ example
2003-06-30 _ <>
	* merging with latest Tek changes to introduce nvram-style
	    option processing.
	* fixing minor problem for build on solaris
	* add doc/uppercasing.dbk

2003-06-27 _ <>
	* modified configure and pfe/ to pick up a few
	   of the newer ax macros
	* we do generate pfe/pfe.pc and pfe/pfe-uninstalled.pc now
	   via an ax macro
	* we use the newer ax_set_version_info now which makes for
	   better computations of stuff
	* lib/ is a new file, the lib directory shall
	   hold a few examples now to test external module generation.
	* the resp. files have moved from ./ to lib/
	* no changes to the source code, awaiting merge with Tek changes
	* ooops, adding sys/resource.h detection and a call in main-stdc.c
	    for setrlimit(RLIMIT_STACK) to guard against infinite recursions.
	* a bug in pfe/ - change incorrect @DYNALINK@ ... -lm
	    into -lm @DYNALINK@ for each of the three math modules
	* need to fix in bug def-restore.h (already in Tek tree?)
	* adding installation of pfe.pc
	* move to automake 1.5 always and add dist-bzip2
	* modify pfe.spec, use bzip2 as main package format, and bundle
	     the new pfe.pc along...
2003-04-25 _ <>
	* create bin/ subdirectory
	* modify main-sub.* to export C API interface for PFE thread
	   on hold - for internal scripting.
	* create bin/pfe-exec example binary
	* try bin/pfe-exec ".s" or bin/pfe-exec "1" "0" "/"

2003-04-26 _ <>
	* no time lately, the changes from earlier this month have
	  been done in the tek archive for quite a time.
	* update with ac-archive 5.51 macros, esp. subdir build

2003-04-09 _ 
	* added to selftests
	* merged with complex-ext (manual editing was needed here)
	* the queryapp selftest did not work: we need to setup the
   	  PFE.term always and the APPLICATION-mainloop setting should be
	  tested before going into stdio-mainloop (and both are set before
	  the default query-mainloop).

	* automatically adding -no-cpp-precomp on darwin
	* introduce DLLFLAGS / DYNALINK separation to accomodate with darwin
2003-03-22 _ <>
	* add two new ac-macros
	   PATCH_LIBTOOL_ON_DARWIN_PASS_ALL - fix a libtool-1.4 darwin problem
           PATCH_LIBTOOL_CHANGING_CMDS_IFS - fix a libtool-1.4 continuus prob
	* rename @libpfe_LIBADD@ into @DYNALINK@ and make the ldso
	   dependencies of and only available
	   if it is does work on this platform - or even required through
	   no-undefined like on windows. Create a "--enable-option" for it?

2003-03-20 _ <>
	* finally - invent a variant that walks the registered wordsets
	   looking for decompiler routines.
	* enhance with emitting the wordset name for a word that was
	   decompiled with a wordset-lookup for RTCOs
	* distribute all RT_SEE codes to their respective P4RUNTIMEs,
	   this includes builds_RT (core-ext), constant_RT (core-ext),
	   value_RT (core-ext), two_constant (double-ext),
	   offset_RT (useful-ext) - only colon_RT and does_RT are left
	   since they decompile the "rest".
	* add knowledge about p4_FXO and p4_SXCO words
	* misc-ext is called "Compatibility" now
	* in CTC, we compile p4code, in ITC, it is p4xt, and there is
	   a typedef that covers the right thing: p4xcode. Let's pick
	   that up in lit_SEE routines in debug-ext and wherever it
	   has been used so far, esp. for aliases of "ip". Note that
	   we have global define P4_REGIP_T to make it easier for us.
	* oops, usage of P4_TO_CODE in p4_decompile_word was utterly
	   wrong - it already is a "p4code*".
	* the "rest" part of p4_decompile must be a p4xcode* as well.
	    This changes the global definition of P4_CODE_RUN and
	    P4_CODE_SEE as well which must return this type.
	* we can now decompile CTC code! well, just some minor quirks
	   are left. E.g. "ENDCASE" did compile an execution-code
	   being "DROP" (p4_drop) which made each "DROP" to be
	   decompiled as "ENDCASE". gee... and same for opening
	   "CASE" which did compile p4_noop.

2003-03-20 _ <>
	* add code in debug-ext to walk the list of registered runtimes.
	* use new macros to register floating-decompiles for FCONSTANT
	    and FVARIABLE in floating-ext
	* remove vocabulary_RT-decompile and use the default visualization.
	    in the process, I've noticed that vocabulary was errornously
	    exported as FXco instead of RTco, oops.
	* default decompiling is now done for MARKER, DEFER, VOCABULARY,
	* again, MARKER was exported errornously as FXco instead of RTco
	* adding decompile-routine for ZCONSTANT in complex-ext
	* not rebuild - rewrite pfe/*.am to pick automake syntax
	    of complex_la_DEPENDENCIES to register renamed-rule. HTH.

2003-03-19 _ <>
	* the XXCO shall be registered in atexit_wl
	* implement P4RUNTIME(p4_runtime) and register RTCOs 
	     to the atexit_wl with that runtime. It allows us 
	     to find all Runtime words later in debug-ext parts.
	* MAJOR BUG seen: the test for redefined-word in header_comma
	     should be on the argument-wordlist, not the CURRENT wordlist.
	     In the normal case, both are the same which is the reason
	     there were no problems so far, but the RTco-loading with the
	     new model did work on the arg-wordlist w/o setting CURRENT.

2003-03-19 _ <>
	* clean NFA2FF and _FFA from sources
	* update obsolete_RT and make some words obsolete now.
	* some other minor changes, e.g. t_putchar in term-lib

2003-03-18 _ <>
	* get rid of term-lib warnings
	* get rid of trigraph warning in debug-ext
	* remove DVaH wordset-code and execution.
	* remove DSeT wordset-code and execution.
	* putchar is defined as int putchar(int) - fix wrapper t_putc
	   in term-lib and get rid of a warning message over there.
	* re-indent term-lib

2003-03-18 _ <>
	* minor fixes to compile without warnings on vxworks
	* solaris compiler problem (alignment error): we need to
	   defeat solaris gcc 2.95 about unrolling memcpy in save_input
2003-03-18 _ <>
	* rename pfe-words to engine-ext
	* forgot to remove debug-error-out in file-sub, fixed now.
	* killing some warnings in dict-comp and environ-ext
	* do not call cold_system from boot_system, and replace all
	    references to boot_system with a pair of both functions
	* rename to FX (p4_cold_system) and FX (p4_boot_system)
	* move wordset-loads of extension-modules from cold_system
	    into boot_system. Only WORDS(forth) is kept in COLD.
	* move greeting messages after cold_system and place
	   init_accept_lined also past cold_system
	* fixup dependencies for renamed magic
	* change WSIZE from SYNONYM into OBSOLETE
	* save catch-frame on C-stack alone, save-restore RP now,
	     therefore extend p4_Except with ->rpp
	* rename cAtch to catchframe
	* make engine-sub use p4_Except instead of custom jumpbuf,
	    even that not all parts are used for this one.
	* rename p4_run_forth to p4_call_loop and p4_jump into p4_call_stop
	* fixing P4_OFF_T_MAX

2003-03-17 _ <> 
	* forgot to remove debug-error-out in file-sub, fixed now.
	* killing some warnings in dict-comp and environ-ext
	* split off cold_system() from boot_system() and call it
	    explicitly in each corner where boot_system is used
	    now. We prepare for two-stage boot-order here.
	* move wordset-loads of extension-modules from cold_system
	    into boot_system. Only WORDS(forth) is kept in COLD.
	* make p4_cold_system and p4_boot_system FCodes
	* register the interpret_loop as APPLICATION - before
	    processing the boot_system.
	* redefine p4_HERE to be (void**)
	* rename pfe-words.c into engine-ext.c
	* start using p4_Except as jumpbuf in engine-sub
	* put the Except buffer of p4_catch on the C-stack too.
	* rename p4_run_forth into p4_catch_call to flag similarity.
	* rename p4_jump to p4_catch_call_exit
	* SORRY - this does not work, all things deleted, and
	    starting over with the prior version now.

2003-03-17 _ <>
	* start off with an alternative wordset-loader that goes 
	   through calling FX(code) instead of duplicating behavior
	   in dict-comp.c - the new mode can be enabled using a
	   commandline-option "--walk-on". Later in the pfe devel
	   tree it will be the default that needs to be disabled
	   with "--walk-off" to double-check on loader-errors.
	* the alternative wordset-loader pushes the arg on to the
	   SP-stack, puts the name-string as new TIB to be picked
	   up with WORD/FX_HEADER calls. The save_input does use
	   the SP-stack which is just a great idea methings.
	* speedup processing with giving _parseword a quick path
	   to return the static string from the wordset table.
	* interesting: the new mode will reduce the CTC trampoline
	   code to only select RTCO/ITEM pieces. The type-codes
	   for loader-table and RT-header may even be differently
	   in the future, atleast for non-RTCOs.
	* introduce the "___"/"____" as known from my other works
	   which simulates the hadny C99 variable declaration style 
 	   for pre-C99 compilers.
	* the `make check` succeeds! therefore, we set the new mode
	   as the default. Please disable with --walk-off to check
	   whether it actually is the source of a problem when 
	   you experience some in other corners.
	* a user-config USE_NEW_LOADER is added to deselect the
	   default for the new loader-mode. It is 1 by default.
	* let `make clean` work again (removal of doc/src problem)
	* work on local lib-renamed philosophy
2003-03-16 _ <>
	* replace _CHECKDLL with a runtime option "--dlerror-on"
	* there seems to be a bug about p4_next_line .vs. p4_read_line!
	* add AC_TYPE_OFF_T to - and get _pfe_off_t in
	    consequence to be used in file-ext.c
	* rename fsize into p4_file_size and let it return _pfe_off_t
	* make UL2UDC superflous in file-ext, and put the double-cell
	   directly on the stack. Also make the system clean for
	   long-off_t in these parts: FILE-POSITION, FILE-SIZE
	* the _is_nullfile alternative did often not do the same
	    stack effect - which is an error of course.
	* mark all locals as registers, possibly killing a localsframe
	    on the C stack for these.
	* rename fn_size to file_size and make it static
	* truncate() needs to be static
	* fn_resize becomes p4_file_resize
	* fn_move becomes p4_file_move
	* fn_copy becomes p4_file_copy
	* checking for fseeko / ftello
	* introduce def-config defines for _p4_off_t p4_ftello p4_fseeko
	* replace all fseek/ftell references.. 
	* replace long with p4_off_t where apropriate, including
	     _fextend, file_extend, p4_file_copy, file_size, p4_file_size,
	     truncate, p4_file_resize, p4_resize_file,
	* p4_File and p4_Input contains an "off_t pos" position now.
	    (note: File->size is left as is, it is in blocks)
	* the PFE should now be largefile clean, adding ac-macro
	    ac_sys_largefile_sensitive right in there.
	* glibc fseeko bug found - bug report sent - making a fixup in
	    def-config.h about it.
	* luckily, we do already have a test/file.4th - which did allow
	    to find a bug introduced during that hunt for the glibc bug.
	* introducing P4_OFF_T_MAX to help with p4_file_copy argument.

2003-03-15 _ <>
	* signal-ext does have problems when SIG_DFL is #define'd
	     as (void(*)())0 which isn't a proper function prototype.
	     I can not do more than document the problem in a comment.
	* it seems to have been a problem related to a bad implementation
	    of the new variant of ax_cflags_strict_prototypes. With a
	    new one it just works as it does suppress this option on
	    platforms where signal.h is not done correctly.

2003-03-14 _ <>
	* merge oss changes
	* double-mix /DCELL and DCELLS did never exist
	* header-ext HIDE was never exported
	* shell-os-ext "CD" clashes with "HEX CD" actually - remove it
	* shell-os-ext "$$" was also obsolete for some time, remove it now
	* adjust toplevel to allow auto: target to
	   reconfigure autotools within tek environment

2003-03-13 _ <>
	* integrate complex-ext by David N. Williams
	* extends PFE/type with two variables
	* need to rename include_HEADERS to include_DATA to ensure
	    that pfe-config.h is _not_ distributed
	* oops - instead rename pfe-config.h and pfe-target.h into
	    _config.h and _target.h - add -I.. along, and modify the
	    sourcefiles to #include pfe/conf.h and pfe/target.h now
2003-03-13 _ <>
	* forgot install -> install-all in pfe.spec
	* clean subdir-build macro and pfe.spec to do the right thing
2003-03-12 _ <>
	* try to simulate --enable-all with a series of --with-variant
	     calls interpreted by the toplevel configure part
	* now we need snippet to add the `make rpm` target
	* add `make check` to spec file - hopefully it works like this
	* forgot incl-mix.h
	* move pfe-config.1 into doc
	* move install-man into doc
	* doc/ needs some top_srcdir and srcdir references
	* doc/ cleaning references to src/Makefile and xm-tool

2003-03-12 _ <>
	* move test-scripts into test/
	* move doc-target to doc/ - actually just a removal
2003-03-12 _ <>
	* automatic subdir build with a new ac-macro
	* tweak pfe/configure to get rid of acinclude warnings
	* using TARGET_H macro now to create uppercase host/target defs.
	* using modern AC_PREFIX_CONFIG macro as well.

2003-03-11 _ <>
	* start off generation 33

2003-03-11 _ <>
	* forgot a "const" in fmt of to_float (floating-ext/fpnostack-ext)
	* show REGFP when REGLP not available (".STATUS" in misc-ext)

2003-03-10 _ <>
	* USE_STRTOD and USE_SSCANF should be USER-CONFIGs in both
	    floating-ext and fpnostack-ext
	* change the default for these to 1 - should be the better
	    option according to David N. Williams and Krishna Myneni
	* slightly reformat in fpnostack-ext and floating-ext, esp. use
	    #warning with GCC and an error-halt for other compilers.
	* add some headroom for F-stack in floating-ext, can be set

2003-03-07 _ <>
	* through error-checking, add #ifdef _CHECKDLL in dl-ext.c to
	    allow refined testing.
	* badly named new functions, needed s/p4_ftrunc/p4_f_trunc/ etc.

2003-03-07 _ <>
	* after long discussions with Krishna Myneni and David N. Williams
	    the following compromise regarding F>S behavior was found:
	* FTRUNC>S and FROUND>S added to both of floating-mix and fpnostack-ext
	* F>S is a synonym of FTRUNC>S in both floating implementations.
	* FTRUNC is added to both floating implemenations as a complement
	    for the FTRUNC>S function (note: we do have now FROUND and FLOOR 
	    from ANS Forth plus FTRUNC extra but no FCEIL as in math.h)
	* "F-ROT" is added as a synonym of "-FROT"
	* in fpnostack-ext, adding CELL-FALIGNED environment hint that can
	    be checked in implementations on hardware that would SIGBUS
	    when a floating-point is not self-aligned in memory including
	    the stacks.
	* modify test/fpnostack to succeed on all systems that are not
	    cell-faligned - to make it easier to detect real errors.
	* add NEEDS / (ENVIRONMENT?) magic to autoload forth files when
	     NEEDS -<filename> is given. Also strengthen the requirement
	     for now that the filename _must_ contain a dot or slash and
	     also starts off with isalnum character. Remember: NEEDS items
	     must have a length between 4..25 for compatibility reasons,
	     which is a limit not applicable to REQUIRES as such.
	* change p4_required - prepend atexit-wl name with "-" in front and
	     append ".*" if neither of "." or "/" exist in the filename.
	     This is an incompatible change - hopefully no one did use the
	     file:<filename> auto-named functionality so far (e.g. for some
	     reload scripts). I do expect that to be the case and the change
	     to be safe - but who knows for certain :-/

2003-03-05 _ <>
	* dbk/ - oops, s/pfe-fth.htm/pfe-fth.html/
	* remove dbk/Makefile - wrong idea
	* adding HPPA to fpnostack-ext section for DOUBLE_ALIGNED
	* floating-mix s/F-ROT/-FROT/
	* add some comments in floating-mix, esp. F>S

2003-03-05 _ <>
	* merge fpnostack-* changes from krishna Myneni
	* add doc/changes generated from ChangeLog

2003-03-05 _ <>
	* need to modify for dpans-reading
	* add --nofileref option and use it in doc/Makefile right away.
	* merge floating-* changes from David N. Williams

2003-03-04 _ <>
	* add body.htm and htm->html generation to doc/Makefile just
	     as known from some of my other projects - an easy way to
	     add a common navigation bar to website files.
	* remove SFHOST install-sf target in doc/Makefile - it is
	     superfluous from my own system having a scp-groups script
	* remove PERLXM rule dbk->xml in doc/Makefile - they do not 
	     belong here anymore, same for c->xml, only xml->html
	     is kept for the sake of $(SRCS).tar generation and the
	     various index-lists of old-style doc generation toolchain.
	* rename sfbasics -> htmfiles, and build it from body.htm chain.
	* invent $(DBKS).tar as dbk.tar and filling dbk/*
	* make dbk/ index.html target to do `xmlto html`
	      instead of `xmlto html-nochunks` of the htm target
	* pack dbk.tar and unpack with install-docs
	* add *.htm to DISTFINDFILES in toplevel Makefile
	* split sf-index.dbk into body.htm, index.htm, resources.htm,
	        authors.htm and derive license.htm and lgpl-license.htm
	* remove dbk.tar - it is too big (7.7M) and should not be in
	        a source tarball of pfe - instead reference ../dbk/index.html
	        directly and copy the files as they are.
	* instead of "dbk/" subdirectory, use a different scheme
	* rename resources.htm into documentation.htm
	* rework the frontpage
	* oops, need to add and again
2003-03-03 _ <>
	* final fixes for aix-cc (thanks Gary!)
	* five new words in floating-mix as wished for.

2003-02-29 _ <>
	* adapt dbk/ for local install with some external
	    xml-c-pfe-doc binary. (fix: pfe sources are local now).
	* fix HOLD -> hold:core: instead of hold::core
	* fix slightly different behaviour for 
	    some s/...//gsex - returns ALL in my version but NOTHING
	    in the tek version. Use s/...//gsx instead.
	* target "htm" to create pfe-fth.html as `xmlto html-nochunks`
2003-02-28 _ <>
        * the AIX 4.1 cc compiler is especially stupid regarding
	  lvalue propagation across type-casts. We introduce a new
	  def-macro P4_VAR that will cast to target type. In the
	  normal case, that is ((_TYPE)(_VAR)) but in the aix-cc
	  case we do use now (*((_TYPE*)&(_VAR))) instead to
	  make it an lvalue of the given type. We throw in the
	  WATCOMC as well, btw...
	* modified files to pick up P4_VAR: 
  	      header-ext.c:198, option-ext.c:141,143
	* fix P4COMPILES/FX_COMPILE in chainlist-ext.c
	* disable volatile in signals-ext.c
	* adding include<termio.h> near include<sys/termio.h> to get
	    away with aix term.h to require struct termio but not
	    including the header file itself (similar to solaris).
2003-02-28 _ <>
	_ merge with Tektronix CMS..........
	* core-ext.c
	-   many doc updates
	-   COUNT changed slightly in behaviour for values 0..255
	* def-const.h
	-   introduced P4_NEGATIVE to be seperate from P4_TRUE,
	    modified core-ext.c FIND accordingly to use now the
	        P4_NEGATIVE and P4_POSITIVE defines.
	* main-k12.h
	-    typedef for msc_strings 2-dimensional (bugfix).
	* misc-ext.c
	-   doc updates
	-   UNDER+ renamed to (UNDER+) and the term UNDER+ provided
	    with it as an obsolete name - bug report from Anton Ertl
	    that PFE does use an UNDER+ being different from eveyone
	    else. The UNDER+ is comus. We introduce a word +UNDER that
	    has the behavior of comus UNDER+. At some later point in
	    time we may make a synonym of UNDER+ and +UNDER.
	* double-ext.c dstrings-ext.c environ-ext.c header-ext.c
	               host-k12.c locals-ext.c useful-ext.c zchar-ext.c
	-   just doc updates

2002-10-20 _ <>
	_ update FROUND with latest version from Krishna Myneni
	_ this includes an extra check for rint() in libm
	_ adding F= and friends to floating-mix as proposed by Krishna
	_ added NEEDS as self-parsing variant of ENVIRONMENT?
	_ modified logging.h prefix-strings to be better suited in a
	  hosted environment with a terminal to show both the forth
	  terminal strings and the stderr fail/warn log messages
2002-10-16 _ <>
	_ added integration steps for fpnostack - including user-config
	  defines for the interpret-slots
	_ added user-config for FROUND_FLOOR - changing the default of
	  floating-ext to that of fpnostack-ext as being the correct but
	  slower implementation. The old behaviour is retained as a user-conf
2002-10-12 _ <>
	_ added fpnostack-ext courtesy of Krishna Myneni of kForth fame
2002-10-01 _ <>
	_ added a few gcc 3.2 fixes - still buggy however for many cases
2002-09-10 _ <>
	_ initial support for sparc sbr-threading - incomplete.
	_ partly fixed ia32 sbr-threading - the include-file does not yet go

2002-09-09 _ <>
	_ various small fixes up to here
	_ including a ">name" bug to be fixed
	_ adding another doc page
	_ reworking the toplevel configure/makefile to work smoother than ever
	_ removing some missing's
	_ and cleaning the kitchen ;-)

2002-08-14 _ <>
	_ bug report, win32 compile problem reports, and other valuable
	  comments by Joonas Pihlaja jpihlaja-at-cc-helsinki-fi
	_ removed _image functions
	_ tek-related small changes that should not pop up in sf-versions.

2002-07-17 _ <>
	_ found a little bug about uppercase match
	_ made provisions to live with uppercase and lowercase feature
	  for a long time - added a bunch of new options for them
	_ the wordl_flags have got expanded here
	_ implemented getenv-style for getoptions
	_ some tek-specific additions in term-k12 and host-k12
	_ found out that complete_word was horribly broken, possibly
	  for quite some time, just noticed by testing in the new world
	  of uppercase matching. Added a complete new implementation.

2002-07-16 _ <>
	_ found a bug in main-sub near -I copying routines +1 -> +2
	_ postpone.fs is not newstyle caselessmatch ready - fixed it.
2002-07-15 _ <>
	_ prepare uppercase-caselessmatch feature
	_ search_wordlist and find_local will print a warning message
	_ search_incomplete and do_match do not match with oldstyle ones
	_ search_option does already use newstyle, without warning
	_ no configure option has been added to shut off the warning
	  messages in this version to gain the speed that is intended
	  to be there when all p4_strncmpi occurences get deleted

2002-07-10 _ <>
	_ did try with a chain-ext implementation and dumped it. It is
	  however shipped along for reference or future implementation.
	_ implemented chainlist-ext instead and bound two wordlists
	  into the outer interpreter: prompt-wordlist and abort-wordlist
	_ likewise, atexist-wordlist is now officially exported and an
	  extended do-all-words-while has been implement to cover similar
	  executions as for `forget`
	_ in the course, the normal_execute was slightly touched and
	  modified, hopefully no bugs did get it.
	_ added dstrings patch from DNW as show below (ccm version 0.6.28).

2002-06-27 _ <> Version 0.6.26
        _ 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).
2002-06-18 _ <>
	_ move test/* into install-subdirectory share/pfe/test/ so we
	  can have them installed along always without cluttering the
	  space needed. In unixish systems, the test/ directory might
	  also just be a symlink to the pfe test/ directory, so it is
	  always up to date.
	_ rework self-checking of pfe, to make it easier to get along
	  with hundreds of test scripts.
	_ implement chain-ext.c
	_ normal_execute will not go through p4_call/p4_run_forth anymore.
	_ create a macro FX_EXECUTE to make room for optimizations.
2002-06-17 _ <>
	_ add a small fixup for win32 sig handling.
	_ add `make installs` into pfe/, and add an sed-subst
	  for a series of `make install-it` forward-rules to handle some
	  cases easier where make jumps on dirs and filenames of similar
	  name of a phony target.
2002-06-11 _ <>
	_ add _NULLFILE_ROBUST in file-ext.c, just problematic in win32 api
	_ SPY-ENTER and SPY-DEFER for with-spy.c, partial call-threadin support
2002-06-05 _ <>
	_ merge latest changes made for Tek's upd-pfe.exe
	_ test for different variants
2002-06-04 _ <>
	_ fix build issue for i386 -calls and -fast variant
	_ make-check-all still a bit broken
2002-06-04 _ <>
	_ integrate dstrings-ext updates at version 0.6.27
	_ place come_back onto main-sub throw-exit
	_ invert semicolon-hook in core-ext as suggested by DNW
2002-05-29 _ <> Version 0.6.25
        _ 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
        _ Revised dstrings.html and smodel.html.
        _ Changed the default USER-CONFIG from short-counted
          (nominally 16-bits) to long-counted strings (nominally
        _ 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...

2002-05-13 _ <> Version 0.6.24
        _ 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.

2002-05-24 _ <>
	_ lots of small changes in between which led to sbr-threading
	  support for PowerPC architecture. Sadly, only a speedup of
	  factor 2 was detected, so we decided to not develop this
	  part further than it is. Note that the portable call-threading
	  does already provide a speedup of 50%, and this should be
	  much more stable. Anyone with a powerpc computer should 
	  probably check for bugs in powerpc-sbr-threading support.
	  Personally, I think that the real problem is the shortness of
	  forth words - the proc-entry code for each native-code
	  function is 16 bytes (4 opcodes), and the exit-code is 8 bytes
	  (2 opcodes), a body-arg is encoded in 8 bytes (2 opcodes).
	  If we could do code-inlining, the proc-overhead would be
	  reduced drastically, but without it, only factor of 2 (or
	  100% execution speedup) is achieved at the expense of
	  having no debugger, no decompiler, no patch facilities.
	_ this will probably the last 32.x version as I'll turn towards
	  other areas of the internal system to add speedups or new
	  features, and it is quite likely that it breaks backward
	  compatibility - the whole sbr-threading and call-threading
	  parts was mostly #ifdefs and change of macros in many places,
	  the ITC-type objectcode should be touched significantly.

2002-04-03 _ <>
	_ wrong sbrx-ac_define in
	_ split dict-sub.c into dict-sub.c and dict-comp.c where the 
	  latter includes the loader and compiling words while the first
	  is for dict wordlist build and search and forget.
	_ _missing.c should be linked to libpfe, even that it does not
	  contain anything so far but for a few embedded platforms.
	_ the change from p4_header to p4_header_comma did sometimes
	  forget to place a P4RUNTIME1 - in dict-comp it broke loader vocs.

2002-04-01 _ <>
	_ change saved_input mechanics to allow it to be done in 
	  _included and _evaluate that took RP so far but that's not
	  allowed in sbr-threaded mode. Reduces the test/-series to
	  just two partial-fail and one fatal-knock-out.
	_ sbr-fix +LOOP ... and go back to standard DO behaviour
	_ sbr-fix DOES>
	_ make optimization for sbr-arg-variant - do not need to make
	  a copy of RP to modify it, just save IP value of top-of-RP.
	_ only test/exceptn is left to fail
	_ dont forget saved_input in unnest_input...
	_ DONE !!! --with-sbrx-threadings works best!!
	_ finally: change the names of it:
	  --with-sbr-threading => --with-sbr-call-threading
	  --with-sbrx-threading => --with-sbr-threading
	  and adjust the toplevel configure 
2002-03-31 _ <>
	_ sbr-fix for DO / LOOP - the implementation uses the other
	  variant now with RP[0,1] set to SP[0,1] directly - otherwise
	  the implementation was too complex to fit everyting into the
	  i386 registers which did lead to RP overlap in SBR-threading.
	_ loop-test does now succeed.
	_ sbr-fix for fx_skip_string, a.k.a. s" xx" and friends - it
	  does however need a complete ifdef-series and a set of new
	  macros called the NEW_IP macros now.
	_ 2/3 of the test/-checks do work now 
	  missing are: coretest postpone search-order wordsets 
	  (probably due to problems around postpone and friends.)
2002-03-30 _ <>
	_ add --with-sbrx-threading that pushes the body_addr/code_addr
	  via an argument to the runtime/execution routines. Add some new
	  macros for that, compile_xcode_BODY and compile_xcode_DATA are
	  used throughout, and FX_POP_RT_BODY is changed into the two
	_ the _XE routines must be changed later with FX_USE_CODE_ADDR
	_ dont forget to add to all _RT and _XE routines their USE-arg
	  declaration - one can use a macro for that by changing the
	  FCode into FCode_RT and FCode_XE resp.
	_ make all RP-accessing words into compiling words that will
	  compile an execution. This is needed for passing them RP / IP
	  these words include: >R R> R@ >2R 2R> 2R@ I J LEAVE UNLOOP (core-ext)
	  plus K (forth-83-ext) ?LEAVE RP@ (forth-usual-ext)
	  R'@ R'! R"@ R"! R! 2R! DUP>R R>DROP 2R>2DROP (misc-ext)
	_ note: THROW / CATCH are just ifdef'd out
	_ modify mk/ to actually see FCode_XE and FCode_RT
	_ let sbrx IP do at RP[-1] - which actually works
	_ the speedwhile.fs on my 800MHz P3 results in:
	    ITC: 38s   CTC: 35s SBR-CTC: 29s SBR-ARG-CTC: 21s 
	    ITC: 100%  CTC: 92% SBR-CTC: 76% SBR-ARG-CTC: 55%
	_ renaming things a bit for --enable-all and the rpm.spec
	  --with-call-threading => --program-suffix=-call
	  --with-sbr-threading  => --program-suffix=-calls
	  --with-sbrx-threading => --program-suffix=-fast
	_ add some complex i386 register-selection stuff in def-regs.h
2002-03-30 _ <>
	_ add -fast to pfe.spec file representing --with-sbr-threading
	_ FX_COMPILE should use FX_COMPILE_COMMA_XE instead of FX_COMMA on XE
	_ speedwhile.fs says that pfe-fast is 3/4 time of pfe-call
	  note that this is *with* -fframe-pointer
2002-03-30 _ <>
	_ add toplevel configure meta-tions --use-call-threading and
	  --use-sbr-threading that will add a --program-suffix as well.
	_ fix p4_call for 386 - the CALL-NEAR needs an offset target	
2002-03-29 _ <>
	_ added test/
	_ added test/ and forth script
	_ modify all .sh files to use a $testcase variable
	_ prepare sbr-threading
	_ fix [COMPILE] - p4_comma -> p4_compile_comma
	_ fix DVaL type in dict-sub (e.g. FORTH-WORDLIST)
	_ ifdef _SBR_THREADING where needed 
	_ --with-sbr-threading variant compiles and boots
2002-03-29 _ <>
	_ fix destroyer-functionality in forget
	_ fix missig pop_rt_body in floating-deinit
	_ `make check` does succeed 100% now --with-call-threading
	_ add FX_RUNTIME1_RT optimization
	_ `make check` does again succeed --without-call-threading
2002-03-29 _ <>
	_ vocabulary-rt did not use POP_RT
	_ rename p4_var_RT to p4_variable_RT to be good for _DEF_RUNTIME1
2002-03-29 _ <>
	_ omit another signal/raise test/*
	_ bug in test/ (wrong temp file)
	_ fix call-threading POSTPONE
	_ fix DOES and option-ext - these did modify the xt with an xcode.
	_ make-check runs now through (well, just LOADM floating fails)
	_ warning-free core-ext
	_ header-sub / header-ext - here some did modify the xt with an xcode
	_ debug-ext - here some did modify the xt with an xcode
	_ invent the optimization FX_GET_RT in place of FX_GET_RUNTIME1
	_ apply to debug-ext, core-ext, option-ext, header-sub
	_ p4_obsoleted_synonym -> p4_obsoleted
	_ p4_create_does -> p4_builds
	_ export def_runtime in def-comp - including some weak variants
	_ add a "-call" variant to pfe.spec to test the variant as system pfe
2002-03-29 _ <>
	_ delete p4_make_header and p4_header - this did need in turn to
	  create a few dummy symbols to attach P4RUNTIMES to. This makes
	  the test/wordsets to run now through. hoorray.
	_ make-check error-count down to 39.
2002-03-28 _ <>
	_ call-threading!!! - it works for many things now, if not all...
2002-03-28 _ <>
	_ add three configure options
	  --with-nosmart ... the code exists for a long time 
	  --with-call-threading ... next step to be implemented
	  --with-sbr-threading ... add some asm snippets on top call-threading
	_ start adding defines in the headers to prepare for call-threading
	_ often change p4xt into new p4xcode - which are the same in ITC
	_ often change *xt into *P4_TO_CODE(xt) - in ITC, the macro is a noop
	_ sometimes change (**ip)() into (*ip)()
	_ in debug-ext, have to disable some sections...
	_ --with-call-threading, compiles, and boots. But that's it.
	_ because the loading-table has been turned into saving the 
	  words-entries directly in the cfa of the words, so how to find
	  and execute them. well, that's the task for the next version.
2002-03-27 _ <>
	_ add SOURCE-NAME to misc-ext in parallel of SOURCE-LINE
	_ change P4RUNTIME into P4RUNTIMES to add a flag for ONLY-CODE
	  to prepare the use of call-threading
2002-03-25 _ <>
	_ add RESET-ORDER-IS exporting PFE.reset_order (search-order-ext)
	  and make an if() around RESET-ORDER within abort_inits and
	  set the default to TRUE in boot_system (engine-sub), so that
	  the default behaviour of PFE is not touched but a user can
	  disable the implicit RESET-ORDER ON ABORT.
	_ let DEFAULT-ORDER save CURRENT too, and let RESET-ORDER do
	  also reset the CURRENT definitions-wordlist.
	_ add --with-static-regs, and modify a few headers and main-sub
	  to use a memory area for the complete ForthVM instead of just
	  a single pointer for single-threaded non-cpur-regs mode. This
	  can speed up the execution for a statically-linked program as
	  the C compiler / Linker can precompute the final address of
	  each ForthVM register and system-variable. Just like the case
	  of the regTH in memory, it allows to compile this PFE also
	  with non-gcc compilers or machines that do not yet have a good
	  register allocation for the ForthVM in hardware registers.
	_ in the course, use main-def.c now, add main-alloc.c, and 
	  modify .STATUS to report the two regTH/regVM modes. From
	  main-sub, four new functions are exported and two extern
	  references for the two global static memory areas called
	  p4_reg (static p4_Thread) and p4_opt (static p4_Session).
	_ note that you probably don't want to use shared-modules with
	  static-regs but it is left up to the packager to decide.
	_ modify the boot-order a bit - after --boot-file, do an
	  implicit DEFAULT-ORDER that includes the FORTH-WORDLIST in
	  DEFINITIONS, then let main-sub load the include_file. Cut
	  out the CURRENT=FORTH_WL in abort_inits, and let it load
	  through RESET-ORDER which might have been modified by the
	  include-script. This fixes some annoyences with includescripts.
2002-03-19 _ <>
	_ remove PFE.query_hook, add PFE.lined_accept.intercept
2002-03-15 _ <>
	_ new style had a bug for without-modules, detected on darwin os.
2002-03-14 _ <>
	_ change dl-internal.c loading. Instead of linking the symbol
	  into dl-ext.c, there is now an external call through main-sub.c
	  that sets a new PFE.set->modules pointer in our option area,
	  usually before booting the pfe thread. The problem came up since
	  for win32/darwin we did need to let resolve all symbols, however
	  libpfemodules needs symbols from libpfe, and libpfe needs the
	  p4Words(internal) symbol from libpfemodules. At the same time,
	  this interdependency might violate LGPL rule [2d] when the 
	  libpfemodule contains code not under LGPL, as it is a static
	  interdependency not given through an optional argument nor
	  through a declaration in the headers. After all, the dl-internal.c
	  should get linked to, not, and our
	  main-def gets linked with both and,
	  and main-def uses a call to declare the address of the table
	  in dl-internal.c to the loader in dl-ext.c : in the course we
	  rename the feature to set->modules standing for set-prelinked-
	  modules-table. Theoretically, they might not be prelinked but
	  dynalinked but that does not make much sense since in that case
	  we could probably dynaload each module on its own through dl-ext.
	_ in the course of changes, I had to note that the zchar-ext was
	  never compiled in the autotool'ed pfe - dear me ;-) - now it's
	  an extra module and put into
	_ extend .spec to build -fig,-regs,_forth variants and prepare
	  toplevel-configure to accept --enable-all to configure them
	  all in one rush.
	_ disable the annoying warning in dict-sub - it's about pop_rt_body
2002-03-13 _ <>
	_ added doc/known-problems.dbk
2002-03-12 _ <>
	_ some more generated docs added
	_ fix 0x0xFEFF decompiling error
2002-03-11 _ <>
	_ more generated docs and fixes
	_ fix dl-hpux.c error for hpux version
2002-03-10 - <>
	_ forgot to add wordset-modules.dbk to doc/Makefile
	_ forgot to add 2DROP to end of definition of "(MARKER)".
2002-03-09 - <>
	_ fix MARKER - missing VOC_LINK during store
	_ add new doc page
	_ modify doc/src/Makefile to use libpfemodule_la_SOURCES
2002-03-07 - <>
	_ add a new doc page
	_ modify sf-index page and upload
2002-03-05 - <>
	_ updated documentation files
	_ release as 0.32.46
2002-03-05 - <>
	_ here's a loooong list of changes in the last year, where this
	  list takes its descriptions from the change-ids at Tektronix.
	  Sometimes I did mark home work, sometimes I did just try an
	  idea at home, and did put it in here the next day from memory,
	  and in quite some places the ideas help just better compatibility
	  anywhere, while in other the changes are only useful on k12xx.
	_ 5182 k12xx specifc, abort and windowtofront
	_ 5171 enable multi build again
	_ 5165 make check, cleanups
	_ 5070 msc, emu_connect, debugged
	_ 5065 msc, emu_connect, new syntax
	_ 5057 move some compat words
	_ 5029 tm, arbitrary number of tm-states
	_ 5024 msc specific
	_ 5008 / 5010 fix typos
	_ 4994 tm specific, htonl in emu_tx related
	_ 4991 bug, history buffer has no empty line
	_ 4758 bootfile load order change, k12xx request
	_ 4679 msc specific, poolprep
	_ 4634 adapt save_thread / load_thread to new module in
	_ 4633 k12xx specific, paint red on error
	_ 4626 new external tek modules
	_ 4314 msc specific
	_ 4482 after-merge testing fixes
	_ 4481 can not TYPE more than 255 (k12xx only?)
	_ 4607 tm specific
	_ 4104 big home work : prepare call-threading / sbr-threading
	_ 4011 make order-size settable via option-ext
	_ 3170 xm-tool doc generation update (december 2001)
	_ 3062 msc specific
	_ 2819 / 2820 terminal-to-front, k12xx specific
	_ 2809 / 2815 / 2819 updec
	_ 2777 updec internal descriptions
	_ 2547 updec enroll and fixups ...
	_ 2538 some fixes...
	_ 2312 cpu-regs save&restore, new format, sane format
	_ 2302 tm specific
	_ 2536 libtool 1.4.2 upgrade
	_ 2535 november 2001, the october-release is shipping, so we can
	  start over with a new baseline cycle
	_ 2296 msc specific
	_ 2291 32.34 cleanups (yes, this is beta stage)
	_ 2023 another point release
	_ 2017 msc specific
	_ 1999 DLSYM implementation
	_ 1994 NTOHL added
	_ 1588 updec changes 
	_ 1430 point release 32.30 for tek internal beta builds
	_ 1407 updec with 32.x generation
	_ 1375 pfe-all version, including realemul (pfe tek offline vers)
	_ 1284 k12xx padding
	_ 1276 goto_state / random / totalmem-optionext changes
	_ 1222 /1227 / 1228 /1229 / 1230 / 1231 / 1233 /1236
	  slowly merge work done @home into the tek tree. The change-ids
	  are for 32.17 up to 32.27 version numbers. The private work did
	  start off at 32.14 in the tek tree code. Have to check later
	  what was done there at home.
	_ 1133 modify lined.c
	_ 1132 tm specific
	_ 1111 create header-ext, assembling related words there, and
	  cleaning up some things
	_ 1046 / 1089, added also for tek - the tek tree had 
	  been built without float support since some cpus did not have a
	  fpu anyway. Here we add a floating module for the ones who
	  have it, and install it on the device. The desktop pfe does
	  now always have a module, but it must always be
	  loaded via " floating-ext" environent? call. Before that it
	  is not available, so the startup pfe binary has a small
	  footprint unless floating-ext is needed for an application.
	_ 1045 small fixes
	_ 1039 k12 gui problem
	_ 1038 meas problem
	_ 1019 to_body non-const - BIG CHANGE!! the additional does-field
	  (called aux in the sources) is killed from the word header in
	  forth. Instead, we put the does-field *after* the cfa-field in
	  the respective words created, where it was *preceding* the cfa
	  until now. Now we don't want to waste memory unnecessarily, and
	  even more, quite some program make the assumption that the PFA
	  is CELL+ from CFA, atleast in the old fig sources. However,
	  these old fig sources do also expect a "<BUILDS" field for the
	  does-words to exist in PFA[0], and therefore add another CELL+
	  to get at the first real value. Here we change the style, the
	  ">BODY" has been an offsetword so far, just adding CELL+ to all
	  values given to it (i.e. like a "->BODY" word). Now the input
	  argument to ">BODY" must be a valid CFA address (or null) since
	  we fetch the value from the CFA, and then check if that CFA
	  value is the runtime of BUILDS or DOES. If yes, we add two
	  cells, if no we add just one cell, and that makes the outer
	  behaviour ANS Forth compatible. I did check with comp.lang.forth
	  that this is a possible mode, and in fact, by theory, a native
	  code colon word does not have any PFA (parameter field) but a
	  very long CFA (code field) where the latter has a size much
	  longer than the CFA call code. In the end, after all this long
	  text, we did achieve another effect: the --with-fig mode and
	  the ans mode of pfe are simply identical for the internal
	  header layout of all words, including variables, colon words
	  and does words. People making assumptions about the internal
	  layout being other than fig or ans asserts will however see 
	  their programs to be broken. That's why, 32.x starts here.
	_ 898 create comus ANEW
	_ 886 msc specific
	_ 793 more --with-k12=offline-msc
	_ 792 full typed comma support, part 1 (for explicit reloc info)
	_ 778 create "LITERAL," as the non-immediate variant of
	  "LITERAL". Follows a discussion on comp.lang.forth about
	  state-smart words and the need to provide a non-statesmart
	  variant for compiling words, in order to clean postpone problems
	  about these.
	_ 773 change internal voc names to bracket-style, including
	  helper words, the bracket-style indicates that they are 
	  immediate vocabularies. Hang the base wordlist into a
	  VALUE FORTH-WORDLIST and make FORTH to use this value.
	_ 765 meas makefiles adaption, tek internal
	_ 678 create CONTEXT? as the count for the context wordlist,
	  this is used to add glue code so that a wordlist is only be
	  put once into the search-order, used to prevent order overflow
	_ 675 add NAME>STRING to forth, as discussed on comp.lang.forth
	_ 12291 database transition prepare - new change ids after here
	_ 12131 offline msc, eventcall @ win
	_ 12076 offline msc, k12-real @ win, client side
	_ 12053 mforth, init_fkey, kill_key
	_ 12048 offline msc, k12-real @ win, server side
	_ 12029 msc default chart
	_ 12028 offline-msc, k12-emul @ term-widow
	_ 11899 vx-start sym-lkup option-ext feature
	_ 11875 validation req, no timeout fallthrough
	_ 11874 RANDOM bug, RAND_MAX is 15bit on vxworks
	_ 11821 auto-mingw32-build
	_ 11663 msc, default-state-return
	_ 11576 offline msc, k12-emul @ term-wincon
	_ 11574 msc specific
	_ 11570 add def-pth.h
	_ 11518 emu_tx word adapations (new classic adaption)
	_ 11453 msc timer adaptions
	_ 11447 key support
	_ 11358 k12xx specific
	_ 11341 sparc with-regs, makes a lot of speedup during execution
	_ 11322 offline pfe, solaris
	_ 11317 offlne pfe.exe with modules, and dll
	_ 11165 tm updates
	_ 11133 offline pfe.exe with modules
	_ 11129 bugfix - EXTENSIONS voc not found
	_ 11122 implement [POSSIBLY] and DEF'
	_ 11105 test-dir and scripts for k12xx specifica
	_ 10951 point release 31.51
	_ 10950 zchar-ext should use FORTH as the wordlist base
	_ 10947 clocks_per_sec_bug
	_ 10946 split environment_Q to make it callable as a helper func
	_ 10944 CS-DROP / CS-SWAP implementations
	_ 10941 add R"@ and friends, this proposition was seen and
	  discussed on comp.lang.forth, which I see as a lightweight
	  alternative to LOCALS. 
	_ 10936 in C, a "=" is no sequence point, therefore some code
	  like FX_PUSH(SP[1]) leaves undefined behaviour. Avoid it.
	_ 10928 replace all OUT by p4_OUT, and remove OUT-#define,
	  same for SPAN, add p4_COLS and use it. Some short defines are
	  no good with win32 headers by the way.
	_ 10927 forth_wl is default for CURRENT
	_ 10924 forget vs vocs in search-order
	_ 10907 merge msc-string changes
	_ 10902 make modules for tek system
	_ 10895 msc specific
	_ 10868 create terminal-output logfile facility
	_ 10731 fix DEFER
	_ 10726 fix builds (July 2001)
	_ 10713 31.45 point release
	_ 10709 meas makefiles
	_ 10703 newest autotools update
	_ 10697 k12xx, fxt changes for more SAPs
	_ 10645 fix host_cpu for pfe_modules
	_ 10335 make a fat vxworks binary, w/ dl-internal
	_ 10334 remove openstring remainings, use zstrings!
	_ 10324 eliminate p4_Head, remove make_head, header_from
	  and use p4_create_from in all places
	_ 10320 msc-default integration
	_ 10299 31.41 point release
	_ 10281 all-version, make multibuild system more clever,
	  use build subdirs for the source subdirs (June 2001)
	_ 10280 some mergers around version-offspring 
	_ 10137 uppercase HOST_ defines instead of lowercase variants
	_ 10130 mbs, msc, table-remove
	_ 10124 mforth autotool'd, build for offline-pfe
	_ 10121 modules via configure, change style
	_ 9975 / 9988 patch points
	_ 9907 fix env/option problem on win32
	_ 9902 zero-terminated strings and support for backslash strings,
	  fixes prior home work models
	_ 9885 create dl-win32 dlopen interface
	_ 9883 make pfe/term-k12.c/outbuf_ring configurable
	_ 9873 portability fixes (see next entries below...)
2001-05-21 - <>
	_ cleanup some problems about cygwin and mingw targets
	_ create dl-win32.c

2001-05-20 - <>
	_ watcom-c-10 changes. Project-files/Target-files are now
	  included along with a dummy pfe-config.h/pfe-target.h
	  The dos32-pfe32.exe does work great.
	  The dos16-pfe16.exe will fail on startup with out-of-memory
	  and if you use an option to lower memory consumption it
	  will FREEZE WIN-95 !!! Beware of FAT-filesystem corruption !!!
	_ add *.tgt *.wpj to distfindfiles

2001-05-19 - <>
	_ add another way to detect destroyers: check for a destroyer_RT
	  in the XT if the name is immediate, pretty easy and portable
	  to a configuration without an FFA. Actually, I hope to delete
	  the default for FFA to no, and make it again as fig-compatible
	  as possible.
	_ need to replace all references to the DESTROY-bit, mostly 
	  checks are changed to the new word PFE_IS_DESTROYER.
	_ add destroyer_RT near forget_word API in dict-sub.
	_ change DEFER/IS/DOER/MAKE to use PFA[1] always. In non-fig
	  mode, simpel leave PFA[0] blank.... and warn about usage.
	_ add a test/check for defer/make
	_ add fixup for darwin, add fixup for newest crossmingw compiles.
	_ add manpage generation rule for pfe-config ... a debian requirement

2001-05-18 - <>
	_ replace all HAVE_ defines by PFE_HAVE_ defines 
	  hopefully all config.h defs are now changed to pfe-config.h defs.
	_ merge with pfe-30/README
	_ dnw found a superfluous ifdef in dstrings-ext, thanks.
	_ on darwin-1.3, a patch to generated libtool can build
	  a .so-sharedlib of pfe, but the main-exe pfe is bound
	  statically, "otool -L pfe" does not reveal a dependency
	  on libpfe. Actually, the darwin-native sharedlibs are
	  called ".dylib", not ".so". Same for the loadm-functionality
	  of pfe - the configuration did not find any known unix'ish
	  dlopen functions, so the pfe can not dynaload the created
	  external modules anyway. Therefore, ATM, just use a
	  configure --without-modules --disable-shared ... and if
	  you really want to look at the upcoming sharedlib of pfe
	  on darwin, then patch the libtool after configure with
           mv libtool libtool.gen
           sed -e '/archive_cmds=/s:\\\\":\\":g' libtool.gen > libtool	
2001-05-17 - <>
	_ fix some issues that come from error-messages
	  from the borland 5.5 compiler.
	_ strncmpi was still used in some places, instead
	  let them all use p4_strncmpi and have it defined
	  in core-sub.h : core-sub.c dict-sub.c dl-ext.c
	  environ-ext.c locals-ext.c option-ext.c
	_ remove check for HAVE_CONFIG_H from _missing.h
	  and let the HAVE_-checks become PFE_HAVE_-checks.
	_ change _missing.c HAVE_ to PFE_HAVE_-checks.
	_ Borland does not use __FUNCTION__, so we have to
	  change logging.h
	_ main-sub.c: locale.h/unistd.h HAVE_ -> PFE_HAVE_
	_ memory-sub.c: P4_ADD does not work in here with bcc.
	_ some void*-calculation must become char*-calculations.
	  p4_to_link paren_dict_limit_
	_ real windows has timeval in winsock.h ... need to 
	  include it in posix-ext.c
	_ real windows does not have unistd.h ... instead it
	  uses io.h for the basic file functions.
	_ fix p4_compiles/fx_compile issues in shell-os-ext
	_ add <io.h> to _missing.h
	_ posix-ext.c needs PFE_HAVE_WINBASE...
	_ need direct.h in shell-os-ext
	_ use pocket_filename in p4_chdir (shell-os-ext)
	_ use PFE_RETSIGTYPE instead of RETSIGTYPE in signals-ext
	_ look for an env-option to suppress install_signals
	_ a few borland-c-55/Makefile fixes
	_ the bcc32 pfe.exe is now there, but it is wrong
	  and throws before one can get to the line-ed.

2001-05-16 - <> 
	_ fixup cygwin32/NT compilation (not yet through)
	_ fixup vxworks/CD bug
2001-05-16 - <>
	_ dstrings becomes an external that is compiled and
	  installed by default. Remove --with-dstrings-ext
	_ apply some fixups for dstrings that I did not yet
	  been able to do with the last week or so.
2001-05-15 - <>
	_ test round 1: hook --str-buffer-size as generic and
	  let dstrings-ext use it. dstrings-ext becomes fully
	  decoupled, no external module yet. (31.22)
	_ test round 2: hook into k12xx system
	_ make offline pfe.exe a possibility.

2001-05-14 - <>
	_ complete the option-ext system, hook it into the
	  stdc arg-scanning to do generic option-recognition,
	  test it, and make the "map"-facilities to use it.
	_ start off dl-internal.c, extend paren_loadm to see
	  the internal module-wordsets in that table, and
	  hook into environment_Q to try to load a module if
	  an "-ext"-question is seen and not fullfilled by
	  the first run over environ_wl.
	  (move environment_Q implementation to environ-ext.c)

2001-05-12 - <>
	_ start option-ext system.
	_ tests to make it seemingly work
	_ hook it into environment-wl

2001-05-10 - <>
	_ pfe.h changed, for new SWIG version as of .31.x
	_ tests for vxworks environment - need to recompile everything
	  since LOADLIST-feature has been removed.

2001-05-09 - <>
	_ remove all references to p4_tick and replace with their
	  respective calls to p4_tick_nfa or p4_tick_cfa - files:
	  core-ext debug-ext misc-ext module-ext struct-ext
	  toolbelt-ext tools-ext useful-ext your-ext

2001-05-08 - <>
	_ change exception system - a wordset can now declare an entry
	  that sets a pair of exception-number and descriptive string.
	_ the pfe-specific (memstack/dstrings) exception-numbers are
	  rewritten as wordset-entries, the old secondardy-table in
	  excpetion-sub is removed and replaced by a linked-list search.
	_ found a severe bug introduced at dict_allocate-changes (.12-.15)
	  where I forgot declare the memory section of the TIB. The 
	  "make check" did not jump on this bug but the first interactive
	  tests (from above, a "-2049 throw" test) did reveal it. All
	  versions since atleast .15 (.14?) are affected.
2001-05-08 - <>
	_ some cleanups in debug-ext and main-sub
	_ clean mis-changes in dstrings-ext
	_ clean some calls in dstrings-ext that should read 'FX(func)'.
	_ add enable_stackthreaded declaration in def-comp to point
	  into the direction that I like to go with the fcode-declarators.
	_ clean up Semant/Semant2 and compile/compile1/compile2 which 
	  did create error-hell with the free-borland compiles on windows.
	  ... using option --with-user-config=_debug_borland_ansi_compilers=1
	  and declaring the semant-structures in def-comp.h
	  ... mostly changing some FX_COMPILE1 to FX_COMPILE in:
	  core-ext double-ext exception-ext engine-sub locals-ext
	  string-ext forth-83-ext forth-usual-ext misc-ext useful-ext
	  your-ext dstrings-ext toolbelt-ext
	_ remove WITHDEF_REGS from $(OPTIM) in
	_ add depcomp to DISTFILES in toplevel-Makefile
2001-05-07 - <>
	_ change dict_allocate - use a new helper routine in memory-sub
	  that carves the stacks from dictlimit down. The dict_allocate
	  of the floating-stack is now moved to the floating_init
	  routine. The main-sub dict_allocate routine does not contain
	  a series of function-calls to our helper routine.
	_ can we make dstrings-ext to use p4_dict_allocate ?? and is it
	  better to have an implicit destroyer.
	_ when to move the other dict_allocate parts to their respective
	  wordset' init-routines ??
2001-05-06 - <>
	_ change struct p4_Decomp dot skips from an integer to a
	  function pointer of a type that had been introduced in
	  the decomp-split. The old integer-enum is changed to
	  a series of defines of those integers with the correct
	  types so that the old macros still work.
	_ make the default to call the skips member if it is set.
	_ remove a few skips-ids, move the defintions to their
	  files where they are used, and let the corresponding
	  compiles-struct reference the functions directly there:
	  P4_SKIPS_FLOAT -> p4_lit_float_SEE -> floating-ext.c
	  P4_SKIPS_PSTRING -> p4_lit_pstring_SEE -> dstring-ext.c
	  P4_SKIPS_PSTRING_BACK_TICK -> p4_lit_pstring_back_tick -> ..
	_ marg_execution and make_str_frame_execution go from
	  debug-ext to dstrings-ext where they belong. As a real
	  novelty - the execution gets its own CS which gets
	  compiled by its execution-maker that is not actually
	  named in that CS. Let's see if that works...
	_ move engine-sub interpret helpers to their wordsets,
	  these are interpret_float to floating-ext 
	  and interpret_dstrings to dstrings-ext
	  ... and of course, now we need init/deinit routines
	  in these wordsets to register the interpret-routines.
	_ introduce abort-vectorize-field, so engine-sub can get 
	  rid of references to floating-ext and dstrings-ext.
	  Again, the vector-fields must be inited/deinited in
	  their corresponding prim-wordsets.
	_ move the semicolon-execution of dstrings's margs to
	  its wordset. Use a nesting-routine for the semicolon
	  functional-vector that calls the outer semicolon-routine.
	  May be this defines margs even within a DOES> code part.
	_ move xalloc routine for PFE.dstrings from main-sub to
	  the init-routine in dstrings-ext. The dstrings-ext
	  wordset is now largely ready to be compiled as an
	  external module - the only exception is for the option
	  processing and the exception-ids. As mac-os-x support
	  is not fully tested with external modules, I'll keep
	  it as it is.
2001-05-05 - <>
	_ found a severe bug in load_llist routine but we wanted to
	  replace the functionality by load_words anyway. The func
	  load_llist is removed, and the module-p4_MODULE helper-func
	  (compiled by P4_MODULE_LIST) does return a P4WORDS-adress
	  instead of a P4_LOADSTRUCT. The definition of a LOADSTRUCT
	  is now obsolete and the def-words macros will be removed RSN.
2001-05-04 - <>
	_ p4_dlopen to p4_dlopenext int api change, dlfcn-ext is now
	  renamed to dl-ext completly. next step will be to adapt
	  to the ltdl-api which requires testing a dlfindsym operation
	  on vxworks first.

2001-05-03 - <>
	_ start make generation 31 
	_ dlfcn-sub.c is no more, and so is dlfcn-sub.h, generated until
	  now and used only in dlfcn-ext.c.
	_ debugged the debug-decomp-split style.
2001-04-27 - <>
	_ starting off generation 31
	_ rename Changelog to ChangeLog - which is the recommended name.
	_ split dlfcn-sub.c into pieces that are loaded by a -def file.
	  the new fileset is dl-def.c dl-none.c dl-dlfcn.c dl-hpux.c
	  and of course dl-vxworks.c. The dlfcn-ext.c will be aligned
	  in its naming as soon as the dlfcn-sub api is dismissed.
	_ add a main-def.c - currently it just includes main-stdc.c
	  but it offers us the possibility to set the main-type 
	  with a configure-call.
	_ rename to - we will strictly
	  rely on the 2001-year series of autoconf (2.49/2.50+)
	_ add *.ac to the top-level Makefile distexts.
	_ sourceforge download-server for pfe-packages is now
	_ the mark>/resolve> change in misc-ext.c

2000-04-24 - <>
  * dstrings patch by david.n.williams - applied. 
  * tag v96
2000-04-23 - <>
  * did a lot of test with the various autoconf automake libtool
    version. Sadly, libtool does not contain the libsdl patches
    to crosscompile to mingw32, so I have to stick to the old
    libtool. Automake 1.4e cvs-version has quite a few bugs, so
    we update to automake 1.4d release. Autoconf cvs prerelease
    is quite fine, however some macros in the aclocal-archive
    had to be updated. Now we have the chance to test with the
    features from newer autoconf/automake atleast. And to use
    enhanced features from next autoconf-generation atleast.
  * --with-modules ... because we can not anymore just try to
    build the modules for crosscompile mingw32 target.
  * add `pocket-pad` where there is `th'pocket`
  * tag v95
2000-04-01 - <>
  * well, with the libsdl, it works now,
    but it does not seem to be able to resolve the module's symbols
    with the pfe.dll - and that's needed for making module dlls.

2000-03-31 - <>
  * lots of tests to build a pfe.dll, and quite a few changes to
    pfe/ and pfe/
  * these are now dependent on $host cygwin/mingw, let's see later
    if that assumption is correct.
2000-03-30 - <>
  * use AC_SPEC_PACKAGE_VERSION - changes to pfe/ and pfe.spec
  * new experience with rpm.spec files made me do a major rewrite of pfe.spec
  * change usage of CFLAGS/INCLUDES in pfe/ ... an experience
    from files for external-built pfe-modules.
  * start using AC_PROG_CC_WARNINGS
  * clean out optlevel defines
  * factor out gcc -pipe check.
  * delete comments for -Wshadow and -Waggregate-return
  * remove -g addon, and set -Wl,-S at LDFLAGS
2000-03-26 - <>
  * update forthprimer.pdf
  * coldboot module section in engine-sub has still not updated
    to load_words for MODULE2 MODULE3