Version 0.11.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'), 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>.


Version 0.11.2 on 2023-01-07
════════════════════════════

Term Search now uses terms at point for “future history”
────────────────────────────────────────────────────────

  When reading a search term in the minibuffer, `sweeprolog-term-search'
  now populates the “future history” with the terms at point starting
  from the most nested term.  This means that you can type `M-n' in the
  minibuffer to quickly fill in the term at point in order to search for
  similar terms.


Version 0.11.1 on 2023-01-06
════════════════════════════

Term Search improvements
────────────────────────

  Invoking `sweeprolog-term-search' with a prefix argument (i.e. typing
  `C-u C-c C-s') now prompts for an arbitrary Prolog goal that variables
  in the search term should satisfy.

  We also use a new function `sweeprolog-read-term' for reading the
  search term, which checks that the minibuffer contains a valid Prolog
  term before exiting.  If the term is invalid this function refuses to
  exit the minibuffer and moves point to the position of the syntax
  error in the given term.


Version 0.11.0 on 2023-01-05
════════════════════════════

New command `sweeprolog-term-search'
────────────────────────────────────

  _Experimental_ new command, bound to `C-c C-s' in `sweeprolog-mode'
  buffers, prompts for a Prolog term and searches for terms subsumed by
  it in the current buffer.  All matching terms are temporarily
  highlighted and the cursor moves to the start of the next occurrence
  after point.


Fix bug where `sweeprolog-forward-predicate' got confused by dynamic predicates
───────────────────────────────────────────────────────────────────────────────

  In previous versions, typing `M-n' (`sweeprolog-forward-predicate')
  would sometimes go to the next dynamic predicate, jumping over regular
  predicates that come before it.


Version 0.10.1 on 2023-01-01
════════════════════════════

New user option `sweeprolog-read-predicate-documentation-function'
──────────────────────────────────────────────────────────────────

  This user option control how `C-c C-d'
  (`sweeprolog-document-predicate-at-point') prompts for initial
  documentation information, namely argument modes, determinism
  specification and predicate summary.  It specifies a function that
  `sweeprolog-document-predicate-at-point' calls to get this
  information.

  The default value of this option is a new function
  `sweeprolog-read-predicate-documentation-default-function' that
  preserves the current behavior of prompting the user to insert the
  needed information via the minibuffer.  An alternative function that
  uses holes instead is also provided, it is called
  `sweeprolog-read-predicate-documentation-with-holes'.


Improved handling of unbalanced quotes in `sweeprolog-mode' buffers
───────────────────────────────────────────────────────────────────

  Previously, unbalanced quotes in a Prolog clause could cause Sweep to
  treat the entire rest of buffer as part of that clause, causing major
  slowdowns when inserting Prolog strings and quoted atoms in large
  buffers.  To overcome this issue, this version introduces a mechanism
  for restricting analysis in such cases to the clauses surrounding the
  cursor.


Version 0.10.0 on 2022-12-25
════════════════════════════

New command `sweeprolog-insert-term-with-holes'
───────────────────────────────────────────────

  This command, bound to `C-c C-m' (or `C-c RET') in `sweeprolog-mode'
  buffers, inserts a Prolog term at point with a given functor and
  arity, using holes in place of the term’s arguments.


Holes are now always highlighted as such, even in incomplete terms
──────────────────────────────────────────────────────────────────


Fix possible crash when resetting `sweep' with `sweeprolog-restart'
───────────────────────────────────────────────────────────────────


Version 0.9.6 on 2022-12-17
═══════════════════════════

Indentation in `sweeprolog-mode' now respects `indent-tabs-mode'
────────────────────────────────────────────────────────────────

  With non-nil `indent-tabs-mode', tabs are now used to indent lines in
  Prolog code buffers.


New command for inferring the indentation style of the current buffer
─────────────────────────────────────────────────────────────────────

  The new command `sweeprolog-infer-indent-style' can be used to update
  the buffer-local values of `sweeprolog-indent-offset' and
  `indent-tabs-mode' according to the buffer’s existing indentation
  style.  …  …

Reply via email to