Dear SWI-Prolog user,
I’m happy to announce SWI-Prolog 9.3.24. Notably the swipl-win
GUI
version suffered from some serious regression due to the switch to
compiled (.qlf) libraries. Highlights:
-
Better
swipl-win.exe
on Windows. The updated version provides- Support for ANSI hyperlinks. This implies that error messages
and reported source locations are clickable. Notably compiler
warnings, errors and explain/1 reports related locations
with hyperlinks. - Support for underlined text and better looking bold text.
- Support for ANSI hyperlinks. This implies that error messages
-
Fixed MacOS/Linux
swipl-win
: hangs onHelp/About
. 9.3.23
broke the menu. After restoring that, many of the menu actions
were broken. -
Work on Freedesktop.org integration. Integration files are now
installed in<home>/desktop
and an installation can activate
the desktop integration by runningswipl sys desktop install
With the integration installed,
swipl-win
and xpce should
show the SWI-Prolog icon and.prolog
files should launch
swipl-win
. -
Integration of XSB attributed variable test suite and dialect
emulation. This provides basic support for constraints in
tabling.Enjoy — Jan
SWI-Prolog Changelog since version 9.3.23
-
ENHANCED: Windows: use native fonts for bold and support
bold+underlined. -
ADDED: Freedesktop.org Desktop integration files. This patch adds
a directorydesktop
with icons and desktop integration files.
A particular version can be activated as desktop application usingswipl sys desktop [--global] install
The activation canbe removed using
swipl sys desktop [--global] remove
-
ADDED: Windows
swipl-win.exe
: support underlined fonts Support
\e[4m
to print underlined text. -
ADDED: Windows: swipl-win.exe : support hyperlinks. This patch enables
terminal escape sequences to embed hyperlinks.file://
links
are then mapped to edit/1 and other links are opened in the browser.This patch also fixes several issues and provides cleanup to the
swipl-win.exe console code. -
FIXED: Report correct number of clauses when loading .qlf files
Reported 0 (zero) clauses for all .qlf files. -
FIXED:
?- edit(file('myname.pl')).
to create a new file. -
FIXED: Do not precompile several files This patch stops precompiling
the libraries win_menu, threadutil and check_installation. The sources
are full of conditional compilation that also depends whether or not
swipl
orswipl-win
is started.Using runtime conditionals is possible, but would lead to many
undefined predicate warnings. -
FIXED: Create menu in Windows and Qt consoles. Broken due to
conditional compilation that excluded the call to init_win_menus/0
from the .qlf file. -
BUILD: prohibit building in the source directory.
-
TEST: Include clpfd test with tabling.
-
DOC: Constraints and tabling
-
TEST: Merge XSB attributed variable tests. This updates several of the
tests, documents what tests cannot be executed due to incompatibilities
and extends the XSB dialect emulation to deal with a later part of
the attributed variable interface.The tests both deal with basic attribute handling and with (simple)
tabling
that involves attributes. -
FIXED: Support attributed variables in “fastheap” terms. These are
used by tabling and delimited continuations. -
FIXED: Handling attvars in answer tries.
-
FIXED: library(prolog_source): undefined html_write:html_meta_head/3
-
XSB: Added basic attributed handling to emulation Library
machine
now exports get_attr/3, put_attr/3, del_attr/2 and
install_verify_attribute_handler/4. -
ADDED: library(prolog_profile): Prolog flags for defaults -
profile_ports
provides the default “mode”, nowtrue
-
profile_sample_rate
provides the default sample rate (200) -
DOC: clause/3: describe properties of clause references.
-
DOC: retractall/1 and logical update view section.
-
DOC: Moved some sections in the “Database” section of the manual.
-
BUILD: Better support for cmake < 3.20
-
PPA: Updated releases - Added Plucky Puffin (25.04) - Removed Focal
Fossa (20.04) and Bionic Beaver (18.04)The latter two fail to build the Janus interface due to too old
Python versions.
Package pldoc
- FIXED: Undefined call to start_emacs/0
Package swipl-win
- FIXED: win_message_box/2: crash if image option cannot be found Now
shows the box without image and throws an exception afterwards.
Package xpce
-
MODIFIED: WM_CLASS handling Recent desktop environments such as
Gnome 46 and later ignore the_NET_WM_ICON
property to set an
icon for a frame (toplevel window). We can set the icon through a
.desktop
file usingStartupWMClass
where all windows of a
process are bundled under the same icon. But, xpce setWM_CLASS
from the xpce class name.This patch adds
display<->wm_class
to set theWM_CLASS
for all toplevel windows. The default isSWI-Prolog
. By
setting this to@default
, the old behavior is restored. -
FIXED: emacs/1: allow non-existing file. This also fixes
?- edit(file(File))
to create a new file as advertised. -
FIXED: Profiler IDE: link to website. Renamed “exit” to “quit”,
removed “statistics” (is shown anyway) and “about” (useless).