Version 0.5.4 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.5.4 on 2022-10-09 ═══════════════════════════ The manual now has a short description attached to each section ─────────────────────────────────────────────────────────────── Fixed issue with loading `sweep-module' from a directory with spaces in its name ──────────────────────────────────────────────────────────────────────────────── Version 0.5.3 on 2022-10-08 ═══════════════════════════ New command `sweeprolog-align-spaces' in `sweeprolog-mode' buffers ────────────────────────────────────────────────────────────────── `sweeprolog-align-spaces' is a new command available in `sweeprolog-mode' buffers for updating the whitespace around point according to the SWI-Prolog convention used in if-then-else constructs where the next token begins four columns after the start of the previous token. New user option `sweeprolog-enable-cycle-spacing' ───────────────────────────────────────────────── In Emacs 29, when this user option is non-nil (the default), `sweeprolog-align-spaces' is added to `cycle-spacing-actions' such that pressing `M-SPC' once invokes it by default. Version 0.5.2 on 2022-10-07 ═══════════════════════════ Fixed bug in detecting the end of a clause with commented fullstops ─────────────────────────────────────────────────────────────────── This version includes a fix in `sweeprolog-end-of-top-term', which is used to locate the end of the current clause. Previously this function would get “confused” by in-clause comments that end with a fullstop (see the added test case in `sweeprolog-test.el' for an example). Reported by Jan Wielemaker. Version 0.5.0 on 2022-10-04 ═══════════════════════════ New special buffer for listing and working with multiple top-levels ─────────────────────────────────────────────────────────────────── `sweep' is now able to create a special buffer that contains a table of all active top-levels, called the Top-level Menu buffer. This buffer has its own special major mode, `sweeprolog-top-level-menu-mode', which provides convenient commands that operate on the listed top-levels. New commands for interrupting running top-levels ──────────────────────────────────────────────── `sweep' now includes a new command `M-x sweeprolog-top-level-signal' which prompts for a `sweep' top-level buffer and a Prolog goal and signals the specified top-level to execute the given goal. This can be used to interrupt long running queries. The `sweeprolog-top-level-mode' major mode provides a variant of the above command called `sweeprolog-top-level-signal-current' that operates on the top-level thread of the current buffer. This command is also newly bound to `C-c C-c' in top-level buffers. New command `sweeprolog-document-predicate-at-point' in `sweeprolog-mode' buffers ───────────────────────────────────────────────────────────────────────────────── `sweeprolog-document-predicate-at-point' is a new command available in `sweeprolog-mode' buffers for interactively inserting `PlDoc' documentation comments for the predicate defined at point. Bound to `C-c C-d' in `sweeprolog-mode-map'. New manual sections “Contributing” and “Things to do” ───────────────────────────────────────────────────── Version 0.4.7 on 2022-10-01 ═══════════════════════════ Added integration with `eldoc' ────────────────────────────── `sweeprolog.el' can now leverage `eldoc' to display short documentation for the Prolog predicate at point in `sweeprolog-mode' buffers. New user option `sweeprolog-enable-eldoc' ───────────────────────────────────────── Boolean flag, enabled by default. When customized to nil, `sweeprolog-mode' integration with `eldoc' is disabled. Version 0.4.6 on 2022-10-01 ═══════════════════════════ Added integration with `auto-insert' ──────────────────────────────────── `sweeprolog.el' now extends `auto-insert-alist' with a Prolog module template associated with `sweeprolog-mode'. The module template is inserted into empty `sweeprolog-buffers' when `auto-insert-mode' is enabled. New commands in `sweep' version `0.4.0' ═══════════════════════════════════════ New command `sweeprolog-load-buffer'. ───────────────────────────────────── Loads a `sweeprolog-mode' buffer. If called from a `sweeprolog-mode' buffer, loads the current buffer by default. New command `sweeprolog-find-file-at-point'. ──────────────────────────────────────────── Follows file specifications in `sweeprolog-mode' buffers. New keybindings in `sweeprolog-mode' buffers ════════════════════════════════════════════ `C-c C-l' is now bound to `sweeprolog-load-buffer'. ─────────────────────────────────────────────────── … …