Version 0.24.0 of package Sweeprolog has just been released in NonGNU ELPA.
You can now find it in M-x list-packages RET.
Sweeprolog describes itself as:
===================
Embedded SWI-Prolog
===================
More at https://elpa.nongnu.org/nongnu/sweeprolog.html
## Summary:
Sweep is an embedding of SWI-Prolog in Emacs. It uses the C
interfaces of both SWI-Prolog and Emacs Lisp to let you query
Prolog directly from Elisp. On top of this tight integration,
Sweep provides an advanced development environment for SWI-Prolog
in Emacs.
## Recent NEWS:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SWEEP NEWS – HISTORY OF USER-VISIBLE CHANGES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This file contains the release notes for Sweep, an embedding of
SWI-Prolog in Emacs.
For further details, please consult the manual:
[https://eshelyaron.com/sweep.html].
[https://eshelyaron.com/sweep.html] <https://eshelyaron.com/sweep.html>
Version 0.24.0 on 2023-09-08
════════════════════════════
New command `sweeprolog-extract-region-to-predicate'
────────────────────────────────────────────────────
This command lets you select a part of the body of a clause and
extract it into a separate predicate. The command
`sweeprolog-insert-term-dwim' (`M-RET') now invokes
`sweeprolog-extract-region-to-predicate' if the region is active.
Version 0.23.1 on 2023-08-30
════════════════════════════
Documentation improvements and minor bug fixes
──────────────────────────────────────────────
This is a maintenance release, including a rewrite of the Sweep manual
in Texinfo format along with some minor bug fixes and improvements.
Version 0.23.0 on 2023-08-18
════════════════════════════
Sweep now requires Compat, the forward-compatibility library for Elisp
──────────────────────────────────────────────────────────────────────
This version introduces a dependency of Sweep on Compat, the
forward-compatibility library for Elisp available from GNU ELPA.
Compat provides implementations of newer Elisp functions and features
for older Emacs versions, and Sweep now makes use of it for improved
backward compatibility and ease of maintenance.
Version 0.22.2 on 2023-08-14
════════════════════════════
Fix potential crash due to a collision between Xwidgets and XPCE
────────────────────────────────────────────────────────────────
This version fixes an issue that could cause Emacs to crash during
certain Sweep operations if Emacs is built with Xwidgets and
SWI-Prolog is built with XPCE.
Fix feedback in `sweeprolog-set-prolog-flag' and `sweeprolog-set-pack-install'
──────────────────────────────────────────────────────────────────────────────
In previous versions, these commands could report failure even when
they in fact succeeded. This version fixes the feedback these
commands provide.
Version 0.22.1 on 2023-08-07
════════════════════════════
New command `sweeprolog-submit-bug-report'
──────────────────────────────────────────
Use this command to contact the Sweep maintainers directly from within
Emacs. It has been documented in the manual already since version
0.6, but its implementation was unintentionally omitted.
Version 0.22.0 on 2023-07-20
════════════════════════════
New in-buffer completion implementation
───────────────────────────────────────
This version of Sweep includes an overhaul of the way the
`completion-at-point' command (`C-M-i') works in `sweeprolog-mode'
buffers. Sweep now performs a more refined analysis of the code
around point when you invoke `completion-at-point' to determine what
kind of completion candidates to provide. This results in the
following improvements:
• Completion now works also for quoted atoms and functors
• Completion now avoids inserting parentheses and arguments after
completing a compound term when the opening parenthesis is already
in place before you invoke `completion-at-point'
• Completion now takes into account the qualifying module (if any)
when completing predicate calls, and suggests only predicates
defined in that module
Version 0.21.0 on 2023-06-27
════════════════════════════
New `sweeprolog-pce' custom theme
─────────────────────────────────
This version of Sweep adds a custom theme called `sweeprolog-pce' that
mimics the highlighting of SWI-Prolog’s built-in editor, PceEmacs.
This theme obsoletes the “faces styles” feature that Sweep provided
thus far for the purpose of emulating PceEmacs highlighting.
For backward compatibility, the user option `sweeprolog-faces-style'
is retained for the next few versions. Also, if you have
`sweeprolog-faces-style' set to `light' or `dark', Sweep tries to
respect that by enabling the `sweeprolog-pce' theme for you when you
first open a Prolog buffer, which should achieve the same result of
mimicking PceEmacs highlighting.
Descriptions for module completion candidates
─────────────────────────────────────────────
Commands that read a Prolog module name in the minibuffer now provide
enhanced information about completion candidates. Namely, the
annotation for documented modules now also includes the module’s one
line description. … …