Version 0.18.2 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.18.2 on 2023-05-30 ════════════════════════════ New command `sweeprolog-make-example-usage-comment' ─────────────────────────────────────────────────── This command, bound to `C-c C-%' in `sweeprolog-mode' buffers, lets you capture and insert top-level interaction logs demonstrating your code’s usage as source code comments. See the new “Example Usage Comments” in the manual for more details. Version 0.18.1 on 2023-05-26 ════════════════════════════ Support for SWI-Prolog’s new macros mechanism ───────────────────────────────────────────── SWI-Prolog recently introduced a new mechanism for using macros, implemented in `library(macros)'. Sweep now provides semantic highlighting and tooltip information for these macros, as well as a new command `sweeprolog-expand-macro-at-point' for replacing macro invocations with their replacements in source buffers. Fixed issue with tokenization of adjacent distinct operators in Elisp ───────────────────────────────────────────────────────────────────── Version 0.18.0 on 2023-05-24 ════════════════════════════ Faster predicate completion in large projects ───────────────────────────────────────────── Completing predicates in `sweeprolog-mode' buffers now pre-filters candidates based on the text around point, making the entire process much faster in large projects with many defined predicates. Removed the `-face' suffix from names of defined faces ────────────────────────────────────────────────────── Sweep defines many faces for highlighting different kinds of text. In prior versions, these faces were given names such as `sweeprolog-foo-face'. This version removes the redundant `-face' suffix from all face names. (So the same face would now be called simply `sweeprolog-foo'.) Version 0.17.0 on 2023-02-16 ════════════════════════════ New user option `sweeprolog-dependency-directive' ───────────────────────────────────────────────── This user option determines the preferred Prolog directive to use in `sweeprolog-update-dependencies' for adding new explicit dependencies in the buffer. See the documentation for possible values. Modified formatting of added dependency directives ────────────────────────────────────────────────── The format `sweeprolog-update-dependencies' uses for new dependency is modified to be more concise and similar to the format used by the corresponding command of the SWI-Prolog built-in editor. Mode line indication for loaded buffers ─────────────────────────────────────── Buffers in `sweeprolog-mode' now display an indication in the mode line if they are loaded into the current SWI-Prolog runtime. New commands for managing breakpoints ───────────────────────────────────── This version includes new commands for setting and removing breakpoints `sweeprolog-mode' buffers. See the new “Setting Breakpoints” manual section for more information. Minor bug fix in `sweeprolog-beginning-of-top-term' ─────────────────────────────────────────────────── This version includes a fix for how the function `sweeprolog-beginning-of-top-term' handles head terms with quoted functors (as in `'foo'(Bar) :- ...'). This function is used for finding the beginning of Prolog clauses, and this issue affected some commands that need to analyze the clause at point. 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 … …