Hi!
Logtalk 2.32.1 is now available for downloading. This release changes the representation of the runtime tables for loaded entities, restores redefined entity warnings for Prolog back-end compilers supporting multifile predicates, corrects a bug with predicate aliases and the :/1 control construct, improves support for the Vim text editor and for the Pygments syntax highlighter, and updates support for the SWI-Prolog, CxProlog, K-Prolog, and B-Prolog compilers. For details and a complete list of changes, please consult the release notes.
Follows the detailed release notes:
* Restored the redefined entity warnings for back-end Prolog compilers that support multifile predicates. Simplified updating of the runtime tables when compiling and loading source files with back-end Prolog compilers that don't support multifile predicates.
* Changed the representation of the runtime tables for loaded entities in order to drop the need of a "functors clause" per entity. This avoids some redundancy on the representation of entity functors and also helps reducing a bit the size of the generated Prolog files.
* When reloading an object, also clean all entries in the event handlers table where the object plays the role of a monitor.
* Modified the Logtalk runtime to clean all lookup caches when compiling and loading source files (instead of doing it only when the files redefine existing entities).
* Corrected a bug that prevented using predicate aliases with the :/1 control construct without static binding.
* Updated the CxProlog config file to take advantage and require the new 0.97.1 version (which implements some more ISO Prolog predicates and expands support for text encodings).
* Updated the B-Prolog config file to take advantage and require the new 7.1 version (which adds support for the multifile/1 predicate directive).
* Updated the SWI-Prolog config file notes about possible compatibility issues with the default setting of the proprietary "iso" Prolog flag to "true".
* Updated the SWI-Prolog hook file, "swihook.pl", to avoid hijacking the arguments of use_module/1-2 calls (which resulted in wrongly loading Logtalk libraries with the same name as the SWI-Prolog library modules we intended to load).
* Updated the "k6.config" config file for the K-Prolog 6.0.3 release. Renamed the K-Prolog 5.1.x config file from "k.config" to "k5.config" to avoid being mistaken for the K-Prolog 6.0.x config file. Updated the "plclgt.sh" integration script to work with both K-Prolog 5.1.x and 6.0.x versions.
* Renamed the SICStus Prolog 3 config file from "sicstus.config" to "sicstus3.config" to avoid being mistaken for the SICStus Prolog 4 config file.
* Updated the POSIX integration scripts and the Windows installer script to detect outdated versions of the Logtalk user folder (setting the compatibility version to 2.32.0 or later).
* Improved the Prolog migration guide on converting code that makes use of multifile predicates.
* Added note on licensing conditions to several files. Clarified copyright and license conditions for files on the "contributions" folder. Clarified dual-licensing conditions for text editor and syntax highlighter supporting files. Added license file to the TextMate bundle.
* Updated support for the Vim text editor (changed the Logtalk file type plug-in to set the path to the completion dictionary and updated the installation instructions).
* Updated the support for the Pygments syntax highlighter to avoid marking as errors non-standard directives.
Happy logtalking!
Paulo
