Version 0.7.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 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.7.0 on 2022-10-17 ═══════════════════════════ New command `sweeprolog-describe-predicate' ─────────────────────────────────────────── Similarly to `sweeprolog-describe-module', this command renders the full `PlDoc' documentation of the specified Prolog predicate in a `help-mode' buffer. Prolog `*Help*' buffers are now cross-referenced ──────────────────────────────────────────────── References to Prolog predicates in the `*Help*' buffer produced by `sweeprolog-describe-module' and `sweeprolog-describe-predicate' are now “buttonized” such that pressing `RET' on them shows the description of the referenced predicate. Version 0.6.3 on 2022-10-16 ═══════════════════════════ New command `sweeprolog-describe-module' ──────────────────────────────────────── Experimental. Renders the full `PlDoc' documentation of the specified Prolog module in a `help-mode' buffer. Bug fix affecting `sweeprolog-document-predicate-at-point' ────────────────────────────────────────────────────────── This version includes a fix in `sweeprolog-beginning-of-top-term', which is used to locate the beginning of the current clause. Previously this function could hang when invoked with point before the first term on the buffer. This affected commands that depend of this function, such as `M-x sweeprolog-document-predicate-at-point'. 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 flag 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 … …
