Version 0.8.7 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 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>. Version 0.8.7 on 2022-11-12 ═══════════════════════════ Revised predicate completion-at-point and added atom completion ─────────────────────────────────────────────────────────────── `sweep'’s completion at point now detects when predicate completion is appropriate based on the context of point. If point is at a non-callable position, atom completion is provided instead. Version 0.8.6 on 2022-11-11 ═══════════════════════════ New user option `sweeprolog-new-predicate-location-function' ──────────────────────────────────────────────────────────── This user option specifies a function to be called from `sweeprolog-insert-term-dwim' when defining a new predicate to choose the location of the new predicate definition. The default value of the option is a function `sweeprolog-default-new-predicate-location' which preserves the current behavior of placing the new predicate right below the current predicate. Other options include the new function `sweeprolog-new-predicate-location-above-current' which places the new predicate above the current one. Fixes ───── • Fixed issue where `sweeprolog-describe-predicate' would throw an error when describing predicates that were cross referenced but not loaded. Version 0.8.5 on 2022-11-10 ═══════════════════════════ New command `sweeprolog-xref-project-source-files' ────────────────────────────────────────────────── This command updates `sweep'’s cross reference data for all Prolog source files in the current project. Bound to `X' in `sweeprolog-prefix-map'. Minor bug fixes ─────────────── • Fixed issue where `sweeprolog-predicate-location' sometimes returned a file importing the predicate in question, rather than actually defining it. • Fixed issue where the `kill-buffer-hook' of top-level buffers would throw an error when the corresponding top-level thread already died. Version 0.8.4 on 2022-11-09 ═══════════════════════════ Various bug fixes ───────────────── • Fixed regression in variable highlighting where occurrences of the highlighted variable in adjacent clauses might have been highlighted. • Fixed regression and added a test for clearing the syntax error face immediately when the error is fixed (e.g. a fullstop is inserted at the end of a clause). Version 0.8.3 on 2022-11-07 ═══════════════════════════ New commands that operate on entire predicate definitions ───────────────────────────────────────────────────────── `sweeprolog-mode' now includes dedicated function for acting on predicate definitions that span multiple clauses. The new commands are `sweeprolog-forward-predicate' and `sweeprolog-backward-predicate' bound to `M-n' and `M-p' respectively, and `sweeprolog-mark-predicate' bound to `M-h'. Version 0.8.2 on 2022-11-07 ═══════════════════════════ Renamed `sweeprolog-colourise-*' to `sweeprolog-analyze-*' ────────────────────────────────────────────────────────── The following user options and commands have been renamed to better convey their meaning: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Old symbol name New symbol name ────────────────────────────────────────────────────────────────────────────────────── `sweeprolog-colourise-buffer' `sweeprolog-analyze-buffer' `sweeprolog-colourise-buffer-on-idle' `sweeprolog-analyze-buffer-on-idle' `sweeprolog-colourise-buffer-max-size' `sweeprolog-analyze-buffer-max-size' `sweeprolog-colourise-buffer-min-interval' `sweeprolog-analyze-buffer-min-interval' ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Version 0.8.1 on 2022-10-25 ═══════════════════════════ Added completion-at-point for variable names ──────────────────────────────────────────── When point is preceded by a valid Prolog variable name, invoking `completion-at-point' (with `C-M-i' or `M-TAB') now detects that it needs to complete a variable name and provides other variable names that occur in the same clause as completion candidates. Version 0.8.0 on 2022-10-22 ═══════════════════════════ New command `sweeprolog-insert-term-dwim' in `sweeprolog-mode' buffers ────────────────────────────────────────────────────────────────────── This version introduces a new mechanism for context-based term … …