aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/sqlite.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/sqlite.el')
-rw-r--r--lisp/sqlite.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/sqlite.el b/lisp/sqlite.el
index 46e35ac18d8..efc5997fb5c 100644
--- a/lisp/sqlite.el
+++ b/lisp/sqlite.el
@@ -32,7 +32,8 @@
32If BODY completes normally, commit the changes and return 32If BODY completes normally, commit the changes and return
33the value of BODY. 33the value of BODY.
34If BODY signals an error, or transaction commit fails, roll 34If BODY signals an error, or transaction commit fails, roll
35back the transaction changes." 35back the transaction changes before allowing the signal to
36propagate."
36 (declare (indent 1) (debug (form body))) 37 (declare (indent 1) (debug (form body)))
37 (let ((db-var (gensym)) 38 (let ((db-var (gensym))
38 (func-var (gensym)) 39 (func-var (gensym))
@@ -48,8 +49,8 @@ back the transaction changes."
48 (setq ,res-var (funcall ,func-var)) 49 (setq ,res-var (funcall ,func-var))
49 (setq ,commit-var (sqlite-commit ,db-var)) 50 (setq ,commit-var (sqlite-commit ,db-var))
50 ,res-var) 51 ,res-var)
51 (or ,commit-var (sqlite-rollback ,db-var)))) 52 (or ,commit-var (sqlite-rollback ,db-var)))
52 (funcall ,func-var)))) 53 (funcall ,func-var)))))
53 54
54(provide 'sqlite) 55(provide 'sqlite)
55 56