gnu-emacs-sources
[Top][All Lists]
Advanced

[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 https://elpa.nongnu.org/nongnu/sweeprolog.html

## Summary:

                   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                    SWEEP: SWI-PROLOG EMBEDDED IN EMACS

                                Eshel Yaron
                             me@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.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.


Fixes
─────

  • 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 
interface
────────────────────────────────────────────────────────────────────────────────────

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


Fixes
─────

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


Fixes
─────

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