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

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

[NonGNU ELPA] Sweeprolog version 0.8.12


From: ELPA update
Subject: [NonGNU ELPA] Sweeprolog version 0.8.12
Date: Tue, 22 Nov 2022 17:05:38 -0500

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


Version 0.8.9 on 2022-11-19
═══════════════════════════

Predicate completions now uses holes for arguments
──────────────────────────────────────────────────

  When completing a predicate with `completion-at-point' (`C-M-i') and
  choosing a predicate that takes arguments, holes are inserted is place
  of each required argument.


Syntax errors are now less intrusive
────────────────────────────────────

  Syntax errors that occur due to incomplete terms are no longer
  immediately highlighted as such.


`auto-insert' now leaves point at start of module summary
─────────────────────────────────────────────────────────


Fixes
─────

  • Fixed error in `sweeprolog-export-predicate' (`C-c C-e') in presence
    of exported predicates.  Reported by Jan Wielemaker.


Version 0.8.8 on 2022-11-16
═══════════════════════════

Added electric layout minor mode
────────────────────────────────

  …  …

reply via email to

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