Diff for /gforth/NEWS between versions 1.7 and 1.29

version 1.7, 1998/11/27 21:30:22 version 1.29, 2008/07/16 19:59:28
Line 1 Line 1
   User-visible changes between 0.6.2 and 0.6.9 (up to 2008-07-16):
     At run-time requires libtool and gcc (for libcc C interface) and
                          gdb (for disassembler (SEE) on some platforms).
     automatic performance tuning on building (--enable-force-reg unnecessary)
     report performance and functionality problems at end of "make"
     autogen.sh now exists
     Changed to GPLv3
   Bug fixes
     Now works with address-space randomization.
     The single-step debugger works again in some engines.
     Many others.
     AMD64, ARM, IA-64 (Itanium): better performance
     PPC: disassembler and assembler (32-bit)
     Gforth EC: R8C, Lego NXT (not distributed; complete?)
     MacOS X: better support
     New flags --ignore-async-signals, --vm-commit (default overcommit)
   Forth 200x:
     extension queries (produce true for all implemented extensions)
     REQUIRED etc. (not new)
     PARSE-NAME (new name)
     deferred words (new: DEFER@ DEFER! ACTION-OF)
     X:structures: +FIELD FIELD: FFIELD: CFIELD: etc.
   Unicode support (currently supports only uniform encoding):
     added xchars words for dealing with variable-width multi-byte characters
     provide 8bit (ISO Latin 1) and UTF-8 support for xchars
   Number prefixes:
     0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255
     # is a decimal prefix: #10 now produces (decimal) 10
     Signs after the number prefix are now accepted, e.g, #-50.
     ' now only handles a single (x)char: 'ab is no longer accepted, 
                                          'a' now produces (decimal) 97
   New words:
     LIB-ERROR (complements OPEN-LIB)
     OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state)
     16-bit and 32-bit memory acces: UW@ UL@ SW@ SL@ W! L! W@ L@ /W /L
     NEXT-ARG SHIFT-ARGS (OS command-line argument processing)
     NOTHROW (for backtrace control)
     FTRUNC FMOD (undocumented)
     SEE-CODE SEE-CODE-RANGE (show generated dynamic native code)
   Improvements/changes of existing words:
     S\", .\" now support \l, \m, \z, and limits hex and octal character specs.
     OPEN-FILE with W/O no longer creates or truncates files (no compat. file)
     OPEN-LIB now understands ~ at the start, like OPEN-FILE.
     TRY...ENDTRY changed significantly, compatibility files available (see docs).
     The disassembler (DISCODE) can now use gdb to disassemble code
     Uninitialized defered words now give a warning when executed
     Division is floored (disable with "configure --enable-force-cdiv")
     Gforth (not gforth-fast) reports division by zero and overflow on division
       on all platforms.
   Newly documented words:
   Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends)
   C interface:
     exported symbols now start with "gforth_" (for referencing them from C code)
     libcc C function call interface (requires libtool and gcc at run-time)
       alternative: undocumented libffi-based interface
     depth-changes.fs: report stack depth changes during interpretation
     ans-report.fs now reports CfV extensions
     fsl-util.4th: FSL support files (undocumented)
     regexp.fs for regular expressions (undocumented)
     complex.fs for complex numbers (undocumented)
     fft.fs for Fast Fourier Transform (undocumented)
     wf.fs, a Wiki implementation (undocumented)
     httpd.fs, a web server (undocumented)
     status.fs, show interpreter status in separate xterm (undocumented)
     profile.fs for profiling (undocumented, incomplete)
     endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition
     test/tester.fs: Now works with FP numbers (undocumented)
     test/ttester.fs: Version of tester.fs with improved interface (T{...}T).
    compat library:
   Speed improvements:
     automatic performance tuning on building
     static stack caching (good speedup on PPC)
     mixed-precision division is now faster
     support for int128 types on AMD64
     workarounds for gcc performance bugs (in particular, PR 15242)
     branch target alignment (good speedup on Alpha).
   User-visible changes between 0.6.1 and 0.6.2:
   Bug fixes (in particular, gforth-0.6.2 compiles with gcc-3.3)
   New words: LATEST, LATESTXT (LASTXT deprecated)
   Operating environment: Added optional support for a C interface built
     on the ffcall libraries (more portable and powerful than the old
     one, but still not documented).  To use it, the ffcall libraries
     have to be installed before building Gforth (see INSTALL).
   Miscellaneous: Gforth-fast now uses static superinstructions (some
     speedup on some platforms); generally this is transparent (apart
     from the speedup), but there are lots of command-line options for
     controlling the static superinstruction generation.
   User-visible changes between 0.6.0 and 0.6.1:
   Bug fixes (installation on big-endian machines sometimes did not work)
   User-visible changes between 0.5.0 and 0.6.0:
   Changes in behaviour:
   S": interpreted use now ALLOCATEs the string (they live until BYE).
   Long word names (512MB on 32-bit systems) are now supported (change to
     the header format).
   New threaded code execution method: primitive-centric (allows the
     following), hybrid direct/indirect threaded (easier portability),
     with dynamic superinstructions (typical speedup on Athlon: factor
     2).  New engine gforth-itc for dealing with some potential
     backwards-compatibility problems (see "Direct or Indirect Threaded?"
     in the manual).
   Operating environment:
   Default dictionary size is now 4MB.
   Large file support on OSs that support them (i.e., files with more
     than 2GB on 32-bit machines).
   Gforth can now deal well with broken pipes in most situations.
   vi tags files can be built with tags.fs (usage like etags.fs).
   gforth.el mostly rewritten.
   New image file format.
   New words:
   File input: SLURP-FILE SLURP-FID 
   Programming tools: ID. .ID WORDLIST-WORDS SIMPLE-SEE
   Conditional execution: [DEFINED] [UNDEFINED]
   Defining Words: CONST-DOES> ]]
   String comparison: STR= STR< STRING-PREFIX?
   String literals: S\" .\" \"-PARSE
   Floating point output: F.RDP F>STR-RDP F>BUF-RDP
   Generalized prims2x.fs into Vmgen (see README.vmgen etc.); used the
     new capabilities in prims (e.g., automatic handling of the return
     stack and instruction stream).
   User-visible changes between 0.4.0 and 0.5.0:
   Changes in behaviour:
   There are now two engines: the fast engine (gforth-fast) is at least
     as fast as gforth in earlier releases; the debugging engine (gforth)
     supports precise backtracing for signals (e.g., illegal memory
     access), but is slower by a factor of 1-2.
   Block files now start at block 0 by default (instead of block 1).  If
     you have block files around, prepend 1024 bytes to convert them, or
     do a "1 OFFSET !" to establish the old behaviour.
   Gforth now does not translate newlines to LFs on reading.  Instead,
     READ-LINE now interprets LF, CR, and CRLF as newlines.  Newlines on
     output are in the OSs favourite format.
   SEE now disassembles primitives (or hex-DUMPs the code if no
     disassembler is available).
   >HEAD (aka >NAME) now returns 0 (instead of the nt of ???) on failure.
   Syntax of prim changed: stack effects are now surrounded by
     parentheses, tabs are insignificant.
   Operating environment:
   Gforth now produces a backtrace when catching an exception.
   On platforms supporting the Unix 98 SA_SIGINFO semantics, you get more
     precise error reports for SIGSEGV and SIGFPE (e.g., "stack
     underflow" instead of "Invalid memory address").
   Gforth now produces exit code 1 if there is an error (i.e., an
     uncaught THROW) in batch processing.
   You can use "gforthmi --application ..." to build an image that
     processes the whole command-line when invoked directly (instead of
     through gforth -i).
   20% speedup on 604e under powerpc-unknown-linux-gnu,
   19%-29% speedup on Celeron with gcc-2.95.
   New words:
   Missing ANS Forth words: EKEY EKEY? EKEY>CHAR
   Timing words: CPUTIME UTIME
   Vector arithmetic: V* FAXPY
   FP comparison: F~ABS F~REL
   Deferred words: <IS> [IS]
   Nested number output: <<# #>>
   Exception handling: TRY RECOVER ENDTRY
   Other: ]L PUSH-ORDER
   Significant extensions to the manual (added an introduction, among
     other things), many of them due to a new team member: Neal Crook.
   Added assemblers and disassemblers for 386, Alpha, MIPS (thanks to
     contributions by Andrew McKewan, Bernd Thallner, and Christian
     Pirker).  Contributions of assemblers and disassemblers for other
     architectures are welcome.
 User-visible changes between 0.3.0 and 0.4.0:  User-visible changes between 0.3.0 and 0.4.0:
 Operating environment:  Operating environment:
Line 114  changed behaviour of SYSTEM (no longer r Line 334  changed behaviour of SYSTEM (no longer r
 $?)  added (SYSTEM) ( c_addr u -- wretval wior ).  $?)  added (SYSTEM) ( c_addr u -- wretval wior ).
 ' and ['] now give an error for compile-only words.  ' and ['] now give an error for compile-only words.
   Copyright (C) 1995,1996,1997,1998,2000,2003,2006,2007 Free Software Foundation, Inc.
   This file is part of Gforth.
   Gforth is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License
   as published by the Free Software Foundation, either version 3
   of the License, or (at your option) any later version.
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   GNU General Public License for more details.
   You should have received a copy of the GNU General Public License
   along with this program. If not, see http://www.gnu.org/licenses/.
 % Local Variables:  % Local Variables:
 % fill-prefix: "  "  % fill-prefix: "  "

Removed from v.1.7  
changed lines
  Added in v.1.29

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>