Subject: SWI-Prolog 3.3.0-beta-4

From: Jan Wielemaker <[email-masked]>
Date: Mon, 29 Nov 1999 17:15:45 +0100

Hi,

I uploaded new versions of the whole suite to the BETA ftp dierctory

	ftp://swi.psy.uva.nl/pub/SWI-Prolog/BETA/

For XPCE users, a new version is has been uploaded to the area for
registered users.

With beta-4, the functionality of SWI-Prolog 3.3.0 is frozen.  If
more beta's come it will be bugfixes only.

Changes relative to beta-3 are below.

	Regards --- Jan

  * FIXED: unload_foreign_library/[1,2] calling of the uninstall hook.
    Might fix exit problems in the Windows version.

  * ADDED: load_foreign_library/[1,2] now first looks for lib<D>.dll
    if the SWI-Prolog kernel is compiled for debugging.  That should
    simplify debugging foreign code under Windows.

  * FIXED: current_prolog_flag(windows, X) on windows (returned false).

  * FIXED: retractall/1 and retract/1 not to complain while accessing
    undefined procedures.  The addressed procedures are flagged dynamic.

  * FIXED: Multithreaded creation of new keys in recorda/2 and friends.

  * FIXED: signal handling in garbage collection that was incompatible
    to threads (dead-lock).

  * PORT: Prolog threads to Solaris.  Tested using SPARC/Solaris 2.7, compiled
    using egcs 1.1.  Not dealt (yet) with different cpu-time measurements
    (Linux: per thread, Solaris: per process).

  * FIXED: Stack problem in asynchronous signal handling, also influencing
    thread_signal/2. 

  * FIXED: assertion-error in get_stream_handle() if a stream is set to
    be the alias for multiple of the `standard' stream and the stream is
    closed.

  * ADDED: Atoms can now hold 0-bytes.  API: *_nchars() FLI-functions 
    added to put, unify and get text using length/char *.  No consequences
    in Prolog.

  * ADDED: atom garbage collection.  See release-notes in the manual.
    API: prolog-flag `agc_margin', garbage_collect_atoms/0, PL_register_atom(),
    PL_unregister_atom().

  * FIXED: get_single_char/1 to read from user_input, seeing and friends
    *not* to return current_input ...  Thanks to Cortelli Paolo.

  * ADDED: sub_string/5 modelled after ISO sub_atom/5.  moved substring/4
    to library(backcomp).

  * FIXED: exception raised by atom_concat/3.

  * FIXED: locking problem in set_input/1, set_output/1, see/1 and
    tell/1 (Multi-threaded version).

  * ADDED: C interface for accessing an embedded Prolog engine
    from multiple threads.

  * FIXED: incorrect instantiation-errors from sub_atom/5.