diff -Nru ediprolog-el-2.1/debian/changelog ediprolog-el-2.2/debian/changelog --- ediprolog-el-2.1/debian/changelog 2020-08-15 13:39:29.000000000 +0000 +++ ediprolog-el-2.2/debian/changelog 2022-11-18 10:22:06.000000000 +0000 @@ -1,3 +1,15 @@ +ediprolog-el (2.2-1) unstable; urgency=medium + + * New upstream version 2.2 + * Add upstream signing key + * Add patch to remove screenshot + * Explicitly install documentation + * d/control: Declare Standards-Version 4.6.1 (no changes needed) + * d/copyright: Update copyright years + * d/watch: Update URL and migrate to version 4 + + -- Lev Lamberov Fri, 18 Nov 2022 15:22:06 +0500 + ediprolog-el (2.1-1) unstable; urgency=medium * New upstream version 2.1 diff -Nru ediprolog-el-2.1/debian/control ediprolog-el-2.2/debian/control --- ediprolog-el-2.1/debian/control 2020-08-15 13:39:29.000000000 +0000 +++ ediprolog-el-2.2/debian/control 2022-11-18 10:22:06.000000000 +0000 @@ -5,7 +5,7 @@ Uploaders: Lev Lamberov Build-Depends: debhelper-compat (= 13), dh-elpa -Standards-Version: 4.5.0 +Standards-Version: 4.6.1 Rules-Requires-Root: no Homepage: https://elpa.gnu.org/packages/ediprolog.html Vcs-Browser: https://salsa.debian.org/emacsen-team/ediprolog-el diff -Nru ediprolog-el-2.1/debian/copyright ediprolog-el-2.2/debian/copyright --- ediprolog-el-2.1/debian/copyright 2020-08-15 13:39:29.000000000 +0000 +++ ediprolog-el-2.2/debian/copyright 2022-11-18 10:22:06.000000000 +0000 @@ -4,11 +4,11 @@ Source: https://elpa.gnu.org/packages/ediprolog.html Files: * -Copyright: (C) 2006-2009, 2012-2013, 2016-2017, 2020 Free Software Foundation, Inc. +Copyright: (C) 2006-2022 Free Software Foundation, Inc. License: GPL-3+ Files: debian/* -Copyright: (C) 2017-2020 Lev Lamberov +Copyright: (C) 2017-2022 Lev Lamberov License: GPL-3+ License: GPL-3+ diff -Nru ediprolog-el-2.1/debian/docs ediprolog-el-2.2/debian/docs --- ediprolog-el-2.1/debian/docs 1970-01-01 00:00:00.000000000 +0000 +++ ediprolog-el-2.2/debian/docs 2022-11-18 10:22:06.000000000 +0000 @@ -0,0 +1 @@ +README.md diff -Nru ediprolog-el-2.1/debian/patches/0001-clean-documentation.diff ediprolog-el-2.2/debian/patches/0001-clean-documentation.diff --- ediprolog-el-2.1/debian/patches/0001-clean-documentation.diff 1970-01-01 00:00:00.000000000 +0000 +++ ediprolog-el-2.2/debian/patches/0001-clean-documentation.diff 2022-11-18 10:22:06.000000000 +0000 @@ -0,0 +1,19 @@ +From: Lev Lamberov +Subject: Clean documentation + +This patch removes screenshot from the documentation. + +--- a/README.md ++++ b/README.md +@@ -91,11 +91,3 @@ processes simultaneously. Revert with + + Tested with Scryer Prolog 0.8.119 and SWI-Prolog 8.1.24, using Emacs + versions 26.1 and 27.0.50. +- +-# Screenshot +- +-Here is a sample interaction, using +-[CLP(ℤ) constraints](https://www.metalevel.at/prolog/clpz) to +-relate a number to its factorial: +- +-![Factorial](factorial.png) diff -Nru ediprolog-el-2.1/debian/patches/series ediprolog-el-2.2/debian/patches/series --- ediprolog-el-2.1/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ ediprolog-el-2.2/debian/patches/series 2022-11-18 10:22:06.000000000 +0000 @@ -0,0 +1 @@ +0001-clean-documentation.diff diff -Nru ediprolog-el-2.1/debian/upstream/signing-key.asc ediprolog-el-2.2/debian/upstream/signing-key.asc --- ediprolog-el-2.1/debian/upstream/signing-key.asc 1970-01-01 00:00:00.000000000 +0000 +++ ediprolog-el-2.2/debian/upstream/signing-key.asc 2022-11-18 10:22:06.000000000 +0000 @@ -0,0 +1,24 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGNBFy/aAoBDADKi6Yne/M06twDp0/Nm2h8iRRSc5vIC4S+oLirakdwIBkbLgAh +nyBsSG/+ZZi7R8wQaPFeuIqoHChc8KUyGJ8wttpLipCanKP8YmNydXSa9hx6DocP +CoN0vSbI5kJBQJhUeVl4bvAlXGAlllmayvhxfR3+hlrRtcvligkgxILB80SPPEjr +5Cnje8piDzDmm0CThyjg7dpwbDn0gboKE6jdX+U8aP6ApVxB85ZaoHhAmCsa+Ba2 +5GDnYA5toTzDJdhD4foDI3GoGrOpLbMoygsIuTW1XiUTZzSojjsP3iJyJIXk3ws1 +EdxVtX9uTxW95YvTfHbi9V0R6jDZUKbBj488IRG0UFrcPDgeTbqHodmL+SmWd7f8 +FTByp5wqqs9mRs/nVfU0d/GzdQU3bvMm0p8zhslW+GUT0HG+WBGuYaq3kZToq/ml +DvDZzBY49GGWWk0RqAj0nh8ql5TtHWJP4paz/Uw4s49g1OQ3RGj/aM1B3n/XO8kf +K7Kc81134tjVYdcAEQEAAbQ1R05VIEVMUEEgU2lnbmluZyBBZ2VudCAoMjAxOSkg +PGVscGFzaWduQGVscGEuZ251Lm9yZz6JAdQEEwEIAD4WIQTEM1VHZtPdxkIhv6oG +ba/LgeQsQAUCXL90awIbAwUJCWYMNAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAK +CRAGba/LgeQsQJ0QC/43ZBuXksOTqSKWHmBd5WBKWobBNrKcB1wjJTjkdIKn1SsE +i2OXU2AM7RD5OvJFgirSTJC0dBEaJaaSOtzBajSkRP9NTiQ4CD08LBZHnY3pDFMn +lFGxBBFOCiw9WFUn0m3MnTRj0YlmlcxHyIMyTwsruGv24cU1+bi1EoYuwB/GOCta +IR05bxZY2SPhAu9tBDDELy5jexk3Z3BWQS0W14RDG6SXqxbyMmEzZWWmalw4Iya0 +ibSKejFWFYQS56qiQtbccVlkj5AZUlcO4lED8LCJmposvY5EffzJiYkarN4HIWG+ +BJ2FTDYvTSu/aK0T4WcaXqJudB4QscdRAd8ZZVFMsD/S6IlKARoJZcqRF/fBe3PY +8AQCcvdqNoldKFaNs01gc5h3/7m9vlVmtCMkhqJNZ+wm0i8gzTm8H3VIs4oBpK2H +T6xk1HGhR1KOJJpG1I36E2w8evC1qo8SSQnZ7xzjuONLdgiAFA+zFHfpntMNdVdk ++v+C563ayGTyFZ6cu0s= +=6oI6 +-----END PGP PUBLIC KEY BLOCK----- diff -Nru ediprolog-el-2.1/debian/watch ediprolog-el-2.2/debian/watch --- ediprolog-el-2.1/debian/watch 2020-08-15 13:39:29.000000000 +0000 +++ ediprolog-el-2.2/debian/watch 2022-11-18 10:22:06.000000000 +0000 @@ -1,6 +1,2 @@ -# This watch file won't produce the orig.tar file and will in fact exit with -# an error. This is okay: we're using gbp to produce orig.tar files so we only -# need uscan to download. - -version=3 -https://elpa.gnu.org/packages/ediprolog.html ediprolog-(.+).el +version=4 +opts=pgpsigurlmangle=s/$/.sig/ https://elpa.gnu.org/packages/ediprolog.html ediprolog-(.+).tar(?:\.lz)? diff -Nru ediprolog-el-2.1/ediprolog.el ediprolog-el-2.2/ediprolog.el --- ediprolog-el-2.1/ediprolog.el 2020-08-14 09:03:07.000000000 +0000 +++ ediprolog-el-2.2/ediprolog.el 2022-10-26 21:02:55.000000000 +0000 @@ -1,10 +1,10 @@ ;;; ediprolog.el --- Emacs Does Interactive Prolog -;; Copyright (C) 2006-2009, 2012-2013, 2016-2017, 2020 Free Software Foundation, Inc. +;; Copyright (C) 2006-2022 Free Software Foundation, Inc. ;; Author: Markus Triska ;; Keywords: languages, processes -;; Version: 2.1 +;; Version: 2.2 ;; Homepage: https://www.metalevel.at/ediprolog/ ;; This file is free software; you can redistribute it and/or modify @@ -39,7 +39,7 @@ ;; ;; The two most important configuration options are: ;; -;; - `ediprolog-system', either 'scryer or 'swi +;; - `ediprolog-system', either 'scryer (default) or 'swi ;; - `ediprolog-program', the path of the Prolog executable. ;; Usage @@ -53,11 +53,11 @@ ;; Queries start with "?-" or ":-", possibly preceded by "%" and ;; whitespace. An example of a query is (without leading ";;"): ;; -;; %?- member(X, [a,b,c]). +;; %?- member(X, "abc"). ;; ;; If you press F10 when point is on that query, you get: ;; -;; %?- member(X, [a,b,c]). +;; %?- member(X, "abc"). ;; %@ X = a ;; %@ ; X = b ;; %@ ; X = c @@ -93,7 +93,7 @@ ;;; Code: -(defconst ediprolog-version "2.1") +(defconst ediprolog-version "2.2") (defgroup ediprolog nil "Transparent interaction with Prolog." @@ -273,9 +273,9 @@ ;; success (i.e., consulted without errors), or still an incomplete ;; line that starts with a comment character (unless (or (string-match "^[\t ]*\\(?:%.*\\)?\\'" str) - (let ((success "true.")) - (and (<= (length str) (length success)) - (string= str (substring success 0 (length str)))))) + (string-prefix-p str "true.") + ;; newer versions of Scryer Prolog prepend 3 spaces to "true." + (string-prefix-p str " true.")) (setq ediprolog-consult-window (display-buffer ediprolog-consult-buffer)) (set-window-dedicated-p ediprolog-consult-window t) (fit-window-to-buffer ediprolog-consult-window (/ (frame-height) 2)))) @@ -370,9 +370,19 @@ (end-of-line) (insert "\n" ediprolog-indent-prefix ediprolog-prefix) (ediprolog-interact - (format "%s\n" (mapconcat #'identity + (format "%s\n" + (if (eq ediprolog-system 'scryer) + ;; Scryer Prolog emits no additional indicators + ;; when a query spans multiple lines, so we send + ;; the query verbatim. + query + ;; For other Prolog systems, we merge the query into + ;; a single line. The drawback of this approach is + ;; that single-line comments at the end of a line are + ;; not handled correctly. + (mapconcat #'identity ;; `%' can precede each query line - (split-string query "\n[ \t%]*") " "))) + (split-string query "\n[ \t%]*") " ")))) (when handle (undo-amalgamate-change-group (cdr handle)))) t)) @@ -491,7 +501,11 @@ (and buffer-file-name (not (equal (file-remote-p ediprolog-temp-file) (file-remote-p buffer-file-name))))) - (setq ediprolog-temp-file (make-nearby-temp-file "ediprolog"))) + (setq ediprolog-temp-file + (funcall (if (fboundp 'make-nearby-temp-file) + 'make-nearby-temp-file + 'make-temp-file) + "ediprolog"))) (let ((start (if (and transient-mark-mode mark-active) (region-beginning) (point-min))) (end (if (and transient-mark-mode mark-active) @@ -647,41 +661,6 @@ (ediprolog-kill-prolog) (ediprolog-map-variables #'kill-local-variable))) -;;;; ChangeLog: - -;; 2020-08-13 Markus Triska -;; -;; Add version 2.1 of ediprolog.el -;; -;; 2017-06-11 Markus Triska -;; -;; * ediprolog/ediprolog.el (ediprolog-version): Bump to 1.2 -;; -;; (ediprolog-query): Use undo-amalgamate-change-group when available. -;; (ediprolog-remove-interactions, ediprolog-consult): Improve docstring. -;; -;; 2016-07-11 Paul Eggert -;; -;; Fix some quoting problems in doc strings -;; -;; Most of these are minor issues involving, e.g., quoting `like this' -;; instead of 'like this'. A few involve escaping ` and ' with a preceding -;; \= when the characters should not be turned into curved single quotes. -;; -;; 2015-09-23 Dmitry Gutov -;; -;; ediprolog: Don't autoload variables -;; -;; 2015-09-23 Dmitry Gutov -;; -;; Update ediprolog to the latest release -;; -;; 2011-12-22 Stefan Monnier -;; -;; Add new package "ediprolog". -;; - - (provide 'ediprolog) ;;; ediprolog.el ends here diff -Nru ediprolog-el-2.1/ediprolog-pkg.el ediprolog-el-2.2/ediprolog-pkg.el --- ediprolog-el-2.1/ediprolog-pkg.el 1970-01-01 00:00:00.000000000 +0000 +++ ediprolog-el-2.2/ediprolog-pkg.el 2022-10-26 21:02:56.000000000 +0000 @@ -0,0 +1,2 @@ +;; Generated package description from ediprolog.el -*- no-byte-compile: t -*- +(define-package "ediprolog" "2.2" "Emacs Does Interactive Prolog" 'nil :commit "cfcdf9e42821d246b7fbc84877aa4ecacc184a1c" :authors '(("Markus Triska" . "triska@metalevel.at")) :maintainer '("Markus Triska" . "triska@metalevel.at") :keywords '("languages" "processes") :url "https://www.metalevel.at/ediprolog/") Binary files /tmp/tmpooxg94i_/IjuhJf0O2r/ediprolog-el-2.1/factorial.png and /tmp/tmpooxg94i_/9i5wJ2mbI1/ediprolog-el-2.2/factorial.png differ diff -Nru ediprolog-el-2.1/README-elpa ediprolog-el-2.2/README-elpa --- ediprolog-el-2.1/README-elpa 1970-01-01 00:00:00.000000000 +0000 +++ ediprolog-el-2.2/README-elpa 2022-10-26 21:02:56.000000000 +0000 @@ -0,0 +1,101 @@ +# Introduction + +*ediprolog* lets you interact with Prolog in all Emacs buffers. +You can consult Prolog programs and evaluate embedded queries. + +**Project page**: + +[**https://www.metalevel.at/ediprolog/**](https://www.metalevel.at/ediprolog/) + +**Video**: + +[https://www.metalevel.at/prolog/videos/ediprolog](https://www.metalevel.at/prolog/videos/ediprolog) + +See also [PceProlog](https://www.metalevel.at/pceprolog/). + +# Installation + +With Emacs≥24.1, the simplest way to install ediprolog is to use +Emacs's built-in *package manager* via the key sequence: + + M-x package-install RET ediprolog RET + +Alternatively, copy [ediprolog.el](ediprolog.el) to your `load-path` +and add the following form to your `.emacs`, then evaluate the form or +restart Emacs: + + (require 'ediprolog) + +After you have installed ediprolog, you can customize it with: + + M-x customize-group RET ediprolog RET + +The two most important configuration options are: + + - `ediprolog-system`, either `scryer` (default) or `swi` + - `ediprolog-program`, the path of the Prolog executable. + +# Usage + +The central function is `ediprolog-dwim` (Do What I Mean). I recommend +to bind it to the function key F10 by adding the following +form to your `.emacs` and evaluating it: + + (global-set-key [f10] 'ediprolog-dwim) + +In the following, I assume that you have also done this. + +Depending on the content at point, `ediprolog-dwim` does the +"appropriate" thing: If point is on a *query*, it sends the query to a +Prolog process, and you interact with the process in the current +buffer as on a terminal. Queries start with "?-" or ":-", possibly +preceded by "%" and whitespace. An example of a query is: + + %?- member(X, "abc"). + +If you press F10 when point is on that query, you get: + + %?- member(X, "abc"). + %@ X = a + %@ ; X = b + %@ ; X = c + %@ ; false. + +When waiting for output of the Prolog process, you can press C-g to +unblock Emacs and continue with other work. To resume interaction +with the Prolog process, use **M-x ediprolog-toplevel RET**. + +If you press F10 when point is *not* on a query, the buffer content is +consulted in the Prolog process, and point is moved to the first error +(if any). You do *not* need to *save* the file beforehand, since +the *buffer content* (not the file) is consulted. + +For convenience, the most recent interactions with the Prolog +process are logged in the buffer `*ediprolog-history*`. + +Use **M-x ediprolog-localize RET** to make any Prolog process started +in the current buffer buffer-local. This way, you can run distinct +processes simultaneously. Revert with +**M-x ediprolog-unlocalize RET**. + +`ediprolog-dwim` with prefix arguments has special meanings: + +| Key Sequence | Meaning | +|--------------|----------------------------------------------------------| +| C-0 F10 | kill Prolog process | +| C-1 F10 | always consult buffer (even when point is on a query) | +| C-2 F10 | always consult buffer, using a new process | +| C-7 F10 | equivalent to `ediprolog-toplevel' | +| C-u F10 | first consult buffer, then evaluate query (if any) | +| C-u C-u F10 | like C-u F10, with a new process | + +Tested with Scryer Prolog 0.8.119 and SWI-Prolog 8.1.24, using Emacs +versions 26.1 and 27.0.50. + +# Screenshot + +Here is a sample interaction, using +[CLP(ℤ) constraints](https://www.metalevel.at/prolog/clpz) to +relate a number to its factorial: + +![Factorial](factorial.png) diff -Nru ediprolog-el-2.1/README.md ediprolog-el-2.2/README.md --- ediprolog-el-2.1/README.md 1970-01-01 00:00:00.000000000 +0000 +++ ediprolog-el-2.2/README.md 2022-10-26 21:02:55.000000000 +0000 @@ -0,0 +1,101 @@ +# Introduction + +*ediprolog* lets you interact with Prolog in all Emacs buffers. +You can consult Prolog programs and evaluate embedded queries. + +**Project page**: + +[**https://www.metalevel.at/ediprolog/**](https://www.metalevel.at/ediprolog/) + +**Video**: + +[https://www.metalevel.at/prolog/videos/ediprolog](https://www.metalevel.at/prolog/videos/ediprolog) + +See also [PceProlog](https://www.metalevel.at/pceprolog/). + +# Installation + +With Emacs≥24.1, the simplest way to install ediprolog is to use +Emacs's built-in *package manager* via the key sequence: + + M-x package-install RET ediprolog RET + +Alternatively, copy [ediprolog.el](ediprolog.el) to your `load-path` +and add the following form to your `.emacs`, then evaluate the form or +restart Emacs: + + (require 'ediprolog) + +After you have installed ediprolog, you can customize it with: + + M-x customize-group RET ediprolog RET + +The two most important configuration options are: + + - `ediprolog-system`, either `scryer` (default) or `swi` + - `ediprolog-program`, the path of the Prolog executable. + +# Usage + +The central function is `ediprolog-dwim` (Do What I Mean). I recommend +to bind it to the function key F10 by adding the following +form to your `.emacs` and evaluating it: + + (global-set-key [f10] 'ediprolog-dwim) + +In the following, I assume that you have also done this. + +Depending on the content at point, `ediprolog-dwim` does the +"appropriate" thing: If point is on a *query*, it sends the query to a +Prolog process, and you interact with the process in the current +buffer as on a terminal. Queries start with "?-" or ":-", possibly +preceded by "%" and whitespace. An example of a query is: + + %?- member(X, "abc"). + +If you press F10 when point is on that query, you get: + + %?- member(X, "abc"). + %@ X = a + %@ ; X = b + %@ ; X = c + %@ ; false. + +When waiting for output of the Prolog process, you can press C-g to +unblock Emacs and continue with other work. To resume interaction +with the Prolog process, use **M-x ediprolog-toplevel RET**. + +If you press F10 when point is *not* on a query, the buffer content is +consulted in the Prolog process, and point is moved to the first error +(if any). You do *not* need to *save* the file beforehand, since +the *buffer content* (not the file) is consulted. + +For convenience, the most recent interactions with the Prolog +process are logged in the buffer `*ediprolog-history*`. + +Use **M-x ediprolog-localize RET** to make any Prolog process started +in the current buffer buffer-local. This way, you can run distinct +processes simultaneously. Revert with +**M-x ediprolog-unlocalize RET**. + +`ediprolog-dwim` with prefix arguments has special meanings: + +| Key Sequence | Meaning | +|--------------|----------------------------------------------------------| +| C-0 F10 | kill Prolog process | +| C-1 F10 | always consult buffer (even when point is on a query) | +| C-2 F10 | always consult buffer, using a new process | +| C-7 F10 | equivalent to `ediprolog-toplevel' | +| C-u F10 | first consult buffer, then evaluate query (if any) | +| C-u C-u F10 | like C-u F10, with a new process | + +Tested with Scryer Prolog 0.8.119 and SWI-Prolog 8.1.24, using Emacs +versions 26.1 and 27.0.50. + +# Screenshot + +Here is a sample interaction, using +[CLP(ℤ) constraints](https://www.metalevel.at/prolog/clpz) to +relate a number to its factorial: + +![Factorial](factorial.png)