Version 0.6.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 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.6.2 on 2022-10-15 ═══════════════════════════ New command `sweeprolog-export-predicate' in `sweeprolog-mode' buffers ────────────────────────────────────────────────────────────────────── `sweeprolog-export-predicate' is a new command available in `sweeprolog-mode' buffers for adding the predicate defined at point to the current module’s export list. Bound to `C-c C-e' in `sweeprolog-mode-map'. Added a Prolog indicating the Prolog is running under `sweep' ───────────────────────────────────────────────────────────── `sweeprolog.el' now creates a boolean Prolog flag `sweep' set to `true' when initiating Prolog, to allow users to customize their Prolog init file accordingly. Version 0.6.0 on 2022-10-10 ═══════════════════════════ Added integration with Flymake ────────────────────────────── `sweeprolog.el' can now leverage `flymake' to highlight and browse diagnostics in `sweeprolog-mode' buffers. New user option `sweeprolog-enable-flymake' ─────────────────────────────────────────── Boolean flag, enabled by default. When customized to nil, `sweeprolog-mode' integration with `flymake' is disabled. New command `sweeprolog-show-diagnostics' ───────────────────────────────────────── Wrapper around `flymake-show-buffer-diagnostics' for `sweeprolog-mode', bound to `C-c C-`'. With a prefix argument, calls `flymake-show-project-diagnostics' instead. Fixed bug in end of a clause detection in presence of `=..' ─────────────────────────────────────────────────────────── 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 occurrences of the `=../2' (“univ”) operator in the clause’s body. 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 ───────────────────────────────────────────────────────────────────────────────── … …
