[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/assess 33b6c3c390 12/95: New macro `sisyphus-with-temp-
From: |
ELPA Syncer |
Subject: |
[elpa] externals/assess 33b6c3c390 12/95: New macro `sisyphus-with-temp-buffers'. |
Date: |
Tue, 19 Jul 2022 15:57:29 -0400 (EDT) |
branch: externals/assess
commit 33b6c3c390dfb5c2dd625af115bb34f385f06fc9
Author: Phillip Lord <phillip.lord@newcastle.ac.uk>
Commit: Phillip Lord <phillip.lord@newcastle.ac.uk>
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 5dde98a124 31/95: Merge branch 'master' of github.com:phillord/sisyphus, (continued)
- [elpa] externals/assess 5dde98a124 31/95: Merge branch 'master' of github.com:phillord/sisyphus, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 0eb198f05e 40/95: Documentation Fix., ELPA Syncer, 2022/07/19
- [elpa] externals/assess c0bdc94e49 41/95: Remove erroneous debug statement., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 2db9834e4e 44/95: Rework Makefile for update to cask, ELPA Syncer, 2022/07/19
- [elpa] externals/assess e820ccf163 05/95: Emacs 24.4 or later., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 3f89d8601f 15/95: Port tests to sisyphus with-temp-buffers., ELPA Syncer, 2022/07/19
- [elpa] externals/assess acb460e26c 16/95: All git-snapshot., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 2e42c93191 06/95: Remove debug statement., ELPA Syncer, 2022/07/19
- [elpa] externals/assess eb56d9627d 07/95: String diff file save is now silent., ELPA Syncer, 2022/07/19
- [elpa] externals/assess a459abe966 11/95: New macro `sisyphus-with-preserved-buffer-list'., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 33b6c3c390 12/95: New macro `sisyphus-with-temp-buffers'.,
ELPA Syncer <=
- [elpa] externals/assess 890906bfcb 17/95: Interface written as single overloaded function., ELPA Syncer, 2022/07/19
- [elpa] externals/assess f3416dadb1 18/95: Indentation test functions., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 1b01542ccd 20/95: Fontification testing., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 2e556a62ae 22/95: Add new test file., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 32a00524a8 24/95: Fix unused variable issues, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 3cf57afcaf 26/95: Merge pull request #1 from syohex/fix, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 00c794a516 29/95: Add package support., ELPA Syncer, 2022/07/19
- [elpa] externals/assess f490f18a18 32/95: Merge branch 'master' of github.com:phillord/sisyphus, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 0d079db1a7 34/95: Completed documentation., ELPA Syncer, 2022/07/19
- [elpa] externals/assess cab9fea7b8 28/95: Documentation for everything, ELPA Syncer, 2022/07/19