[elpa] externals/org 3b7523acd0: ob-gnuplot: Fix stable file collision when converting data

2022-07-19 Thread ELPA Syncer
branch: externals/org
commit 3b7523acd00a36ca2310942e41907872802d74e4
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

ob-gnuplot: Fix stable file collision when converting data

* lisp/ob-gnuplot.el (org-babel-gnuplot-process-vars): Use cons cell
of all the code block parameters and the actual assigned variable
value to generate filename for storing the data.  This fixes a
scenario when code block has two or more variable assignments that
were wrongly saved into the same file.  Before the commit, only the
last assigned variable value has been used by gnuplot for _all_ the
variables.
---
 lisp/ob-gnuplot.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/ob-gnuplot.el b/lisp/ob-gnuplot.el
index c552986a3c..4c76bea198 100644
--- a/lisp/ob-gnuplot.el
+++ b/lisp/ob-gnuplot.el
@@ -96,7 +96,7 @@ code."
 (if tablep val (mapcar 'list val)))
;; Make temporary file name stable with respect to data.
;; If we do not do it, :cache argument becomes useless.
-   (org-babel-temp-stable-file params "gnuplot-")
+   (org-babel-temp-stable-file (cons val params) "gnuplot-")
params)
(if (and (stringp val)
 (file-remote-p val)  ;; check if val is a remote file



[elpa] externals/vc-got 2217122fb8 1/2: fix vc-got-print-log

2022-07-19 Thread ELPA Syncer
branch: externals/vc-got
commit 2217122fb8636cfa0f69cef4dac6f3b172f4abe2
Author: Omar Polo 
Commit: Omar Polo 

fix vc-got-print-log

the missing vc-setup-buffer call was preventing it from clearing (at
least) the buffer, so the old logs remained.
---
 vc-got.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vc-got.el b/vc-got.el
index 2221b68a98..111e492126 100755
--- a/vc-got.el
+++ b/vc-got.el
@@ -691,8 +691,8 @@ It's like `vc-process-filter' but supports \r inside S."
   "Insert the revision log for FILES into BUFFER.
 LIMIT limits the number of commits, optionally starting at
 START-REVISION."
+  (vc-setup-buffer buffer)
   (with-current-buffer buffer
-;; the *vc-diff* may be read only
 (let ((inhibit-read-only t))
   (cl-loop for file in files
do (vc-got--log (file-relative-name file)



[elpa] externals/vc-got 3ec0e0cae3 2/2: typo in the function name and missing vc-setup-buffer

2022-07-19 Thread ELPA Syncer
branch: externals/vc-got
commit 3ec0e0cae3d6d38ca12cedb0cba4f63fe6fff8e4
Author: Omar Polo 
Commit: Omar Polo 

typo in the function name and missing vc-setup-buffer
---
 vc-got.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/vc-got.el b/vc-got.el
index 111e492126..004b64be25 100755
--- a/vc-got.el
+++ b/vc-got.el
@@ -711,9 +711,10 @@ START-REVISION."
 (with-current-buffer buffer
   (vc-got--log nil nil nil rl
 
-(defun vc-got-incoming (buffer remote-location)
+(defun vc-got-log-incoming (buffer remote-location)
   "Fill BUFFER with the incoming diff from REMOTE-LOCATION.
 That is, the diff between REMOTE-LOCATION and the local repository."
+  (vc-setup-buffer buffer)
   (let ((rl (if (or (not remote-location) (string-empty-p remote-location))
 (concat "origin/" (vc-got--current-branch))
   remote-location))



[elpa] externals/vc-got updated (20cee209de -> 3ec0e0cae3)

2022-07-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/vc-got.

  from  20cee209de tag 1.1.2
   new  2217122fb8 fix vc-got-print-log
   new  3ec0e0cae3 typo in the function name and missing vc-setup-buffer


Summary of changes:
 vc-got.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)



[elpa] externals/org 39005dc098: org-fold: Do not fold text inserted right after outline fold

2022-07-19 Thread ELPA Syncer
branch: externals/org
commit 39005dc098e5cd9dab76357e3a1aaa541f8304a1
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-fold: Do not fold text inserted right after outline fold

* lisp/org-fold.el (org-fold-initialize): Do not extend the fold when
text is inserted right after it.  This resembles folding overlay
behavior used in previous Org versions and in the 'overlays
`org-fold-core-style'.

Fixes https://orgmode.org/list/871quprrra@gmail.com
---
 lisp/org-fold.el | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/org-fold.el b/lisp/org-fold.el
index 6ff21dfc79..5039bb7440 100644
--- a/lisp/org-fold.el
+++ b/lisp/org-fold.el
@@ -223,9 +223,11 @@ smartMake point visible, and do 
insertion/deletion if it is
   (:isearch-open . t)
   ;; This is needed to make sure that inserting a
   ;; new planning line in folded heading is not
-  ;; revealed.
+  ;; revealed.  Also, the below combination of :font-sticky and
+  ;; :real-sticky conforms to the overlay properties in outline.el
+  ;; and the older Org versions as in `outline-flag-region'.
   (:front-sticky . t)
-  (:rear-sticky . t)
+  (:rear-sticky . nil)
   (:font-lock-skip . t)
   (:alias . (headline heading outline inlinetask plain-list)))
  (org-fold-block



[nongnu] elpa/clojure-mode 93bb1c5a2a 3/3: v5.15.0

2022-07-19 Thread ELPA Syncer
branch: elpa/clojure-mode
commit 93bb1c5a2a4699063e4f2ac7e585f5cab5dd52c1
Author: vemv 
Commit: vemv 

v5.15.0
---
 CHANGELOG.md| 2 ++
 README.md   | 2 +-
 clojure-mode.el | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2d55962072..c3418f2a44 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 ## master (unreleased)
 
+## 5.15.0 (2022-07-19)
+
 ### Changes
 
 * [#622](https://github.com/clojure-emacs/clojure-mode/issues/622): Add font 
locking for missing clojure.core macros
diff --git a/README.md b/README.md
index 866a51632c..a3999b2117 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ highlighting), indentation, navigation and refactoring 
support for the
 **This documentation tracks the `master` branch of `clojure-mode`. Some of
 the features and settings discussed here might not be available in
 older releases (including the current stable release). Please, consult
-the relevant git tag (e.g. 5.14.0) if you need documentation for a
+the relevant git tag (e.g. 5.15.0) if you need documentation for a
 specific `clojure-mode` release.**
 
 ## Installation
diff --git a/clojure-mode.el b/clojure-mode.el
index d752add431..0f43978634 100644
--- a/clojure-mode.el
+++ b/clojure-mode.el
@@ -12,7 +12,7 @@
 ;; Maintainer: Bozhidar Batsov 
 ;; URL: http://github.com/clojure-emacs/clojure-mode
 ;; Keywords: languages clojure clojurescript lisp
-;; Version: 5.14.0
+;; Version: 5.15.0
 ;; Package-Requires: ((emacs "25.1"))
 
 ;; This file is not part of GNU Emacs.



[nongnu] elpa/clojure-mode updated (fee38d780f -> 93bb1c5a2a)

2022-07-19 Thread ELPA Syncer
elpasync pushed a change to branch elpa/clojure-mode.

  from  fee38d780f Add missing clojure.core macros to clojure-mode 
font-lock declaration: (#623)
   new  54a62cc02a Fix infinite loop when reverse searching for next 
definition (#624)
   new  6952067f78 Satisfy docstring linter
   new  93bb1c5a2a v5.15.0


Summary of changes:
 CHANGELOG.md |  6 ++
 README.md|  2 +-
 clojure-mode.el  | 12 
 test.clj |  4 
 test/clojure-mode-syntax-test.el | 31 +++
 5 files changed, 50 insertions(+), 5 deletions(-)



[nongnu] elpa/clojure-mode 54a62cc02a 1/3: Fix infinite loop when reverse searching for next definition (#624)

2022-07-19 Thread ELPA Syncer
branch: elpa/clojure-mode
commit 54a62cc02a0901400a1a3660182a4c898626116d
Author: Vadim <47952597+oknolomba...@users.noreply.github.com>
Commit: GitHub 

Fix infinite loop when reverse searching for next definition (#624)

Fixes #595
Fixes #612
---
 CHANGELOG.md |  4 
 clojure-mode.el  |  7 +--
 test.clj |  4 
 test/clojure-mode-syntax-test.el | 31 +++
 4 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index ebcf9bdc19..2d55962072 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,10 @@
 * [#622](https://github.com/clojure-emacs/clojure-mode/issues/622): Add font 
locking for missing clojure.core macros
 * [#615](https://github.com/clojure-emacs/clojure-mode/issues/615): Support 
clojure-dart files.
 
+### Bugs fixed
+
+* [#595](https://github.com/clojure-emacs/clojure-mode/issues/595), 
[#612](https://github.com/clojure-emacs/clojure-mode/issues/612): Fix buffer 
freezing when typing metadata for a definition
+
 ## 5.14.0 (2022-03-07)
 
 ### New features
diff --git a/clojure-mode.el b/clojure-mode.el
index 929489260b..595ea0a0b3 100644
--- a/clojure-mode.el
+++ b/clojure-mode.el
@@ -754,8 +754,11 @@ Called by `imenu--generic-function'."
   (when (char-equal ?\) (char-after (point)))
 (backward-sexp)))
   (cl-destructuring-bind (def-beg . def-end) (bounds-of-thing-at-point 
'sexp)
-(if (char-equal ?^ (char-after def-beg))
-(progn (forward-sexp) (backward-sexp))
+(when (char-equal ?^ (char-after def-beg))
+  ;; move to the beginning of next sexp
+  (progn (forward-sexp) (backward-sexp)))
+(when (or (not (char-equal ?^ (char-after (point
+  (and (char-equal ?^ (char-after (point))) (= def-beg 
(point
   (setq found? t)
   (when (string= deftype "defmethod")
 (setq def-end (progn (goto-char def-end)
diff --git a/test.clj b/test.clj
index 147171a1bb..a1d67dfaa3 100644
--- a/test.clj
+++ b/test.clj
@@ -223,6 +223,10 @@
   ([x y & more]
  (reduce1 max (max x y) more)))
 
+
+;; definitions with metadata only don't cause freezing
+(def ^String)
+
 (defn ^String reverse
   "Returns s with its characters reversed."
   {:added "1.2"}
diff --git a/test/clojure-mode-syntax-test.el b/test/clojure-mode-syntax-test.el
index bc71eaab21..8ac8938f91 100644
--- a/test/clojure-mode-syntax-test.el
+++ b/test/clojure-mode-syntax-test.el
@@ -60,6 +60,37 @@
   (expect (non-func "^hint " form) :to-be nil)
   (expect (non-func "#macro " form) :to-be nil
 
+(describe "clojure-match-next-def"
+  (let ((some-sexp "\n(list [1 2 3])"))
+(it "handles vars with metadata"
+  (dolist (form '("(def ^Integer a 1)"
+  "(def ^:a a 1)"
+  "(def ^::a a 1)"
+  "(def ^::a/b a 1)"
+  "(def ^{:macro true} a 1)"))
+(with-clojure-buffer (concat form some-sexp)
+  (end-of-buffer)
+  (clojure-match-next-def)
+  (expect (looking-at "(def")
+
+(it "handles vars without metadata"
+  (with-clojure-buffer (concat "(def a 1)" some-sexp)
+(end-of-buffer)
+(clojure-match-next-def)
+(expect (looking-at "(def"
+
+(it "handles invalid def forms"
+  (dolist (form '("(def ^Integer)"
+  "(def)"
+  "(def ^{:macro})"
+  "(def ^{:macro true})"
+  "(def ^{:macro true} foo)"
+  "(def ^{:macro} foo)"))
+(with-clojure-buffer (concat form some-sexp)
+  (end-of-buffer)
+  (clojure-match-next-def)
+  (expect (looking-at "(def")))
+
 (describe "clojure syntax"
   (it "handles prefixed symbols"
 (dolist (form '(("#?@aaa" . "aaa")



[nongnu] elpa/clojure-mode 6952067f78 2/3: Satisfy docstring linter

2022-07-19 Thread ELPA Syncer
branch: elpa/clojure-mode
commit 6952067f78ba6c9bd1b6ccb58140a68db2883765
Author: vemv 
Commit: vemv 

Satisfy docstring linter
---
 clojure-mode.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/clojure-mode.el b/clojure-mode.el
index 595ea0a0b3..d752add431 100644
--- a/clojure-mode.el
+++ b/clojure-mode.el
@@ -2502,7 +2502,8 @@ See: 
https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-cycle-privacy";
 "-")
 
 (defun clojure--convert-collection (coll-open coll-close)
-  "Convert the collection at (point) by unwrapping it an wrapping it between 
COLL-OPEN and COLL-CLOSE."
+  "Convert the collection at (point)
+by unwrapping it an wrapping it between COLL-OPEN and COLL-CLOSE."
   (save-excursion
 (while (and
 (not (bobp))



[elpa] externals/pulsar 81eda582a1 3/4: Tweak pulsar.el Commentary

2022-07-19 Thread ELPA Syncer
branch: externals/pulsar
commit 81eda582a1ad5d6e9f8dc4a40229e9193a6075a2
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Tweak pulsar.el Commentary
---
 pulsar.el | 5 +
 1 file changed, 5 insertions(+)

diff --git a/pulsar.el b/pulsar.el
index 1942f8b33b..b6772ed0d5 100644
--- a/pulsar.el
+++ b/pulsar.el
@@ -33,6 +33,11 @@
 ;; takes place when either `pulsar-mode' (buffer-local) or
 ;; `pulsar-global-mode' is enabled.
 ;;
+;; There is no need to add all functions that affect the active window
+;; to the `pulsar-pulse-functions'.  Instead, keep the user option
+;; `pulsar-pulse-on-window-change' in its default non-nil value.  It
+;; will pulse the current line whenever the active window changes.
+;;
 ;; The overall duration of the highlight is determined by a combination
 ;; of `pulsar-delay' and `pulsar-iterations'.  The latter determines the
 ;; number of blinks in a pulse, while the former sets their delay in



[elpa] externals/pulsar 8b442eca17 1/4: Simplify the manual's front matter

2022-07-19 Thread ELPA Syncer
branch: externals/pulsar
commit 8b442eca1760af209e22528c672d31fc1086a8a2
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Simplify the manual's front matter
---
 README.org | 42 ++
 1 file changed, 18 insertions(+), 24 deletions(-)

diff --git a/README.org b/README.org
index 656e0cea51..c589881b79 100644
--- a/README.org
+++ b/README.org
@@ -1,27 +1,21 @@
-#+title: pulsar.el: Pulse highlight line on demand or after running select 
functions
-#+author: Protesilaos Stavrou
-#+email: i...@protesilaos.com
-#+language: en
-#+options: ':t toc:nil author:t email:t num:t
-#+startup: content
-
-#+macro: stable-version 0.3.0
-#+macro: release-date 2022-04-08
-#+macro: development-version 0.4.0-dev
-#+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
-#+macro: space @@texinfo:@: @@
-#+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
-
-#+export_file_name: pulsar.texi
-
-#+texinfo_filename: pulsar.info
-#+texinfo_dir_category: Emacs misc features
-#+texinfo_dir_title: Pulsar: (pulsar)
-#+texinfo_dir_desc: Pulse highlight line on demand or after running select 
functions
-#+texinfo_header: @set MAINTAINERSITE @uref{https://protesilaos.com,maintainer 
webpage}
-#+texinfo_header: @set MAINTAINER Protesilaos Stavrou
-#+texinfo_header: @set MAINTAINEREMAIL @email{i...@protesilaos.com}
-#+texinfo_header: @set MAINTAINERCONTACT 
@uref{mailto:i...@protesilaos.com,contact the maintainer}
+#+title: pulsar.el: Pulse highlight line on demand or after 
running select functions
+#+author:Protesilaos Stavrou
+#+email: i...@protesilaos.com
+#+language:  en
+#+options:   ':t toc:nil author:t email:t num:t
+#+startup:   content
+#+macro: stable-version 0.3.0
+#+macro: release-date 2022-04-08
+#+macro: development-version 0.4.0-dev
+#+export_file_name:  pulsar.texi
+#+texinfo_filename:  pulsar.info
+#+texinfo_dir_category:  Emacs misc features
+#+texinfo_dir_title: Pulsar: (pulsar)
+#+texinfo_dir_desc:  Pulse highlight line on demand or after running 
select functions
+#+texinfo_header:@set MAINTAINERSITE 
@uref{https://protesilaos.com,maintainer webpage}
+#+texinfo_header:@set MAINTAINER Protesilaos Stavrou
+#+texinfo_header:@set MAINTAINEREMAIL @email{i...@protesilaos.com}
+#+texinfo_header:@set MAINTAINERCONTACT 
@uref{mailto:i...@protesilaos.com,contact the maintainer}
 
 #+texinfo: @insertcopying
 



[elpa] externals/pulsar 1b91e34af6 4/4: Update to version 0.4.0

2022-07-19 Thread ELPA Syncer
branch: externals/pulsar
commit 1b91e34af63240fcfc02e267d740a78590f1f2de
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Update to version 0.4.0
---
 CHANGELOG.org | 25 +
 README.org|  6 +++---
 pulsar.el |  2 +-
 3 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index a4b990ae9b..0fa6b9d75e 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -6,6 +6,31 @@
 The newest release is at the top.  For further details, please consult
 the manual: .
 
+* Version 0.4.0 on 2022-07-19
+
++ Added the user option ~pulsar-pulse-on-window-change~.  This covers
+  all commands or functions that affect the current window, so there is
+  no need to include them individually in the ~pulsar-pulse-functions~.
+  Users who prefer to trigger a pulse only after select functions
+  (e.g. only after ~other-window~) are advised to set this user option
+  to nil and update the ~pulsar-pulse-functions~ accordingly.  Thanks to
+  Ivan Popovych for the patch (commit =b1a78dd=).
+
++ Changed the default value of ~pulsar-pulse-functions~ to omit all
+  those commands which are already covered by the aforementioned.  In
+  the interest of continuity, the old value is kept in the source code,
+  with the relevant symbols commented out.
+
++ Named the mailing list email address as the =Maintainer:= of Pulsar.
+  The package headers help the user find our primary sources and/or
+  communication channels.  This change conforms with work being done
+  upstream in package.el by Philip Kaludercic.  I was informed about it
+  here:
+  
.
+
++ Updated the documentation, where necessary and made other minor tweaks
+  to the code.
+
 * Version 0.3.0 on 2022-04-08
 
 + Changed the source repository from GitLab to SourceHut:
diff --git a/README.org b/README.org
index 144b67ad2b..316ab5c76b 100644
--- a/README.org
+++ b/README.org
@@ -4,9 +4,9 @@
 #+language:  en
 #+options:   ':t toc:nil author:t email:t num:t
 #+startup:   content
-#+macro: stable-version 0.3.0
-#+macro: release-date 2022-04-08
-#+macro: development-version 0.4.0-dev
+#+macro: stable-version 0.4.0
+#+macro: release-date 2022-07-19
+#+macro: development-version 0.5.0-dev
 #+export_file_name:  pulsar.texi
 #+texinfo_filename:  pulsar.info
 #+texinfo_dir_category:  Emacs misc features
diff --git a/pulsar.el b/pulsar.el
index b6772ed0d5..c984310bb0 100644
--- a/pulsar.el
+++ b/pulsar.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Pulsar Development <~protesilaos/pul...@lists.sr.ht>
 ;; URL: https://git.sr.ht/~protesilaos/pulsar
 ;; Mailing-List: https://lists.sr.ht/~protesilaos/pulsar
-;; Version: 0.3.1
+;; Version: 0.4.0
 ;; Package-Requires: ((emacs "27.1"))
 ;; Keywords: convenience, pulse, highlight
 



[elpa] externals/pulsar 2ca598253a 2/4: Reword statement in the manual

2022-07-19 Thread ELPA Syncer
branch: externals/pulsar
commit 2ca598253a9faab35f24f9fa5d229a46d991e170
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Reword statement in the manual
---
 README.org | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index c589881b79..144b67ad2b 100644
--- a/README.org
+++ b/README.org
@@ -71,10 +71,9 @@ when either ~pulsar-mode~ (buffer-local) or 
~pulsar-global-mode~ is
 enabled.
 
 There is no need to add all functions that affect the active window to
-the ~pulsar-pulse-functions~.  Instead, set the user option
-~pulsar-pulse-on-window-change~ to a non-nil value.  It will pulse the
-current line whenever the active window changes (it is part of
-{{{development-version}}}).
+the ~pulsar-pulse-functions~.  Instead, keep the user option
+~pulsar-pulse-on-window-change~ in its default non-nil value.  It will
+pulse the current line whenever the active window changes.
 
 #+vindex: pulsar-delay
 #+vindex: pulsar-iterations



[nongnu] elpa/helm-core updated (c451a06123 -> 1c36098cca)

2022-07-19 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm-core.

  from  c451a06123 Revert "Try to fix issue #2504 in eshell completion"
  adds  1c36098cca Use inconditionally truncate-lines in helm-M-x and 
helm-apropos

No new revisions were added by this update.

Summary of changes:
 helm-command.el | 3 ++-
 helm-elisp.el   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)



[elpa] externals/pulsar updated (8af400c03f -> 1b91e34af6)

2022-07-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/pulsar.

  from  8af400c03f Restore link to mailing list archive
   new  8b442eca17 Simplify the manual's front matter
   new  2ca598253a Reword statement in the manual
   new  81eda582a1 Tweak pulsar.el Commentary
   new  1b91e34af6 Update to version 0.4.0


Summary of changes:
 CHANGELOG.org | 25 +
 README.org| 49 +
 pulsar.el |  7 ++-
 3 files changed, 52 insertions(+), 29 deletions(-)



[nongnu] elpa/helm 1c36098cca: Use inconditionally truncate-lines in helm-M-x and helm-apropos

2022-07-19 Thread ELPA Syncer
branch: elpa/helm
commit 1c36098cca02fac7d66c4f752af1505619b67372
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Use inconditionally truncate-lines in helm-M-x and helm-apropos
---
 helm-command.el | 3 ++-
 helm-elisp.el   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/helm-command.el b/helm-command.el
index 9569d44cc2..29491c745d 100644
--- a/helm-command.el
+++ b/helm-command.el
@@ -324,7 +324,8 @@ default to `extended-command-history'."
   (helm :sources sources
 :prompt prompt
 :buffer "*helm M-x*"
-:history 'helm-M-x-input-history))
+:history 'helm-M-x-input-history
+:truncate-lines t))
   (helm-M-x--unwind-forms
 
 ;; When running a command involving again helm from helm-M-x, the
diff --git a/helm-elisp.el b/helm-elisp.el
index e18d20f8ae..7f0455ca35 100644
--- a/helm-elisp.el
+++ b/helm-elisp.el
@@ -813,7 +813,7 @@ a string, i.e. the `symbol-name' of any existing symbol."
   :history 'helm-apropos-history
   :buffer "*helm apropos*"
   :preselect (and default (concat "^\\_<" (regexp-quote default) 
"\\_>"))
-  :truncate-lines helm-apropos-show-short-doc)))
+  :truncate-lines t)))
 
 
 ;;; Advices



[elpa] main b3e80d6f9f: * elpa-packages (assess, corfu-doc, m-buffer): New packages

2022-07-19 Thread Stefan Monnier via
branch: main
commit b3e80d6f9f18031a11b557bd2e4fe2875841212a
Author: Stefan Monnier 
Commit: Stefan Monnier 

* elpa-packages (assess, corfu-doc, m-buffer): New packages
---
 elpa-packages | 24 
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index 073a1b3a1c..aa37ec347d 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -58,6 +58,9 @@
  ("ascii-art-to-unicode" :url nil)
  ("async"  :url "https://github.com/jwiegley/emacs-async";
   :auto-sync t)
+ ("assess" :url "https://github.com/phillord/assess";
+  :doc "assess-doc.org"
+  :auto-sync t)
  ;; AUCTeX is currently sync'd manually and elpa.git isn't quite a mirror :-(
  ("auctex" :url "git://git.sv.gnu.org/auctex.git")
  ("aumix-mode" :url nil)
@@ -153,9 +156,9 @@
   :doc "README.org"
   :renames (("extensions/" ""))
   :auto-sync t)
- ;; ("corfu-doc"   :url "https://github.com/galeo/corfu-doc";
- ;;  :ignored-files ("LICENSE")
- ;;  :auto-sync t)
+ ("corfu-doc"  :url "https://github.com/galeo/corfu-doc";
+  :ignored-files ("LICENSE")
+  :auto-sync t)
  ("coterm" :url "https://repo.or.cz/emacs-coterm.git";
   :auto-sync t)
  ("counsel":url "https://github.com/abo-abo/swiper";)
@@ -405,6 +408,12 @@
  ("landmark"   :url nil)
  ("leaf"   :url "https://github.com/conao3/leaf.el";
   :auto-sync t)
+ ;; FIXME: In preparation (depends on `f` and `s`).
+ ;; ("lentic"  :url "https://github.com/phillord/lentic";
+ ;;  :auto-sync t)
+ ;; FIXME: In preparation (depends on `lentic`).
+ ;; ("lentic-server"   :url "https://github.com/phillord/lentic-server";
+ ;;  :auto-sync t)
  ("let-alist"  :core "lisp/emacs-lisp/let-alist.el")
  ("lex":url nil)
  ("lin":url "https://git.sr.ht/~protesilaos/lin";
@@ -422,6 +431,9 @@
   :doc "README.org"
   :news "CHANGELOG.org"
   :ignored-files ("COPYING" "doclicense.texi"))
+ ("m-buffer"   :url "https://github.com/phillord/m-buffer-el";
+  :doc "m-buffer-doc.org"
+  :auto-sync t)
  ("map" :core "lisp/emacs-lisp/map.el")
  ("marginalia" :url "https://github.com/minad/marginalia";
   :doc "README.org" :auto-sync t)
@@ -485,6 +497,9 @@
  ;; FIXME: Waiting for copyright paperwork from Michael Strey 

  ;;("org-contacts" :url "https://github.com/stardiviner/org-contacts.el";
  ;; :auto-sync t)
+ ;; FIXME: Not ready yet.
+ ;; ("org-drill"   :url "https://gitlab.com/phillord/org-drill";
+ ;;  :auto-sync t)
  ("org-modern" :url "https://github.com/minad/org-modern";
   :auto-sync t)
  ("org-real"   :url "https://gitlab.com/tygrdev/org-real";
@@ -515,7 +530,8 @@
   :auto-sync t)
  ("path-iterator"  :url nil)
  ("peg":url) ;Was in "https://github.com/ellerh/peg.el";
- ("persist" :url "https://gitlab.com/phillord/persist.git";)
+ ("persist" :url "https://gitlab.com/phillord/persist";
+  :auto-sync t)
  ;; FIXME: Waiting for copyright paperwork.
  ;; ("phpinspect"  :url "https://git.sr.ht/~hugot/phpinspect.el";
  ;;  :auto-sync t)



[elpa] externals/assess 8eb105f351 02/95: Travis Build status

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 8eb105f3512f0369d93a0e5c527577977d02dd82
Author: Phillip Lord 
Commit: Phillip Lord 

Travis Build status
---
 README.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README.md b/README.md
index 7d2bf8a2bc..b30b709d36 100644
--- a/README.md
+++ b/README.md
@@ -4,3 +4,6 @@ Sisyphus
 Sisyphus provides additional support for testing Emacs packages.
 
 It is quite early stages at the moment.
+
+
+[![Build 
Status](https://travis-ci.org/phillord/sisyphus.svg)](https://travis-ci.org/phillord/sisyphus)



[elpa] branch externals/assess created (now 44083d94fe)

2022-07-19 Thread ELPA Syncer
elpasync pushed a change to branch externals/assess.

at  44083d94fe Minor adjustments while preparing for GNU ELPA

This branch includes the following new commits:

   new  41a297b066 Initial Checkin
   new  8eb105f351 Travis Build status
   new  3d659897df Require cl-lib, local emacs test override.
   new  b3f9a7cf97 Require cl-lib, local emacs test override.
   new  e820ccf163 Emacs 24.4 or later.
   new  2e42c93191 Remove debug statement.
   new  eb56d9627d String diff file save is now silent.
   new  196470b1e1 New function buffer-string=
   new  dae3a60f7a Docstring fix.
   new  af38180b77 buffer= and file-string= functions added.
   new  a459abe966 New macro `sisyphus-with-preserved-buffer-list'.
   new  33b6c3c390 New macro `sisyphus-with-temp-buffers'.
   new  eb3336543c declare debug for `sisyphus-with-preserved-buffer-list'.
   new  af8b3a8d8b with-temp-buffers now works like let.
   new  3f89d8601f Port tests to sisyphus with-temp-buffers.
   new  acb460e26c All git-snapshot.
   new  890906bfcb Interface written as single overloaded function.
   new  f3416dadb1 Indentation test functions.
   new  238d9028e2 Support for indentation checking.
   new  1b01542ccd Fontification testing.
   new  c6e666413a Merge branch 'master' of github.com:phillord/sisyphus
   new  2e556a62ae Add new test file.
   new  83973f4047 Add dash as a dependency.
   new  32a00524a8 Fix unused variable issues
   new  f33b371177 Specify minimum dash version
   new  3cf57afcaf Merge pull request #1 from syohex/fix
   new  818cf77258 Merge pull request #2 from syohex/minimum
   new  cab9fea7b8 Documentation for everything
   new  00c794a516 Add package support.
   new  3e74c4b70d Add test for string font-lock comparison.
   new  5dde98a124 Merge branch 'master' of github.com:phillord/sisyphus
   new  f490f18a18 Merge branch 'master' of github.com:phillord/sisyphus
   new  6a4aa34ec3 Fixed multiple string matching for face match.
   new  0d079db1a7 Completed documentation.
   new  880d519d6b Update readme, add infojs.
   new  f521db4101 Add sisyphus-discover
   new  46290f163d Add tests for discover.
   new  4a71be3ba5 Change all references to sisyphus to assess
   new  ac8ff1f928 Change all file names to assess.
   new  0eb198f05e Documentation Fix.
   new  c0bdc94e49 Remove erroneous debug statement.
   new  38fc7829bc Interpret nil to mean no faces.
   new  4bf702a08a Re-order to put macros first.
   new  2db9834e4e Rework Makefile for update to cask
   new  e9344a55df Move from ert to assess-discover
   new  7409b103a3 Update .gitignore
   new  216adb069c Add assess-call.el
   new  ed2c221673 Update copyright year
   new  cd394f309f Add documentation for assess-call
   new  d2885a9bd7 Update readme for 0.2 release.
   new  387e5cfe2f v0.2 release
   new  f1edef3220 Move call implementation to closure
   new  d809f70748 Documentation for `assess-call--capture-lambda`
   new  46834f9423 Add ability to capture calls to hooks
   new  e1b7740df5 Add unwind-protect to assess-call functions
   new  df2532f2ec Add autoload cookies
   new  4b941ebd35 Added -pkg.el file to .gitignore
   new  07bd7f8915 Doc fixes
   new  739661405b Add assess-robot.el and tests
   new  38084cff73 v0.3 release
   new  36093a2c6b Fix keybinding for edmacro. Add test.
   new  4a5eee8ba9 Fix version number
   new  2335b8bd69 Remove old call-capture variable
   new  74d8de749c assess-with-temp-buffers now uses let*
   new  29e80b7540 Ensure capture function returns correct value
   new  fca80753d7 Kill even modified file associated buffers
   new  61771edab7 Move cask to melpa-stable
   new  bafab950e7 Fix typos
   new  e2e5f1cbbd Merge pull request #6 from NicolasPetton/master
   new  70c6d8c57d Fix a few typos
   new  9521b07480 Fix and Publish documentation statically
   new  9374be7b98 Add initial lentic support to assess-discover
   new  979c26b3b7 Add assess-with-filesystem
   new  190eab03d7 Fix debug declation in -with-temp-buffers
   new  e57945bb84 Merge pull request #9 from DamienCassou/typos
   new  63e934c6f2 State that text properties are ignored
   new  47ce039423 Avoid font-lock-ensure for older Emacs
   new  0a3e94477a Support all of Emacs 24 series
   new  1c34f2bc14 Fix error symbol declaration
   new  deb6e4cb23 Remove direct dash dependency
   new  5aee8d7500 Mark some tests as failed on earlier emacs
   new  1ef6760358 Add Emacs24.1 to multi-test target
   new  83fddff944 Update README
   new  87118057b3 v0.4 Release
   new  e5b0415126 Update README and release number
   new  7a3189a587 Remove types and replace with convertors
   new  1b1ac33709 Fix travis build
   new  0781fd79c4 

[elpa] externals/assess acb460e26c 16/95: All git-snapshot.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit acb460e26c348236cf6e136ac9ffa817f9baa5a7
Author: Phillip Lord 
Commit: Phillip Lord 

All git-snapshot.
---
 .travis.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.travis.yml b/.travis.yml
index 2464db9f2f..3fc09e0de2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,6 +3,7 @@ sudo: no
 env:
   - EVM_EMACS=emacs-24.4-travis
   - EVM_EMACS=emacs-24.5-travis
+  - EVM_EMACS=emacs-git-snapshot-travis
 install:
   - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > 
travis.sh && source ./travis.sh
   - evm install $EVM_EMACS --use --skip



[elpa] externals/assess 41a297b066 01/95: Initial Checkin

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 41a297b0668c18af9731ba95abb6f809e3d8201b
Author: Phillip Lord 
Commit: Phillip Lord 

Initial Checkin
---
 .dir-locals.el|   5 ++
 .ert-runner   |   1 +
 .gitignore|   2 +
 .travis.yml   |  15 
 Cask  |   7 ++
 Makefile  |  15 
 README.md |   6 ++
 sisyphus.el   | 198 ++
 test/Makefile |   6 ++
 test/sisyphus-test.el |  58 +++
 10 files changed, 313 insertions(+)

diff --git a/.dir-locals.el b/.dir-locals.el
new file mode 100644
index 00..42753331cc
--- /dev/null
+++ b/.dir-locals.el
@@ -0,0 +1,5 @@
+;;; Directory Local Variables
+;;; For more information see (info "(emacs) Directory Variables")
+
+((emacs-lisp-mode
+  (lentic-init . lentic-orgel-org-init)))
diff --git a/.ert-runner b/.ert-runner
new file mode 100644
index 00..b4e59470d5
--- /dev/null
+++ b/.ert-runner
@@ -0,0 +1 @@
+--load sisyphus.el
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00..70590b848b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/.cask
+/sisyphus.org
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00..7d3a37fab9
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,15 @@
+language: generic
+sudo: no
+env:
+  - EVM_EMACS=emacs-24.1-travis
+  - EVM_EMACS=emacs-24.2-travis
+  - EVM_EMACS=emacs-24.3-travis
+  - EVM_EMACS=emacs-24.4-travis
+  - EVM_EMACS=emacs-24.5-travis
+install:
+  - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > 
travis.sh && source ./travis.sh
+  - evm install $EVM_EMACS --use --skip
+  - cask
+script:
+  - emacs --version
+  - make
\ No newline at end of file
diff --git a/Cask b/Cask
new file mode 100644
index 00..7430091a46
--- /dev/null
+++ b/Cask
@@ -0,0 +1,7 @@
+(source gnu)
+(source melpa-stable)
+
+(package-file "sisyphus.el")
+
+(development
+ (depends-on "ert-runner"))
diff --git a/Makefile b/Makefile
new file mode 100644
index 00..6d34bef733
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,15 @@
+EMACS ?= emacs
+CASK ?= cask
+
+all: install test
+
+install:
+   cask install
+
+just-test:
+   cask exec ert-runner
+
+test: install just-test
+
+
+.PHONY: test
diff --git a/README.md b/README.md
new file mode 100644
index 00..7d2bf8a2bc
--- /dev/null
+++ b/README.md
@@ -0,0 +1,6 @@
+Sisyphus
+
+
+Sisyphus provides additional support for testing Emacs packages.
+
+It is quite early stages at the moment.
diff --git a/sisyphus.el b/sisyphus.el
new file mode 100644
index 00..35dae33437
--- /dev/null
+++ b/sisyphus.el
@@ -0,0 +1,198 @@
+;;; sisyphus.el --- Test support functions -*- lexical-binding: t -*-
+
+;;; Header:
+
+;; This file is not part of Emacs
+
+;; Author: Phillip Lord 
+;; Maintainer: Phillip Lord 
+;; Version: 0.1
+;; Package-Requires: ((m-buffer "0.13"))
+
+;; The contents of this file are subject to the GPL License, Version 3.0.
+
+;; Copyright (C) 2015, Phillip Lord
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;; This file will provide functions to support ert, including a set of
+;; predicates, some nicer reporter functions and so forth.
+
+;;; Thoughts:
+
+;; Really, all the functions in here should be tested. But some of the tests 
are
+;; really, realy hard to test because they depend on the output of ert test,
+;; wh
+
+
+
+
+;;; Code:
+
+;; ** Require
+
+;; #+begin_src emacs-lisp
+(require 'pp)
+(require 'ert)
+;; #+end_src
+
+;; ** Advice
+
+
+;; #+begin_src emacs-lisp
+(defun sisyphus--ert-pp-with-indentation-and-newline (orig object)
+  (let ((pp-escape-newlines nil))
+(funcall orig object)))
+
+(advice-add
+ 'ert--pp-with-indentation-and-newline
+ :around
+ #'sisyphus--ert-pp-with-indentation-and-newline)
+;; #+end_src
+
+
+;; ** Explainers
+
+;; Explainer functions add "explainations" for things that fail. We can use 
this
+;; to make `string=' work properly. Can we do this without diff?
+
+;; This is critical because most of our comparitors depend on this.
+
+;; So this works but the output is printed out as a string with slash-n's
+;; rather than as a multi-line string. Bollocks
+
+;; Think it is ert--pp-with-indentation-and-newline which is the evil function
+;; causing the problem. Which in turn backs onto pp.
+
+;

[elpa] externals/assess e820ccf163 05/95: Emacs 24.4 or later.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit e820ccf163a2e3d5c3e45141718f61d068dc3f81
Author: Phillip Lord 
Commit: Phillip Lord 

Emacs 24.4 or later.

We use nadvice, so must have 24.4.
---
 .travis.yml | 3 ---
 sisyphus.el | 2 +-
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 7d3a37fab9..2464db9f2f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,6 @@
 language: generic
 sudo: no
 env:
-  - EVM_EMACS=emacs-24.1-travis
-  - EVM_EMACS=emacs-24.2-travis
-  - EVM_EMACS=emacs-24.3-travis
   - EVM_EMACS=emacs-24.4-travis
   - EVM_EMACS=emacs-24.5-travis
 install:
diff --git a/sisyphus.el b/sisyphus.el
index 35dae33437..198d02670d 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -7,7 +7,7 @@
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
 ;; Version: 0.1
-;; Package-Requires: ((m-buffer "0.13"))
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.13"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 



[elpa] externals/assess 3d659897df 03/95: Require cl-lib, local emacs test override.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 3d659897df7d2c0f3428ac4d372650b604560bfa
Author: Phillip Lord 
Commit: Phillip Lord 

Require cl-lib, local emacs test override.

cl-lib needs to be required for cl-cadar to work. I also need the
ability to force Emacs version locally, as we use nadvice which is
Emacs 24.4 earliest.
---
 .gitignore| 1 +
 Makefile  | 5 +
 test/sisyphus-test.el | 3 ++-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 70590b848b..298469056b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 /.cask
 /sisyphus.org
+/makefile-local
diff --git a/Makefile b/Makefile
index 6d34bef733..0cae82698e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,14 @@
 EMACS ?= emacs
 CASK ?= cask
 
+include makefile-local
+
+export EMACS
+
 all: install test
 
 install:
+   echo EMACS is $(EMACS)
cask install
 
 just-test:
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index a68d3f6b8d..d7967b78f5 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -16,9 +16,10 @@
 ;; along with this program.  If not, see .
 
 (require 'sisyphus)
+(require 'cl-lib)
 
 (defun sisyphus-test--plist-from-test (result)
-  (cdadr
+  (cl-cdadr
(ert-test-result-with-condition-condition result)))
 
 (ert-deftest plist-extraction ()



[elpa] externals/assess a459abe966 11/95: New macro `sisyphus-with-preserved-buffer-list'.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit a459abe9661cbc982294b32da3b374117efd534b
Author: Phillip Lord 
Commit: Phillip Lord 

New macro `sisyphus-with-preserved-buffer-list'.
---
 sisyphus.el   | 33 +++--
 test/sisyphus-test.el | 20 
 2 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 61af3f1400..2ad29d7e06 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -35,7 +35,7 @@
 
 ;; Really, all the functions in here should be tested. But some of the tests 
are
 ;; really, realy hard to test because they depend on the output of ert test,
-;; wh
+
 
 
 
@@ -48,8 +48,16 @@
 (require 'pp)
 (require 'ert)
 (require 'm-buffer-at)
+(require 'dash)
+;; #+end_src
+
+;; #+begin_src emacs-lisp
+(define-error 'deliberate-error
+  "An error deliberately caused during testing."
+  'error)
 ;; #+end_src
 
+
 ;; ** Advice
 
 
@@ -82,6 +90,9 @@
 
 ;; How do do this cleanly? Apply patch to ert.el?
 
+
+
+
 ;; *** String Comparision
 
 ;; #+begin_src emacs-lisp
@@ -214,11 +225,21 @@ print any messages!"
 ;; ** Create buffers
 
 
-;; Need to think carefully about this, but would like to create buffers. Temp
-;; buffers are generally a good option but what if we have a named buffer, but
-;; the named buffer is already open. What happens if a test creates a buffer? 
Can
-;; we detect the buffer creation and close them again?
-;; "with-protected-buffer-list" perhaps, or "save-buffer-list-excursion".
+
+(defmacro sisyphus-with-preserved-buffer-list (&rest body)
+  "Evaluate BODY, but delete any buffers that have been created."
+  `(let ((before-buffer-list
+  (buffer-list)))
+ (unwind-protect
+ (progn
+   ,@body)
+   (--map
+(kill-buffer it)
+(-difference (buffer-list)
+ before-buffer-list)
+
+
+
 
 ;; ** Open files
 
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index 665b9f7352..57c4239832 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -152,3 +152,23 @@ This also tests the advice on string=."
(sisyphus-file-string=
 sisyphus-test-hello.txt
 "goodbye"))
+
+
+(ert-deftest preserved-buffer-list ()
+  (should
+   (=
+(length (buffer-list))
+(progn
+  (sisyphus-with-preserved-buffer-list
+   (generate-new-buffer "preserved-buffer-list"))
+  (length (buffer-list)
+
+  (should
+   (=
+(length (buffer-list))
+(condition-case e
+(sisyphus-with-preserved-buffer-list
+ (generate-new-buffer "preserved-buffer-list")
+ (signal 'deliberate-error nil))
+  (deliberate-error
+   (length (buffer-list)))



[elpa] externals/assess 238d9028e2 19/95: Support for indentation checking.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 238d9028e26a37a7c1c52a37d111f15e23316aa2
Author: Phillip Lord 
Commit: Phillip Lord 

Support for indentation checking.

Including support for opening and copying files.
---
 dev-resources/elisp-indented.el   |   5 ++
 dev-resources/elisp-unindented.el |   5 ++
 sisyphus.el   | 150 +-
 test/sisyphus-test.el | 145 +---
 4 files changed, 291 insertions(+), 14 deletions(-)

diff --git a/dev-resources/elisp-indented.el b/dev-resources/elisp-indented.el
new file mode 100644
index 00..faf0165354
--- /dev/null
+++ b/dev-resources/elisp-indented.el
@@ -0,0 +1,5 @@
+(
+ (
+  (
+   (
+
diff --git a/dev-resources/elisp-unindented.el 
b/dev-resources/elisp-unindented.el
new file mode 100644
index 00..cb5bab9dc9
--- /dev/null
+++ b/dev-resources/elisp-unindented.el
@@ -0,0 +1,5 @@
+(
+(
+(
+(
+
\ No newline at end of file
diff --git a/sisyphus.el b/sisyphus.el
index ec61515286..86c1cfd115 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -115,6 +115,17 @@
 (defun sisyphus-file (f)
   "Add type data to the string F marking it as a file."
   `(:file ,f))
+
+(defun sisyphus-to-file-name (file)
+  "Return file name for FILE.
+
+FILE can be either a string, or a plist returned by
+`sisyphus-file' or `sisyphus-make-related-file'."
+  (pcase file
+((pred stringp) file)
+(`(:file ,f) f)
+(_ (error "Type not recognised"
+
 ;; #+end_src
 
 ;; *** String Comparision
@@ -247,13 +258,73 @@ killed at the end of the form."
 
 ;; Again, same issues -- what if the file is already open. Especially if are
 ;; going to save it.
+(defun sisyphus--make-related-file-1 (file &optional directory)
+  (make-temp-file
+   (concat
+(or directory
+temporary-file-directory)
+(file-name-nondirectory file))
+   nil
+   (concat "."
+   (file-name-extension file
+
+(defun sisyphus-make-related-file (file &optional directory)
+  "Open a copy of FILE in DIRECTORY.
+
+FILE is copied to a temporary file in DIRECTORY or
+`temporary-file-directory'. The copy has a unique name but shares
+the same file extension.
+
+This is useful for making test changes to FILE without actually
+altering it."
+  (let* ((file (sisyphus-to-file-name file))
+ (related-file
+  (sisyphus--make-related-file-1 file directory)))
+(copy-file file related-file t)
+(sisyphus-file
+ related-file)))
+
+(defmacro sisyphus-with-find-file (file &rest body)
+  "Open FILE and evaluate BODY in resultant buffer.
+
+FILE is opened with `find-file-noselect' so all the normal hooks
+for file opening should occur. The buffer is killed after the
+macro exits, unless it was already open. This happens
+unconditionally, even if the buffer has changed.
+
+See also `sisyphus-make-related-file'."
+  (declare (debug t) (indent 1))
+  (let ((temp-buffer (make-symbol "temp-buffer"))
+(file-has-buffer-p (make-symbol "file-has-buffer-p"))
+(file-s (make-symbol "file")))
+`(let* ((,file-s ,file)
+(,file-s (sisyphus-to-file-name ,file-s))
+(,file-has-buffer-p
+ (find-buffer-visiting ,file-s))
+(,temp-buffer))
+   (unwind-protect
+   (with-current-buffer
+   (setq ,temp-buffer
+ (find-file-noselect ,file-s))
+ ,@body)
+ (when
+  ;; kill the buffer unless it was already open.
+ (and (not ,file-has-buffer-p)
+  (buffer-live-p ,temp-buffer))
+   ;; kill unconditionally
+   (with-current-buffer ,temp-buffer
+ (set-buffer-modified-p nil))
+   (kill-buffer ,temp-buffer))
+
 
 ;; ** Indentation functions
 
 ;; This is largely a re--implementation of `indent-region' but without the
 ;; noise.
-(defun sisyphus--indent-buffer ()
+(defun sisyphus--indent-buffer (&optional column)
   (cond
+   (column
+(indent-region (point-min) (point-max) column))
;; if indent-region-function is set, use it, and hope that it is not
;; noisy.
(indent-region-function
@@ -277,7 +348,10 @@ killed at the end of the form."
   "Return non-nil if UNINDENTED indents in MODE to INDENTED.
 Both UNINDENTED and INDENTED can be any value usable by
 `sisyphus-to-string'. Indentation is performed using
-`indent-region'."
+`indent-region', which MODE should set up appropriately.
+
+See also `sisyphus-file-roundtrip-indentation=' for an
+alternative mechanism."
   (sisyphus=
(sisyphus--indent-in-mode
 mode
@@ -285,6 +359,7 @@ Both UNINDENTED and INDENTED can be any value usable by
indented))
 
 (defun sisyphus-explain-indentation= (mode unindented indented)
+  "Explanation function for `sisyphus-indentation='."
   (sisyphus-explain=
(sisyphus--indent-in-mode
 mode
@@ -293,7 +368,76 @@ Both UNINDENTED and INDENTED can be any value usable by
 
 (put 'sisyphus-indentation= 'ert-explaine

[elpa] externals/assess f3416dadb1 18/95: Indentation test functions.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit f3416dadb11f87a723f5efefec2fdd46cf2ab830
Author: Phillip Lord 
Commit: Phillip Lord 

Indentation test functions.
---
 sisyphus.el   | 126 ++
 test/sisyphus-test.el |  38 ++-
 2 files changed, 121 insertions(+), 43 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 60b84be10a..ec61515286 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -48,6 +48,7 @@
 (require 'pp)
 (require 'ert)
 (require 'm-buffer-at)
+(require 'm-buffer)
 (require 'dash)
 ;; #+end_src
 
@@ -107,8 +108,12 @@
;; error condition
(_ (error "Type not recognised"
 
+(defun sisyphus-buffer (b)
+  "Add type data to the string B marking it as a buffer."
+  `(:buffer b))
+
 (defun sisyphus-file (f)
-  "Add type data to F marking it as a file."
+  "Add type data to the string F marking it as a file."
   `(:file ,f))
 ;; #+end_src
 
@@ -126,43 +131,42 @@ print any messages!"
 
 (defun sisyphus--explainer-diff-string= (a b)
   "Compare strings using diff output."
-  (let* ((diff
-  (executable-find "diff"))
- (a-buffer
-  (generate-new-buffer "a"))
- (b-buffer
-  (generate-new-buffer "b"))
- (a-file
-  (make-temp-file
-   (buffer-name a-buffer)))
- (b-file
-  (make-temp-file
-   (buffer-name b-buffer
-(with-current-buffer
-a-buffer
-  (insert a)
-  (sisyphus--write-file-silently a-file))
-(with-current-buffer
-b-buffer
-  (insert b)
-  (sisyphus--write-file-silently b-file))
-(prog1
-(format "Strings:\n%s\nand\n%s\nDiffer at:%s\n"
-a b
-(with-temp-buffer
-  (call-process
-   diff
-   ;; no infile
-   nil
-   ;; dump to current buffer
-   t
-   nil
-   "-c"
-   a-file
-   b-file)
-  (buffer-string)))
-  (kill-buffer a-buffer)
-  (kill-buffer b-buffer
+  (sisyphus-with-preserved-buffer-list
+   (let* ((diff
+   (executable-find "diff"))
+  (a-buffer
+   (generate-new-buffer "a"))
+  (b-buffer
+   (generate-new-buffer "b"))
+  (a-file
+   (make-temp-file
+(buffer-name a-buffer)))
+  (b-file
+   (make-temp-file
+(buffer-name b-buffer
+ (with-current-buffer
+ a-buffer
+   (insert a)
+   (sisyphus--write-file-silently a-file))
+ (with-current-buffer
+ b-buffer
+   (insert b)
+   (sisyphus--write-file-silently b-file))
+ (prog1
+ (format "Strings:\n%s\nand\n%s\nDiffer at:%s\n"
+ a b
+ (with-temp-buffer
+   (call-process
+diff
+;; no infile
+nil
+;; dump to current buffer
+t
+nil
+"-c"
+a-file
+b-file)
+   (buffer-string)))
 
 (defun sisyphus--explainer-simple-string= (a b)
   "Compare strings for first difference."
@@ -198,9 +202,6 @@ See `sisyphus=' for more information."
 
 
 ;; ** create buffers
-
-
-
 (defmacro sisyphus-with-preserved-buffer-list (&rest body)
   "Evaluate BODY, but delete any buffers that have been created."
   (declare (debug t))
@@ -249,6 +250,49 @@ killed at the end of the form."
 
 ;; ** Indentation functions
 
+;; This is largely a re--implementation of `indent-region' but without the
+;; noise.
+(defun sisyphus--indent-buffer ()
+  (cond
+   ;; if indent-region-function is set, use it, and hope that it is not
+   ;; noisy.
+   (indent-region-function
+(funcall indent-region-function (point-min) (point-max)))
+   (t
+(-map
+ (lambda (m)
+   (goto-char m)
+   (indent-according-to-mode))
+ (m-buffer-match-line-start (current-buffer))
+
+(defun sisyphus--indent-in-mode (mode unindented)
+  (with-temp-buffer
+(insert
+ (sisyphus-to-string unindented))
+(funcall mode)
+(sisyphus--indent-buffer)
+(buffer-string)))
+
+(defun sisyphus-indentation= (mode unindented indented)
+  "Return non-nil if UNINDENTED indents in MODE to INDENTED.
+Both UNINDENTED and INDENTED can be any value usable by
+`sisyphus-to-string'. Indentation is performed using
+`indent-region'."
+  (sisyphus=
+   (sisyphus--indent-in-mode
+mode
+unindented)
+   indented))
+
+(defun sisyphus-explain-indentation= (mode unindented indented)
+  (sisyphus-explain=
+   (sisyphus--indent-in-mode
+mode
+unindented)
+   indented))
+
+(put 'sisyphus-indentation= 'ert-explainer 'sisyphus-explain-indentation=)
+
 ;; Set mode, indent normally, then compare
 
 ;; ** Font-lock support functions
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
in

[elpa] externals/assess af38180b77 10/95: buffer= and file-string= functions added.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit af38180b7730b918ff499eadfde0bf21dcdf9d9d
Author: Phillip Lord 
Commit: Phillip Lord 

buffer= and file-string= functions added.
---
 Cask  |  3 ++-
 dev-resources/goodbye.txt |  1 +
 dev-resources/hello.txt   |  1 +
 sisyphus.el   | 30 +
 test/sisyphus-test.el | 57 +++
 5 files changed, 91 insertions(+), 1 deletion(-)

diff --git a/Cask b/Cask
index 4c185b2828..2471c9d48e 100644
--- a/Cask
+++ b/Cask
@@ -4,4 +4,5 @@
 (package-file "sisyphus.el")
 
 (development
- (depends-on "ert-runner"))
+ (depends-on "ert-runner")
+ (depends-on "load-relative"))
diff --git a/dev-resources/goodbye.txt b/dev-resources/goodbye.txt
new file mode 100644
index 00..dd7e1c6f0f
--- /dev/null
+++ b/dev-resources/goodbye.txt
@@ -0,0 +1 @@
+goodbye
diff --git a/dev-resources/hello.txt b/dev-resources/hello.txt
new file mode 100644
index 00..ce01362503
--- /dev/null
+++ b/dev-resources/hello.txt
@@ -0,0 +1 @@
+hello
diff --git a/sisyphus.el b/sisyphus.el
index 8f3189d5c2..61af3f1400 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -173,10 +173,39 @@ print any messages!"
 
 ;; Compare buffer to buffer
 ;; #+begin_src emacs-lisp
+(defun sisyphus-buffer= (a b)
+  (string=
+   (m-buffer-at-string a)
+   (m-buffer-at-string b)))
+
+(defun sisyphus-explain-buffer= (a b)
+  (sisyphus-explain-string=
+   (m-buffer-at-string a)
+   (m-buffer-at-string b)))
 
+(put 'sisyphus-buffer=
+ 'ert-explainer
+ 'sisyphus-explain-buffer=)
 ;; #+end_src
 
 ;; Compare string to file
+(defun sisyphus-file-string= (file string)
+  (string=
+   (with-temp-buffer
+ (insert-file-contents file)
+ (buffer-string))
+   string))
+
+(defun sisyphus-explain-file-string= (file string)
+  (sisyphus-explain-string=
+   (with-temp-buffer
+ (insert-file-contents file)
+ (buffer-string))
+   string))
+
+(put 'sisyphus-file-string=
+ 'ert-explainer
+ 'sisyphus-explain-file-string=)
 
 ;; Compare buffer to file
 
@@ -184,6 +213,7 @@ print any messages!"
 
 ;; ** Create buffers
 
+
 ;; Need to think carefully about this, but would like to create buffers. Temp
 ;; buffers are generally a good option but what if we have a named buffer, but
 ;; the named buffer is already open. What happens if a test creates a buffer? 
Can
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index c4555fb359..665b9f7352 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -15,6 +15,7 @@
 ;; You should have received a copy of the GNU General Public License
 ;; along with this program.  If not, see .
 
+(require 'load-relative)
 (require 'sisyphus)
 (require 'cl-lib)
 
@@ -95,3 +96,59 @@ This also tests the advice on string=."
  (sisyphus-buffer-string=
   (current-buffer)
   "hello")))
+
+(ert-deftest buffer= ()
+  (let (a)
+(with-temp-buffer
+  (setq a (current-buffer))
+  (insert "hello")
+  (with-temp-buffer
+(insert "hello")
+(should
+ (sisyphus-buffer=
+  (current-buffer)
+  a)
+  (let (a)
+(with-temp-buffer
+  (setq a (current-buffer))
+  (insert "hello")
+  (with-temp-buffer
+(insert "goodbye")
+(should-not
+ (sisyphus-buffer=
+  (current-buffer)
+  a)
+  (should
+   (let (a b)
+ (with-temp-buffer
+   (setq a (current-buffer))
+   (insert "hello")
+   (with-temp-buffer
+ (setq b (current-buffer))
+ (insert "goodbye")
+ (sisyphus-test--explanation
+  (lambda ()
+(should
+ (sisyphus-buffer=
+  a b)
+
+(defvar sisyphus-test-hello.txt
+  (relative-expand-file-name "../dev-resources/hello.txt"))
+
+
+(ert-deftest file-string= ()
+  (should
+   (sisyphus-file-string=
+sisyphus-test-hello.txt
+"hello\n"))
+  (should-not
+   (sisyphus-file-string=
+sisyphus-test-hello.txt
+"goodbye"))
+  (should
+   (sisyphus-test--explanation
+(lambda ()
+  (should
+   (sisyphus-file-string=
+sisyphus-test-hello.txt
+"goodbye"))



[elpa] externals/assess 196470b1e1 08/95: New function buffer-string=

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 196470b1e1c28968ce02bc777c13a53c03b1b07b
Author: Phillip Lord 
Commit: Phillip Lord 

New function buffer-string=

Compares the contents of a buffer with a string.
---
 Cask  |  2 +-
 sisyphus.el   | 16 ++--
 test/sisyphus-test.el | 50 --
 3 files changed, 59 insertions(+), 9 deletions(-)

diff --git a/Cask b/Cask
index 7430091a46..4c185b2828 100644
--- a/Cask
+++ b/Cask
@@ -1,5 +1,5 @@
 (source gnu)
-(source melpa-stable)
+(source melpa)
 
 (package-file "sisyphus.el")
 
diff --git a/sisyphus.el b/sisyphus.el
index 5daf94f548..c4582e5826 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -47,6 +47,7 @@
 ;; #+begin_src emacs-lisp
 (require 'pp)
 (require 'ert)
+(require 'm-buffer-at)
 ;; #+end_src
 
 ;; ** Advice
@@ -156,14 +157,25 @@ print any messages!."
 ;; #+begin_src emacs-lisp
 (defun sisyphus-buffer-string= (buffer string)
   (string=
-   (m-buffer-at-substring buffer)
+   (m-buffer-at-string buffer)
string))
 
+(defun sisyphus-explain-buffer-string= (buffer string)
+  (sisyphus-explain-string=
+   (m-buffer-at-string buffer)
+   string))
+
+(put 'sisyphus-buffer-string=
+ 'ert-explainer
+ 'sisyphus-explain-buffer-string=)
+
 ;; #+end_src
 
-;; Compare string to buffer
 
 ;; Compare buffer to buffer
+;; #+begin_src emacs-lisp
+
+;; #+end_src
 
 ;; Compare string to file
 
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index d7967b78f5..c4555fb359 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -18,14 +18,14 @@
 (require 'sisyphus)
 (require 'cl-lib)
 
-(defun sisyphus-test--plist-from-test (result)
+(defun sisyphus-test--plist-from-result (result)
   (cl-cdadr
(ert-test-result-with-condition-condition result)))
 
 (ert-deftest plist-extraction ()
   (should
(equal
-(sisyphus-test--plist-from-test
+(sisyphus-test--plist-from-result
  (ert-run-test
   (make-ert-test
:body
@@ -34,16 +34,16 @@
   (eq 1 2))
 '(:form (eq 1 2) :value nil
 
-(defun sisyphus-test--explanation-from-test (result)
+(defun sisyphus-test--explanation-from-result (result)
   (plist-get
-   (sisyphus-test--plist-from-test result)
+   (sisyphus-test--plist-from-result result)
:explanation))
 
-(ert-deftest explanation-extraction ()
+(ert-deftest explanation-extraction-from-result ()
   "Test that explanation is extractable from failing test.
 This also tests the advice on string=."
   (should
-   (sisyphus-test--explanation-from-test
+   (sisyphus-test--explanation-from-result
 (ert-run-test
  (make-ert-test
   :body
@@ -57,3 +57,41 @@ This also tests the advice on string=."
(string= "1" "1"))
   (should-not
(string= "1" "2")))
+
+(defun sisyphus-test--explanation (f)
+  (sisyphus-test--explanation-from-result
+   (ert-run-test
+(make-ert-test
+ :body f
+
+(ert-deftest explanation-extraction ()
+  "Test that explanation is extractable from failing test.
+This also tests the advice on string=."
+  (should
+   (sisyphus-test--explanation
+(lambda ()
+  (should
+   (string= "1" "2"))
+
+(ert-deftest buffer-string= ()
+  (with-temp-buffer
+(insert "hello")
+(should
+ (sisyphus-buffer-string=
+  (current-buffer)
+  "hello")))
+  (with-temp-buffer
+(insert "goodbye")
+(should-not
+ (sisyphus-buffer-string=
+  (current-buffer)
+  "hello")))
+  (should
+   (sisyphus-test--explanation
+(lambda ()
+  (with-temp-buffer
+(insert "goodbye")
+(should
+ (sisyphus-buffer-string=
+  (current-buffer)
+  "hello")))



[elpa] externals/assess c6e666413a 21/95: Merge branch 'master' of github.com:phillord/sisyphus

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit c6e666413aa6ed3c597c16348d4d396e4e4df48d
Merge: 1b01542ccd 238d9028e2
Author: Phillip Lord 
Commit: Phillip Lord 

Merge branch 'master' of github.com:phillord/sisyphus

Conflicts:
sisyphus.el
test/sisyphus-test.el

Merge resulting from Christmas unison disaster.
---
 dev-resources/elisp-indented.el   |  5 +
 dev-resources/elisp-unindented.el |  5 +
 sisyphus.el   | 36 +++-
 test/sisyphus-test.el |  4 
 4 files changed, 37 insertions(+), 13 deletions(-)

diff --git a/dev-resources/elisp-indented.el b/dev-resources/elisp-indented.el
new file mode 100644
index 00..faf0165354
--- /dev/null
+++ b/dev-resources/elisp-indented.el
@@ -0,0 +1,5 @@
+(
+ (
+  (
+   (
+
diff --git a/dev-resources/elisp-unindented.el 
b/dev-resources/elisp-unindented.el
new file mode 100644
index 00..cb5bab9dc9
--- /dev/null
+++ b/dev-resources/elisp-unindented.el
@@ -0,0 +1,5 @@
+(
+(
+(
+(
+
\ No newline at end of file
diff --git a/sisyphus.el b/sisyphus.el
index 3c290dbf53..f110aabfce 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -426,7 +426,6 @@ See also `sisyphus-make-related-file'."
(kill-buffer ,temp-buffer))
 ;; #+end_src
 
-
 ;; ** Indentation functions
 
 ;; There are two main ways to test indentation -- we can either take unindented
@@ -442,8 +441,10 @@ See also `sisyphus-make-related-file'."
 ;; We start with some functionality for making Emacs quiet while indenting.
 
 ;; #+begin_src emacs-lisp
-(defun sisyphus--indent-buffer ()
+(defun sisyphus--indent-buffer (&optional column)
   (cond
+   (column
+(indent-region (point-min) (point-max) column))
;; if indent-region-function is set, use it, and hope that it is not
;; noisy.
(indent-region-function
@@ -467,7 +468,10 @@ See also `sisyphus-make-related-file'."
   "Return non-nil if UNINDENTED indents in MODE to INDENTED.
 Both UNINDENTED and INDENTED can be any value usable by
 `sisyphus-to-string'. Indentation is performed using
-`indent-region'."
+`indent-region', which MODE should set up appropriately.
+
+See also `sisyphus-file-roundtrip-indentation=' for an
+alternative mechanism."
   (sisyphus=
(sisyphus--indent-in-mode
 mode
@@ -475,6 +479,7 @@ Both UNINDENTED and INDENTED can be any value usable by
indented))
 
 (defun sisyphus-explain-indentation= (mode unindented indented)
+  "Explanation function for `sisyphus-indentation='."
   (sisyphus-explain=
(sisyphus--indent-in-mode
 mode
@@ -483,11 +488,10 @@ Both UNINDENTED and INDENTED can be any value usable by
 
 (put 'sisyphus-indentation= 'ert-explainer 'sisyphus-explain-indentation=)
 
-;; TODO -- this bit is noisy and we need to stop it being so
 (defun sisyphus--buffer-unindent (buffer)
   (with-current-buffer
   buffer
-(indent-region (point-min) (point-max) nil)))
+(sisyphus--indent-buffer 0)))
 
 (defun sisyphus--roundtrip-1 (comp mode indented)
   (with-temp-buffer
@@ -501,11 +505,20 @@ Both UNINDENTED and INDENTED can be any value usable by
  indented)))
 
 (defun sisyphus-roundtrip-indentation= (mode indented)
+  "Return t if in MODE, text in INDENTED is corrected indented.
+
+This is checked by unindenting the text, then reindenting it according
+to MODE.
+
+See also `sisyphus-indentation=' and
+`sisyphus-file-roundtrip-indentation=' for alternative
+mechanisms of checking indentation."
   (sisyphus--roundtrip-1
#'sisyphus-indentation=
mode indented))
 
 (defun sisyphus-explain-roundtrip-indentation= (mode indented)
+  "Explanation function for `sisyphus-roundtrip-indentation='."
   (sisyphus--roundtrip-1
#'sisyphus-explain-indentation=
mode indented))
@@ -525,20 +538,25 @@ Both UNINDENTED and INDENTED can be any value usable by
file))
 
 (defun sisyphus-file-roundtrip-indentation= (file)
+  "Return t if text in FILE is indented correctly.
+
+FILE is copied with `sisyphus-make-related-file', so this
+function should be side-effect free whether or not FILE is
+already open. The file is opened with `find-file-noselect', so
+hooks associated with interactive visiting of a file should all
+be called, with the exception of directory local variables, as
+the copy of FILE will be in a different directory."
   (sisyphus--file-roundtrip-1
#'sisyphus= file))
 
 (defun sisyphus-explain-file-roundtrip-indentation= (file)
+  "Explanation function for `sisyphus-file-roundtrip-indentation=."
   (sisyphus--file-roundtrip-1
#'sisyphus-explain= file))
-;; #+end_src
 
-;; #+begin_src emacs-lisp
 (put 'sisyphus-file-roundtrip-indentation=
  'ert-explainer
  'sisyphus-explain-file-roundtrip-indentation=)
-;; #+end_src
-
 
 
 ;; ** Font-lock support functions
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index ce1de3cc7b..012ffcd3e9 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -85,7 +85,6 @@ This also tests 

[elpa] externals/assess 33b6c3c390 12/95: New macro `sisyphus-with-temp-buffers'.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 33b6c3c390dfb5c2dd625af115bb34f385f06fc9
Author: Phillip Lord 
Commit: Phillip Lord 

New macro `sisyphus-with-temp-buffers'.
---
 sisyphus.el   | 17 +++--
 test/sisyphus-test.el |  5 +
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 2ad29d7e06..642ce10e14 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -238,8 +238,21 @@ print any messages!"
 (-difference (buffer-list)
  before-buffer-list)
 
-
-
+(defmacro sisyphus-with-temp-buffers (varlist &rest body)
+  "Bind variables in VARLIST to temp buffers, then eval BODY.
+
+VARLIST is a list of symbols. Each is bound to a buffer generated
+with `generate-new-buffer'. Buffers are unconditionally killed at
+the end of the form."
+  (declare (indent 1)
+   (debug (sexp body)))
+  (let ((let-form
+ (--map
+  `(,it (generate-new-buffer "sisyphus-with-temp-buffers"))
+  varlist)))
+`(sisyphus-with-preserved-buffer-list
+  (let ,let-form
+,@body
 
 ;; ** Open files
 
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index 57c4239832..b83e561f54 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -172,3 +172,8 @@ This also tests the advice on string=."
  (signal 'deliberate-error nil))
   (deliberate-error
(length (buffer-list)))
+
+(ert-deftest with-temp-buffers ()
+  (should
+   (bufferp
+(sisyphus-with-temp-buffers (a) a



[elpa] externals/assess eb3336543c 13/95: declare debug for `sisyphus-with-preserved-buffer-list'.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit eb3336543c661c3ca03f23942fd58a7500cc6980
Author: Phillip Lord 
Commit: Phillip Lord 

declare debug for `sisyphus-with-preserved-buffer-list'.
---
 sisyphus.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sisyphus.el b/sisyphus.el
index 642ce10e14..5a09f643ff 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -228,6 +228,7 @@ print any messages!"
 
 (defmacro sisyphus-with-preserved-buffer-list (&rest body)
   "Evaluate BODY, but delete any buffers that have been created."
+  (declare (debug t))
   `(let ((before-buffer-list
   (buffer-list)))
  (unwind-protect



[elpa] externals/assess 2e556a62ae 22/95: Add new test file.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 2e556a62ae261357fbc2e5e87bded3a40beb2c9c
Author: Phillip Lord 
Commit: Phillip Lord 

Add new test file.
---
 dev-resources/elisp-fontified.el | 5 +
 1 file changed, 5 insertions(+)

diff --git a/dev-resources/elisp-fontified.el b/dev-resources/elisp-fontified.el
new file mode 100644
index 00..4dfd1fb010
--- /dev/null
+++ b/dev-resources/elisp-fontified.el
@@ -0,0 +1,5 @@
+(defun functionname (args &optional body)
+  (+ 1 2))
+
+(defun functionname2 (args &optional body)
+  (+ 1 3))



[elpa] externals/assess af8b3a8d8b 14/95: with-temp-buffers now works like let.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit af8b3a8d8bb083b6f225ee94ce5bf411f1755050
Author: Phillip Lord 
Commit: Phillip Lord 

with-temp-buffers now works like let.

It is now possible to evaluate forms within the context of each
generated temp buffer inside the `sisyphus-with-temp-buffers' form.
---
 sisyphus.el   | 24 ++--
 test/sisyphus-test.el | 26 +-
 2 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 5a09f643ff..356f89ac61 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -239,17 +239,29 @@ print any messages!"
 (-difference (buffer-list)
  before-buffer-list)
 
+(defun sisyphus--temp-buffer-let-form (item)
+  (if (not (listp item))
+  (sisyphus--temp-buffer-let-form
+   (list item))
+`(,(car item)
+  (with-current-buffer
+  (generate-new-buffer "sisyphus-with-temp-buffers")
+,@(cdr item)
+(current-buffer)
+
 (defmacro sisyphus-with-temp-buffers (varlist &rest body)
   "Bind variables in VARLIST to temp buffers, then eval BODY.
 
-VARLIST is a list of symbols. Each is bound to a buffer generated
-with `generate-new-buffer'. Buffers are unconditionally killed at
-the end of the form."
+VARLIST is of the same form as a `let' binding. Each element is a
+symbol or a list (SYMBOL VALUEFORMS). Each symbol is bound to a
+buffer generated with `generate-new-buffer'. VALUEFORMS are
+evaluated with the buffer current. Buffers are unconditionally
+killed at the end of the form."
   (declare (indent 1)
-   (debug (sexp body)))
+   (debug let))
   (let ((let-form
- (--map
-  `(,it (generate-new-buffer "sisyphus-with-temp-buffers"))
+ (-map
+  #'sisyphus--temp-buffer-let-form
   varlist)))
 `(sisyphus-with-preserved-buffer-list
   (let ,let-form
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index b83e561f54..74dd11a69c 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -176,4 +176,28 @@ This also tests the advice on string=."
 (ert-deftest with-temp-buffers ()
   (should
(bufferp
-(sisyphus-with-temp-buffers (a) a
+(sisyphus-with-temp-buffers (a) a)))
+  (should
+   (bufferp
+(sisyphus-with-temp-buffers
+(a (insert "hello"))
+  a)))
+  (should
+   (equal
+"hello"
+(sisyphus-with-temp-buffers
+((a (insert "hello")))
+  (with-current-buffer
+  a
+(buffer-string)
+  (should
+   (=
+(+ 2 (length (buffer-list)))
+(sisyphus-with-temp-buffers (a b)
+  (length (buffer-list)
+  (should
+   (=
+(length (buffer-list))
+(progn
+  (sisyphus-with-temp-buffers (a b))
+  (length (buffer-list))



[elpa] externals/assess dae3a60f7a 09/95: Docstring fix.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit dae3a60f7a311bb0bb823e4f97ca65691531f26f
Author: Phillip Lord 
Commit: Phillip Lord 

Docstring fix.
---
 sisyphus.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index c4582e5826..8f3189d5c2 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -88,7 +88,7 @@
 (defun sisyphus--write-file-silently (filename)
   "Write current buffer into FILENAME.
 Unlike most other ways of saving a file, this should not
-print any messages!."
+print any messages!"
   (write-region
(point-min) (point-max)
filename nil
@@ -168,7 +168,6 @@ print any messages!."
 (put 'sisyphus-buffer-string=
  'ert-explainer
  'sisyphus-explain-buffer-string=)
-
 ;; #+end_src
 
 



[elpa] externals/assess 83973f4047 23/95: Add dash as a dependency.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 83973f404749595d6921adde37e2d600931224de
Author: Phillip Lord 
Commit: Phillip Lord 

Add dash as a dependency.

This is not strictly necessary as m-buffer is a dependency, but given
that we reference dash.el in sisyphus this is a good thing to add.
---
 Cask| 2 ++
 sisyphus.el | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/Cask b/Cask
index 2471c9d48e..0bc99a332b 100644
--- a/Cask
+++ b/Cask
@@ -3,6 +3,8 @@
 
 (package-file "sisyphus.el")
 
+(files "sisyphus*.el")
+
 (development
  (depends-on "ert-runner")
  (depends-on "load-relative"))
diff --git a/sisyphus.el b/sisyphus.el
index f110aabfce..329583a0e3 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -7,7 +7,7 @@
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
 ;; Version: 0.1
-;; Package-Requires: ((emacs "24.4")(m-buffer "0.13"))
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.13")(dash))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 



[elpa] externals/assess f33b371177 25/95: Specify minimum dash version

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit f33b3711772566764264621c798267bd3e770c44
Author: Syohei YOSHIDA 
Commit: Syohei YOSHIDA 

Specify minimum dash version

Minimum version of dependency package should be declared.
---
 sisyphus.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sisyphus.el b/sisyphus.el
index 329583a0e3..18a394fb71 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -7,7 +7,7 @@
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
 ;; Version: 0.1
-;; Package-Requires: ((emacs "24.4")(m-buffer "0.13")(dash))
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.13")(dash "2.12.0"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 



[elpa] externals/assess 3f89d8601f 15/95: Port tests to sisyphus with-temp-buffers.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 3f89d8601f3883689d34d94e118db16182c80b04
Author: Phillip Lord 
Commit: Phillip Lord 

Port tests to sisyphus with-temp-buffers.
---
 test/sisyphus-test.el | 53 +--
 1 file changed, 22 insertions(+), 31 deletions(-)

diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index 74dd11a69c..a0edcc5574 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -98,39 +98,30 @@ This also tests the advice on string=."
   "hello")))
 
 (ert-deftest buffer= ()
-  (let (a)
-(with-temp-buffer
-  (setq a (current-buffer))
-  (insert "hello")
-  (with-temp-buffer
-(insert "hello")
+  (sisyphus-with-temp-buffers
+  ((a
+(insert "hello"))
+   (b
+(insert "hello")))
+(should
+ (sisyphus-buffer= a b)))
+  (sisyphus-with-temp-buffers
+  ((a
+(insert "hello"))
+   (b
+(insert "goodbye")))
+(should-not
+ (sisyphus-buffer=
+  a b)))
+  (should
+   (sisyphus-with-temp-buffers
+   ((a (insert "hello"))
+(b (insert "goodbye")))
+ (sisyphus-test--explanation
+  (lambda ()
 (should
  (sisyphus-buffer=
-  (current-buffer)
-  a)
-  (let (a)
-(with-temp-buffer
-  (setq a (current-buffer))
-  (insert "hello")
-  (with-temp-buffer
-(insert "goodbye")
-(should-not
- (sisyphus-buffer=
-  (current-buffer)
-  a)
-  (should
-   (let (a b)
- (with-temp-buffer
-   (setq a (current-buffer))
-   (insert "hello")
-   (with-temp-buffer
- (setq b (current-buffer))
- (insert "goodbye")
- (sisyphus-test--explanation
-  (lambda ()
-(should
- (sisyphus-buffer=
-  a b)
+  a b)))
 
 (defvar sisyphus-test-hello.txt
   (relative-expand-file-name "../dev-resources/hello.txt"))



[elpa] externals/assess f521db4101 36/95: Add sisyphus-discover

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit f521db4101ac853da8d7a7ce4e83872b33038e20
Author: Phillip Lord 
Commit: Phillip Lord 

Add sisyphus-discover
---
 Makefile |  5 
 sisyphus-discover.el | 83 
 todo.org | 37 +++
 3 files changed, 125 insertions(+)

diff --git a/Makefile b/Makefile
index 3338dc13e1..a97bb7f115 100644
--- a/Makefile
+++ b/Makefile
@@ -18,4 +18,9 @@ test: install just-test
 package:
cask package
 
+discover-test:
+   cask exec emacs --batch --load sisyphus.el --load sisyphus-discover.el \
+   -f sisyphus-discover-run-and-exit-batch
+
 .PHONY: test dist
+
diff --git a/sisyphus-discover.el b/sisyphus-discover.el
new file mode 100644
index 00..b901b2087a
--- /dev/null
+++ b/sisyphus-discover.el
@@ -0,0 +1,83 @@
+;;; sisyphus-discover.el --- Test support functions -*- lexical-binding: t -*-
+
+;;; Header:
+
+;; This file is not part of Emacs
+
+;; Author: Phillip Lord 
+;; Maintainer: Phillip Lord 
+;; Version: 0.1
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
+
+;; The contents of this file are subject to the GPL License, Version 3.0.
+
+;; Copyright (C) 2015, Phillip Lord
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Code:
+
+(defun sisyphus-discover-tests (directory)
+  "Discover tests in directory.
+
+Tests may confirm to one (and only one!) of several naming
+schemes.
+
+ - End with -test.el
+ - End with -tests.el
+ - Start with test-
+ - Any .el file in a directory called test
+ - Any .el file in a directory called tests
+
+Each of these is tried until one matches. So, a top-level file
+called \"blah-test.el\" will prevent discovery of files in a
+tests directory."
+  (or
+   ;; files with
+   (directory-files directory nil ".*-test.el$")
+   (directory-files directory nil ".*-tests.el$")
+   (directory-files directory nil "test-.*.el$")
+   (let ((dir-test
+  (concat directory "test/")))
+ (when (file-exists-p dir-test)
+   (mapcar
+(lambda (file)
+  (concat dir-test file))
+(directory-files dir-test nil ".*.el"
+   (let ((dir-tests
+  (concat directory "tests/")))
+ (when (file-exists-p dir-tests)
+   (mapcar
+(lambda (file)
+  (concat dir-tests file))
+(directory-files dir-tests nil ".*.el"))
+
+(defun sisyphus-discover--load-all-tests (directory)
+  (mapc
+   'load
+   (sisyphus-discover-tests directory)))
+
+(defun sisyphus-discover-load-tests ()
+  (interactive)
+  (sisyphus-discover--load-all-tests default-directory))
+
+(defun sisyphus-discover-run-batch (&optional selector)
+  (sisyphus-discover--load-all-tests default-directory)
+  (ert-run-tests-batch selector))
+
+(defun sisyphus-discover-run-and-exit-batch (&optional selector)
+  (sisyphus-discover--load-all-tests default-directory)
+  (ert-run-tests-batch-and-exit selector))
+
+(provide 'sisyphus-discover)
diff --git a/todo.org b/todo.org
new file mode 100644
index 00..40c0d5d43f
--- /dev/null
+++ b/todo.org
@@ -0,0 +1,37 @@
+
+** Pre/post command support functions
+
+Not sure how I can test these better -- but worth thinking about -- I guess do
+some set up, then and buffer-local pre or post command, run some stuff,
+compare.
+
+
+Do these get called with "call-interactively"?
+
+
+** Minor mode local and global activation
+
+Tricky because global mode will affect all buffers.
+
+This is a tricky one to preserve activation status, but it can work.
+
+
+
+
+
+** Should call functions
+
+Something to test whether a function has been called, and with what values.
+
+Easy enough to do with advice.
+
+** Better ERT batch output
+
+ERT should output parsable error messages, with locations of files in batch.
+
+Compile mode should actually pick this up!
+
+** Sisyphus-compile
+
+A compile mode for sisyphus which returns an internal Emacs. Should also
+prompt for emacs executable (with versions!), selector.



[elpa] externals/assess 3cf57afcaf 26/95: Merge pull request #1 from syohex/fix

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 3cf57afcaf6e9f039af5caa157c0d5e09cbb0d2a
Merge: 83973f4047 32a00524a8
Author: Phil Lord 
Commit: Phil Lord 

Merge pull request #1 from syohex/fix

Fix unused variable issues
---
 sisyphus.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 329583a0e3..2470056e20 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -130,7 +130,7 @@ string into something that will identified appropriately."
 
 (defun sisyphus-buffer (b)
   "Add type data to the string B marking it as a buffer."
-  `(:buffer b))
+  `(:buffer ,b))
 
 (defun sisyphus-file (f)
   "Add type data to the string F marking it as a file."
@@ -230,7 +230,7 @@ afterwards for cleanup by the operating system."
 (defun sisyphus--explainer-simple-string= (a b)
   "Compare strings for first difference."
   ;; We could do a bit more here.
-  (format "String :%s:%s: are not equal."))
+  (format "String :%s:%s: are not equal." a b))
 ;; #+end_src
 
 ;; And the actual predicate function and explainer.



[elpa] externals/assess cab9fea7b8 28/95: Documentation for everything

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit cab9fea7b89d3992c7cf922334c18b6d9dde8fb6
Author: Phillip Lord 
Commit: Phillip Lord 

Documentation for everything

Except for font-lock!
---
 sisyphus-doc.org |   7 +
 sisyphus.el  | 434 +++
 2 files changed, 316 insertions(+), 125 deletions(-)

diff --git a/sisyphus-doc.org b/sisyphus-doc.org
new file mode 100644
index 00..85668340ab
--- /dev/null
+++ b/sisyphus-doc.org
@@ -0,0 +1,7 @@
+
+#+TITLE: Testing with Sisyphus
+
+#+AUTHOR: Phillip Lord
+
+
+#+INCLUDE: "sisyphus.org" :lines "28-"
diff --git a/sisyphus.el b/sisyphus.el
index 329583a0e3..591bdc0a00 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -46,6 +46,9 @@
 ;; Sisyphus aims also to be as noiseless as possible, reducing and suppressing
 ;; extraneous messages where possible, to leave a clean ert output in batch 
mode.
 
+
+;;; Status:
+
 ;; Sisyphus is currently a work in progress; the API is not currently stable.
 ;; Even the name is somewhat is doubt. Sisyphus seemed like a good idea when I
 ;; started, but I keep spelling it wrong. I may also considering winding this
@@ -64,23 +67,12 @@
 (require 'dash)
 ;; #+end_src
 
-;; We need an error symbol to throw occasionally during testing. Throwing 
`error'
-;; itself is a bit dangerous because we might get that for other reasons; so we
-;; create a new symbol here.
-
-;; #+begin_src emacs-lisp
-(define-error 'sisyphus-deliberate-error
-  "An error deliberately caused during testing."
-  'error)
-;; #+end_src
-
 ;; ** Advice
 
 ;; Emacs-24 insists on printing out results on a single line with escaped
 ;; newlines. This does not work so well with the explainer functions in 
sisyphus
-;; and, probably, does not make sense anywhere. So, we advice here.
-
-;; Emacs-25 has this fixed.
+;; and, probably, does not make sense anywhere. So, we advice here. The use of
+;; nadvice.el limits this package to Emacs 24.4. Emacs 25 has this fixed.
 
 ;; #+begin_src emacs-lisp
 (when (= emacs-major-version 24)
@@ -95,18 +87,46 @@
#'sisyphus--ert-pp-with-indentation-and-newline))
 ;; #+end_src
 
+;; ** Deliberate Errors
+
+;; Sometimes during testing, we need to throw an "error" deliberately. 
Sisyphus'
+;; own test cases do this to check that state is preserved with this form of
+;; non-local exit. Throwing `error' itself is a bit dangerous because we might
+;; get that for other reasons; so we create a new symbol here for general use.
+
+;; #+begin_src emacs-lisp
+(define-error 'sisyphus-deliberate-error
+  "An error deliberately caused during testing."
+  'error)
+;; #+end_src
+
 ;; ** Types
 
-;; Many tests on files, buffers actually end up being string comparision. We
-;; introduce a set of "types" where so that we can distinguish between
-;; strings, buffer names and file names, passing them at a single parameter.
-;; This reduces the complexity of later parts of the API.
+;; Many tests on files or buffers actually end up being string comparision.
+;; In many cases, we want to compare the *contents* of a buffer to, for 
example,
+;; the *contents* of a file.
+
+;; Emacs normally uses strings to represent files (i.e. file names) and can 
also
+;; use them to represent buffers (i.e. buffer names). So, here, we introduce a
+;; set of "types" where so that we can distinguish between strings, buffer 
names
+;; and file names, passing them at a single parameter. This will allow us to 
make
+;; later parts of the API use overloaded methods based on their type.
 
 ;; "Types" are either a Emacs core type (as with buffers and strings), or an 2
 ;; element list (I haven't used cons cells in case I want to add more 
elements),
 ;; with a keyword at the head. This allows sisyphus to distinguish between a
 ;; simple string and a file or buffer name.
 
+;; #+begin_src elisp
+;; Identify "~/.emacs" as a file name
+;; (sisyphus-file "~/.emacs")
+
+;; Identify "*Messages*" as a buffer
+;; (sisyphus-buffer "*Messages*")
+;; #+end_src
+
+;; *** Implementation
+
 ;; #+begin_src emacs-lisp
 (defun sisyphus-to-string (x)
   "Turn X into a string in a type appropriate way.
@@ -147,25 +167,93 @@ FILE can be either a string, or a plist returned by
 (_ (error "Type not recognised"
 ;; #+end_src
 
-;; *** Entity Comparision
+;; ** Entity Comparision
 
 ;; In this section, we provide support for comparing strings, buffer or file
 ;; contents. The main entry point is `sisyphus=', which works like `string=' 
but
 ;; on any of the three data types, in any order.
 
+;; #+begin_src elisp
+;;   ;; Compare Two Strings
+;;   (sisyphus= "hello" "goodbye")
+
+;;   ;; Compare the contents of Two Buffers
+;;   (sisyphus=
+;;(sisyphus-buffer "sisyphus.el")
+;;(sisyphus-buffer "sisyphus-previous.el"))
+
+;;   ;; Compare the contents of Two files
+;;   (sisyphus=
+;;(sisyphus-file "~/.emacs")
+;;(sisyphus-file "~/.emacs"))
+
+;;   ;; We can use core Emacs types also
+;;   (sisyphus=
+;;(sisyphus-buffer "sisyphus.el")

[elpa] externals/assess b3f9a7cf97 04/95: Require cl-lib, local emacs test override.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit b3f9a7cf97af1790513833d56b86b2d00e7233c0
Author: Phillip Lord 
Commit: Phillip Lord 

Require cl-lib, local emacs test override.
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 0cae82698e..4960aa5c2c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 EMACS ?= emacs
 CASK ?= cask
 
-include makefile-local
+-include makefile-local
 
 export EMACS
 



[elpa] externals/assess 46290f163d 37/95: Add tests for discover.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 46290f163d4d0acc87f46bf63f5477a03c5efa0d
Author: Phillip Lord 
Commit: Phillip Lord 

Add tests for discover.
---
 Makefile   | 11 ++-
 test/sisyphus-discover-test.el |  6 ++
 test/sisyphus-test.el  |  7 +++
 3 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index a97bb7f115..497a1990a1 100644
--- a/Makefile
+++ b/Makefile
@@ -8,19 +8,20 @@ export EMACS
 all: install test
 
 install:
-   cask install
+   EMACS=$(EMACS) cask install
 
 just-test:
-   cask exec ert-runner
+   EMACS=$(EMACS) cask exec ert-runner
 
 test: install just-test
 
 package:
-   cask package
+   EMACS-$(EMACS) cask package
 
 discover-test:
-   cask exec emacs --batch --load sisyphus.el --load sisyphus-discover.el \
-   -f sisyphus-discover-run-and-exit-batch
+   EMACS=$(EMACS) cask exec $(EMACS) --batch -l sisyphus.el -l 
sisyphus-discover.el -f sisyphus-discover-run-and-exit-batch
 
 .PHONY: test dist
 
+export:
+   export
diff --git a/test/sisyphus-discover-test.el b/test/sisyphus-discover-test.el
new file mode 100644
index 00..b5e6904f06
--- /dev/null
+++ b/test/sisyphus-discover-test.el
@@ -0,0 +1,6 @@
+(ert-deftest sisyphus-discover-test-has-this-been-defined ()
+  "This test is here so that we can test elsewhere that is has
+actually been defined."
+(should t))
+
+(provide 'sisyphus-discover-test)
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index 5f0710eb32..c5932d1b94 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -459,4 +459,11 @@ This also tests the advice on string=."
   (m-buffer-match buffer "defun"))
 'font-lock-keyword-face)))
 
+(ert-deftest sisyphus-discover-test ()
+  "Test to see if another test has been defined, which should be 
auto-discovered"
+  (should
+   (get 'sisyphus-discover-test-has-this-been-defined 'ert--test)))
+
+
+
 ;; #+end_src



[elpa] externals/assess 32a00524a8 24/95: Fix unused variable issues

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 32a00524a88a83a491491a3879f50e6df20d1afa
Author: Syohei YOSHIDA 
Commit: Syohei YOSHIDA 

Fix unused variable issues
---
 sisyphus.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 329583a0e3..2470056e20 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -130,7 +130,7 @@ string into something that will identified appropriately."
 
 (defun sisyphus-buffer (b)
   "Add type data to the string B marking it as a buffer."
-  `(:buffer b))
+  `(:buffer ,b))
 
 (defun sisyphus-file (f)
   "Add type data to the string F marking it as a file."
@@ -230,7 +230,7 @@ afterwards for cleanup by the operating system."
 (defun sisyphus--explainer-simple-string= (a b)
   "Compare strings for first difference."
   ;; We could do a bit more here.
-  (format "String :%s:%s: are not equal."))
+  (format "String :%s:%s: are not equal." a b))
 ;; #+end_src
 
 ;; And the actual predicate function and explainer.



[elpa] externals/assess 5dde98a124 31/95: Merge branch 'master' of github.com:phillord/sisyphus

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 5dde98a1247ecb00d369de2a47fbbe4152b07593
Author: Phillip Lord 
Commit: Phillip Lord 

Merge branch 'master' of github.com:phillord/sisyphus
---
 sisyphus.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 591bdc0a00..687597473f 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -7,7 +7,7 @@
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
 ;; Version: 0.1
-;; Package-Requires: ((emacs "24.4")(m-buffer "0.13")(dash))
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.13")(dash "2.12.0"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
@@ -150,7 +150,7 @@ string into something that will identified appropriately."
 
 (defun sisyphus-buffer (b)
   "Add type data to the string B marking it as a buffer."
-  `(:buffer b))
+  `(:buffer ,b))
 
 (defun sisyphus-file (f)
   "Add type data to the string F marking it as a file."
@@ -316,7 +316,7 @@ afterwards for cleanup by the operating system."
 (defun sisyphus--explainer-simple-string= (a b)
   "Compare strings for first difference."
   ;; We could do a bit more here.
-  (format "String :%s:%s: are not equal."))
+  (format "String :%s:%s: are not equal." a b))
 ;; #+end_src
 
 ;; And the actual predicate function and explainer. We do a simple string



[elpa] externals/assess 880d519d6b 35/95: Update readme, add infojs.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 880d519d6b1e7202a72b1632733690310efb197f
Author: Phillip Lord 
Commit: Phillip Lord 

Update readme, add infojs.
---
 README.md| 25 -
 sisyphus-doc.org |  1 +
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index b30b709d36..799a72e870 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,30 @@ Sisyphus
 
 Sisyphus provides additional support for testing Emacs packages.
 
-It is quite early stages at the moment.
+It provides:
+  - a set of predicates for comparing strings, buffers and file contents.
+  - explainer functions for all predicates giving useful output
+  - macros for creating many temporary buffers at once, and for restoring the
+buffer list.
+  - methods for testing indentation, by comparision or "roundtripping".
+  - methods for testing fontification.
+
+Sisyphus aims to be a stateless as possible, leaving Emacs unchanged whether
+the tests succeed or fail, with respect to buffers, open files and so on; this
+helps to keep tests independent from each other.
+
+Documentation
+-
+
+Sisyphus is fully documented using the `lentic-doc` documentation system.
+
+
+Status
+--
+
+It is now a 0.1 release; for those parts that already exist I do not expected
+to change the interface, but it could happen. It is ready for careful use,
+therefore.
 
 
 [![Build 
Status](https://travis-ci.org/phillord/sisyphus.svg)](https://travis-ci.org/phillord/sisyphus)
diff --git a/sisyphus-doc.org b/sisyphus-doc.org
index 85668340ab..b19c04e63a 100644
--- a/sisyphus-doc.org
+++ b/sisyphus-doc.org
@@ -3,5 +3,6 @@
 
 #+AUTHOR: Phillip Lord
 
+#+INFOJS_OPT: view:info toc:nil
 
 #+INCLUDE: "sisyphus.org" :lines "28-"



[elpa] externals/assess 2e42c93191 06/95: Remove debug statement.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 2e42c93191a230ab7254c27649bd86e1c6c0a301
Author: Phillip Lord 
Commit: Phillip Lord 

Remove debug statement.
---
 Makefile | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Makefile b/Makefile
index 4960aa5c2c..b1b6994389 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,6 @@ export EMACS
 all: install test
 
 install:
-   echo EMACS is $(EMACS)
cask install
 
 just-test:



[elpa] externals/assess eb56d9627d 07/95: String diff file save is now silent.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit eb56d9627d830b8d0a19cd90932c12078a0ee738
Author: Phillip Lord 
Commit: Phillip Lord 

String diff file save is now silent.

Previously, the string= explainer was noisy while saving the contents of
the string to file. We now bypass the messages.
---
 sisyphus.el | 13 +++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 198d02670d..5daf94f548 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -84,6 +84,15 @@
 ;; *** String Comparision
 
 ;; #+begin_src emacs-lisp
+(defun sisyphus--write-file-silently (filename)
+  "Write current buffer into FILENAME.
+Unlike most other ways of saving a file, this should not
+print any messages!."
+  (write-region
+   (point-min) (point-max)
+   filename nil
+   'dont-display-wrote-file-message))
+
 (defun sisyphus--explainer-diff-string= (a b)
   "Compare strings using diff output."
   (let* ((diff
@@ -101,11 +110,11 @@
 (with-current-buffer
 a-buffer
   (insert a)
-  (write-file a-file))
+  (sisyphus--write-file-silently a-file))
 (with-current-buffer
 b-buffer
   (insert b)
-  (write-file b-file))
+  (sisyphus--write-file-silently b-file))
 (prog1
 (format "Strings:\n%s\nand\n%s\nDiffer at:%s\n"
 a b



[elpa] externals/assess 7409b103a3 46/95: Update .gitignore

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 7409b103a34d2af98ac2101809d33a3b157479ff
Author: Phillip Lord 
Commit: Phillip Lord 

Update .gitignore
---
 .gitignore | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitignore b/.gitignore
index 91d2d9d0a6..4c69be2977 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
 /.cask
 /assess.org
 /makefile-local
+*.elc
+/dist
\ No newline at end of file



[elpa] externals/assess 3e74c4b70d 30/95: Add test for string font-lock comparison.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 3e74c4b70dbf108e2e8305921e6b101ada038117
Author: Phillip Lord 
Commit: Phillip Lord 

Add test for string font-lock comparison.
---
 test/sisyphus-test.el | 18 +-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index 012ffcd3e9..295fef1e1b 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -28,6 +28,7 @@
 (require 'load-relative)
 (require 'sisyphus)
 (require 'cl-lib)
+
 ;; #+end_src
 
 ;; ** Test Extraction
@@ -395,7 +396,6 @@ This also tests the advice on string=."
 2
 'font-lock-keyword-face)))
 
-
 (ert-deftest sisyphus-test-face-at-multiple-positions ()
   (should
(sisyphus-face-at=
@@ -437,6 +437,22 @@ This also tests the advice on string=."
   (m-buffer-match buf "defun"))
 'font-lock-keyword-face)))
 
+;; Need extra support from m-buffer.
+(ert-deftest sisyphus-test-face-at-with-strings ()
+  :expected-result :failed
+  (should
+   (sisyphus-face-at=
+"(defun x ())\n(defun y ())\n(defun z ())"
+'emacs-lisp-mode
+"defun"
+'font-lock-keyword-face))
+  (should
+   (sisyphus-face-at=
+"(defun x ())\n(defmacro y ())\n(defun z ())"
+'emacs-lisp-mode
+'("defun" "defmacro" "defun")
+'font-lock-keyword-face)))
+
 (ert-deftest sisyphus-test-file-face-at ()
   (should
(sisyphus-file-face-at=



[elpa] externals/assess 6a4aa34ec3 33/95: Fixed multiple string matching for face match.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 6a4aa34ec37d9c6c2b57109ad119282f9c33cf6a
Author: Phillip Lord 
Commit: Phillip Lord 

Fixed multiple string matching for face match.
---
 sisyphus.el   | 7 ++-
 test/sisyphus-test.el | 2 --
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 687597473f..850f4fef10 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -7,7 +7,7 @@
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
 ;; Version: 0.1
-;; Package-Requires: ((emacs "24.4")(m-buffer "0.13")(dash "2.12.0"))
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
@@ -901,10 +901,7 @@ the copy of FILE will be in a different directory."
((integerp first-location)
 (m-buffer-pos-to-marker buffer locations))
((stringp first-location)
-;; this function does not exist yet -- should find the first
-;; occurance of exactly the first string, then the first
-;; occurrence of the next and so on
-(m-buffer-find-string buffer locations))
+(m-buffer-match-multi locations :buffer buffer))
;; markers
((markerp first-location)
 locations)
diff --git a/test/sisyphus-test.el b/test/sisyphus-test.el
index 295fef1e1b..5f0710eb32 100644
--- a/test/sisyphus-test.el
+++ b/test/sisyphus-test.el
@@ -437,9 +437,7 @@ This also tests the advice on string=."
   (m-buffer-match buf "defun"))
 'font-lock-keyword-face)))
 
-;; Need extra support from m-buffer.
 (ert-deftest sisyphus-test-face-at-with-strings ()
-  :expected-result :failed
   (should
(sisyphus-face-at=
 "(defun x ())\n(defun y ())\n(defun z ())"



[elpa] externals/assess 0d079db1a7 34/95: Completed documentation.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 0d079db1a74af6a6f6ca694688c267af3df846b0
Author: Phillip Lord 
Commit: Phillip Lord 

Completed documentation.
---
 sisyphus.el | 60 ++--
 1 file changed, 54 insertions(+), 6 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 850f4fef10..c9da968320 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -787,13 +787,16 @@ the copy of FILE will be in a different directory."
 
 ;; ** Font-Lock
 
-;; Set up a buffer from string or file, font-lock it, test it.
-
-;; We need to define some functionality for testing font-lock.
-
-;; API below -- so we can define functionality that works generally over a 
list,
-;; and automatically coerce an item to a list.
+;; Here we define two predicates that can be used to checking
+;; fontification/syntax highlighting; as with indentation, one accepts strings
+;; but requires an explicit mode, while the other reads from file and depends 
on
+;; the normal Emacs mechanisms for defining the mode. These two are
+;; `sisyphus-font-at=' and `sisyphus-file-font-at='. Both of these have the 
same
+;; interface and have attached explainer functions. Here, we show examples with
+;; `sisyphus-face-at='.
 
+;; The simplest use is to specify a point location and a face. This returns 
true
+;; if at least that face is present at the location.
 
 ;; #+begin_src elisp
 ;;(sisyphus-face-at=
@@ -801,7 +804,12 @@ the copy of FILE will be in a different directory."
 ;; 'emacs-lisp-mode
 ;; 2
 ;; 'font-lock-keyword-face)
+;; #+end_src
+
+;; It is also possible to specify several locations in a list, with a single
+;; face. This checks that the given font is present at every location.
 
+;; #+begin_src elisp
 ;;(sisyphus-face-at=
 ;; "(defun x ())
 ;; (defun y ())
@@ -809,14 +817,45 @@ the copy of FILE will be in a different directory."
 ;; 'emacs-lisp-mode
 ;; '(2 15 28)
 ;; 'font-lock-keyword-face)
+;; #+end_src
 
+;; Or, we can specify a list of faces in which case the locations and faces are
+;; checked in a pairwise manner.
+
+;; #+begin_src elisp
 ;;(sisyphus-face-at=
 ;; "(defun x ())"
 ;; 'emacs-lisp-mode
 ;; '(2 8)
 ;; '(font-lock-keyword-face font-lock-function-name-face))
+;; #+end_src
+
+;; It is also possible to define locations with regexps; again either one or
+;; multiple regexps can be used. With a single string, all matches are checked,
+;; with the first match to the first is checked, then the next match to the
+;; second, incrementally.
+
+;; #+begin_src elisp
+;;(sisyphus-face-at=
+;; "(defun x ())\n(defun y ())\n(defun z ())"
+;; 'emacs-lisp-mode
+;; "defun"
+;; 'font-lock-keyword-face)
+
+;;(sisyphus-face-at=
+;; "(defun x ())\n(defmacro y ())\n(defun z ())"
+;; 'emacs-lisp-mode
+;; '("defun" "defmacro" "defun")
+;; 'font-lock-keyword-face)
+;; #+end_src
 
 
+;; The locations can also be specified as a `lambda' which takes a single
+;; argument of a buffer. The return result can be any form of location accepted
+;; by `sisyphus-face-at=', including a list of match data generated, as in this
+;; case, by the `m-buffer' package.
+
+;; #+begin_src elisp
 ;;(sisyphus-face-at=
 ;; "(defun x ())\n(defun y ())\n(defun z ())"
 ;; 'emacs-lisp-mode
@@ -826,6 +865,11 @@ the copy of FILE will be in a different directory."
 ;; #+end_src
 
 
+;; *** Implementation
+
+;; First, `sisyphus-face-at='.
+
+
 ;; #+begin_src emacs-lisp
 (defun sisyphus--face-at-location=
 (location face property throw-on-nil)
@@ -974,7 +1018,11 @@ operates over files and takes the mode from that file."
 (put 'sisyphus-face-at=
  'ert-explainer
  'sisyphus-explain-face-at=)
+;; #+end_src
+
+;; Followed by `sisyphus-file-face-at='.
 
+;; #+begin_src emacs-lisp
 (defun sisyphus--file-face-at=-1 (file locations faces property throw-on-nil)
   (sisyphus-with-find-file
   (sisyphus-make-related-file file)



[elpa] externals/assess d2885a9bd7 50/95: Update readme for 0.2 release.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit d2885a9bd782a4de3c58f6a03360fe0abbcedf23
Author: Phillip Lord 
Commit: Phillip Lord 

Update readme for 0.2 release.
---
 README.md | 18 +-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 6255bf658b..ebc4864c04 100644
--- a/README.md
+++ b/README.md
@@ -24,9 +24,25 @@ Assess is fully documented using the `lentic-doc` 
documentation system.
 Status
 --
 
-It is now a 0.1 release; for those parts that already exist I do not expected
+It is now a 0.2 release; for those parts that already exist I do not expected
 to change the interface, but it could happen. It is ready for careful use,
 therefore.
 
+Roadmap
+---
+
+I plan to move this to core Emacs, as ert-assess. This will happen after
+Emacs-25.1 release.
+
+Release
+---
+
+## Version 0.2
+
+Add assess-call.el
+
+## Version 0.1
+
+First Release
 
 [![Build 
Status](https://travis-ci.org/phillord/assess.svg)](https://travis-ci.org/phillord/assess)



[elpa] externals/assess f490f18a18 32/95: Merge branch 'master' of github.com:phillord/sisyphus

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit f490f18a18479a62a9f3a69c06aabd369eed21d3
Merge: 5dde98a124 818cf77258
Author: Phillip Lord 
Commit: Phillip Lord 

Merge branch 'master' of github.com:phillord/sisyphus



[elpa] externals/assess c0bdc94e49 41/95: Remove erroneous debug statement.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit c0bdc94e49459a19695c32d11cd9aca5470e003f
Author: Phillip Lord 
Commit: Phillip Lord 

Remove erroneous debug statement.
---
 assess.el | 2 --
 1 file changed, 2 deletions(-)

diff --git a/assess.el b/assess.el
index 63cef2f4fa..42b0769e46 100644
--- a/assess.el
+++ b/assess.el
@@ -976,8 +976,6 @@ the copy of FILE will be in a different directory."
 (insert (assess-to-string x))
 (funcall mode)
 (font-lock-fontify-buffer)
-;; do not forget to remove this!
-(switch-to-buffer (current-buffer))
 (assess--face-at= (current-buffer) locations faces property throw-on-nil)))
 
 (defun assess-face-at=



[elpa] externals/assess 38fc7829bc 42/95: Interpret nil to mean no faces.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 38fc7829bc3e3e36efa82931922adaa976d080c1
Author: Phillip Lord 
Commit: Phillip Lord 

Interpret nil to mean no faces.

When assessing faces at a point, nil for was being interpreted as an
empty list of faces, so was always true. Now, we interpret nil to mean
exactly no faces.

Closes #4
---
 assess.el   |  4 +++-
 test/assess-test.el | 10 --
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/assess.el b/assess.el
index 42b0769e46..5695066ca3 100644
--- a/assess.el
+++ b/assess.el
@@ -957,7 +957,9 @@ the copy of FILE will be in a different directory."
 locations)))
   ;; make sure we have a list of faces
   (faces
-   (if (listp faces)
+   (if (and (listp faces)
+;; but not nil
+(not (eq nil faces)))
faces
  (list faces)))
   ;; make sure faces is as long as locations
diff --git a/test/assess-test.el b/test/assess-test.el
index dd59bcc2a5..11defd1b2d 100644
--- a/test/assess-test.el
+++ b/test/assess-test.el
@@ -464,6 +464,12 @@ This also tests the advice on string=."
   (should
(get 'assess-discover-test-has-this-been-defined 'ert--test)))
 
-
-
+;; https://github.com/phillord/assess/issues/4
+(ert-deftest issue-4-has-type-face ()
+  "Test that no faces are present at point."
+  (should-not
+   (assess-face-at= "foo bar" 'fundamental-mode
+"bar" 'font-lock-type-face))
+  (should-not
+   (assess-face-at= "def" 'python-mode "def" nil)))
 ;; #+end_src



[elpa] externals/assess 739661405b 59/95: Add assess-robot.el and tests

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 739661405b36f3e19c347cb55bde961b4497cf2c
Author: Phillip Lord 
Commit: Phillip Lord 

Add assess-robot.el and tests

assess-robot.el provides a framework for writing keyboard macros
in a readable way, embedded inside a test. It also adds macros for
running these macros similar to `with-current-buffer'.
---
 README.md |   4 ++
 assess-robot.el   | 112 ++
 test/assess-robot-test.el |  65 +++
 3 files changed, 181 insertions(+)

diff --git a/README.md b/README.md
index ebc4864c04..77f1c66834 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,10 @@ Emacs-25.1 release.
 Release
 ---
 
+## Version 0.3
+
+Add assess-robot.el
+
 ## Version 0.2
 
 Add assess-call.el
diff --git a/assess-robot.el b/assess-robot.el
new file mode 100644
index 00..b9d31680d9
--- /dev/null
+++ b/assess-robot.el
@@ -0,0 +1,112 @@
+;;; assess-robot.el --- Test support functions -*- lexical-binding: t -*-
+
+;;; Header:
+
+;; This file is not part of Emacs
+
+;; Author: Phillip Lord 
+;; Maintainer: Phillip Lord 
+;; Version: 0.2
+
+;; The contents of this file are subject to the GPL License, Version 3.0.
+
+;; Copyright (C) 2016, Phillip Lord
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Code:
+(defmacro assess-robot-with-switched-buffer (buffer &rest body)
+  "With BUFFER, evaluate BODY.
+
+This macro is rather like `with-current-buffer', except that it
+uses `switch-to-buffer'. This is generally a bad idea when used
+programmatically. But, it is necessary, for example, when using
+keyboard macros."
+  (declare (indent 1) (debug t))
+  (let ((before-buffer (make-symbol "before-buffer")))
+`(let ((,before-buffer (current-buffer)))
+   (unwind-protect
+   (progn
+ (switch-to-buffer ,buffer)
+ ,@body)
+ (switch-to-buffer ,before-buffer)
+
+(defmacro assess-robot-with-temp-switched-buffer (&rest body)
+  "Evalate BODY in temporary buffer.
+
+As with `assess-robot-with-switched-buffer', `switch-to-buffer'
+is used."
+  (declare (indent 0) (debug t))
+  (let ((temp-buffer (make-symbol "temp-buffer")))
+`(let ((,temp-buffer (generate-new-buffer " *temp*")))
+   (assess-robot-with-switched-buffer ,temp-buffer
+ (unwind-protect
+ (progn
+   ;; Enable the undo list because we want it for most robot
+   ;; situations.
+   (setq buffer-undo-list nil)
+   ,@body)
+   (and (buffer-name ,temp-buffer)
+(kill-buffer ,temp-buffer)))
+
+(defmacro assess-robot-with-switched-buffer-string (&rest body)
+  "Evalate BODY in a temporary buffer and return buffer string.
+
+See also `assess-robot-with-temp-switched-buffer'."
+  (declare (debug t))
+  `(assess-robot-with-temp-switched-buffer
+ (progn
+   ,@body
+   (buffer-substring-no-properties
+(point-min) (point-max)
+
+(defun assess-robot-execute-kmacro (macro)
+  "Execute the MACRO.
+
+In this case, MACRO is the \"long form\" accepted by
+`edit-kdb-macro'."
+  (let ((macro (read-kbd-macro macro)))
+;; I wanted to add a nice way to edit the macro, but sadly
+;; edit-kdb-macro provides no nice entry point. So, we take the nasty step
+;; of setting the last-kbd-macro instead.
+(setq last-kbd-macro macro)
+(execute-kbd-macro
+ (read-kbd-macro macro
+
+(defun assess-robot-copy-and-finish ()
+  "Copy the macro in edmacro to the kill-ring."
+  (interactive)
+  (save-excursion
+(goto-char (point-min))
+(search-forward "Macro:")
+(forward-line)
+(let ((string
+   (buffer-substring-no-properties
+(point)
+(point-max
+  (with-temp-buffer
+(insert "\"")
+(insert string)
+(insert "\"")
+(kill-ring-save (point-min)
+(point-max
+(edmacro-finish-edit)))
+
+(with-eval-after-load
+'edmacro
+  (define-key edmacro-mode-map "C-c C-k" 'assess-robot-copy-and-finish))
+
+(provide 'assess-robot)
+;;; assess-robot.el ends here
+
diff --git a/test/assess-robot-test.el b/test/assess-robot-test.el
new file mode 100644
index 00..e7e7868d18
--- /dev/null
+++ b/test/assess-robot-test.el
@@ -0,0 +1,65 @@
+;;; assess-robot-test.el --- Test support fun

[elpa] externals/assess 890906bfcb 17/95: Interface written as single overloaded function.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 890906bfcb7b07dde82673a16c312737ec1cde00
Author: Phillip Lord 
Commit: Phillip Lord 

Interface written as single overloaded function.

Previously, sisyphus had lots of independent functions for each type,
but this was starting to get unmanageable. It now has a single function
which does things appropriate for the type of argument passed to it.
---
 sisyphus.el   | 133 --
 test/sisyphus-test.el |  55 -
 2 files changed, 96 insertions(+), 92 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index 356f89ac61..60b84be10a 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -62,14 +62,16 @@
 
 
 ;; #+begin_src emacs-lisp
-(defun sisyphus--ert-pp-with-indentation-and-newline (orig object)
-  (let ((pp-escape-newlines nil))
-(funcall orig object)))
-
-(advice-add
- 'ert--pp-with-indentation-and-newline
- :around
- #'sisyphus--ert-pp-with-indentation-and-newline)
+(when (= emacs-major-version 24)
+
+  (defun sisyphus--ert-pp-with-indentation-and-newline (orig object)
+(let ((pp-escape-newlines nil))
+  (funcall orig object)))
+
+  (advice-add
+   'ert--pp-with-indentation-and-newline
+   :around
+   #'sisyphus--ert-pp-with-indentation-and-newline))
 ;; #+end_src
 
 
@@ -91,7 +93,24 @@
 ;; How do do this cleanly? Apply patch to ert.el?
 
 
-
+;; #+begin_src emacs-lisp
+(defun sisyphus-to-string (x)
+  "Turn X into a string in a type appropriate way."
+  (pcase x
+   ((pred stringp) x)
+   ((pred bufferp) (m-buffer-at-string x))
+   (`(:buffer ,b) (sisyphus-to-string (get-buffer-create b)))
+   (`(:file ,f)
+(with-temp-buffer
+  (insert-file-contents f)
+  (buffer-string)))
+   ;; error condition
+   (_ (error "Type not recognised"
+
+(defun sisyphus-file (f)
+  "Add type data to F marking it as a file."
+  `(:file ,f))
+;; #+end_src
 
 ;; *** String Comparision
 
@@ -150,79 +169,35 @@ print any messages!"
   ;; We could do a bit more here.
   (format "String :%s:%s: are not equal."))
 
-(defun sisyphus-explain-string= (a b)
-  "Compare strings and return an explanation."
-  (cond
-   ((string= a b)
-t)
-   ((executable-find "diff")
-(sisyphus--explainer-diff-string= a b))
-   (t
-(sisyphus--explainer-simple-string= a b
-
-(put 'string= 'ert-explainer 'sisyphus-explain-string=)
-;; #+end_src
-
-;;; *** String to buffer
-
-;; #+begin_src emacs-lisp
-(defun sisyphus-buffer-string= (buffer string)
-  (string=
-   (m-buffer-at-string buffer)
-   string))
-
-(defun sisyphus-explain-buffer-string= (buffer string)
-  (sisyphus-explain-string=
-   (m-buffer-at-string buffer)
-   string))
+(defun sisyphus= (a b)
+  "Compare A and B to see if they are the same.
 
-(put 'sisyphus-buffer-string=
- 'ert-explainer
- 'sisyphus-explain-buffer-string=)
-;; #+end_src
-
-
-;; Compare buffer to buffer
-;; #+begin_src emacs-lisp
-(defun sisyphus-buffer= (a b)
+Equality in this sense means compare the contents in a way which
+is appropriate for the type of the two arguments. So, if they are
+strings, the compare strings, if buffers, then compare the buffer
+contents and so on."
   (string=
-   (m-buffer-at-string a)
-   (m-buffer-at-string b)))
-
-(defun sisyphus-explain-buffer= (a b)
-  (sisyphus-explain-string=
-   (m-buffer-at-string a)
-   (m-buffer-at-string b)))
-
-(put 'sisyphus-buffer=
- 'ert-explainer
- 'sisyphus-explain-buffer=)
+   (sisyphus-to-string a)
+   (sisyphus-to-string b)))
+
+(defun sisyphus-explain= (a b)
+  "Compare A and B and return an explanation.
+See `sisyphus=' for more information."
+  (let ((a (sisyphus-to-string a))
+(b (sisyphus-to-string b)))
+(cond
+ ((sisyphus= a b)
+  t)
+ ((executable-find "diff")
+  (sisyphus--explainer-diff-string= a b))
+ (t
+  (sisyphus--explainer-simple-string= a b)
+
+(put 'sisyphus= 'ert-explainer 'sisyphus-explain=)
 ;; #+end_src
 
-;; Compare string to file
-(defun sisyphus-file-string= (file string)
-  (string=
-   (with-temp-buffer
- (insert-file-contents file)
- (buffer-string))
-   string))
-
-(defun sisyphus-explain-file-string= (file string)
-  (sisyphus-explain-string=
-   (with-temp-buffer
- (insert-file-contents file)
- (buffer-string))
-   string))
-
-(put 'sisyphus-file-string=
- 'ert-explainer
- 'sisyphus-explain-file-string=)
-
-;; Compare buffer to file
-
-;; Compare file to file.
 
-;; ** Create buffers
+;; ** create buffers
 
 
 
@@ -250,10 +225,10 @@ print any messages!"
 (current-buffer)
 
 (defmacro sisyphus-with-temp-buffers (varlist &rest body)
-  "Bind variables in VARLIST to temp buffers, then eval BODY.
+  "Bind variables in varlist to temp buffers, then eval BODY.
 
 VARLIST is of the same form as a `let' binding. Each element is a
-symbol or a list (SYMBOL VALUEFORMS). Each symbol is bound to a
+symbol or a list (symbol valueforms). Each symbol is bound to a
 buffer generated with `generate-ne

[elpa] externals/assess e9344a55df 45/95: Move from ert to assess-discover

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit e9344a55df5e779dae92280a4c2edc8becf39f77
Author: Phillip Lord 
Commit: Phillip Lord 

Move from ert to assess-discover
---
 .ert-runner|  1 -
 Cask   |  3 +--
 Makefile   | 19 +--
 assess-discover.el |  2 +-
 4 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/.ert-runner b/.ert-runner
deleted file mode 100644
index 19825d5a80..00
--- a/.ert-runner
+++ /dev/null
@@ -1 +0,0 @@
---load assess.el
\ No newline at end of file
diff --git a/Cask b/Cask
index 8e06f12332..8f926ba4fc 100644
--- a/Cask
+++ b/Cask
@@ -3,8 +3,7 @@
 
 (package-file "assess.el")
 
-(files "assess*.el" "assess-doc.org")
+(files "assess*.el" "assess-*.el" "assess-doc.org")
 
 (development
- (depends-on "ert-runner")
  (depends-on "load-relative"))
diff --git a/Makefile b/Makefile
index c8281a855c..d0b39818b1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,28 +1,27 @@
-EMACS = emacs
+EMACS ?= emacs
 CASK ?= cask
 
-#-include makefile-local
+-include makefile-local
 
 ifdef EMACS
 EMACS_ENV=EMACS=$(EMACS)
 endif
 
-
 all: install test
 
 install:
-   $(EMACS_ENV) cask install
-
-just-test:
-   EMACS=$(EMACS) cask exec ert-runner
+   $(EMACS_ENV) $(CASK) install
 
 test: install just-test
 
 package:
-   EMACS-$(EMACS) cask package
+   $(EMACS_ENV) $(CASK) package
 
-discover-test:
-   EMACS=$(EMACS) cask exec $(EMACS) --batch -l assess.el -l 
assess-discover.el -f assess-discover-run-and-exit-batch
+just-test:
+   $(EMACS_ENV) $(CASK) emacs --batch -q \
+   --directory=. \
+   --load assess-discover.el \
+   --funcall assess-discover-run-and-exit-batch
 
 .PHONY: test dist
 
diff --git a/assess-discover.el b/assess-discover.el
index 4020d15bee..a9d0a2af29 100644
--- a/assess-discover.el
+++ b/assess-discover.el
@@ -31,7 +31,7 @@
 (defun assess-discover-tests (directory)
   "Discover tests in directory.
 
-Tests may confirm to one (and only one!) of several naming
+Tests must conform to one (and only one!) of several naming
 schemes.
 
  - End with -test.el



[elpa] externals/assess 4bf702a08a 43/95: Re-order to put macros first.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 4bf702a08adb4b99f590716cb4c721c273ccaae8
Author: Phillip Lord 
Commit: Phillip Lord 

Re-order to put macros first.
---
 assess.el   | 264 ++--
 test/assess-test.el |   4 +
 2 files changed, 136 insertions(+), 132 deletions(-)

diff --git a/assess.el b/assess.el
index 5695066ca3..82c43a7584 100644
--- a/assess.el
+++ b/assess.el
@@ -102,6 +102,138 @@
   'error)
 ;; #+end_src
 
+;; ** Buffer creation
+
+;; For tests, it is often better to use temporary buffers, as it is much less
+;; affected by the existing state of Emacs, and much less likely to affect 
future
+;; state; this is particularly the case where tests are being developed as the
+;; developer may be trying to change or write test files at the same time as
+;; Emacs is trying to use them for testing.
+
+;; Emacs really only provides a single primitive `with-temp-buffer' for this
+;; situation, and that only creates a single temporary buffer at a time. 
Nesting
+;; of these forms sometimes works, but fails if we need to operate on two 
buffers
+;; at once.
+
+;; So, we provide an environment for restoring the buffer list. This allows any
+;; creation of buffers we need for testing, followed by clean up afterwards. 
For
+;; example, a trivial usage would be to remove buffers explicitly created.
+
+;; #+begin_src elisp
+;;   (assess-with-preserved-buffer-list
+;;(get-buffer-create "a")
+;;(get-buffer-create "b")
+;;(get-buffer-create "c"))
+;; #+end_src
+
+;; Any buffer created in this scope is removed, whether this is as a direct or
+;; indirect result of the function. For example, this usage creates a ~*Help*~
+;; buffer which then gets removed again.
+
+;; #+begin_src elisp
+;;   (assess-with-preserved-buffer-list
+;;(describe-function 'self-insert-command))
+;; #+end_src
+
+;; This does not prevent changes to existing buffers of course. If ~*Help*~ is
+;; already open before evaluation, it will remain open afterwards but with
+;; different content.
+
+;; Sometimes, it is useful to create several temporary buffers at once.
+;; `assess-with-temp-buffers' provides an easy mechanism for doing this, as
+;; well as evaluating content in these buffers. For example, this returns true
+;; (actually three killed buffers which were live when the `mapc' form runs).
+
+;; #+begin_src elisp
+;;   (assess-with-temp-buffers
+;;   (a b c)
+;; (mapc #'buffer-live-p (list a b c)))
+;; #+end_src
+
+;; While this creates two buffers, puts "hellogoodbye" into one and "goodbye"
+;; into the other, then compares the contents of these buffers with `assess='.
+
+;; #+begin_src elisp
+;;   (assess-with-temp-buffers
+;;   ((a (insert "hello")
+;;   (insert "goodbye"))
+;;(b (insert "goodbye")))
+;; (assess= a b))
+;; #+end_src
+
+;; Finally, we provide a simple mechanism for converting any assess type into a
+;; buffer. The following form, for example, returns the contents of the 
~.emacs~
+;; file.
+
+;; #+begin_src elisp
+;;   (assess-as-temp-buffer
+;;   (assess-file "~/.emacs")
+;; (buffer-string))
+;; #+end_src
+
+;; ** Implementation
+
+;; #+begin_src emacs-lisp
+(defmacro assess-with-preserved-buffer-list (&rest body)
+  "Evaluate BODY, but delete any buffers that have been created."
+  (declare (debug t))
+  `(let ((before-buffer-list
+  (buffer-list)))
+ (unwind-protect
+ (progn
+   ,@body)
+   (--map
+(kill-buffer it)
+(-difference (buffer-list)
+ before-buffer-list)
+
+(defun assess--temp-buffer-let-form (item)
+  (if (not (listp item))
+  (assess--temp-buffer-let-form
+   (list item))
+`(,(car item)
+  (with-current-buffer
+  (generate-new-buffer " *assess-with-temp-buffers*")
+,@(cdr item)
+(current-buffer)
+;; #+end_src
+
+;; The implementation of `assess-with-temp-buffers' currently uses
+;; `assess-with-preserved-buffer-list' to remove buffers which means that it
+;; will also delete any buffers created by the user; this may be a mistake, and
+;; it might be better to delete the relevant buffers explicitly.
+
+;; #+begin_src emacs-lisp
+(defmacro assess-with-temp-buffers (varlist &rest body)
+  "Bind variables in varlist to temp buffers, then eval BODY.
+
+VARLIST is of the same form as a `let' binding. Each element is a
+symbol or a list (symbol valueforms). Each symbol is bound to a
+buffer generated with `generate-new-buffer'. VALUEFORMS are
+evaluated with the buffer current. Any buffers created inside
+this form (and not just by this form!) are unconditionally killed
+at the end of the form."
+  (declare (indent 1)
+   (debug let))
+  (let ((let-form
+ (-map
+  #'assess--temp-buffer-let-form
+  varlist)))
+`(assess-with-preserved-buffer-list
+  (let ,let-form
+,@body
+
+(defmacro assess-as-temp-buffer (x &rest body)
+  "Insert X in a type-app

[elpa] externals/assess 1b01542ccd 20/95: Fontification testing.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 1b01542ccda130109b134e9668857e45acbafc09
Author: Phillip Lord 
Commit: Phillip Lord 

Fontification testing.
---
 sisyphus.el   | 589 +-
 test/sisyphus-test.el | 221 +--
 2 files changed, 746 insertions(+), 64 deletions(-)

diff --git a/sisyphus.el b/sisyphus.el
index ec61515286..3c290dbf53 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -28,21 +28,33 @@
 
 ;;; Commentary:
 
-;; This file will provide functions to support ert, including a set of
-;; predicates, some nicer reporter functions and so forth.
+;; This file provides functions to support ert, the Emacs Regression Test
+;; framework. It includes:
 
-;;; Thoughts:
-
-;; Really, all the functions in here should be tested. But some of the tests 
are
-;; really, realy hard to test because they depend on the output of ert test,
+;;  - a set of predicates for comparing strings, buffers and file contents.
+;;  - explainer functions for all predicates giving useful output
+;;  - macros for creating many temporary buffers at once, and for restoring the
+;;buffer list.
+;;  - methods for testing indentation, by comparision or "roundtripping".
+;;  - methods for testing fontification.
 
+;; Sisyphus aims to be a stateless as possible, leaving Emacs unchanged whether
+;; the tests succeed or fail, with respect to buffers, open files and so on; 
this
+;; helps to keep tests independent from each other. Violations of this will be
+;; considered a bug.
 
+;; Sisyphus aims also to be as noiseless as possible, reducing and suppressing
+;; extraneous messages where possible, to leave a clean ert output in batch 
mode.
 
+;; Sisyphus is currently a work in progress; the API is not currently stable.
+;; Even the name is somewhat is doubt. Sisyphus seemed like a good idea when I
+;; started, but I keep spelling it wrong. I may also considering winding this
+;; into ert-x, because then it can be used to test core.
 
 
 ;;; Code:
 
-;; ** Require
+;; ** Preliminaries
 
 ;; #+begin_src emacs-lisp
 (require 'pp)
@@ -52,15 +64,23 @@
 (require 'dash)
 ;; #+end_src
 
+;; We need an error symbol to throw occasionally during testing. Throwing 
`error'
+;; itself is a bit dangerous because we might get that for other reasons; so we
+;; create a new symbol here.
+
 ;; #+begin_src emacs-lisp
-(define-error 'deliberate-error
+(define-error 'sisyphus-deliberate-error
   "An error deliberately caused during testing."
   'error)
 ;; #+end_src
 
-
 ;; ** Advice
 
+;; Emacs-24 insists on printing out results on a single line with escaped
+;; newlines. This does not work so well with the explainer functions in 
sisyphus
+;; and, probably, does not make sense anywhere. So, we advice here.
+
+;; Emacs-25 has this fixed.
 
 ;; #+begin_src emacs-lisp
 (when (= emacs-major-version 24)
@@ -75,38 +95,38 @@
#'sisyphus--ert-pp-with-indentation-and-newline))
 ;; #+end_src
 
+;; ** Types
 
-;; ** Explainers
-
-;; Explainer functions add "explainations" for things that fail. We can use 
this
-;; to make `string=' work properly. Can we do this without diff?
-
-;; This is critical because most of our comparitors depend on this.
-
-;; So this works but the output is printed out as a string with slash-n's
-;; rather than as a multi-line string. Bollocks
-
-;; Think it is ert--pp-with-indentation-and-newline which is the evil function
-;; causing the problem. Which in turn backs onto pp.
-
-;; pp has a variable pp-escape-newlines which set to nil solves the problem.
-
-;; How do do this cleanly? Apply patch to ert.el?
+;; Many tests on files, buffers actually end up being string comparision. We
+;; introduce a set of "types" where so that we can distinguish between
+;; strings, buffer names and file names, passing them at a single parameter.
+;; This reduces the complexity of later parts of the API.
 
+;; "Types" are either a Emacs core type (as with buffers and strings), or an 2
+;; element list (I haven't used cons cells in case I want to add more 
elements),
+;; with a keyword at the head. This allows sisyphus to distinguish between a
+;; simple string and a file or buffer name.
 
 ;; #+begin_src emacs-lisp
 (defun sisyphus-to-string (x)
-  "Turn X into a string in a type appropriate way."
+  "Turn X into a string in a type appropriate way.
+
+If X is identified as a file, returns the file contents.
+If X is identified as a buffer, returns the buffer contents.
+If X is a string, returns that.
+
+See also `sisyphus-buffer' and `sisyphus-file' which turn a
+string into something that will identified appropriately."
   (pcase x
-   ((pred stringp) x)
-   ((pred bufferp) (m-buffer-at-string x))
-   (`(:buffer ,b) (sisyphus-to-string (get-buffer-create b)))
-   (`(:file ,f)
-(with-temp-buffer
-  (insert-file-contents f)
-  (buffer-string)))
-   ;; error condition
-   (_ (error "Type not recognised"
+((pred stringp) x)
+((pred bufferp) (m-buffer-at-string x))
+(`(:bu

[elpa] externals/assess 818cf77258 27/95: Merge pull request #2 from syohex/minimum

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 818cf7725856746c5bef44f62f31bacd483104eb
Merge: 3cf57afcaf f33b371177
Author: Phil Lord 
Commit: Phil Lord 

Merge pull request #2 from syohex/minimum

Specify minimum dash version
---
 sisyphus.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sisyphus.el b/sisyphus.el
index 2470056e20..d4b4a79560 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -7,7 +7,7 @@
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
 ;; Version: 0.1
-;; Package-Requires: ((emacs "24.4")(m-buffer "0.13")(dash))
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.13")(dash "2.12.0"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 



[elpa] externals/assess 36093a2c6b 61/95: Fix keybinding for edmacro. Add test.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 36093a2c6b21d4a0fe740898d08fdd4be36bd00a
Author: Phillip Lord 
Commit: Phillip Lord 

Fix keybinding for edmacro. Add test.
---
 README.md |  6 +-
 assess-robot.el   |  4 ++--
 test/assess-robot-test.el | 13 -
 3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 77f1c66834..5c7ce55f88 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ Assess is fully documented using the `lentic-doc` 
documentation system.
 Status
 --
 
-It is now a 0.2 release; for those parts that already exist I do not expected
+It is now an early release; for those parts that already exist I do not 
expected
 to change the interface, but it could happen. It is ready for careful use,
 therefore.
 
@@ -37,6 +37,10 @@ Emacs-25.1 release.
 Release
 ---
 
+## Version 0.3.1
+
+Add test, fix keybinding
+
 ## Version 0.3
 
 Add assess-robot.el
diff --git a/assess-robot.el b/assess-robot.el
index b9d31680d9..7bc57fb0ce 100644
--- a/assess-robot.el
+++ b/assess-robot.el
@@ -103,9 +103,9 @@ In this case, MACRO is the \"long form\" accepted by
 (point-max
 (edmacro-finish-edit)))
 
-(with-eval-after-load
+(eval-after-load
 'edmacro
-  (define-key edmacro-mode-map "C-c C-k" 'assess-robot-copy-and-finish))
+  '(define-key edmacro-mode-map (kbd "C-c C-k") 'assess-robot-copy-and-finish))
 
 (provide 'assess-robot)
 ;;; assess-robot.el ends here
diff --git a/test/assess-robot-test.el b/test/assess-robot-test.el
index e7e7868d18..1ee36b14a6 100644
--- a/test/assess-robot-test.el
+++ b/test/assess-robot-test.el
@@ -26,6 +26,7 @@
 
 ;;; Code:
 
+(require 'assess)
 (require 'assess-robot)
 (require 'ert)
 
@@ -54,7 +55,6 @@
 (assess-robot-with-temp-switched-buffer
   (current-buffer)
 
-
 (ert-deftest assess-robot-test-with-switched-buffer-string ()
   (should
(assess=
@@ -62,4 +62,15 @@
 (assess-robot-with-switched-buffer-string
  (insert "hello")
 
+(ert-deftest assess-robot-test-execute-kmacro ()
+  (should
+   (assess=
+"hello"
+(assess-robot-with-switched-buffer-string
+ (assess-robot-execute-kmacro
+"
+hello  ;; self-insert-command * 5
+")
+
+
 (provide 'assess-robot-test)



[elpa] externals/assess 61771edab7 67/95: Move cask to melpa-stable

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 61771edab753d5469d4bb9b8273f55e79b3fda04
Author: Phillip Lord 
Commit: Phillip Lord 

Move cask to melpa-stable
---
 Cask | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Cask b/Cask
index 8f926ba4fc..87c72daa93 100644
--- a/Cask
+++ b/Cask
@@ -1,9 +1,9 @@
 (source gnu)
-(source melpa)
+(source melpa-stable)
 
 (package-file "assess.el")
 
-(files "assess*.el" "assess-*.el" "assess-doc.org")
+(files "assess.el" "assess-*.el" "assess-doc.org")
 
 (development
  (depends-on "load-relative"))



[elpa] externals/assess 00c794a516 29/95: Add package support.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 00c794a5164830abe9797186c527a2f691ff65ad
Author: Phillip Lord 
Commit: Phillip Lord 

Add package support.
---
 Cask | 2 +-
 Makefile | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/Cask b/Cask
index 0bc99a332b..0e2e6872c5 100644
--- a/Cask
+++ b/Cask
@@ -3,7 +3,7 @@
 
 (package-file "sisyphus.el")
 
-(files "sisyphus*.el")
+(files "sisyphus*.el" "sisyphus-doc.org")
 
 (development
  (depends-on "ert-runner")
diff --git a/Makefile b/Makefile
index b1b6994389..3338dc13e1 100644
--- a/Makefile
+++ b/Makefile
@@ -15,5 +15,7 @@ just-test:
 
 test: install just-test
 
+package:
+   cask package
 
-.PHONY: test
+.PHONY: test dist



[elpa] externals/assess e1b7740df5 55/95: Add unwind-protect to assess-call functions

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit e1b7740df50771b8eec5742f6910988e4a08b88f
Author: Phillip Lord 
Commit: Phillip Lord 

Add unwind-protect to assess-call functions

Previously these functions were messy and left advice or hooks around if
their lambda failed. This side-effect could call fail-over in tests.
This is now addressed.
---
 assess-call.el   | 27 +++
 test/assess-call-test.el | 46 ++
 2 files changed, 61 insertions(+), 12 deletions(-)

diff --git a/assess-call.el b/assess-call.el
index df5bfaa438..7e1b18d8cc 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -85,10 +85,11 @@ The return value is a list of cons cells, with car being the
 parameters of the calls, and the cdr being the return value."
   (let ((capture-lambda
  (assess-call--capture-lambda)))
-(advice-add sym-fn :around capture-lambda)
-(funcall fn)
-(advice-remove sym-fn capture-lambda)
-(funcall capture-lambda :return)))
+(unwind-protect
+(progn (advice-add sym-fn :around capture-lambda)
+   (funcall fn)
+   (funcall capture-lambda :return))
+  (advice-remove sym-fn capture-lambda
 
 (defun assess-call--hook-capture-lambda ()
   "Returns a function which captures all of its args.
@@ -110,14 +111,16 @@ args."
 APPEND and LOCAL are passed to `add-hook` and documented there."
   (let ((capture-lambda
  (assess-call--hook-capture-lambda)))
-(add-hook hook-var
-  capture-lambda
-  append local)
-(funcall fn)
-(remove-hook hook-var
- capture-lambda
- local)
-(funcall capture-lambda :return)))
+(unwind-protect
+(progn
+  (add-hook hook-var
+capture-lambda
+append local)
+  (funcall fn)
+  (funcall capture-lambda :return))
+  (remove-hook hook-var
+   capture-lambda
+   local
 
 (provide 'assess-call)
 ;;; assess-call.el ends here
diff --git a/test/assess-call-test.el b/test/assess-call-test.el
index 8c243e78e5..46e9cf953e 100644
--- a/test/assess-call-test.el
+++ b/test/assess-call-test.el
@@ -26,6 +26,7 @@
 
 ;; #+begin_src emacs-lisp
 (require 'ert)
+(require 'assess)
 (require 'assess-call)
 
 (defun assess-call-return-car (&rest args)
@@ -65,6 +66,36 @@
(assess-call-capture-multiply 1 2)
(assess-call-capture-multiply 3 4))
 
+(defun assess-call-adviced-p (symbol)
+  "Return non-nil if SYMBOL has advice."
+  ;; eeech
+  (let ((retn nil))
+(advice-mapc
+ (lambda (&rest _)
+   (setq retn t))
+ symbol)
+retn))
+
+(ert-deftest assess-call-test-capture-fail ()
+  (should-not
+   (assess-call-adviced-p 'assess-call-capture-multiply))
+  (should
+   (let ((retn nil))
+ (assess-call-capture
+  'assess-call-capture-multiply
+  (lambda ()
+(setq retn
+  (assess-call-adviced-p 'assess-call-capture-multiply
+ retn))
+  (should-not
+   (condition-case err
+   (assess-call-capture
+'assess-call-capture-multiply
+(lambda ()
+  (signal 'assess-deliberate-error nil)))
+ (assess-deliberate-error
+  (assess-call-adviced-p 'assess-call-capture-multiply)
+
 (defvar assess-call-test-hook nil)
 
 (ert-deftest assess-call-test-hook-test ()
@@ -92,4 +123,19 @@
(run-hook-with-args 'assess-call-test-hook
'bob))
 
+
+(ert-deftest assess-call-test-hook-fail ()
+  ;; should be nil
+  (should (not assess-call-test-hook))
+  ;; and should be nil if we error
+  (should
+   (condition-case err
+   (assess-call-capture-hook
+'assess-call-test-hook
+(lambda ()
+  (signal 'assess-deliberate-error nil)))
+ (assess-deliberate-error
+  (not assess-call-test-hook)
+
 (provide 'assess-call-test)
+;;; assess-call-test ends here



[elpa] externals/assess 2335b8bd69 63/95: Remove old call-capture variable

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 2335b8bd69329bff4eb70880d9c94e99ce39a702
Author: Phillip Lord 
Commit: Phillip Lord 

Remove old call-capture variable

The old code was a hangover from the implementation to using a closure.
---
 assess-call.el | 11 ---
 1 file changed, 11 deletions(-)

diff --git a/assess-call.el b/assess-call.el
index d1369346e9..dc30978852 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -49,17 +49,6 @@
 
 
 ;; #+begin_src emacs-lisp
-(defvar assess-call--capture-store nil
-  "Store for parameters captured.")
-
-(defun assess-call--capture-advice (fn &rest args)
-  "Advice for capturing args and return from a function."
-  (let ((rtn (apply fn args)))
-(setq assess-call--capture-store
-  (cons (cons args rtn)
-assess-call--capture-store))
-rtn))
-
 (defun assess-call--capture-lambda ()
   "Return function which captures args and returns of another.
 



[elpa] externals/assess e2e5f1cbbd 69/95: Merge pull request #6 from NicolasPetton/master

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit e2e5f1cbbdeb4bdeb7a474f0ec1b038c3786b1ef
Merge: 61771edab7 bafab950e7
Author: Phil Lord 
Commit: GitHub 

Merge pull request #6 from NicolasPetton/master

Fix typos
---
 assess-robot.el | 2 +-
 assess.el   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/assess-robot.el b/assess-robot.el
index 7bc57fb0ce..ff9ea7148b 100644
--- a/assess-robot.el
+++ b/assess-robot.el
@@ -43,7 +43,7 @@ keyboard macros."
  (switch-to-buffer ,before-buffer)
 
 (defmacro assess-robot-with-temp-switched-buffer (&rest body)
-  "Evalate BODY in temporary buffer.
+  "Evaluate BODY in temporary buffer.
 
 As with `assess-robot-with-switched-buffer', `switch-to-buffer'
 is used."
diff --git a/assess.el b/assess.el
index 77ae4ab894..14b76ef363 100644
--- a/assess.el
+++ b/assess.el
@@ -35,7 +35,7 @@
 ;;  - explainer functions for all predicates giving useful output
 ;;  - macros for creating many temporary buffers at once, and for restoring the
 ;;buffer list.
-;;  - methods for testing indentation, by comparision or "roundtripping".
+;;  - methods for testing indentation, by comparison or "round-tripping".
 ;;  - methods for testing fontification.
 
 ;; Assess aims to be a stateless as possible, leaving Emacs unchanged whether



[elpa] externals/assess 4a71be3ba5 38/95: Change all references to sisyphus to assess

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 4a71be3ba50f736436a1004d7bf48b1b210547b8
Author: Phillip Lord 
Commit: Phillip Lord 

Change all references to sisyphus to assess
---
 .ert-runner|   2 +-
 .gitignore |   2 +-
 Makefile   |   2 +-
 README.md  |  10 +-
 sisyphus-discover.el   |  22 +--
 sisyphus-doc.org   |   4 +-
 sisyphus.el| 386 -
 test/sisyphus-discover-test.el |   4 +-
 test/sisyphus-test.el  | 232 -
 9 files changed, 332 insertions(+), 332 deletions(-)

diff --git a/.ert-runner b/.ert-runner
index b4e59470d5..19825d5a80 100644
--- a/.ert-runner
+++ b/.ert-runner
@@ -1 +1 @@
---load sisyphus.el
\ No newline at end of file
+--load assess.el
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 298469056b..91d2d9d0a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
 /.cask
-/sisyphus.org
+/assess.org
 /makefile-local
diff --git a/Makefile b/Makefile
index 497a1990a1..b6f1391d46 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@ package:
EMACS-$(EMACS) cask package
 
 discover-test:
-   EMACS=$(EMACS) cask exec $(EMACS) --batch -l sisyphus.el -l 
sisyphus-discover.el -f sisyphus-discover-run-and-exit-batch
+   EMACS=$(EMACS) cask exec $(EMACS) --batch -l assess.el -l 
assess-discover.el -f assess-discover-run-and-exit-batch
 
 .PHONY: test dist
 
diff --git a/README.md b/README.md
index 799a72e870..6255bf658b 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-Sisyphus
+Assess
 
 
-Sisyphus provides additional support for testing Emacs packages.
+Assess provides additional support for testing Emacs packages.
 
 It provides:
   - a set of predicates for comparing strings, buffers and file contents.
@@ -11,14 +11,14 @@ It provides:
   - methods for testing indentation, by comparision or "roundtripping".
   - methods for testing fontification.
 
-Sisyphus aims to be a stateless as possible, leaving Emacs unchanged whether
+Assess aims to be a stateless as possible, leaving Emacs unchanged whether
 the tests succeed or fail, with respect to buffers, open files and so on; this
 helps to keep tests independent from each other.
 
 Documentation
 -
 
-Sisyphus is fully documented using the `lentic-doc` documentation system.
+Assess is fully documented using the `lentic-doc` documentation system.
 
 
 Status
@@ -29,4 +29,4 @@ to change the interface, but it could happen. It is ready for 
careful use,
 therefore.
 
 
-[![Build 
Status](https://travis-ci.org/phillord/sisyphus.svg)](https://travis-ci.org/phillord/sisyphus)
+[![Build 
Status](https://travis-ci.org/phillord/assess.svg)](https://travis-ci.org/phillord/assess)
diff --git a/sisyphus-discover.el b/sisyphus-discover.el
index b901b2087a..4020d15bee 100644
--- a/sisyphus-discover.el
+++ b/sisyphus-discover.el
@@ -1,4 +1,4 @@
-;;; sisyphus-discover.el --- Test support functions -*- lexical-binding: t -*-
+;;; assess-discover.el --- Test support functions -*- lexical-binding: t -*-
 
 ;;; Header:
 
@@ -28,7 +28,7 @@
 
 ;;; Code:
 
-(defun sisyphus-discover-tests (directory)
+(defun assess-discover-tests (directory)
   "Discover tests in directory.
 
 Tests may confirm to one (and only one!) of several naming
@@ -63,21 +63,21 @@ tests directory."
   (concat dir-tests file))
 (directory-files dir-tests nil ".*.el"))
 
-(defun sisyphus-discover--load-all-tests (directory)
+(defun assess-discover--load-all-tests (directory)
   (mapc
'load
-   (sisyphus-discover-tests directory)))
+   (assess-discover-tests directory)))
 
-(defun sisyphus-discover-load-tests ()
+(defun assess-discover-load-tests ()
   (interactive)
-  (sisyphus-discover--load-all-tests default-directory))
+  (assess-discover--load-all-tests default-directory))
 
-(defun sisyphus-discover-run-batch (&optional selector)
-  (sisyphus-discover--load-all-tests default-directory)
+(defun assess-discover-run-batch (&optional selector)
+  (assess-discover--load-all-tests default-directory)
   (ert-run-tests-batch selector))
 
-(defun sisyphus-discover-run-and-exit-batch (&optional selector)
-  (sisyphus-discover--load-all-tests default-directory)
+(defun assess-discover-run-and-exit-batch (&optional selector)
+  (assess-discover--load-all-tests default-directory)
   (ert-run-tests-batch-and-exit selector))
 
-(provide 'sisyphus-discover)
+(provide 'assess-discover)
diff --git a/sisyphus-doc.org b/sisyphus-doc.org
index b19c04e63a..03ccd986a1 100644
--- a/sisyphus-doc.org
+++ b/sisyphus-doc.org
@@ -1,8 +1,8 @@
 
-#+TITLE: Testing with Sisyphus
+#+TITLE: Testing with Assess
 
 #+AUTHOR: Phillip Lord
 
 #+INFOJS_OPT: view:info toc:nil
 
-#+INCLUDE: "sisyphus.org" :lines "28-"
+#+INCLUDE: "assess.org" :lines "28-"
diff --git a/sisyphus.el b/sisyphus.el
index c9da968320..6c1b879dff 100644
--- a/sisyphus.el
+++ b/sisyphus.el
@@ -1,

[elpa] externals/assess ed2c221673 48/95: Update copyright year

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit ed2c221673aa5bc98f62429493262206e41ac715
Author: Phillip Lord 
Commit: Phillip Lord 

Update copyright year
---
 assess-discover.el   | 2 +-
 assess.el| 2 +-
 test/assess-call-test.el | 2 +-
 test/assess-test.el  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/assess-discover.el b/assess-discover.el
index a9d0a2af29..bc39efe857 100644
--- a/assess-discover.el
+++ b/assess-discover.el
@@ -11,7 +11,7 @@
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
-;; Copyright (C) 2015, Phillip Lord
+;; Copyright (C) 2015, 2016, Phillip Lord
 
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/assess.el b/assess.el
index 82c43a7584..1174874f34 100644
--- a/assess.el
+++ b/assess.el
@@ -11,7 +11,7 @@
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
-;; Copyright (C) 2015, Phillip Lord
+;; Copyright (C) 2015, 2016, Phillip Lord
 
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/test/assess-call-test.el b/test/assess-call-test.el
index 9c61ab2a4e..25ae531d58 100644
--- a/test/assess-call-test.el
+++ b/test/assess-call-test.el
@@ -4,7 +4,7 @@
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
-;; Copyright (C) 2015, Phillip Lord, Newcastle University
+;; Copyright (C) 2015, 2016, Phillip Lord, Newcastle University
 
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/test/assess-test.el b/test/assess-test.el
index 59e86e7342..d3a0617d98 100644
--- a/test/assess-test.el
+++ b/test/assess-test.el
@@ -4,7 +4,7 @@
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
-;; Copyright (C) 2015, Phillip Lord, Newcastle University
+;; Copyright (C) 2015, 2016, Phillip Lord, Newcastle University
 
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by



[elpa] externals/assess 4b941ebd35 57/95: Added -pkg.el file to .gitignore

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 4b941ebd3505fcbbf0e2d7599110a1909bde2f2e
Author: Phillip Lord 
Commit: Phillip Lord 

Added -pkg.el file to .gitignore
---
 .gitignore | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 4c69be2977..f488c078f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@
 /assess.org
 /makefile-local
 *.elc
-/dist
\ No newline at end of file
+/dist
+/assess-pkg.el



[elpa] externals/assess 190eab03d7 74/95: Fix debug declation in -with-temp-buffers

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 190eab03d7e5e9f574be65ae726703d51f227f4a
Author: Phillip Lord 
Commit: Phillip Lord 

Fix debug declation in -with-temp-buffers

As the macro uses `with-current-buffer' inside the let form that it
generates, its interface differs from that of let. The new debug
declaration supports this different behaviour. Update documentation
to reflect.

Addresses #10
---
 assess.el | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/assess.el b/assess.el
index bee76dfb11..2876e3fefc 100644
--- a/assess.el
+++ b/assess.el
@@ -209,14 +209,19 @@
 (defmacro assess-with-temp-buffers (varlist &rest body)
   "Bind variables in varlist to temp buffers, then eval BODY.
 
-VARLIST is of the same form as a `let' binding. Each element is a
-symbol or a list (symbol valueforms). Each symbol is bound to a
-buffer generated with `generate-new-buffer'. VALUEFORMS are
-evaluated with the buffer current. Any buffers created inside
-this form (and not just by this form!) are unconditionally killed
-at the end of the form."
+VARLIST is (nearly) of the same form as a `let' binding. Each
+element is a symbol or a list (symbol valueforms). Each symbol is
+bound to a buffer generated with `generate-new-buffer'.
+VALUEFORMS are evaluated with the buffer current. Any buffers
+created inside this form (and not just by this form!) are
+unconditionally killed at the end of the form.
+
+Unlike `let' there can be multiple valueforms which are,
+effectively, placed within an impicit `progn'."
   (declare (indent 1)
-   (debug let))
+   (debug
+((&rest (symbolp &rest form))
+ body)))
   (let ((let-form
  (-map
   #'assess--temp-buffer-let-form



[elpa] externals/assess 46834f9423 54/95: Add ability to capture calls to hooks

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 46834f94233707f5ff40b59a1191a3dd09059e12
Author: Phillip Lord 
Commit: Phillip Lord 

Add ability to capture calls to hooks
---
 assess-call.el   | 29 +
 test/assess-call-test.el | 27 +++
 2 files changed, 56 insertions(+)

diff --git a/assess-call.el b/assess-call.el
index 6cd0b3997a..df5bfaa438 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -90,6 +90,35 @@ parameters of the calls, and the cdr being the return value."
 (advice-remove sym-fn capture-lambda)
 (funcall capture-lambda :return)))
 
+(defun assess-call--hook-capture-lambda ()
+  "Returns a function which captures all of its args.
+
+The returned function takes any number of ARGS. In the special
+case that the first arg is `:return` then it returns all previous
+args."
+  (let ((capture-store nil))
+(lambda (&rest args)
+  (if (eq (car-safe args) :return)
+  capture-store
+(setq capture-store
+  (cons
+   args
+   capture-store))
+
+(defun assess-call-capture-hook (hook-var fn &optional append local)
+  "Trace all calls to HOOK-VAR when FN is called with no args.
+APPEND and LOCAL are passed to `add-hook` and documented there."
+  (let ((capture-lambda
+ (assess-call--hook-capture-lambda)))
+(add-hook hook-var
+  capture-lambda
+  append local)
+(funcall fn)
+(remove-hook hook-var
+ capture-lambda
+ local)
+(funcall capture-lambda :return)))
+
 (provide 'assess-call)
 ;;; assess-call.el ends here
 ;; #+end_src
diff --git a/test/assess-call-test.el b/test/assess-call-test.el
index 9d0876b3fb..8c243e78e5 100644
--- a/test/assess-call-test.el
+++ b/test/assess-call-test.el
@@ -65,4 +65,31 @@
(assess-call-capture-multiply 1 2)
(assess-call-capture-multiply 3 4))
 
+(defvar assess-call-test-hook nil)
+
+(ert-deftest assess-call-test-hook-test ()
+ (should
+  (equal
+   '(nil)
+   (assess-call-capture-hook
+'assess-call-test-hook
+(lambda ()
+  (run-hooks 'assess-call-test-hook)
+ (should
+  (equal
+   '(nil nil)
+   (assess-call-capture-hook
+'assess-call-test-hook
+(lambda ()
+  (run-hooks 'assess-call-test-hook)
+  (run-hooks 'assess-call-test-hook)
+  (should
+   (equal
+'((bob))
+(assess-call-capture-hook
+ 'assess-call-test-hook
+ (lambda ()
+   (run-hook-with-args 'assess-call-test-hook
+   'bob))
+
 (provide 'assess-call-test)



[elpa] externals/assess 387e5cfe2f 51/95: v0.2 release

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 387e5cfe2f010fb3da7f1b670fc27c19ace99b4a
Author: Phillip Lord 
Commit: Phillip Lord 

v0.2 release
---
 assess.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/assess.el b/assess.el
index 1174874f34..5946b56081 100644
--- a/assess.el
+++ b/assess.el
@@ -6,7 +6,7 @@
 
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
-;; Version: 0.1
+;; Version: 0.2
 ;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.



[elpa] externals/assess fca80753d7 66/95: Kill even modified file associated buffers

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit fca80753d788e48ffe782b016db925663c9e84ce
Author: Phillip Lord 
Commit: Phillip Lord 

Kill even modified file associated buffers
---
 README.md | 5 +
 assess.el | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index de114c2cc0..e5eb1a6d02 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,11 @@ Emacs-25.1 release.
 Release
 ---
 
+## Version 0.4
+
+`assess-with-preserved-buffer-list' now kills even file associated buffers at
+the end of the form.
+
 ## Version 0.3.2
 
 Fix Version Number
diff --git a/assess.el b/assess.el
index 6fa05d623b..77ae4ab894 100644
--- a/assess.el
+++ b/assess.el
@@ -183,7 +183,9 @@
  (progn
,@body)
(--map
-(kill-buffer it)
+(with-current-buffer it
+  (set-buffer-modified-p nil)
+  (kill-buffer))
 (-difference (buffer-list)
  before-buffer-list)
 



[elpa] externals/assess 0eb198f05e 40/95: Documentation Fix.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 0eb198f05ed835aab66e742338cc4b70bb86875d
Author: Phillip Lord 
Commit: Phillip Lord 

Documentation Fix.
---
 assess.el | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/assess.el b/assess.el
index 6c1b879dff..63cef2f4fa 100644
--- a/assess.el
+++ b/assess.el
@@ -49,10 +49,12 @@
 
 ;;; Status:
 
-;; Assess is currently a work in progress; the API is not currently stable.
-;; Even the name is somewhat is doubt. Assess seemed like a good idea when I
-;; started, but I keep spelling it wrong. I may also considering winding this
-;; into ert-x, because then it can be used to test core.
+;; Assess is currently a work in progress; the API is not currently stable. I
+;; may also considering winding this into ert-x, because then it can be used
+;; to test core.
+
+;; Assess used to be called sisyphus which seemed like a good idea when I
+;; started, but I kept spelling it wrong.
 
 
 ;;; Code:



[elpa] externals/assess 74d8de749c 64/95: assess-with-temp-buffers now uses let*

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 74d8de749c5557c7a55db474c839b2e8a3228a27
Author: Phillip Lord 
Commit: Phillip Lord 

assess-with-temp-buffers now uses let*

Previously it used `let' but this prevents the creation of a buffer
based on another temporary buffer.
---
 assess.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/assess.el b/assess.el
index 3ae4734dc8..6fa05d623b 100644
--- a/assess.el
+++ b/assess.el
@@ -220,7 +220,7 @@ at the end of the form."
   #'assess--temp-buffer-let-form
   varlist)))
 `(assess-with-preserved-buffer-list
-  (let ,let-form
+  (let* ,let-form
 ,@body
 
 (defmacro assess-as-temp-buffer (x &rest body)



[elpa] externals/assess d809f70748 53/95: Documentation for `assess-call--capture-lambda`

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit d809f7074889b892de7b23087eb70205b4ae74d6
Author: Phillip Lord 
Commit: Phillip Lord 

Documentation for `assess-call--capture-lambda`
---
 assess-call.el | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/assess-call.el b/assess-call.el
index cd5c35f54e..6cd0b3997a 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -63,6 +63,12 @@
 rtn))
 
 (defun assess-call--capture-lambda ()
+  "Return function which captures args and returns of another.
+
+The returned function takes FN the function to call, and any
+number of ARGS to call the function with. In the special case,
+that FN is equal to `:return`, then all previous args and return
+values of FN are returned instead."
   (let ((capture-store nil))
 (lambda (fn &rest args)
   (if (eq fn :return)



[elpa] externals/assess e5b0415126 85/95: Update README and release number

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit e5b0415126c6bd24bd220759ff04220d963a0195
Author: Phillip Lord 
Commit: Phillip Lord 

Update README and release number
---
 README.md | 9 ++---
 assess.el | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 13b7f46d3f..5e244bc583 100644
--- a/README.md
+++ b/README.md
@@ -45,12 +45,15 @@ Emacs-25.1 release.
 Release
 ---
 
+## Version 5.0 (SNAPSHOT)
+
 ## Version 0.4
 
 This release features the first feature added by an external contributor
-(thanks to Damien Cassou). Assess now also supports the entire Emacs-24
-series, after several requests; that this was possible was largely, if
-indirectly, due to Nicolas Petton's seq.el supporting all these versions
+(thanks to Matus Goljer and Damien Cassou). Assess now also supports the
+entire Emacs-24 series, after several requests; that this was possible was
+largely, if indirectly, due to Nicolas Petton's seq.el supporting all these
+versions
 
 ### Features
 
diff --git a/assess.el b/assess.el
index 18f206f443..e084e218f4 100644
--- a/assess.el
+++ b/assess.el
@@ -6,7 +6,7 @@
 
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
-;; Version: 0.4
+;; Version: 0.5
 ;; Package-Requires: ((emacs "24.1")(m-buffer "0.15"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.



[elpa] externals/assess 2db9834e4e 44/95: Rework Makefile for update to cask

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 2db9834e4ebab866dea7d6014e1fb6d53bb29350
Author: Phillip Lord 
Commit: Phillip Lord 

Rework Makefile for update to cask
---
 Makefile | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index b6f1391d46..c8281a855c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,17 @@
-EMACS ?= emacs
+EMACS = emacs
 CASK ?= cask
 
--include makefile-local
+#-include makefile-local
+
+ifdef EMACS
+EMACS_ENV=EMACS=$(EMACS)
+endif
 
-export EMACS
 
 all: install test
 
 install:
-   EMACS=$(EMACS) cask install
+   $(EMACS_ENV) cask install
 
 just-test:
EMACS=$(EMACS) cask exec ert-runner



[elpa] externals/assess df2532f2ec 56/95: Add autoload cookies

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit df2532f2ecdd53fb23edf7555b1f4fdf3b3b27e5
Author: Phillip Lord 
Commit: Phillip Lord 

Add autoload cookies
---
 assess-discover.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/assess-discover.el b/assess-discover.el
index bc39efe857..54d2f337db 100644
--- a/assess-discover.el
+++ b/assess-discover.el
@@ -72,10 +72,12 @@ tests directory."
   (interactive)
   (assess-discover--load-all-tests default-directory))
 
+;;;###autoload
 (defun assess-discover-run-batch (&optional selector)
   (assess-discover--load-all-tests default-directory)
   (ert-run-tests-batch selector))
 
+;;;###autoload
 (defun assess-discover-run-and-exit-batch (&optional selector)
   (assess-discover--load-all-tests default-directory)
   (ert-run-tests-batch-and-exit selector))



[elpa] externals/assess 38084cff73 60/95: v0.3 release

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 38084cff73da843929a525be5f73f0b0b2ccff51
Author: Phillip Lord 
Commit: Phillip Lord 

v0.3 release
---
 assess.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/assess.el b/assess.el
index 5946b56081..18b460ad45 100644
--- a/assess.el
+++ b/assess.el
@@ -6,7 +6,7 @@
 
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
-;; Version: 0.2
+;; Version: 0.3
 ;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.



[elpa] externals/assess 216adb069c 47/95: Add assess-call.el

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 216adb069ced3904750e0fd8609d2e662d9f22c1
Author: Phillip Lord 
Commit: Phillip Lord 

Add assess-call.el

A new package for capturing parameters and return values.
---
 assess-call.el   | 54 ++
 test/assess-call-test.el | 68 
 2 files changed, 122 insertions(+)

diff --git a/assess-call.el b/assess-call.el
new file mode 100644
index 00..69f3c83a7e
--- /dev/null
+++ b/assess-call.el
@@ -0,0 +1,54 @@
+;;; assess-call.el --- Call and Return -*- lexical-binding: t -*-
+
+;;; Header:
+
+;; This file is not part of Emacs
+
+;; Author: Phillip Lord 
+;; Maintainer: Phillip Lord 
+;; Version: 0.1
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
+
+;; The contents of this file are subject to the GPL License, Version 3.0.
+
+;; Copyright (C) 2016, Phillip Lord
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;; Capture calls to functions, checking parameters and return values.
+
+;;; Code:
+
+;; #+begin_src emacs-lisp
+(defvar assess-call--capture-store nil)
+
+(defun assess-call--capture-advice (fn &rest args)
+  (let ((rtn (apply fn args)))
+(setq assess-call--capture-store
+  (cons (cons args rtn)
+assess-call--capture-store))
+rtn))
+
+(defun assess-call-capture (sym-fn fn)
+  (setq assess-call--capture-store nil)
+  (advice-add sym-fn :around #'assess-call--capture-advice)
+  (funcall fn)
+  (advice-remove sym-fn #'siyphus-call--capture-advice)
+  assess-call--capture-store)
+
+(provide 'assess-call)
+;;; assess-call.el ends here
+;; #+end_src
diff --git a/test/assess-call-test.el b/test/assess-call-test.el
new file mode 100644
index 00..9c61ab2a4e
--- /dev/null
+++ b/test/assess-call-test.el
@@ -0,0 +1,68 @@
+;;; assess-call-test.el --- Tests for assess-call.el -*- lexical-binding: t -*-
+
+;;; Header:
+
+;; The contents of this file are subject to the GPL License, Version 3.0.
+
+;; Copyright (C) 2015, Phillip Lord, Newcastle University
+
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+
+;;; Code:
+
+;; ** Requires
+
+;; #+begin_src emacs-lisp
+(require 'ert)
+(require 'assess-call)
+
+(defun assess-call-return-car (&rest args)
+  (car args))
+
+(defun assess-call-call-return-car (&rest args)
+  (apply #'assess-call-return-car args))
+
+(ert-deftest call-capture ()
+  (should
+   (equal
+'(((10 11 12) . 10))
+(assess-call-capture
+ 'assess-call-return-car
+ (lambda ()
+   (assess-call-return-car 10 11 12))
+
+(ert-deftest call-capture-deep ()
+  (should
+   (equal
+'(((20 21 22) . 20))
+(assess-call-capture
+ 'assess-call-return-car
+ (lambda ()
+   (assess-call-call-return-car 20 21 22))
+
+(defun call-capture-multiply (a b)
+  (* a b))
+
+(ert-deftest call-capture-twice ()
+  (should
+   (equal
+'(((3 4) . 12) ((1 2) . 2))
+(assess-call-capture
+ 'call-capture-multiply
+ (lambda ()
+   (call-capture-multiply 1 2)
+   (call-capture-multiply 3 4))
+
+(provide 'assess-call-test)



[elpa] externals/assess ac8ff1f928 39/95: Change all file names to assess.

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit ac8ff1f92836ea4497027ae0269f132967a5fb1f
Author: Phillip Lord 
Commit: Phillip Lord 

Change all file names to assess.
---
 Cask| 4 ++--
 sisyphus-discover.el => assess-discover.el  | 0
 sisyphus-doc.org => assess-doc.org  | 0
 sisyphus.el => assess.el| 0
 test/{sisyphus-discover-test.el => assess-discover-test.el} | 0
 test/{sisyphus-test.el => assess-test.el}   | 0
 6 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Cask b/Cask
index 0e2e6872c5..8e06f12332 100644
--- a/Cask
+++ b/Cask
@@ -1,9 +1,9 @@
 (source gnu)
 (source melpa)
 
-(package-file "sisyphus.el")
+(package-file "assess.el")
 
-(files "sisyphus*.el" "sisyphus-doc.org")
+(files "assess*.el" "assess-doc.org")
 
 (development
  (depends-on "ert-runner")
diff --git a/sisyphus-discover.el b/assess-discover.el
similarity index 100%
rename from sisyphus-discover.el
rename to assess-discover.el
diff --git a/sisyphus-doc.org b/assess-doc.org
similarity index 100%
rename from sisyphus-doc.org
rename to assess-doc.org
diff --git a/sisyphus.el b/assess.el
similarity index 100%
rename from sisyphus.el
rename to assess.el
diff --git a/test/sisyphus-discover-test.el b/test/assess-discover-test.el
similarity index 100%
rename from test/sisyphus-discover-test.el
rename to test/assess-discover-test.el
diff --git a/test/sisyphus-test.el b/test/assess-test.el
similarity index 100%
rename from test/sisyphus-test.el
rename to test/assess-test.el



[elpa] externals/assess 07bd7f8915 58/95: Doc fixes

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 07bd7f8915adee7b5152de1d5295c25a6c2c1297
Author: Phillip Lord 
Commit: Phillip Lord 

Doc fixes
---
 .gitignore | 1 +
 assess-call.el | 2 --
 assess-discover.el | 2 --
 3 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index f488c078f6..dc951994f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
 *.elc
 /dist
 /assess-pkg.el
+/assess-call.org
diff --git a/assess-call.el b/assess-call.el
index 7e1b18d8cc..d1369346e9 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -6,8 +6,6 @@
 
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
-;; Version: 0.1
-;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
diff --git a/assess-discover.el b/assess-discover.el
index 54d2f337db..a580d2c903 100644
--- a/assess-discover.el
+++ b/assess-discover.el
@@ -6,8 +6,6 @@
 
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
-;; Version: 0.1
-;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 



[elpa] externals/assess 979c26b3b7 73/95: Add assess-with-filesystem

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 979c26b3b79785be0786f6d99f49469f8277051e
Author: Damien Cassou 
Commit: Phillip Lord 

Add assess-with-filesystem

(assess-with-filesystem SPEC &rest FORMS)

Create temporary file hierarchy according to SPEC and run FORMS.

SPEC is a list of specifications for file system entities which
are to be created.
---
 .gitignore  |  2 +-
 assess.el   | 98 +
 test/assess-test.el | 50 +++
 3 files changed, 149 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 26c5cded2f..7479b28172 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,4 @@
 *.elc
 /dist
 /assess-pkg.el
-
+/test/assess-test.org
diff --git a/assess.el b/assess.el
index 1460bace74..bee76dfb11 100644
--- a/assess.el
+++ b/assess.el
@@ -590,6 +590,104 @@ See also `assess-make-related-file'."
(kill-buffer ,temp-buffer))
 ;; #+end_src
 
+;; ** Creating Files and Directories
+;; I can write some documentation here if Phil wants to merge code below.
+;; *** Implementation
+;; #+BEGIN_SRC emacs-lisp
+(defun assess-with-filesystem--make-parent (spec path)
+  "If SPEC is a file name, create its parent directory rooted at PATH."
+  (save-match-data
+(when (string-match "\\(.*\\)/" spec)
+  (make-directory (concat path "/" (match-string 1 spec)) t
+
+(defun assess-with-filesystem--init (spec &optional path)
+  "Interpret the SPEC inside PATH."
+  (setq path (or path "."))
+  (cond
+   ((listp spec)
+(cond
+ ;; non-empty file
+ ((and (stringp (car spec))
+   (stringp (cadr spec)))
+  (when (string-match-p "/\\'" (car spec))
+(error "Invalid syntax: `%s' - cannot create a directory with text 
content" (car spec)))
+  (assess-with-filesystem--make-parent (car spec) path)
+  (with-temp-file (concat path "/" (car spec))
+(insert (cadr spec
+ ;; directory
+ ((and (stringp (car spec))
+   (consp (cadr spec)))
+  (make-directory (concat path "/" (car spec)) t)
+  (mapc (lambda (s) (assess-with-filesystem--init
+s (concat path "/" (car spec (cadr spec)))
+ ;; recursive spec, this should probably never happen
+ (t (mapc (lambda (s) (assess-with-filesystem--init s path)) spec
+   ;; directory specified using a string
+   ((and (stringp spec)
+ (string-match-p "/\\'" spec))
+(make-directory (concat path "/" spec) t))
+   ;; empty file
+   ((stringp spec)
+(assess-with-filesystem--make-parent spec path)
+(write-region "" nil (concat path "/" spec) nil 'no-message))
+   (t (error "Invalid syntax: `%s'" spec
+
+(defmacro assess-with-filesystem (spec &rest forms)
+  "Create temporary file hierarchy according to SPEC and run FORMS.
+
+SPEC is a list of specifications for file system entities which
+are to be created.
+
+File system entities are specified as follows:
+
+1. a string FILE is the name of file to be created
+  - if the string contains \"/\", parent directories are created
+automatically
+  - if the string ends with \"/\", a directory is created
+2. a list of two elements (FILE CONTENT) specifies filename and the
+  content to put in the file
+  - the \"/\" rules apply in the same way as in 1., except you can not
+create a directory this way
+3. a list where car is a string and cadr is a list (DIR SPEC) is a
+  recursive specification evaluated with DIR as current directory
+  - the \"/\" rules apply in the same way as in 1., except you can not
+create a file this way, a directory is always created
+
+An example showing all the possibilities:
+
+  (\"empty_file\"
+   \"dir/empty_file\"
+   \"dir/subdir/\"
+   (\"non_empty_file\" \"content\")
+   (\"dir/anotherdir/non_empty_file\" \"tralala\")
+   (\"big_dir\" (\"empty_file\"
+  (\"non_empty_file\" \"content\")
+  \"subdir/empty_file\")))
+
+If we want to run some code in a directory with an empty file
+\"foo.txt\" present, we call:
+
+  (assess-with-filesystem '(\"foo\")
+(code-here)
+(and-some-more-forms))
+
+You should *not* depend on where exactly the hierarchy is created.
+By default, a new directory in `temporary-file-directory' is
+created and the specification is evaluated there, but this is up
+for change."
+  (declare (indent 1))
+  (let ((temp-root (make-symbol "temp-root"))
+(old-dd (make-symbol "old-dd")))
+`(let ((,temp-root (make-temp-file "temp-fs-" t))
+   (,old-dd default-directory))
+   (unwind-protect
+   (progn
+ (setq default-directory ,temp-root)
+ (mapc (lambda (s) (assess-with-filesystem--init s ".")) ,spec)
+ ,@forms)
+ (delete-directory ,temp-root t)
+ (setq default-directory ,old-dd)
+;; #+END_SRC
 ;; ** Indentation functions
 
 ;; There are two main ways to test indentation -- we can either take unindented
diff --git a/test/ass

[elpa] externals/assess be539d6447 92/95: Update test framework, drop early 24

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit be539d6447c24369692466e01b0190257f3c0bd1
Author: Phillip Lord 
Commit: Phillip Lord 

Update test framework, drop early 24

This adds a new docker based test launcher. This version does not use
cask, as this can be problematic on older versions. We also drop
support for Emacs before 24.3 due to a strange bug which seems to
prevent package installation.
---
 .gitignore|  1 +
 .travis.yml   | 20 +---
 Makefile  | 42 +++---
 test-by-cp|  9 +
 test-from-git |  7 +++
 test/local-sandbox.el | 25 +
 6 files changed, 90 insertions(+), 14 deletions(-)

diff --git a/.gitignore b/.gitignore
index 7479b28172..c8bf50de28 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@
 /dist
 /assess-pkg.el
 /test/assess-test.org
+/elpa-sandbox/
diff --git a/.travis.yml b/.travis.yml
index 00ecd357d5..71a4f8b228 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,20 +1,18 @@
 language: generic
 sudo: no
 env:
- - EVM_EMACS=emacs-24.1-travis
- - EVM_EMACS=emacs-24.2-travis
- - EVM_EMACS=emacs-24.3-travis
- - EVM_EMACS=emacs-24.4-travis
- - EVM_EMACS=emacs-24.5-travis
- - EVM_EMACS=emacs-25.1-travis
- - EVM_EMACS=emacs-25.2-travis
- - EVM_EMACS=emacs-25.3-travis
- - EVM_EMACS=emacs-26.1-travis
  - EVM_EMACS=emacs-git-snapshot-travis
+ - EVM_EMACS=emacs-26.3-travis
+ - EVM_EMACS=emacs-26.2-travis
+ - EVM_EMACS=emacs-26.1-travis
+ - EVM_EMACS=emacs-25.3-travis
+ - EVM_EMACS=emacs-25.2-travis
+ - EVM_EMACS=emacs-25.1-travis
+ - EVM_EMACS=emacs-24.5-travis
+ - EVM_EMACS=emacs-24.4-travis
 install:
   - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > 
travis.sh && source ./travis.sh
   - evm install $EVM_EMACS --use --skip
-  - cask
 script:
   - emacs --version
-  - make
\ No newline at end of file
+  - make cask-free-test
diff --git a/Makefile b/Makefile
index a95e173daa..1f1f570060 100644
--- a/Makefile
+++ b/Makefile
@@ -28,12 +28,48 @@ just-test:
 export:
export
 
+
 multi-test:
make EMACS=$(EMACSES)/master/src/emacs test
make EMACS=$(EMACSES)/emacs-26.1/src/emacs test
make EMACS=$(EMACSES)/emacs-25.3/src/emacs test
make EMACS=$(EMACSES)/emacs-24.5/src/emacs test
make EMACS=$(EMACSES)/emacs-24.4/src/emacs test
-   make EMACS=$(EMACSES)/emacs-24.3/src/emacs test
-   make EMACS=$(EMACSES)/emacs-24.2/src/emacs test
-   make EMACS=$(EMACSES)/emacs-24.1/src/emacs test
+
+elpa-sandbox:
+   mkdir elpa-sandbox
+
+
+cask-free-test: elpa-sandbox
+   emacs --batch -q \
+   --directory=. \
+   --load test/local-sandbox.el \
+   --eval '(assess-discover-run-and-exit-batch t)'
+
+DOCKER_TAG=26
+test-cp:
+   docker run -it --rm --name docker-cp -v $(PWD):/usr/src/app -w 
/usr/src/app --entrypoint=/bin/bash  silex/emacs:$(DOCKER_TAG)-dev ./test-by-cp
+
+test-git:
+   docker run -it --rm --name docker-git -v $(PWD):/usr/src/app -w 
/usr/src/app --entrypoint=/bin/bash  silex/emacs:$(DOCKER_TAG)-dev 
./test-from-git
+
+multi-test-cp:
+   $(MAKE) test-cp DOCKER_TAG=26.2
+   $(MAKE) test-cp DOCKER_TAG=26.1
+   $(MAKE) test-cp DOCKER_TAG=25.3
+   $(MAKE) test-cp DOCKER_TAG=25.2
+   $(MAKE) test-cp DOCKER_TAG=25.1
+   $(MAKE) test-cp DOCKER_TAG=24.5
+   $(MAKE) test-cp DOCKER_TAG=24.4
+   $(MAKE) test-cp DOCKER_TAG=master
+
+multi-test-git:
+   $(MAKE) test-git DOCKER_TAG=27.0
+   $(MAKE) test-git DOCKER_TAG=26.3
+   $(MAKE) test-git DOCKER_TAG=26.2
+   $(MAKE) test-git DOCKER_TAG=26.1
+   $(MAKE) test-git DOCKER_TAG=25.3
+   $(MAKE) test-git DOCKER_TAG=25.2
+   $(MAKE) test-git DOCKER_TAG=25.1
+   $(MAKE) test-git DOCKER_TAG=24.5
+   $(MAKE) test-git DOCKER_TAG=24.4
diff --git a/test-by-cp b/test-by-cp
new file mode 100644
index 00..be459f9eb1
--- /dev/null
+++ b/test-by-cp
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+cd ..
+mkdir copy
+cd copy
+cp -rf ../app/* .
+
+rm makefile-local
+make cask-free-test
diff --git a/test-from-git b/test-from-git
new file mode 100644
index 00..255cca84ca
--- /dev/null
+++ b/test-from-git
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+cd ..
+mkdir git
+cd git
+git clone ../app .
+make test
diff --git a/test/local-sandbox.el b/test/local-sandbox.el
new file mode 100644
index 00..019e0c65e7
--- /dev/null
+++ b/test/local-sandbox.el
@@ -0,0 +1,25 @@
+(setq package-user-dir
+  (concat
+   default-directory
+   "elpa-sandbox/"
+   (int-to-string emacs-major-version)
+   "."
+   (int-to-string emacs-minor-version)
+   ))
+
+
+(setq package-archives
+  '(("gnu" . "https://elpa.gnu.org/packages/";)
+("melpa-stable" . "https://stable.melpa.org/packages/";)
+))
+
+;; switch this off or Emacs-25 will fail to get to gnu
+(setq package-check-signature nil)
+(package-initialize)
+(package-refresh-contents)
+
+(package-install 

[elpa] externals/assess 29e80b7540 65/95: Ensure capture function returns correct value

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 29e80b7540edb1a570b43a3b39b3e0643a9d56b5
Author: Phillip Lord 
Commit: Phillip Lord 

Ensure capture function returns correct value

Previously, assess-call-capture was forcing the return of internal data
structures from the captured function. It now does not affect the return
value at all.
---
 assess-call.el   |  3 ++-
 test/assess-call-test.el | 18 ++
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/assess-call.el b/assess-call.el
index dc30978852..78d61740a7 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -63,7 +63,8 @@ values of FN are returned instead."
 (let ((rtn (apply fn args)))
   (setq capture-store
 (cons (cons args rtn)
-  capture-store)))
+  capture-store))
+  rtn)
 
 (defun assess-call-capture (sym-fn fn)
   "Trace all calls to SYM-FN when FN is called with no args.
diff --git a/test/assess-call-test.el b/test/assess-call-test.el
index 46e9cf953e..66da692039 100644
--- a/test/assess-call-test.el
+++ b/test/assess-call-test.el
@@ -137,5 +137,23 @@
  (assess-deliberate-error
   (not assess-call-test-hook)
 
+
+(ert-deftest assess-call-return-value ()
+  "Test that return of the instrumented form is not affected.
+
+The form that we are capturing should return the same value that
+it would were it not instrumented, which was not true with
+earlier versions of this library."
+  (should
+   (= 4
+  (let ((rtn-from-form))
+(assess-call-capture
+ #'assess-call-capture-multiply
+ (lambda ()
+   (setq rtn-from-form
+ (assess-call-capture-multiply 2 2
+rtn-from-form
+
+
 (provide 'assess-call-test)
 ;;; assess-call-test ends here



[elpa] externals/assess 0a3e94477a 78/95: Support all of Emacs 24 series

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 0a3e94477a08c3cda7c1dd4ea05ef87208901ac0
Author: Phillip Lord 
Commit: Phillip Lord 

Support all of Emacs 24 series

Make advice-add optional (introduced in Emacs 24.4).  Write define-error
longhand (introduced in Emacs 24.3).  Add mass test target to Makefile.  Add
more version to travis test.
---
 .travis.yml |  9 ++---
 Makefile|  9 +
 assess-robot.el |  1 -
 assess.el   | 17 -
 4 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3fc09e0de2..c4dfc6c8c8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,12 @@
 language: generic
 sudo: no
 env:
-  - EVM_EMACS=emacs-24.4-travis
-  - EVM_EMACS=emacs-24.5-travis
-  - EVM_EMACS=emacs-git-snapshot-travis
+ - EVM_EMACS=emacs-24.1-travis
+ - EVM_EMACS=emacs-24.2-travis
+ - EVM_EMACS=emacs-24.3-travis
+ - EVM_EMACS=emacs-24.4-travis
+ - EVM_EMACS=emacs-24.5-travis
+ - EVM_EMACS=emacs-25.1-travis
 install:
   - curl -fsSkL https://gist.github.com/rejeep/ebcd57c3af83b049833b/raw > 
travis.sh && source ./travis.sh
   - evm install $EVM_EMACS --use --skip
diff --git a/Makefile b/Makefile
index d0b39818b1..727e5944f0 100644
--- a/Makefile
+++ b/Makefile
@@ -27,3 +27,12 @@ just-test:
 
 export:
export
+
+multi-test:
+   make EMACS=$(EMACSES)/master/src/emacs test
+   make EMACS=$(EMACSES)/emacs-25/src/emacs test
+   make EMACS=$(EMACSES)/emacs-25.1/src/emacs test
+   make EMACS=$(EMACSES)/emacs-24.5/src/emacs test
+   make EMACS=$(EMACSES)/emacs-24.4/src/emacs test
+   make EMACS=$(EMACSES)/emacs-24.3/src/emacs test
+   make EMACS=$(EMACSES)/emacs-24.2/src/emacs test
diff --git a/assess-robot.el b/assess-robot.el
index ff9ea7148b..45ff0e2cba 100644
--- a/assess-robot.el
+++ b/assess-robot.el
@@ -109,4 +109,3 @@ In this case, MACRO is the \"long form\" accepted by
 
 (provide 'assess-robot)
 ;;; assess-robot.el ends here
-
diff --git a/assess.el b/assess.el
index 7cadab2c46..8485dcbf1c 100644
--- a/assess.el
+++ b/assess.el
@@ -7,7 +7,7 @@
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
 ;; Version: 0.3.2
-;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
+;; Package-Requires: ((emacs "24.1")(m-buffer "0.15"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
@@ -77,7 +77,7 @@
 ;; nadvice.el limits this package to Emacs 24.4. Emacs 25 has this fixed.
 
 ;; #+begin_src emacs-lisp
-(when (= emacs-major-version 24)
+(when (fboundp 'advice-add)
 
   (defun assess--ert-pp-with-indentation-and-newline (orig object)
 (let ((pp-escape-newlines nil))
@@ -97,9 +97,16 @@
 ;; get that for other reasons; so we create a new symbol here for general use.
 
 ;; #+begin_src emacs-lisp
-(define-error 'assess-deliberate-error
-  "An error deliberately caused during testing."
-  'error)
+(if (fboundp 'define-error)
+(define-error 'assess-deliberate-error
+  "An error deliberately caused during testing."
+  'error)
+  (put 'assess-deliberate-error
+   'error-conditions
+   '(error))
+  (put 'assess-deliberate-error
+   'error-message
+   "A error deliberately caused during testing."))
 ;; #+end_src
 
 ;; ** Buffer creation



[elpa] externals/assess 70c6d8c57d 70/95: Fix a few typos

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 70c6d8c57dbb9acb1df582289bc269016af20c2f
Author: Damien Cassou 
Commit: Damien Cassou 

Fix a few typos
---
 assess.el | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/assess.el b/assess.el
index 14b76ef363..d4e8122868 100644
--- a/assess.el
+++ b/assess.el
@@ -171,7 +171,7 @@
 ;; (buffer-string))
 ;; #+end_src
 
-;; ** Implementation
+;; *** Implementation
 
 ;; #+begin_src emacs-lisp
 (defmacro assess-with-preserved-buffer-list (&rest body)
@@ -238,7 +238,7 @@ See `assess-to-string' for the meaning of type-appropriate."
 
 ;; ** Types
 
-;; Many tests on files or buffers actually end up being string comparision.
+;; Many tests on files or buffers actually end up being string comparison.
 ;; In many cases, we want to compare the *contents* of a buffer to, for 
example,
 ;; the *contents* of a file.
 
@@ -303,7 +303,7 @@ FILE can be either a string, or a plist returned by
 (_ (error "Type not recognised"
 ;; #+end_src
 
-;; ** Entity Comparision
+;; ** Entity Comparison
 
 ;; In this section, we provide support for comparing strings, buffer or file
 ;; contents. The main entry point is `assess=', which works like `string=' but
@@ -499,7 +499,7 @@ automatically. See `assess=' for more information."
 ;; the only notable exception to this is those features which depend on the
 ;; current working directory (dir-local variables, for example).
 
-;; `assess-make-related-file' provides a simple method for doing this. For
+;; ~assess-make-related-file~ provides a simple method for doing this. For
 ;; example, this form will return exactly the contents of ~my-test-file.el~, 
even
 ;; if that file is current open in the current Emacs (even if the buffer has 
not
 ;; been saved). Likewise, a test opening this file could be run in a batch 
Emacs



[elpa] externals/assess 9521b07480 71/95: Fix and Publish documentation statically

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 9521b074808d30c50d45eba7d5c186c79d165e8c
Author: Phillip Lord 
Commit: Phillip Lord 

Fix and Publish documentation statically

Previously, documentation had to be generated with lentic-doc. There is
now a link to a pre-generating copy of the documentation, and a
description of how to generate it de novo.

Closes #8
---
 .gitignore |  7 ++-
 README.md  |  8 +++-
 assess.el  | 12 ++--
 3 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/.gitignore b/.gitignore
index dc951994f1..26c5cded2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,12 @@
 /.cask
 /assess.org
+/assess-call.org
+/assess-discover.org
+/assess-robot.org
+/assess-doc.html
+/assess.html
 /makefile-local
 *.elc
 /dist
 /assess-pkg.el
-/assess-call.org
+
diff --git a/README.md b/README.md
index e5eb1a6d02..dc4a640cac 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,13 @@ helps to keep tests independent from each other.
 Documentation
 -
 
-Assess is fully documented using the `lentic-doc` documentation system.
+Assess is fully
+[documented](http://homepages.cs.ncl.ac.uk/phillip.lord/lentic/assess-doc.html).
+Documentation is written and generating using the `lentic-doc` documentation
+system. It is also possible to generate the documentation locally:
+
+M-x package-install lentic-server
+M-x lentic-server-browse
 
 
 Status
diff --git a/assess.el b/assess.el
index 14b76ef363..1460bace74 100644
--- a/assess.el
+++ b/assess.el
@@ -254,10 +254,10 @@ See `assess-to-string' for the meaning of 
type-appropriate."
 ;; simple string and a file or buffer name.
 
 ;; #+begin_src elisp
-;; Identify "~/.emacs" as a file name
+;; ;; Identify "~/.emacs" as a file name
 ;; (assess-file "~/.emacs")
 
-;; Identify "*Messages*" as a buffer
+;; ;; Identify "*Messages*" as a buffer
 ;; (assess-buffer "*Messages*")
 ;; #+end_src
 
@@ -340,7 +340,7 @@ FILE can be either a string, or a plist returned by
 ;; comparison. Compare, for example, the results of running these two tests, 
one
 ;; using `string=' and one using `assess='.
 
-;; #+begin_example
+;; #+BEGIN_EXAMPLE
 ;; F temp
 ;; (ert-test-failed
 ;;  ((should
@@ -361,8 +361,8 @@ FILE can be either a string, or a plist returned by
 ;; b
 ;; Differ at:*** /tmp/a935uPW  2016-01-20 13:25:47.373076381 +
 ;; --- /tmp/b9357Zc2016-01-20 13:25:47.437076381 +
-;; ***
-;; *** 1 
+;;  ***
+;;  *** 1 
 ;; ! a
 ;; \\ No newline at end of file
 ;; --- 1 
@@ -370,7 +370,7 @@ FILE can be either a string, or a plist returned by
 ;; \\ No newline at end of file
 
 ;; "))
-;; #+end_example
+;; #+END_EXAMPLE
 
 ;; As `assess=' has a compatible interface with `string=' it is also possible
 ;; to add this explainer function to `string=' for use with tests which do not



[elpa] externals/assess bafab950e7 68/95: Fix typos

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit bafab950e7c31ce59c8554b514866063f0e06949
Author: Nicolas Petton 
Commit: Nicolas Petton 

Fix typos
---
 assess-robot.el | 2 +-
 assess.el   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/assess-robot.el b/assess-robot.el
index 7bc57fb0ce..ff9ea7148b 100644
--- a/assess-robot.el
+++ b/assess-robot.el
@@ -43,7 +43,7 @@ keyboard macros."
  (switch-to-buffer ,before-buffer)
 
 (defmacro assess-robot-with-temp-switched-buffer (&rest body)
-  "Evalate BODY in temporary buffer.
+  "Evaluate BODY in temporary buffer.
 
 As with `assess-robot-with-switched-buffer', `switch-to-buffer'
 is used."
diff --git a/assess.el b/assess.el
index 77ae4ab894..14b76ef363 100644
--- a/assess.el
+++ b/assess.el
@@ -35,7 +35,7 @@
 ;;  - explainer functions for all predicates giving useful output
 ;;  - macros for creating many temporary buffers at once, and for restoring the
 ;;buffer list.
-;;  - methods for testing indentation, by comparision or "roundtripping".
+;;  - methods for testing indentation, by comparison or "round-tripping".
 ;;  - methods for testing fontification.
 
 ;; Assess aims to be a stateless as possible, leaving Emacs unchanged whether



[elpa] externals/assess 63e934c6f2 76/95: State that text properties are ignored

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 63e934c6f2e502642dc1c915ec7576b92cebfde1
Author: Phillip Lord 
Commit: Phillip Lord 

State that text properties are ignored

Add an explicit statement that assess= ignores text properties, by
virtue of using string=. Add a test to support this.

Closes #11
---
 assess.el   |  4 +++-
 test/assess-test.el | 15 +++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/assess.el b/assess.el
index fdde8174de..7cadab2c46 100644
--- a/assess.el
+++ b/assess.el
@@ -470,7 +470,9 @@ afterwards for cleanup by the operating system."
 Equality in this sense means compare the contents in a way which
 is appropriate for the type of the two arguments. So, if they are
 strings, the compare strings, if buffers, then compare the buffer
-contents and so on."
+contents and so on.
+
+Text properties in strings or buffers are ignored."
   (string=
(assess-to-string a)
(assess-to-string b)))
diff --git a/test/assess-test.el b/test/assess-test.el
index 4fa902daf2..8158010752 100644
--- a/test/assess-test.el
+++ b/test/assess-test.el
@@ -526,4 +526,19 @@ This also tests the advice on string=."
 ;; https://github.com/phillord/assess/issues/5
 (ert-deftest issue-5-test-example ()
   (should-not (assess-indentation= 'fundamental-mode "foo" "bar")))
+
+
+(ert-deftest strings-with-unequal-properties ()
+  (should
+   (assess=
+(propertize "hello" 'property 1)
+"hello"))
+  (should
+   (assess-with-temp-buffers
+   ((a (insert ";; Commented")
+   (emacs-lisp-mode)
+   (font-lock-ensure))
+(b (insert ";; Commented")
+   (font-lock-ensure)))
+ (assess= a b
 ;; #+end_src



[elpa] externals/assess cb2c0361a7 91/95: Add expected failure

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit cb2c0361a78e241e21b86e2b893edbba7f88945d
Author: Phillip Lord 
Commit: Phillip Lord 

Add expected failure
---
 test/assess-test.el | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/test/assess-test.el b/test/assess-test.el
index 4bc06abf53..83eb697084 100644
--- a/test/assess-test.el
+++ b/test/assess-test.el
@@ -33,6 +33,16 @@
   (defalias 'cl-loop 'loop))
 ;; #+end_src
 
+;; ** Always failing test
+
+;; For when I need to test my test scripts!
+
+;; #+begin_src emacs-lisp
+(ert-deftest assess-fail-for-sure ()
+  :expected-result :failed
+  (should nil))
+;; #+end_src
+
 ;; ** Test Extraction
 
 ;; Assess supports tests functions which means that we need the ability to test



[elpa] externals/assess e57945bb84 75/95: Merge pull request #9 from DamienCassou/typos

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit e57945bb844600a8db041b56477141252b5573a4
Merge: 190eab03d7 70c6d8c57d
Author: Phil Lord 
Commit: GitHub 

Merge pull request #9 from DamienCassou/typos

Fix a few typos
---
 assess.el | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/assess.el b/assess.el
index 2876e3fefc..fdde8174de 100644
--- a/assess.el
+++ b/assess.el
@@ -171,7 +171,7 @@
 ;; (buffer-string))
 ;; #+end_src
 
-;; ** Implementation
+;; *** Implementation
 
 ;; #+begin_src emacs-lisp
 (defmacro assess-with-preserved-buffer-list (&rest body)
@@ -243,7 +243,7 @@ See `assess-to-string' for the meaning of type-appropriate."
 
 ;; ** Types
 
-;; Many tests on files or buffers actually end up being string comparision.
+;; Many tests on files or buffers actually end up being string comparison.
 ;; In many cases, we want to compare the *contents* of a buffer to, for 
example,
 ;; the *contents* of a file.
 
@@ -308,7 +308,7 @@ FILE can be either a string, or a plist returned by
 (_ (error "Type not recognised"
 ;; #+end_src
 
-;; ** Entity Comparision
+;; ** Entity Comparison
 
 ;; In this section, we provide support for comparing strings, buffer or file
 ;; contents. The main entry point is `assess=', which works like `string=' but
@@ -504,7 +504,7 @@ automatically. See `assess=' for more information."
 ;; the only notable exception to this is those features which depend on the
 ;; current working directory (dir-local variables, for example).
 
-;; `assess-make-related-file' provides a simple method for doing this. For
+;; ~assess-make-related-file~ provides a simple method for doing this. For
 ;; example, this form will return exactly the contents of ~my-test-file.el~, 
even
 ;; if that file is current open in the current Emacs (even if the buffer has 
not
 ;; been saved). Likewise, a test opening this file could be run in a batch 
Emacs



[elpa] externals/assess 9374be7b98 72/95: Add initial lentic support to assess-discover

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 9374be7b9899d674aae35ce49d7ddb3842109a66
Author: Phillip Lord 
Commit: Phillip Lord 

Add initial lentic support to assess-discover
---
 assess-discover.el | 4 
 1 file changed, 4 insertions(+)

diff --git a/assess-discover.el b/assess-discover.el
index a580d2c903..51cabb2bbe 100644
--- a/assess-discover.el
+++ b/assess-discover.el
@@ -26,6 +26,8 @@
 
 ;;; Code:
 
+
+;; #+begin_src emacs-lisp
 (defun assess-discover-tests (directory)
   "Discover tests in directory.
 
@@ -81,3 +83,5 @@ tests directory."
   (ert-run-tests-batch-and-exit selector))
 
 (provide 'assess-discover)
+;;; assess-discover.el ends here
+;; #+end_src



[elpa] externals/assess 44083d94fe 95/95: Minor adjustments while preparing for GNU ELPA

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 44083d94feb45d3636f7ee6c55e0ef6bbb32b938
Author: Stefan Monnier 
Commit: Stefan Monnier 

Minor adjustments while preparing for GNU ELPA

* test/assess-test.el: Assume `cl-lib` is available.  Silence warnings.
(strings-with-unequal-properties): Use `font-lock-ensure` when available.

* test/assess-call-test.el (assess-call-test-capture-fail)
(assess-call-test-hook-fail): Silence compiler warnings.

* dev-resources/elisp-unindented.eld:
* dev-resources/elisp-indented.eld: Change extension from `.el`.

* test/local-sandbox.el:
* test/assess-discover-test.el:
* dev-resources/elisp-fontified.el: Enable lexical-binding.
Add copyright notice.

* assess-discover.el:
* assess-call.el: Adjust copyright.

* assess-robot.el: Adjust copyright.  Silence compiler warnings.
(assess-robot-copy-and-finish): Simplify a tiny bit.

* assess.el: Adjust copyright.  Assume `advice-add` is available.
(assess--face-at=-1, assess--file-face-at=-1): Use `font-lock-ensure`
when available.

* .gitignore: Add ELPA-generated file.
---
 .gitignore |  1 +
 assess-call.el |  2 +-
 assess-discover.el |  4 +--
 assess-robot.el| 15 +-
 assess.el  | 32 --
 dev-resources/elisp-fontified.el   |  8 --
 .../{elisp-indented.el => elisp-indented.eld}  |  0
 .../{elisp-unindented.el => elisp-unindented.eld}  |  0
 test/assess-call-test.el   |  4 +--
 test/assess-discover-test.el   |  4 +++
 test/assess-test.el| 26 ++
 test/local-sandbox.el  |  4 +++
 12 files changed, 58 insertions(+), 42 deletions(-)

diff --git a/.gitignore b/.gitignore
index c8bf50de28..b6eaa89e2c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,5 +9,6 @@
 *.elc
 /dist
 /assess-pkg.el
+/assess-autoloads.el
 /test/assess-test.org
 /elpa-sandbox/
diff --git a/assess-call.el b/assess-call.el
index 78d61740a7..593c949f10 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -9,7 +9,7 @@
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
-;; Copyright (C) 2016, Phillip Lord
+;; Copyright (C) 2016-2022  Free Software Foundation, Inc.
 
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/assess-discover.el b/assess-discover.el
index 51cabb2bbe..cbaac48d27 100644
--- a/assess-discover.el
+++ b/assess-discover.el
@@ -9,7 +9,7 @@
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
-;; Copyright (C) 2015, 2016, Phillip Lord
+;; Copyright (C) 2015-2022  Free Software Foundation, Inc.
 
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -65,7 +65,7 @@ tests directory."
 
 (defun assess-discover--load-all-tests (directory)
   (mapc
-   'load
+   #'load
(assess-discover-tests directory)))
 
 (defun assess-discover-load-tests ()
diff --git a/assess-robot.el b/assess-robot.el
index 45ff0e2cba..8bb14f86c5 100644
--- a/assess-robot.el
+++ b/assess-robot.el
@@ -10,7 +10,7 @@
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.
 
-;; Copyright (C) 2016, Phillip Lord
+;; Copyright (C) 2016-2022  Free Software Foundation, Inc.
 
 ;; This program is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -85,8 +85,9 @@ In this case, MACRO is the \"long form\" accepted by
  (read-kbd-macro macro
 
 (defun assess-robot-copy-and-finish ()
-  "Copy the macro in edmacro to the kill-ring."
+  "Copy the macro in edmacro to the `kill-ring'."
   (interactive)
+  (declare-function edmacro-finish-edit "edmacro" ())
   (save-excursion
 (goto-char (point-min))
 (search-forward "Macro:")
@@ -96,16 +97,14 @@ In this case, MACRO is the \"long form\" accepted by
 (point)
 (point-max
   (with-temp-buffer
-(insert "\"")
-(insert string)
-(insert "\"")
+(insert "\"" string "\"")
 (kill-ring-save (point-min)
 (point-max
 (edmacro-finish-edit)))
 
-(eval-after-load
-'edmacro
-  '(define-key edmacro-mode-map (kbd "C-c C-k") 'assess-robot-copy-and-finish))
+(with-eval-after-load 'edmacro
+  (defvar edmacro-mode-map)
+  (define-key edmacro-mode-map (kbd "C-c C-k") #'assess-robot-copy-and-finish))
 
 (provide 'assess-robot)
 ;;; assess-robot.el ends here
diff --git a/assess.el b/assess.el
index f1b53f2c90..8ebd27574a 100644
--- a/assess.el
+++ b/assess.el
@@ -11,7 +11,7 @

[elpa] externals/assess 83fddff944 83/95: Update README

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 83fddff9440e3802643cdeab16b3a54ac38f92c2
Author: Phillip Lord 
Commit: Phillip Lord 

Update README
---
 README.md | 23 ++-
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index dc4a640cac..13b7f46d3f 100644
--- a/README.md
+++ b/README.md
@@ -30,9 +30,11 @@ system. It is also possible to generate the documentation 
locally:
 Status
 --
 
-It is now an early release; for those parts that already exist I do not 
expected
-to change the interface, but it could happen. It is ready for careful use,
-therefore.
+The core of assess should now be considered stable and may be actively used.
+
+Assess supports runs all of the Emacs-24 series, Emacs-25 and Emacs-26 (to
+be). I will maintain support for older Emacs as far back as I am easily able
+to compile or run older versions; currently this is Emacs-24.1.
 
 Roadmap
 ---
@@ -45,8 +47,19 @@ Release
 
 ## Version 0.4
 
-`assess-with-preserved-buffer-list' now kills even file associated buffers at
-the end of the form.
+This release features the first feature added by an external contributor
+(thanks to Damien Cassou). Assess now also supports the entire Emacs-24
+series, after several requests; that this was possible was largely, if
+indirectly, due to Nicolas Petton's seq.el supporting all these versions
+
+### Features
+
+- All of Emacs-24 series now supported.
+- `assess-with-filesystem` enables creation of a temporary file hierarchy.
+
+### Bug Fixes
+ - `assess-with-preserved-buffer-list` now kills even file associated buffers
+   at the end of the form.
 
 ## Version 0.3.2
 



[elpa] externals/assess 47ce039423 77/95: Avoid font-lock-ensure for older Emacs

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 47ce039423f660174d097698615aaad6c77e87fb
Author: Phillip Lord 
Commit: Phillip Lord 

Avoid font-lock-ensure for older Emacs
---
 test/assess-test.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/test/assess-test.el b/test/assess-test.el
index 8158010752..79b1e6e84d 100644
--- a/test/assess-test.el
+++ b/test/assess-test.el
@@ -537,8 +537,9 @@ This also tests the advice on string=."
(assess-with-temp-buffers
((a (insert ";; Commented")
(emacs-lisp-mode)
-   (font-lock-ensure))
+   ;; use instead of font-lock-ensure for emacs 24
+   (font-lock-fontify-buffer))
 (b (insert ";; Commented")
-   (font-lock-ensure)))
+   (font-lock-fontify-buffer)))
  (assess= a b
 ;; #+end_src



[elpa] externals/assess 87118057b3 84/95: v0.4 Release

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit 87118057b3ae0e6542fa5e22050eb44d6efe8baa
Author: Phillip Lord 
Commit: Phillip Lord 

v0.4 Release
---
 assess.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/assess.el b/assess.el
index 167d5a0d1a..18f206f443 100644
--- a/assess.el
+++ b/assess.el
@@ -6,7 +6,7 @@
 
 ;; Author: Phillip Lord 
 ;; Maintainer: Phillip Lord 
-;; Version: 0.3.2
+;; Version: 0.4
 ;; Package-Requires: ((emacs "24.1")(m-buffer "0.15"))
 
 ;; The contents of this file are subject to the GPL License, Version 3.0.



[elpa] externals/assess f1edef3220 52/95: Move call implementation to closure

2022-07-19 Thread ELPA Syncer
branch: externals/assess
commit f1edef32206a3a80e51453f7630ba04d94def25f
Author: Phillip Lord 
Commit: Phillip Lord 

Move call implementation to closure

Previously, calls were captured in a global var which was only going to
work with one call at a time. Now we use a closure to avoid this problem.
---
 assess-call.el   | 21 -
 test/assess-call-test.el |  8 
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/assess-call.el b/assess-call.el
index 4a9dfdabad..cd5c35f54e 100644
--- a/assess-call.el
+++ b/assess-call.el
@@ -62,16 +62,27 @@
 assess-call--capture-store))
 rtn))
 
+(defun assess-call--capture-lambda ()
+  (let ((capture-store nil))
+(lambda (fn &rest args)
+  (if (eq fn :return)
+  capture-store
+(let ((rtn (apply fn args)))
+  (setq capture-store
+(cons (cons args rtn)
+  capture-store)))
+
 (defun assess-call-capture (sym-fn fn)
   "Trace all calls to SYM-FN when FN is called with no args.
 
 The return value is a list of cons cells, with car being the
 parameters of the calls, and the cdr being the return value."
-  (setq assess-call--capture-store nil)
-  (advice-add sym-fn :around #'assess-call--capture-advice)
-  (funcall fn)
-  (advice-remove sym-fn #'siyphus-call--capture-advice)
-  assess-call--capture-store)
+  (let ((capture-lambda
+ (assess-call--capture-lambda)))
+(advice-add sym-fn :around capture-lambda)
+(funcall fn)
+(advice-remove sym-fn capture-lambda)
+(funcall capture-lambda :return)))
 
 (provide 'assess-call)
 ;;; assess-call.el ends here
diff --git a/test/assess-call-test.el b/test/assess-call-test.el
index 25ae531d58..9d0876b3fb 100644
--- a/test/assess-call-test.el
+++ b/test/assess-call-test.el
@@ -52,7 +52,7 @@
  (lambda ()
(assess-call-call-return-car 20 21 22))
 
-(defun call-capture-multiply (a b)
+(defun assess-call-capture-multiply (a b)
   (* a b))
 
 (ert-deftest call-capture-twice ()
@@ -60,9 +60,9 @@
(equal
 '(((3 4) . 12) ((1 2) . 2))
 (assess-call-capture
- 'call-capture-multiply
+ 'assess-call-capture-multiply
  (lambda ()
-   (call-capture-multiply 1 2)
-   (call-capture-multiply 3 4))
+   (assess-call-capture-multiply 1 2)
+   (assess-call-capture-multiply 3 4))
 
 (provide 'assess-call-test)



  1   2   3   4   >