* Improvements related to supported platforms * Compilation and installation in different palatforms have been improved. * New Mac OS X kernels supported. * Changes in compiler behavior and user interface: * Emacs-based environment improved. * Revised syntax of Ciao emacs mode configuration files. * Improved emacs inferior (interaction) mode for Ciao and CiaoPP. * Xemacs compatibility improved (thanks to A. Rigo). * New icons and modifications in the environment for the preprocessor. * Icons now installed in a separate dir. * Double-click startup of programming environment. * Compatibility with newer versions of Cygwin. * Changes to programming environment. * Reorganized menus: help and customization grouped in separate menus. * Error location extended. * Automatic/Manual location of errors produced when running Ciao tools now customizable. * Presentation of CiaoPP preprocessor output improved. * Faces and coloring improved. * Faces for syntax-based highlighting more customizable. * Syntax-based coloring greatly improved. Now also working on ASCII terminals (for newer versions of emacs). * Literal-level assertions now correctly colored. * Listing user-defined directives allowed to be colored in special face. * Syntax errors now colored also in inferior buffers. * Customizable faces now appear in the documentation. * Added new tool bar button (and binding) to refontify block/buffer. * Error marks now cleared automatically also when generating docs. * Added some fixes to hooks in lpdoc buffer. * Bug fixes in compiler. * Replication of clauses in some cases (thanks to S. Craig). * Improvement and Bugs fixes in the engine: * Got rid of some segmentation violation problems. * Number of significant decimal digits to be printed now computed accurately. * Added support to test conversion of a Ciao integer into a machine int. * Unbound length atoms now always working. * C interface .h files reachable through a more standard location (thanks to R. Bagnara). * Compatibility with command line options of newer versions of gcc. * New libraries and utilities added to the system: * Components: utilities to build modules frontiers. * Factsdb: facts defined in external files can now be automatically cached on-demand. * Symfnames: File aliasing to internal streams added. * More libraries added (still in development): * fd: clp(FD) * xml_path: XML querying and transformation to Prolog. * xdr_handle: XDR schema to HTML forms utility. * ddlist: Double linked list library. * gnuplot: Interface to GnuPlot. * time_analyzer: Execution time profiling. * Some libraries greatly improved: * Pillow library improved in many senses. * HTTP media type parameter values returned are always strings now, not atoms. * Changed verbatim() pillow term so that newlines are translated to
. * Changed management of cookies so that special characters in values are correctly handled. * Added predicate url_query_values/2, reversible. Predicate url_query/2 now obsolete. * Now attribute values in tags are escaped to handle values which have double quotes. * Improved get_form_input/1 and url_query/2 so that names of parameters having unusual characters are always correctly handled. * Fixed bug in library tokenize regarding non-terminated single or multiple-line comments. When the last line of a file has a single-line comment and does not end in a newline, it is accepted as correct. When an open-comment /* sequence is not terminated in a file, a syntax error is thrown. * Other libraries improved: * Added native_props to assertions package and include nonground/1. * In atom2terms, changed interpretation of double quoted strings so that they are not parsed to terms. * Control on exceptions in active modules improved. * Added native/1+2 to basic_props. * Davinci error processing improved. * Foreign interfaces are now automatically declared as implementation-defined ones. * In lists, added cross_product/2 to compute the cartesian product of a list of lists. Also added delete_non_ground/3, enabling deletion of nonground terms from a list. * In llists added transpose/2 and changed append/2 implementation with a much more efficient code. * The make library has been improved. * In persdb added pretractall_fact/1 and retractall_fact/1 as persdb native capabilities. * Some minor updates in persdb_sql. * Added treatment of Operators and module:pred calls to pretty-printer. * Updated report of read of syntax errors. * File locking capabilities included. * New input/output facilities added to socket-related library. * Added most_specific_generalization/3 and most_general_instance/3 to terms_check. * Added sort_dict/2 to vndict. * The xref library now treats also empty references. * Miscellaneous updates: * Extended documentation in libraries actmods, arrays, foreign_interface, javall, persdb_mysql, prolog_sys, old_database, and terms_vars.