[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[NonGNU ELPA] Sweeprolog version 0.10.0

From: ELPA update
Subject: [NonGNU ELPA] Sweeprolog version 0.10.0
Date: Sun, 25 Dec 2022 17:05:33 -0500

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

## Summary:


                                Eshel Yaron

  This manual describes the Emacs package `sweep' (or `sweeprolog'), which
  provides an embedded SWI-Prolog runtime inside of Emacs.

  Table of Contents

## Recent NEWS:


This file contains the release notes for `sweep', an embedding of
SWI-Prolog in Emacs.

For further details, please consult the manual:

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') is `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


  • 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.


  • 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

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

  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

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'

  …  …

reply via email to

[Prev in Thread] Current Thread [Next in Thread]