Diff for /gforth/NEWS between versions 1.1 and 1.13

version 1.1, 1996/09/30 18:01:00 version 1.13, 2003/03/09 15:16:45
Line 1 Line 1
 User-visible changes between 0.1beta and 0.2.0  User-visible changes between 0.5.0 and 0.6.0:
   
   added words: EDIT-LINE ID. .ID CONST-DOES> K-PRIOR K-NEXT K-DELETE
     SLURP-FILE SLURP-FID WORDLIST-WORDS SIMPLE-SEE [DEFINED] [UNDEFINED]
     PARSE-WORD S\" .\" \"-PARSE STR= STR< STRING-PREFIX? EXECUTE-PARSING
     EXECUTE-PARSING-FILE F.RDP F>STR-RDP F>BUF-RDP
   
   Large file support on OSs that support them (i.e., files with more
     than 2GB on 32-bit machines).
   
   Gforth can now deal with well with broken pipes in most situations.
   
   Default dictionary size is now 4MB.
   
   vi tags files can be built with tags.fs (usage like etags.fs).
   
   gforth.el mostly rewritten.
   
   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).
   
   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).
   
   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 "Invoking Gforth" in the
     manual).
   
   New image file format.
   
   
   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).
   
   Ports:
   
   AIX.
   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
   Directory handling: OPEN-DIR READ-DIR CLOSE-DIR FILENAME-MATCH
   Other: ]L PUSH-ORDER
   
   Miscellaneous:
   
   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:
   
   Operating environment:
   
   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
     command-line options).
   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.
   
   Ports:
   
   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
     non-OS systems).
   
   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).
   Added EXCEPTION.
   S" gforth" ENVIRONMENT? now produces the version-string.
   Changed representation of types in struct package, and correspondingly
     changed names.
   
   Miscellaneous:
   
   Plain text documentation is now available in doc/gforth.txt.
   Documentation improvements.
   Wordlist structure changed.
   Added mini-oof.
   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).
   Bug fixes.
   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
   (for PSC1000).
   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+.
   Win32 support.
   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:
   
   Bug fixes
   
   
   
   User-visible changes between 0.1beta and 0.2.0:
   
   Portability and Installation:
   
 Improved etags support.  
 more.fs allows output paging.  
 Changed popen and pclose to open-pipe and close-pipe.  
 Added form, rows, and cols.  
 Added compat/ directory containing ANS implementations of Gforth features.  
 added primitives EMIT-FILE, STDOUT, STDERR; EMIT and TYPE now work  
 through file words (and are redirectable).  
 Support architectures with buggy long longs (alpha-dec-osf).  Support architectures with buggy long longs (alpha-dec-osf).
 Added tiny multitasker.  Better support for DOS and other non-Unix systems.
 Size changes through the command line are passed to the image (and  Size changes through the command line are passed to the image (and
 saved with savesystem); the preamble specifies an interpreter and is  saved with savesystem); the preamble specifies an interpreter and is
 propagated by save-system.  propagated by save-system.
 Added tables (case-sensitive wordlists)  
   Tools:
   
   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).
   
   New words:
   
   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 POSTPONE,.
   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  HEADER now stores the compilation wordlist in the header and REVEAL
 reveals into that wordlist.  reveals into that wordlist.
 changed bahviour of system (no longer returns wretval, but puts it in  changed behaviour of SYSTEM (no longer returns wretval, but puts it in
 $?)  added (system) ( c_addr u -- wretval wior ).  $?)  added (SYSTEM) ( c_addr u -- wretval wior ).
 Added the ability to combine arbitrary interpretation and compilation  
 semantics; state-smart words were generally rewritten to use that  
 mechanism.  
 ' 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 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 2
   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
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the
   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, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
   
   
   % Local Variables:
   % fill-prefix: "  "

Removed from v.1.1  
changed lines
  Added in v.1.13


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