Version 0.16.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: SWI-PROLOG EMBEDDED IN EMACS Eshel Yaron m...@eshelyaron.com ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ This manual describes the Emacs package Sweep (or `sweeprolog.el'), which provides an embedded SWI-Prolog runtime inside of Emacs. Table of Contents ───────────────── ## 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.16.0 on 2023-02-11 ════════════════════════════ New user option `sweeprolog-rename-variable-allow-existing' ─────────────────────────────────────────────────────────── This user option controls what happens when you try to rename a variable with `C-c C-r' (`sweeprolog-rename-variable') to the name of another existing variable. By default this is set to `confirm', which causes `sweeprolog-rename-variable' to notify and ask you for confirmation is such cases. New commands for managing numbered variables ──────────────────────────────────────────── This version include two new commands for managing numbers in Prolog variable names, `sweeprolog-increment-numbered-variables' and `sweeprolog-decrement-numbered-variables', bound to `C-c C-+' and `C-c C--' respectively. See the new “Numbered Variables” manual section for more information. Integration with Info lookup commands ───────────────────────────────────── You can use the standard `C-h K' and `C-h F' commands to find the Info manual node documenting a given Sweep command. Bug fix in end-of-clause detection with `Dict.key' terms ──────────────────────────────────────────────────────── Version 0.15.0 on 2023-02-01 ════════════════════════════ New command `sweeprolog-rename-variable' ──────────────────────────────────────── This command, bound to `C-c C-r' in `sweeprolog-mode' buffers, interactively renames a variable in the current clause. You can now also rename variables by right-clicking on them and selecting `Rename Variable' with Context Menu mode enabled. Jumping to predicate references now goes to the exact call position ─────────────────────────────────────────────────────────────────── The cross reference information that Sweep provides is enhanced to include exact buffer positions for predicate references. In prior versions, jumping to predicate references with `M-?' (`xref-find-references') would go to the beginning of the clause which invokes the given predicate, now it goes to the exact location of the invocation. Version 0.14.1 on 2023-01-28 ════════════════════════════ New command `sweeprolog-count-holes' ──────────────────────────────────── This command displays the number of holes in the current `sweeprolog-mode' buffer. New numeric argument to `sweeprolog-forward-hole' ───────────────────────────────────────────────── You can now call `sweeprolog-forward-hole' with a numeric prefix argument (e.g. `C-3 C-c TAB') to move forward over that many holes. As a special case, if you call it with a zero numeric argument (e.g. by typing `C-0 C-c TAB'), it invokes `sweeprolog-count-holes' instead. This change applies to `sweeprolog-backward-predicate' as well. Predicate completion now consults the manual for argument names ─────────────────────────────────────────────────────────────── Completing predicate calls to built-in predicates with `C-M-i' (`completion-at-point') now uses the argument names from the documentation of the predicate in the SWI-Prolog manual to name the holes it inserts as placeholder arguments. Version 0.14.0 on 2023-01-23 ════════════════════════════ New command `sweeprolog-async-goal' ─────────────────────────────────── Sweep can now run goals in separate threads while redirecting their output to Emacs buffers. To run goals and display their output asynchronously, use the new command `M-x sweeprolog-async-goal' (bound to `C-c C-&' in `sweeprolog-mode'). Sweep uses a dedicated mode called `sweeprolog-async-goal-output-mode' which derives from `compilation-mode' for the goal’s output. The command `sweeprolog-xref-project-source-files' now reports its progress ─────────────────────────────────────────────────────────────────────────── Fixed issue where signaling new Top-levels could fail ───────────────────────────────────────────────────── This version fixes an issue where signaling newly created Prolog Top-level threads with `C-c C-c' could fail due to a race condition. Version 0.13.0 on 2023-01-20 ════════════════════════════ Right-click context menu support ──────────────────────────────── Sweep now leverages the Context Menu minor mode built into Emacs 28+ to provide right-click menus for Prolog code that give you access to different commands depending on what you click on. You can enable … …