			SWI-Prolog ChangeLog
			====================

Version 1.8.8.  Fix  in  the  parser   to  avoid  some  bad syntax-error
messages.  Also fixed spurious crashes   trying to read bad-syntax-terms
of the form ?- atom,.

New in the quintus.pl library:  initialization/1, random/3, numbervars/3
and absolute_file_name/3.

Version  1.8.7  includes   the    catch/throw-like   control  structures
block(+Label,  +Goal,  -Rval),  fail(+Label),  exit(+Label,  +Rval)  and
!(+Label).  Also new is explain(+Anything) which will  try to tell you a
lot of what the system knows about  the term you entered.  Additions and
suggesions are welcome.  Also new: library(bim): A partial Prolog-by-BIM
(tm) compatibility package by Henk Vandecasteele.  Thanks.

Further fixes:

	* Bug in detecting stack-overflow for the PC/linux version.
	* Handling of SWI_HOME_DIR (fixes installation problem for
 	  XPCE/SWI-Prolog).
	* atom_length/2: give warning (instead of crash) on invalid
	  data-type (e.g. unbound, term).
	* nth_clause/3: Removed errornous warning when cut-off and
	  fixed returning 0-reference for defined predicates without
	  clauses.

Version 1.8.6 defines phrase/[2,3] for accessing grammar rules and fixes
name/2 for numbers outside the  integer   range  (yielding  a float).  A
predicate nth_clause/3 is added to provide access to specific clauses of
predicates.  xmalloc(), xrealloc() are added to   fix some problems when
linking with gnu-libraries.

Version 1.8.5 contains a few fixes  for the SunOs-4/gcc-2.5 combination.
DONOT USE GCC-2.5.[123] as the optimiser   appears broken.  gcc-2.5.4 is
ok again.

Version 1.8.4 fixes =@=/2, contains a more  logical form of arg/3, fixes
passing empty-string arguments from the   Prolog  command-line and fixes
some things for old non-ansi compilers.    There  are some extensions to
the quintus.pl compatibility library.

Version 1.8.3 Fixes some  more  readline   problems  having  to  do with
running SWI-Prolog as an inferior process under EMACS.

Version 1.8.2 fixes some serious  problems   in  the tracer intoduced by
more global changes in 1.8.0.

Version 1.8.1 fixes load_foreign for  both   SunOs  4.1.3  and PC/Linux.
Extensive use of the stat(2) system call is reduced with some changes to
the file administration.  This speeds up loading  many small files by an
incredible amount, notably when reading over a (slow) network.

The manual is  regenerated.   There  are   not  many  changes,  but  the
PostScript files in these archives are  totally different as we upgrated
LaTeX and dvips.  Therefore  the   patch  file **diff-1.8.0-1.8.1** does
*not* include the patches to the PostScript manual.

Version 1.8.0 includes a stack  shifter,   enabling  dynamic  stacks for
machines that do not offer hardware support by providing suitable access
to  the  virtual  memory  management.    Fixed    a   bug  in  concat/3.
expand_file/2 is now sensitive to fileerrors/2   while expanding $var or
~user.   More  bugfixes  to  the    readline   interface.   Manual  page
contributed by Dave Sherrat.   RS6000  port   no  longer  uses -lbsd and
compiles on gcc.

================================================================
Version 1.7.2 should compile on Solaris 2.2   using gcc 2.4.5.  It fixes
the usual couple of portability problems,   the  terminal interface when
connected  to  the  XPCE  graphics  library.     It  ads  line_count  to
predicate_property to support a future graphical debugging tool.

Version 1.7.1 fixes a very serious   memory  allocation violation in the
connection to the readline library.  Make sure to update from 1.7.0!

Version 1.7.0 contains a version linked   with  the GNU readline library
for  bash/tcsh  compatible  line  editing.    The  library  readline  is
distributed separately and must be   installed before installing prolog.
The  file  readline-1.1.tar.gz  contains  the  unmodified  GNU  sources.
librl-1.1.tar.z contains the binaries for PC/Linux.

================================================================
Version 1.6.18 contains a fix to load_foreign/[2,5] for PC/Linux.

[Version 1.6.17 has been reinstalled at Jun  1 23:16 with two prototype
fixes and a fix to save_program/1 necessary for the RS6000.]

Version 1.6.17 fixes  some  minor   installation  problems  reported for
1.6.16.  The online manual has been   updated for trace/[1,2].  Callback
of undefined Prolog-predicates from C now correctly trap the autoloader.
Analysis of the PATH variable to  find   the  Prolog executable has been
fixed.  Nothing serious if you have a running system!

Version 1.6.16 integrates port to 386  System-V   Unix  made  by Eric S.
Raymond (esr@snark.thyrsus.com), who also ported   the  shell scripts to
use sh rather than csh.  The new   predicates  trace/1 and trace/2 allow
for tracing individual predicates non-interactively.

Version 1.6.15  eliminates  some  compiler  limits,   fixes  a  bug  in
trail-stacks management and provides a much   better  port for PC/Linux.
Requires Linux kernel 99pl7 or later.

Version 1.6.14 provides 8 bit character  support.  All characters in the
range 128 ...  255 are treated as   lowercase letters.  op/3 is fixed to
actually delete operators when priority 0 is specified.

Version 1.6.13 implements  standard  order   compatible  to  Quintus and
contains  a  fix  of  the  module  system  which  broke  the  Quintus.pl
replacement of retractall/1.

Version 1.6.12 is te result of  integrating   ports  to  LINUX, OS/2 and
HP/UX with the main-stream (SunOs).
