From 557d4c3eb29ffb535b09da4300aa9dde8c005949 Mon Sep 17 00:00:00 2001 From: Eshel Yaron Date: Tue, 22 Nov 2022 21:54:10 +0200 Subject: [PATCH] Announce recent changes in NEWS.org and bump version to 0.8.12 --- NEWS.org | 35 +++++++++++++++++++++++++++++++++++ README.org | 20 ++++++++++++++------ sweeprolog.el | 2 +- 3 files changed, 50 insertions(+), 7 deletions(-) diff --git a/NEWS.org b/NEWS.org index cae8769..6933522 100644 --- a/NEWS.org +++ b/NEWS.org @@ -11,6 +11,41 @@ SWI-Prolog in Emacs. For further details, please consult the manual: . +* 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 diff --git a/README.org b/README.org index 25e0fab..bc344bb 100644 --- a/README.org +++ b/README.org @@ -1069,12 +1069,20 @@ functions, in order: The default term insertion functions used by ~sweeprolog-insert-term-dwim~ create a new clause in the buffer, with placeholders for the arguments of the head term (if any) and for the -clause's body. These placeholders are simply anonymous variables (~_~), -but they are annotated by the insertion functions with a special text -property[fn:1] that allows ~sweeprolog-mode~ to recognize them as -"holes" needed to be filled. After a term is inserted with -~sweeprolog-insert-term-dwim~, the region is set to the first hole and -the cursor left at the its end. +clause's body. These placeholders, called simply "holes", represent +the Prolog terms that remain to be given by the user. Holes are +written in the buffer as regular Prolog variables, but they are +annotated with a special text property[fn:1] that allows +~sweeprolog-mode~ to recognize them as holes needed to be filled. After +a term is inserted with ~sweeprolog-insert-term-dwim~, the region is set +to the first hole and the cursor left at the its end. + +#+VINDEX: sweeprolog-highlight-holes +When the user option ~sweeprolog-highlight-holes~ is set to non-nil, +holes in Prolog buffers are highlighted with a dedicated face, making +them easily distinguishable from regular Prolog variables. Hole +highlighting is enabled by default, to disable it customize +~sweeprolog-highlight-holes~ to nil. #+FINDEX: sweeprolog-forward-hole #+KINDEX: C-c C-i diff --git a/sweeprolog.el b/sweeprolog.el index 282d26b..4521ea0 100644 --- a/sweeprolog.el +++ b/sweeprolog.el @@ -6,7 +6,7 @@ ;; Maintainer: Eshel Yaron <~eshel/dev@lists.sr.ht> ;; Keywords: prolog languages extensions ;; URL: https://git.sr.ht/~eshel/sweep -;; Package-Version: 0.8.11 +;; Package-Version: 0.8.12 ;; Package-Requires: ((emacs "28.1")) ;; This file is NOT part of GNU Emacs. -- 2.39.5