From: Lars Ingebrigtsen Date: Sat, 11 Dec 2021 06:47:34 +0000 (+0100) Subject: Fix Fsqlite_finalize book-keeping X-Git-Tag: emacs-29.0.90~3604^2~11 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=17569c94954dc1d9d47155a8ca987d8ff4855180;p=emacs.git Fix Fsqlite_finalize book-keeping * src/sqlite.c (Fsqlite_finalize): Mark the object as dead. --- diff --git a/src/sqlite.c b/src/sqlite.c index 42a7a3a0268..c1f3e7b599f 100644 --- a/src/sqlite.c +++ b/src/sqlite.c @@ -290,7 +290,7 @@ DEFUN ("sqlite-close", Fsqlite_close, Ssqlite_close, 1, 1, 0, check_sqlite (db, false); sqlite3_close (XSQLITE (db)->db); XSQLITE (db)->db = NULL; - return Qnil; + return Qt; } /* Bind values in a statement like @@ -647,6 +647,7 @@ This will free the resources held by SET. */) { check_sqlite (set, true); sqlite3_finalize (XSQLITE (set)->stmt); + XSQLITE (set)->db = NULL; return Qt; } diff --git a/test/src/sqlite-tests.el b/test/src/sqlite-tests.el index 412ea291893..7ccea1c2a54 100644 --- a/test/src/sqlite-tests.el +++ b/test/src/sqlite-tests.el @@ -79,7 +79,9 @@ (should (equal (sqlite-next set) '("bar" 2))) (should-not (sqlite-next set)) - (should-not (sqlite-more-p set)))) + (should-not (sqlite-more-p set)) + (sqlite-finalize set) + (should-error (sqlite-next set)))) (ert-deftest sqlite-chars () (skip-unless (sqlite-available-p))