[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/emacsql a1ce9f16f2 097/427: Add emacsql-with-connection ba
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/emacsql a1ce9f16f2 097/427: Add emacsql-with-connection back in. |
Date: |
Tue, 13 Dec 2022 02:59:31 -0500 (EST) |
branch: elpa/emacsql
commit a1ce9f16f2a6dcd13de6c3e4d6e1df04ed387c2b
Author: Christopher Wellons <wellons@nullprogram.com>
Commit: Christopher Wellons <wellons@nullprogram.com>
Add emacsql-with-connection back in.
---
emacsql.el | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/emacsql.el b/emacsql.el
index c746e4e276..1983ca6ab6 100644
--- a/emacsql.el
+++ b/emacsql.el
@@ -128,6 +128,21 @@ buffer. This is for debugging purposes."
(when (and process (process-live-p process))
(process-send-string process ".exit\n"))))
+(defmacro emacsql-with-connection (conn-spec &rest body)
+ "Open an Emacsql connection, evaluate BODY, and close the connection.
+CONN-SPEC is a connection specification like the call to
+`emacsql-connect', establishing a single binding.
+
+ (emacsql-with-connection (db \"company.db\")
+ (emacsql db [:create-table foo [x]])
+ (emacsql db [:insert :into foo :values ([1] [2] [3])])
+ (emacsql db [:select * :from foo]))"
+ (declare (indent 1))
+ `(let ((,(car conn-spec) (emacsql-connect ,@(cdr conn-spec))))
+ (unwind-protect
+ (progn ,@body)
+ (emacsql-close ,(car conn-spec)))))
+
(defun emacsql-buffer (conn)
"Get proccess buffer for CONN."
(process-buffer (emacsql-process conn)))
- [nongnu] elpa/emacsql 77ae713186 046/427: Create table expander., (continued)
- [nongnu] elpa/emacsql 77ae713186 046/427: Create table expander., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql e859204451 064/427: Flesh out more README., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 35676bb560 065/427: Fix README examples., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 847f3bd87f 078/427: Add new keywords to listing., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql a9b9d6bfc8 083/427: Fix typo in README., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 29f65b3b8e 093/427: Update Windows statement in the README., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql b447994514 033/427: Change table type recommendation., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 4fa57ba758 051/427: Fully drop named parsing., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 7c572d688d 052/427: Fix % operator situation., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 84499878d0 081/427: Add :union, :union-all, :difference, and :except., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql a1ce9f16f2 097/427: Add emacsql-with-connection back in.,
ELPA Syncer <=
- [nongnu] elpa/emacsql 7cfed08ab8 099/427: Add docstring to emacsql--log., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql da9797e948 098/427: Add a system-level test., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql bd6e02db55 104/427: Be much more strict with identifiers., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 682c1816fb 111/427: Add optional font-locking., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 3eb06cdd73 114/427: Add GROUP BY expander., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql e08094c78f 058/427: More precise parsing., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql b9599f1f41 066/427: Spelling error., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql f410b5d663 068/427: Fix spelling error., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql b3110c9fa9 018/427: Rename .sqlite to .db., ELPA Syncer, 2022/12/13
- [nongnu] elpa/emacsql 031ec59f18 048/427: Add combine function to with-vars macro., ELPA Syncer, 2022/12/13