2008-12-21 guidod <guidod@gmx.de>
* 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)
* Makefile.am: 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 <guidod@gmx.de>
* pfe.spec - done some testing on the opensuse build service
2008-11-21 guidod <guidod@gmx.de>
* 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 <guidod@gmx.de>
* 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 <david.n.williams@umich.edu>
* 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
Leopard.
* Renamed, adjusted labels and pronunciations:
old new
MPLACE (M!)
SM, M,S
$S>-COPY $,S
CAT $+
CAT" $+"
CAT` $+`
S-CAT S+
PARSE-CAT PARSE-S+
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
DROP-$FRAME.
2008-09-11 guidod <guidod@gmx.de>
* 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
forth200x/queries.
* 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 <guidod@gmx.de>
* 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/Makefile.am: install-exec-hook should use "ln -sf" to put renamed
executables into $bindir - that allows reinstall (report from DNW)
2008-09-01 guidod <guidod@gmx.de>
* pfe/pfe-master.odt - the *.dbk converted to *.odt (not yet packaged)
* pfe/pfedoc/odtdocument.py - 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 <guidod@gmx.de>
* 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 <guidod@gmx.de>
* complex-ext: make actual compilation dependent on PFE_HAVE_ISINF detected (newly added)
* prep 33.70
2008-05-12 guidod <guidod@gmx.de>
* hpux cc fixes
* add test64.ok for x86_64 variants
* use "testlist:" target along with Makedist.mk 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 <guidod@gmx.de>
* implement "./" local path resolution
* swap diff order of test/Makefile.am
* 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 <guidod@gmx.de>
* 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
http://opengroup.org/onlinepubs/007908799/xcurses/tparm.html
* 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 <guidod@gmx.de>
* 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 <guidod@gmx.de>
* 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)
2008-05-06
* 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
2008-05-05
* add extension-query numbers for Forth200x proposals
* add THROW codes as mandated by http://www.forth200x.org/throw-iors.html
* 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)
2008-05-05
* implement DEFER@ DEFER! and ACTION-OF as specified in
http://www.forth200x.org/deferred.html
* 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 http://www.forth200x.org/deferred.fs 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 <guidod@gmx.de>
* introduce log.diff comparison for "make check"
* switch to test/string.test.ok for a first example
* adding http://www.forth200x.org/tests/fp-stack.fs ok
* adding http://www.forth200x.org/tests/test-num-prefixes.fs
* adding http://www.forth200x.org/tests/test-num-prefixes2.fs
* introduced PREFIX_DECIMAL_OLD '&' and change PREFIX_DECIMAL '#'
to match with forth200x number-prefixes proposal
* adding http://www.forth200x.org/tests/number-prefixes.fs (modified)
and updating the test-num-prefixes output templates
* rename "+FIELD" to "+FIELD:" and make the old one a SYNONYM
* deprecate "+FIELD" reserved by http://www.forth200x.org/structures.html
* 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 forth200x.org/ekeys.html
* 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 http://www.forth200x.org/required.html
* rename p4_required/p4_requires to p4_include_required/p4_include_require
to make its relation p4_included more obvious in code.
* adding http://www.forth200x.org/tests/parse-name.fs
with SYNONYM PARSE-NAME PARSE-WORD
* 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
http://www.forth200x.org/extension-query.html - 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 <guidod@gmx.de>
* 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 <guidod@gmx.de>
* 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
appear.
* 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 <guidod@gmx.de>
* 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 <guidod@gmx.de>
* 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 <guidod@gmx.de>
* 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 <guidod@gmx.de>
* 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 <guidod@gmx.de>
* standardize on P4_NAMELEN/P4_NAMEPTR - avoid NFACNT !
2008-04-25 guidod <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* add pfe/os-string.h to bin/pfe-exec.c to help with x86_64
2008-04-20 _ <guidod@gmx.de>
* allow pfedoc/forthheader.py to run standalone producing a forthheaderxml document
* allow pfedoc/forthwordset.py to run standalone producing a forthwordsetxml document
* create pfedoc/forthmodule.py - if run standalone it produces a forthmodulexml text
* modify Makefiles for "forthxml" and "forthxmls" targets creating those xml documents
2008-04-20 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* switch back and forth between sbr/asm in decompiling
* Copyright update to 2008
2008-04-20 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* debug-ext sbr-decompiling can now recognize all compiled words
which allows to make a normal decompiler in the future.
2008-04-19 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* import to Eclipse
* fix m4 macro to enable pfe-uninstalled.sh in testmodules
* reduce warning count in sbr-threading mode
2008-04-18 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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.
2008-04-07
* Krishna Myneni - update to fpnostack-ext adding both FLOATING-EXT
and FLOATING-STACK environment query results.
2008-04-07
* Josh Grams - update exception-sub to print line-numbers starting
at 1 (see also MISC-EXT SOURCE_LINE for the same)
2008-04-04
* had to disable X11 tests in pfe/configure.ac - 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. <wdavison@users.sourceforge.net>
* http://sourceforge.net/forum/forum.php?forum_id=665365
As of 2007-02-08, SourceForge.net Compile Farm service
has been officially discontinued.
2007-02-16 _ <guidod@gmx.de>
* 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 _<david.n.williams@umich.edu>
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 _ <guidod@gmx.de>
* CODE and ASSEMBLER have been given a generic implementation
in ITC (traditional) model.
2006-09-26 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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:
ftp://ccreweb.org/software/kforth/examples/asm-x86.4th
ftp://ccreweb.org/software/kforth/examples/asm-x86-examples.4th
2006-09-25 _ <guidod@gmx.de>
* add FX_SKIP_BRANCH
* experimental compiled outer interpreter:
see INTERPRET-FIND
see INTERPRET-NUMBER
: 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
then
interpret-find
interpret-number
again
;
' 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 _ <guidod@gmx.de>
* 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
p4_cabs
by
_export double
p4_cabs
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* doc/pfedoc/*.py doc/makedocs.py - 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 _ <guidod@gmx.de>
* pfe.spec - making over with rpmbuild --with-options
* configure.ac - 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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/Makefile.am - 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 _ <guidod@gmx.de>
* 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*/
* http://www.opengroup.org/onlinepubs/009695399/utilities/make.html
* let autogen.sh 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
here.
* 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 _ <guidod@gmx.de>
* cvs repository archive as pfe-33 on pfe.sourceforge.net
* fix minor build issues and "signedness warnings" by gcc 4.1
2005-01-14 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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
RAISE-SIGNAL and FORTH-SIGNAL. Since RAISE-SIGNAL is
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 _ <guidod@gmx.de>
* add comment blocks to mk/Make-H.* (i.e `make gen` / `make force-gen`)
2005-01-07 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* fix autoconf/automake issues in configure.ac
* fix make-check problems related to loadm
we now have p4_loadm_test everywhere
2004-12-24 _ <guidod@gmx.de>
* last merge with Tek
* adding all the latest of dnw
2003-07-03 _ <guidod@gmx.de>
* the last merge with Tek was wrong, SORRY.
* NVRAM stuff is now included, finally
* need to fix a few doc things
2003-07-01 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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/configure.ac example
2003-06-30 _ <guidod@exgate.tek.com>
* 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 _ <guidod@gmx.de>
* modified configure and pfe/configure.ac 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/Makefile.am is a new file, the lib directory shall
hold a few examples now to test external module generation.
* the resp. files have moved from ./Makefile.am to lib/Makefile.am
* 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/Makefile.am - 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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).
2003-03-23
* automatically adding -no-cpp-precomp on darwin
* introduce DLLFLAGS / DYNALINK separation to accomodate with darwin
2003-03-22 _ <guidod@gmx.de>
* 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 structs.la and complex.la 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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,
VARIABLE, 2VARIABLE, FVARIABLE
* again, MARKER was exported errornously as FXco instead of RTco
* adding decompile-routine for ZCONSTANT in complex-ext
* complex.la not rebuild - rewrite pfe/*.am to pick automake syntax
of complex_la_DEPENDENCIES to register renamed-rule. HTH.
2003-03-19 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@exgate.tek.com>
* 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 _ <guidod@gmx.de>
* 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 complex.la dependencies for renamed magic
* change SHOW-STATUS from SYNONYM into OBSOLETE
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 configure.ac - 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 inverse is UDC2UL in RESIZE-FILE REPOSITION-FILE
* 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
* configure.ac 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_reposition_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 _ <guidod@gmx.de>
* 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 _ <guidod@exgate.tek.com>
* 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 Makefile.mk to allow auto: target to
reconfigure autotools within tek environment
2003-03-13 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* forgot install -> install-all in pfe.spec
* clean subdir-build macro and pfe.spec to do the right thing
2003-03-12 _ <guidod@gmx.de>
* try to simulate --enable-all with a series of --with-variant
calls interpreted by the toplevel configure part
* now we need Makefile.ax 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/Makefile.am needs some top_srcdir and srcdir references
* doc/Makefile.am cleaning references to src/Makefile and xm-tool
2003-03-12 _ <guidod@gmx.de>
* move test-scripts into test/Makefile.am
* move doc-target to doc/Makefile.am - actually just a removal
2003-03-12 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* start off generation 33
2003-03-11 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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
with USER-CONFIG FLOATING_HEADROOM
2003-03-07 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* 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 _ <guidod@gmx.de>
* dbk/pfe-fth.mk - 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 _ <guidod@gmx.de>
* merge fpnostack-* changes from krishna Myneni
* add doc/changes generated from ChangeLog
2003-03-05 _ <guidod@gmx.de>
* need to modify wordset2words.pl for dpans-reading
* add --nofileref option and use it in doc/Makefile right away.
* merge floating-* changes from David N. Williams
2003-03-04 _ <guidod@gmx.de>
* 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/pfe-fth.mk 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 dpans.ar and 4thtutor.ar again
2003-03-03 _ <guidod@gmx.de>
* final fixes for aix-cc (thanks Gary!)
* five new words in floating-mix as wished for.
2003-02-29 _ <guidod@gmx.de>
* adapt dbk/pfe-fth.mk for local install with some external
xml-c-pfe-doc binary. (fix: pfe sources are local now).
* fix wordsets2words.pl: HOLD -> hold:core: instead of hold::core
* fix wordsets2words.pl: 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 _ <guidod@gmx.de>
* 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
forth-usual-ext.c:p4_fetch_plus_plus,p4_store_plus_plus
zchar-ext.c:67,69,74,78
dstrings-ext:111,371,371,373,
dstrings-ext:1222,1225,1227,1299,1300,1301,1302,1304
dstrings-ext:1318,1319,1328,1367,1368,1370,1392
* 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 _ <guidod@gmx.de>
_ 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 _ <guidod@gmx.de>
_ update FROUND with latest version from Krishna Myneni
_ this includes an extra configure.ac 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 _ <guidod@gmx.de>
_ 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 _ <guidod@gmx.de>
_ added fpnostack-ext courtesy of Krishna Myneni of kForth fame
2002-10-01 _ <guidod@gmx.de>
_ added a few gcc 3.2 fixes - still buggy however for many cases
2002-09-10 _ <guidod@gmx.de>
_ initial support for sparc sbr-threading - incomplete.
_ partly fixed ia32 sbr-threading - the include-file does not yet go
2002-09-09 _ <guidod@gmx.de>
_ 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 _ <guidod@exgate.tek.com>
_ 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 _ <guidod@exgate.tek.com>
_ 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 _ <guidod@gmx.de>
_ found a bug in main-sub near -I copying routines +1 -> +2
_ postpone.fs is not newstyle caselessmatch ready - fixed it.
2002-07-15 _ <guidod@exgate.tek.com>
_ 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 _ <guidod@exgate.tek.com>
_ 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 _ <david.n.williams@umich.edu> 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 _ <guidod@exgate.tek.com>
_ 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 _ <guidod@exgate.tek.com>
_ add a small fixup for win32 sig handling.
_ add `make installs` into pfe/Makefile.am, 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 _ <guidod@exgate.tek.com>
_ 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 _ <guidod@exgate.tek.com>
_ merge latest changes made for Tek's upd-pfe.exe
_ test for different variants
2002-06-04 _ <guidod@gmx.de>
_ fix build issue for i386 -calls and -fast variant
_ make-check-all still a bit broken
2002-06-04 _ <guidod@exgate.tek.com>
_ 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 _ <david.n.williams@umich.edu> 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
prototypes.
_ Revised dstrings.html and smodel.html.
_ Changed the default USER-CONFIG from short-counted
(nominally 16-bits) to long-counted strings (nominally
32-bits).
_ Added $FRAME-DEPTH to debugging section.
_ Fixed a bug in ENDCAT revealed by testing with
char-size counts. Tests with char, short, and long
all work, as far as they go...
2002-05-13 _ <david.n.williams@umich.edu> 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 _ <guidod@exgate.tek.com>
_ 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 _ <guidod@exgate.tek.com>
_ wrong sbrx-ac_define in configure.ac
_ 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 _ <guidod@gmx.de>
_ 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
PFE_SBR_THREADING -> PFE_SBR_CALL_THREADING
PFE_SBRX_THREADING -> PFE_SBR_CALL_ARG_THREADING
and adjust the toplevel configure
2002-03-31 _ <guidod@gmx.de>
_ 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 _ <guidod@gmx.de>
_ 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
parts of FX_USE_BODY_ADDR + FX_POP_BODY_ADDR.
_ 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/Make-H.pl 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 _ <guidod@gmx.de>
_ 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 _ <guidod@gmx.de>
_ 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 _ <guidod@gmx.de>
_ added test/postpone.sh
_ added test/search-order.sh 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 _ <guidod@gmx.de>
_ 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 _ <guidod@gmx.de>
_ vocabulary-rt did not use POP_RT
_ rename p4_var_RT to p4_variable_RT to be good for _DEF_RUNTIME1
2002-03-29 _ <guidod@gmx.de>
_ omit another signal/raise test/*
_ bug in test/loop-test.sh (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 _ <guidod@gmx.de>
_ 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 _ <guidod@gmx.de>
_ call-threading!!! - it works for many things now, if not all...
2002-03-28 _ <guidod@gmx.de>
_ 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 _ <guidod@gmx.de>
_ 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 _ <guidod@exgate.tek.com>
_ 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 _ <guidod@exgate.tek.com>
_ remove PFE.query_hook, add PFE.lined_accept.intercept
2002-03-15 _ <guidod@gmx.de>
_ new style had a bug for without-modules, detected on darwin os.
2002-03-14 _ <guidod@gmx.de>
_ 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 libpfemodule.la, not libpfe.la, and our
main-def gets linked with both libpfe.la and libpfemodule.la,
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 libpfemodule.la
_ 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 _ <guidod@gmx.de>
_ added doc/known-problems.dbk
2002-03-12 _ <guidod@exgate.tek.com>
_ some more generated docs added
_ fix 0x0xFEFF decompiling error
2002-03-11 _ <guidod@exgate.tek.com>
_ more generated docs and fixes
_ fix dl-hpux.c error for hpux version
2002-03-10 - <guidod@gmx.de>
_ forgot to add wordset-modules.dbk to doc/Makefile
_ forgot to add 2DROP to end of definition of "(MARKER)".
2002-03-09 - <guidod@gmx.de>
_ fix MARKER - missing VOC_LINK during store
_ add new doc page
_ modify doc/src/Makefile to use libpfemodule_la_SOURCES
2002-03-07 - <guidod@gmx.de>
_ add a new doc page
_ modify sf-index page and upload
2002-03-05 - <guidod@gmx.de>
_ updated documentation files
_ release as 0.32.46
2002-03-05 - <guidod@exgate.tek.com>
_ 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
2002-02-xx
_ 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
2002-01-xx
_ 4634 adapt save_thread / load_thread to new module in
def-restore.h
_ 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
2001-12-xx
_ 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
2001-11-xx
_ 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)
2001-10-xx
_ 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 floating.so, 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 floating.so 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.
2001-09-xx
_ 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
2001-08-xx
_ 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
2001-07-xx
_ 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
2001-06-xx
_ 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 mforth.so for offline-pfe
_ 10121 modules via configure, change style
2001-05-xx
_ 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 - <guidod@exgate.tek.com>
_ cleanup some problems about cygwin and mingw targets
_ create dl-win32.c
2001-05-20 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ replace all HAVE_ defines by PFE_HAVE_ defines
(except: HAVE_VERSION_H HAVE_CONFIG_H)
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 - <guidod@gmx.de>
_ 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 - <guidod@exgate.tek.com>
_ fixup cygwin32/NT compilation (not yet through)
_ fixup vxworks/CD bug
2001-05-16 - <guidod@gmx.de>
_ 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 - <guidod@exgate.tek.com>
_ 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 - <guidod@exgate.tek.com>
_ 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 - <guidod@exgate.tek.com>
_ start option-ext system.
_ tests to make it seemingly work
_ hook it into environment-wl
2001-05-10 - <guidod@exgate.tek.com>
_ 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 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ 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 Makefile.am
_ add depcomp to DISTFILES in toplevel-Makefile
2001-05-07 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ 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 - <guidod@gmx.de>
_ 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 configure.in to configure.ac - 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
http://prdownloads.sourceforge.net/pfe/pfe-%version.tar.gz
_ the mark>/resolve> change in misc-ext.c
--------------------------------------------------------------------------
2000-04-24 - <guidod@gmx.de>
* dstrings patch by david.n.williams - applied.
* tag v96
2000-04-23 - <guidod@gmx.de>
* 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 - <guidod@gmx.de>
* well, with the ltmain.sh/ltconfig 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 - <guidod@gmx.de>
* lots of tests to build a pfe.dll, and quite a few changes to
pfe/Makefile.am and pfe/configure.in
* these are now dependent on $host cygwin/mingw, let's see later
if that assumption is correct.
2000-03-30 - <guidod@gmx.de>
* use AC_SPEC_PACKAGE_VERSION - changes to pfe/configure.in 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/Makefile.am ... an experience
from Makefile.am 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 - <guidod@gmx.de>
* update forthprimer.pdf
* coldboot module section in engine-sub has still not updated
to load_words for MODULE2 MODULE3