Version 0.9.5 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.9.5 on 2022-12-10
═══════════════════════════

`sweeprolog-align-spaces' now works also in comments
────────────────────────────────────────────────────

  You can now use `sweeprolog-align-spaces' (or `cycle-spacing' in Emacs
  28+) to get the “right” amount of whitespace around the cursor
  position inside comments.


Improved interaction with `auto-fill-mode'
──────────────────────────────────────────

  `sweeprolog-mode' now customizes some settings related to text filling
  to make `auto-fill-mode' work as expected with SWI-Prolog comments.


Fixes
─────

  • In previous versions, using `sweeprolog-predicate-location' on a
    loaded predicate would give precedence to the location from which a
    predicate was loaded, even if its source file has since been
    modified causing its location to differ.  This behavior is fixed in
    the current version, which means that `M-.' and friends should
    always find the up-to-date location of predicate definitions.
  • Fixed possible infinite loop in
    `sweeprolog-beginning-of-predicate-at-point' near the beginning of
    the buffer.  This issue could be seen by calling
    `sweeprolog-document-predicate-at-point' (`C-c C-d') with point in
    the first clause of the buffer.


Version 0.9.4 on 2022-12-06
═══════════════════════════

New minor mode for moving to holes with `TAB'
─────────────────────────────────────────────

  This version introduces a new minor mode
  `sweeprolog-forward-hole-on-tab-mode', which binds `TAB' to a command
  that moves either indents the current line or moves to the next hole
  in the buffer, in a DWIM fashion.


Fixes and minor improvements
────────────────────────────

  • Automatic indentation is improved to accommodate for DCG RHS
    contexts and SSU guards.
  • `sweeprolog-identifier-at-point' now qualifies head terms with
    according to the current module (e.g. `foo:bar/2' is returned when
    point is over `bar(_, _)' in module `foo').


Version 0.9.3 on 2022-11-27
═══════════════════════════

Added repeat keymap for `sweeprolog-forward-hole' (Emacs 28+)
─────────────────────────────────────────────────────────────

  This allows repeating the command after the first invocation with
  `TAB'.


Predicate completion now names inserted holes based on the predicate’s 
documentation
────────────────────────────────────────────────────────────────────────────────────

  Completing predicate invocations with `C-M-i' (`completion-at-point')
  now infers specific names for the holes inserted as argument
  placeholders based on the predicate’s `PlDoc' specification, when
  present.


Version 0.9.2 on 2022-11-26
═══════════════════════════

New command `sweeprolog-update-dependencies'
────────────────────────────────────────────

  Bound to `C-c C-u' in `sweeprolog-mode' buffers, this command analyzes
  the current buffer looking for calls to implicitly autoloaded
  predicates, and adds or updates `autoload/2' and `use_module/2'
  directives to make the dependencies on these predicates explicit.


New user option `sweeprolog-note-implicit-autoloads'
────────────────────────────────────────────────────

  Boolean flag, when non-nil `flymake' also reports implicitly
  autoloaded predicates in `sweeprolog-mode' buffers.  Enabled by
  default.


Version 0.9.1 on 2022-11-25
═══════════════════════════

Predicate completion adjusts candidates arity according to the context
──────────────────────────────────────────────────────────────────────

  Completing predicate invocations with `completion-at-point' now takes
  into account the number of arguments that will be implicitly added to
  the created predicate call by the context, and adjusts the completion
  candidates appropriately.  This applies both to DCG non-terminal
  bodies (where two implicit arguments are normally added to all
  predicate invocations), and to meta-calls such as `include(foo, L0,
  L)' where the sole argument of `foo/1' is implicitly passed by
  `include/3'.


Variable highlighting now excludes anonymous variables
──────────────────────────────────────────────────────

  Unlike other variables, occurrences of anonymous variables (`_') are
  no longer highlighted when the cursor enters one, since being
  anonymous they are semantically unrelated to each other.


Version 0.9.0 on 2022-11-23
═══════════════════════════

  …  …

Reply via email to