Version 0.26.1 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.26.1 on 2023-10-29 ════════════════════════════ Fix issue with top-level not starting correctly on GNU/Linux ──────────────────────────────────────────────────────────── This is a bugfix release, addressing an issue introduced in Sweep version 0.26.0 that could cause starting the Sweep top-level to fail on GNU/Linux systems, with the following message: Process sweeprolog-top-level failed with code 0 Sweep now sets up Xref in top-level buffers ─────────────────────────────────────────── Xref commands, such as `M-.' and `M-?', now use Sweep’s cross-reference backend also in top-level buffers. Version 0.26.0 on 2023-10-22 ════════════════════════════ More fine-grained in-buffer completions ─────────────────────────────────────── This version of Sweep includes improved in-buffer completion for predicate options (declared with `predicate_options/3'), arithmetic functions, and source file specifications (such as `library(lists)'). Sweep now disables input echoing in top-levels when using a pty ─────────────────────────────────────────────────────────────── Version 0.25.5 on 2023-10-20 ════════════════════════════ Improved predicate completion candidate sorting ─────────────────────────────────────────────── Sweep now sorts predicate completion candidates more intelligently, placing predicates with a shorter functor ahead in the candidate list. The top-level now uses ANSI escape sequences for output coloring ──────────────────────────────────────────────────────────────── For Sweep top-levels that use a pty (the default on Unix systems), the top-level output now includes ANSI escape sequences that Emacs automatically translates to text properties (colors, etc.). To have Emacs filter out these escape sequences without applying the corresponding text properties, set `ansi-color-for-comint-mode' to the symbol `filter'. Minor documentation improvements and bug fixes ────────────────────────────────────────────── Version 0.25.4 on 2023-10-08 ════════════════════════════ Fix recent issue with `sweeprolog-extract-region-to-predicate' ────────────────────────────────────────────────────────────── This is a bug-fix release, addressing an issue with `sweeprolog-extract-region-to-predicate' that was introduced in version 0.25.3. The issue prevented goal extraction from the start or middle of right-associative binary operator chains, including `,/2' and thus affecting extraction from common conjunction chains. Version 0.25.3 on 2023-10-07 ════════════════════════════ `sweeprolog-extract-region-to-predicate' now supports lambda terms and existentially quantified goals ───────────────────────────────────────────────────────────────────────────────────────────────────── The command `sweeprolog-extract-region-to-predicate' now supports extracting `library(yall)' lambda terms to separate predicate definitions. The new `sweeprolog-extract-region-to-predicate' also improves the handling of existentially quantified goals (`X^Y^Goal'), and in-clause disjunctions. Various minor bug fixes and documentation improvements ────────────────────────────────────────────────────── Version 0.25.2 on 2023-09-23 ════════════════════════════ `sweeprolog-extract-region-to-predicate' can now replace all occurrences of the extracted goal in the buffer ──────────────────────────────────────────────────────────────────────────────────────────────────────────── You can now invoke `sweeprolog-extract-region-to-predicate' with a prefix argument to have it check for other goals in the buffer that are subsumed by the extracted goal, and suggest replacing them as well with calls to the newly created predicate. Version 0.25.1 on 2023-09-22 ════════════════════════════ New command `sweeprolog-query-replace-term' ─────────────────────────────────────────── This commands lets you replace terms in the current buffer by transforming them interactively. You can use to perform very precise yet highly flexible code transformations. See the new manual section “Term Replace” or type `C-h f sweeprolog-query-replace-term' for more details. Faster `sweeprolog-term-search' ─────────────────────────────── This version includes a reimplementation of the `sweeprolog-term-search' command that is both simpler and much more performant. Version 0.25.0 on 2023-09-17 ════════════════════════════ Snappier query highlighting in Sweep top-levels ─────────────────────────────────────────────── Sweep now highlights the query you insert in the top-level immediately … …