User-visible changes between 0.3.0 and 0.4.0:
Path handling: "." at the start of the path represents the directory
the nearest enclosing file resides in (if there is none: the working
directory). "~+" indicates the working directory. The default path
now has "." in front.
gforth and gforthmi is now more GNU standards compliant (wrt
New command-line-option: --die-on-signal
Errors are now directed to stderr.
Stdout is now unbuffered, if it is a tty.
User input device redirection (for filters) is now possible.
Now runs on IRIX (and other MIPS-based systems without linker-flag -d).
Direct threading now works on PowerPC (20% speedup on 604e).
Better support for m68k (thanks to Andreas Schwab and Jorge Acereda).
It is possible to create executables that contain the image (for
Added a lot of embedded control (EC) stuff. Supported controllers and
small CPUs are Siemens C16x, 8086, 6502, Mixed-Mode's FPGA MISC, Bernd Paysan's
4stack processor. Not finished: ShBoom alias PSC1000, H8, AVR.
New, changed, and removed words:
Renamed F0 to FP0 (avoids unexpected behaviour in hex), added aliases
SP0, RP0, LP0 (recommended for future use) for S0, R0, L0.
Renamed PARSE-WORD into SWORD (PARSE-WORD is used with the meaning of
NAME in OpenBoot and dpans6 A.6.2.2008)
Added FPICK (suggested by Julian Noble).
S" gforth" ENVIRONMENT? now produces the version-string.
Changed representation of types in struct package, and correspondingly
Plain text documentation is now available in doc/gforth.txt.
Wordlist structure changed.
Reorganized files: added directories and reorganized many files into
them; renamed files into 8.3 format to work with completely broken
systems (but there are again some files that won't work there).
Various changes without log information only known as mega-patches.
Cross compiler now also supports compilation only for undefined or forward
referenced words. Plugins to support some native code generation
More files in the compat library.
User-visible changes between 0.2.1 and 0.3.0:
Stack overflow detection by memory protection on most systems
(allocation with mmap).
gforth.fi is now fully relocatable.
fully relocatable images are now easier to create.
added primitives K and UNDER+.
Improved support for embedded controllers and other deprived environments.
some bug fixes.
added concept index; other documentation improvements.
User-visible changes between 0.2.0 and 0.2.1:
User-visible changes between 0.1beta and 0.2.0:
Portability and Installation:
Support architectures with buggy long longs (alpha-dec-osf).
Better support for DOS and other non-Unix systems.
Size changes through the command line are passed to the image (and
saved with savesystem); the preamble specifies an interpreter and is
propagated by save-system.
Improved etags support.
more.fs allows output paging.
Added compat/ directory containing ANS implementations of Gforth features.
Added tiny multitasker (tasker.fs).
Added two alternatives for object-oriented programming: oof.fs, objects.fs.
Added ans-report.fs (reports which words are used from which wordset).
Changed POPEN and PCLOSE to OPEN-PIPE and CLOSE-PIPE.
Added FORM, ROWS, and COLS.
added primitives EMIT-FILE, STDOUT, STDERR.
Added TABLEs (case-sensitive wordlists).
Added the ability to combine arbitrary interpretation and compilation
semantics (INTERPRET/COMPILE:); state-smart words were generally
rewritten to use that mechanism.
Changes to existing words:
EMIT and TYPE now work through file words (and are redirectable).
HEADER now stores the compilation wordlist in the header and REVEAL
reveals into that wordlist.
changed behaviour of SYSTEM (no longer returns wretval, but puts it in
$?) added (SYSTEM) ( c_addr u -- wretval wior ).
' and ['] now give an error for compile-only words.
% Local Variables:
% fill-prefix: " "