Ann: SWI-Prolog 6.5.2

Jan Wielemaker <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <[email protected]>
Hi,

I have uploaded SWI-Prolog 6.5.2.  Most of the changes concern portability
issues.  There is one important MODIFIED item:

 * MODIFIED: The =argv= Prolog flag now only contains _unprocessed_
   commandline arguments.  This change is primarily for improving
   compatibility with other systems (e.g., YAP, SICStus).  A new flag,
   called =os_argv= provides the original complete list of arguments.

   Unfortunately, some code must be updated to deal with this change. A
   hack to restore compatibility is to call the following before anything
   else in the application:

     ==
     :- current_prolog_flag(os_argv, Argv),
        set_prolog_flag(argv, Argv).
     ==

Command-line processing is also changed.  See

  http://www.swi-prolog.org/pldoc/man?section=cmdline

The other change is a new conservative *atom garbage collector* by Keri
Harris, which no longer uses the stop-the-world model. Because stopping
the world cannot work reliably in Windows, the old collector crashed
occasionally in heavilly multi-threaded applications on Windows.

Then, there is an update to the *Mac application*.  This should now run
on all machines with Mac OS X 10.6 (Snow Leopard) or later.  Menu,
starting and threading issues have been improved a bit.  This is
certainly not yet a polished product.  Thanks to Carlo Capelli.
Download from

  http://www.swi-prolog.org/download/MacOSX/SWI-Prolog-6.5.2.dmg

	Enjoy --- Jan

P.s.	After an upgrade of Macports, I failed to make a binary
	package for MacOS X lion :-(  Might try to resolve this,
	but I'm preparing for the ICLP :-)



========================================
SWI-Prolog Changelog since version 6.5.1
========================================

 * ADDED: Recent file (sub)menu.  Carlo Capelli.

 * ENHANCED: Make list_undefined/0 call predicate_name/2 to allow for
   hookable messages.  Paulo Moura.

 * PORT: pack_install adds -L<PrologLibDir> to LDSOFLAGS if the system
   is thought not to be ELF based (e.g., MacOS).  Samer Abdallah.

 * PORT: Deal wit Mac OS X deployment target for wcsdup()

 * DELETED: X64 and X86 submodules.  These have no role since MinGW

 * DOC: Document more details of commandline processing

 * ADDED: Register .prolog as additional extension for Prolog files.

 * MODIFIED: Remove Prolog flag =associate= (used in the Windows version)

 * FIXED: Syntax error in __WINDOWS__ section

 * MODIFIED: No longer try to be smart about arguments in #!

 * MODIFIED: Several aspects of command line processing

 * CLEANUP: Handling of -p PathSpec and --pldoc[=port] options

 * FIXED: Updated code for new argv meaning.

 * MODIFIED: The =argv= Prolog flag now only contains _unprocessed_
   commandline arguments.  This change is primarily for improving
   compatibility with other systems (e.g., YAP, SICStus).  A new flag,
   called =os_argv= provides the original complete list of arguments.

   Unfortunately, some code must be updated to deal with this change. A
   hack to restore compatibility is to call the following before anything
   else in the application:

     ==
     :- current_prolog_flag(os_argv, Argv), set_prolog_flag(argv, Argv).
     ==

 * ENHANCED: CLP(FD): Give all involved constraints a propagation
      opportunity when a new constraint is posted and propagation
      is always terminating. Efficiently possible thanks to
      term_attvars/2. James Hogan.  Example: Before:

         ?- X #> abs(X), X #> 2.
         %@ X in 3..sup,
         %@ X#>=_G6092,
         %@ _G6100#=abs(X),
         %@ _G6092 in 2..sup,
         %@ _G6100+1#=_G6092,
         %@ _G6100 in 3..sup.

      Now:

         ?- X #> abs(X), X #> 2.
         %@ X in 4..sup,
         %@ X#>=_G1033,
         %@ _G1041#=abs(X),
         %@ _G1033 in 4..sup,
         %@ _G1041+1#=_G1033,
         %@ _G1041 in 3..sup.

 * ADDED: packages/swipl-win submodule

 * ADDED: edit/1: allow for line-position handling.

 * ADDED: Readme file for the App.

 * FIXED: Create new thread in no-debug mode.  Jan Burse.

 * ADDED: PL_thread_attach_engine(): flag PL_THREAD_NO_DEBUG to force
starting the thread in nodebug mode.

 * ADDED: about -> win_message_box, select_ANSI_term_colors

 * FIXED: make logic to decide on the =tty_control= flag platform
independent

 * PORT: Add some MacOS finder integration

 * ADDED: Prolog flag =apple= to detect we are running on a Mac

 * ADDED: PL_exit_hook() to register hooks that are called just before
exit().

 * DOC: Fixed and extended docs for PL_on_halt()

 * FIXED: Do not reset the stdio functions if they are set before init
by the embedding system.

 * DOC: Document the flag =color_term=.

 * DOC: library(gensym): updated and created @see links for better
alternatives

 * INSTALL: Only copy the DLLs that we need

 * PORT: Windows: avoid warnings from mkinstaller.pl

 * FIXED: Locking issue in stream redirection for format/3,
with_output_to/2. Abramo Bagnara.

 * DOC: Updated issues with library(ansi_term).

 * DOC: ancestral cuts.  Richard O'Keefe

 * DOC: LaTeX typo



==============
Package debian
==============

 * FIXED: SO_PATH patch to avoid -rpath


============
Package http
============

 * FIXED: Race condition if two threads try to create a new thread
   pool lazily.

 * FIXED: Updated for new prolog flag argv

 * MODIFIED: Send JSON as application/json; charset=UTF-8

===============
Package ltx2htm
===============

 * FIXED: Updated for new prolog flag argv

===========
Package nlp
===========

 * PORT: Deal wit Mac OS X deployment target for wcsdup()

=============
Package pldoc
=============

 * FIXED: Updated for new prolog flag argv

 * ADDED: Allow for a variable type in a mode declaration.  Samer
   Abdallah.

==============
Package semweb
==============

 * PORT: Deal wit Mac OS X deployment target for wcsdup()

 * FIXED: rdf(_,_, literal(prefix(_), _)).  Jacco van Ossenbruggen.

 * ADDED: Extend rdf_graph_property/2 with persistent(Boolean).
   Jacco van Ossenbruggen.

============
Package sgml
============

 * ADDED: role attribute

===============
Package windows
===============

 * FIXED: Updated for new prolog flag argv

============
Package xpce
============

 * FIXED: swipl-win.rc to deal with new argv

 * FIXED: Updated for new prolog flag argv

 * ADDED: Allow for emacs(File:Line:LinePos)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.