Version 0.9.6 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.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.


Fixes
─────

  • Fixed issue with `sweeprolog-indent-or-forward-hole', in previous
    versions it would fail to indent empty lines.


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
  …  …

Reply via email to