[Top][All Lists]

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

[NonGNU ELPA] Sweeprolog version 0.9.0

From: ELPA update
Subject: [NonGNU ELPA] Sweeprolog version 0.9.0
Date: Wed, 23 Nov 2022 17:06:35 -0500

Version 0.9.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.9.0 on 2022-11-23

New command for creating `PlUnit' test blocks

  The new command `sweeprolog-plunit-testset-skeleton', accessible from
  the `Sweep' menu-bar entry, inserts a template for a block of unit
  tests at the location of the cursor.


  • Fixed and added regression tests for an issue where
    `sweeprolog-beginning-of-next-top-term' would get confused by
    multi-line comments starting at the beginning of a line.

Version 0.8.13 on 2022-11-23

  This is a bug-fix release, solving an issue introduced in version
  0.8.12 where highlighting goals qualified with a variable module would
  throw an error.

Version 0.8.12 on 2022-11-22

`sweeprolog-top-level-signal-current' uses the classic top-level interrupt 

  `sweeprolog-top-level-signal-default-goal' is now set to call the new
  SWI-Prolog built-in predicate `prolog_interrupt/0'.  This predicate
  invokes the classic SWI-Prolog top-level interrupt interface similarly
  to pressing `C-c' in a terminal-bound top-level.

New user option `sweeprolog-highlight-holes'

  When non-nil (the default), holes in Prolog buffers are highlighted
  with a dedicated face to help visually distinguishing them from
  regular Prolog variables.

`sweeprolog-forward-hole' is now bound in `sweeprolog-top-level' buffers

  Previously this command was only bound in `sweeprolog-mode'.  It is
  now bound to `C-c C-i' in both major modes.


Inserting a new clause for a module-qualified predicate now works as expected

  Using `sweeprolog-insert-term-dwim' to insert the next clause of a
  module-qualified predicate definition would previously not work
  correctly.  This use case is now works as expected.

Fixed possible non-termination finding the next term, causing Emacs to hang

  This version fixes an issue where the function
  `sweeprolog-beginning-of-next-top-term', used by in the `flymake'
  integration of `sweeprolog-mode', could hang when called near the end
  of the buffer.

Version 0.8.11 on 2022-11-21

`sweeprolog-new-predicate-location-function' signature changed

  The function specified by `sweeprolog-new-predicate-location-function'
  should now take three arguments, namely the functor, arity and neck of
  the new predicate, instead of taking only the predicate indicator as a
  sole argument.

`sweeprolog-insert-term-dwim' now supports defining undefined DCG non-terminals

  Defining a previously undefined predicate with
  `sweeprolog-insert-term-dwim' now analyzes the context of the
  undefined predicate invocation to determine if it is expected to be a
  DCG non-terminal, in which case an appropriate non-terminal definition
  is inserted instead of a regular predicate.

Version 0.8.10 on 2022-11-21

`sweeprolog-top-level-signal-current' now calls `trace/0' by default

  Calling `sweeprolog-top-level-signal-current' (`C-c C-c' in
  `sweeprolog-top-level' buffers) now signals the top-level thread with
  the goal specified by the user option
  `sweeprolog-top-level-signal-default-goal', instead of prompting for a
  goal.  By default this user option is set to `"trace"', causing the
  top-level thread to enter trace mode.  To have
  `sweeprolog-top-level-signal-current' prompt for a different goal
  instead, call it with a prefix argument, i.e. `C-u C-c C-c'.


  • Fixed insertion of new clauses with `sweeprolog-insert-term-dwim'
    when the predicate at point is a DCG non-terminal or a predicate
    defined with SSU rules.  `sweeprolog-insert-term-dwim' now detects
    and inserts the correct neck (`:-', `-->' or `=>') based on the
    previous clauses.
  …  …

reply via email to

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