]> git.eshelyaron.com Git - emacs.git/commit
Add sqlite3 support to Emacs
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 11 Dec 2021 03:55:57 +0000 (04:55 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 11 Dec 2021 03:55:57 +0000 (04:55 +0100)
commit3d38d1d1345aa65c4018b42e6c648606e32216f8
tree5e6b51f9aa79c6a2e7604934f3ffe9314db21c71
parentaf1c5ec0fcd3f25234cfe2986c873ff2e5ed63a0
Add sqlite3 support to Emacs

* configure.ac: Add check for the sqlite library.
* doc/lispref/text.texi (Database): Document it.

* lisp/sqlite.el: New file.

* lisp/term/w32-win.el (dynamic-library-alist): Add a mapping.

* src/Makefile.in (SQLITE3_LIBS): Add the libraries.

* src/alloc.c (union emacs_align_type): Add a Lisp_Sqlite struct.

* src/data.c (Ftype_of): Add sqlite.

* src/emacs.c (main): Load the syms.

* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN): Add PVEC_SQLITE.
(GCALIGNED_STRUCT): New struct to keep data for sqlite database
objects and statement objects.
(SQLITEP, SQLITE, CHECK_SQLITE, XSQLITE): New macros for accessing
the objects.

* src/pdumper.c (dump_vectorlike): Update hash.
(dump_vectorlike): Don't dump it.

* src/print.c (print_vectorlike): Add a printer for the sqlite
object.

* src/sqlite.c: New file.

* test/src/sqlite-tests.el: Add tests.
15 files changed:
admin/CPP-DEFINES
configure.ac
doc/lispref/elisp.texi
doc/lispref/text.texi
lisp/sqlite.el [new file with mode: 0644]
lisp/term/w32-win.el
src/Makefile.in
src/alloc.c
src/data.c
src/emacs.c
src/lisp.h
src/pdumper.c
src/print.c
src/sqlite.c [new file with mode: 0644]
test/src/sqlite-tests.el [new file with mode: 0644]