summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-09-01 20:11:41 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-09-01 20:11:41 +0200
commit7a738fba4cc14b31b0d9a3a88258e76de34ea1fb (patch)
tree5b4195a92400965fd8510c1695845932c01f5678
parentad968343b10553bbf9d34e14e00a756576d5758e (diff)
downloadcontext-7a738fba4cc14b31b0d9a3a88258e76de34ea1fb.tar.gz
2016-09-01 19:38:00
-rw-r--r--doc/context/documents/general/manuals/sql-mkiv.pdfbin90609 -> 90616 bytes
-rw-r--r--doc/context/documents/general/manuals/swiglib-mkiv.pdfbin167938 -> 163664 bytes
-rw-r--r--doc/context/sources/general/manuals/sql/sql-mkiv.tex13
-rw-r--r--doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdfbin20433 -> 20433 bytes
-rw-r--r--doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex179
-rw-r--r--metapost/context/base/mpiv/mp-grap.mpiv4
-rw-r--r--metapost/context/base/mpiv/mp-mlib.mpiv16
-rw-r--r--scripts/context/lua/mtxrun.lua8
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua8
-rw-r--r--scripts/context/stubs/unix/mtxrun8
-rw-r--r--scripts/context/stubs/win64/mtxrun.lua8
-rw-r--r--tex/context/base/context-version.pdfbin4258 -> 4261 bytes
-rw-r--r--tex/context/base/mkiv/colo-ini.mkiv4
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/l-lua.lua1
-rw-r--r--tex/context/base/mkiv/publ-ini.mkiv5
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin9247 -> 9184 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin368146 -> 368151 bytes
-rw-r--r--tex/context/base/mkiv/tabl-ntb.mkiv106
-rw-r--r--tex/context/base/mkiv/util-lua.lua12
-rw-r--r--tex/context/base/mkiv/util-sql-imp-client.lua10
-rw-r--r--tex/context/base/mkiv/util-sql-imp-library.lua2
-rw-r--r--tex/context/base/mkiv/util-sql-imp-swiglib.lua2
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin774731 -> 774735 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60793 -> 60796 bytes
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
-rw-r--r--tex/generic/context/luatex/luatex-swiglib-test.lua751
28 files changed, 1037 insertions, 106 deletions
diff --git a/doc/context/documents/general/manuals/sql-mkiv.pdf b/doc/context/documents/general/manuals/sql-mkiv.pdf
index fa9a5ad61..8d3588615 100644
--- a/doc/context/documents/general/manuals/sql-mkiv.pdf
+++ b/doc/context/documents/general/manuals/sql-mkiv.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/swiglib-mkiv.pdf b/doc/context/documents/general/manuals/swiglib-mkiv.pdf
index 57b717f9b..19ad12c4e 100644
--- a/doc/context/documents/general/manuals/swiglib-mkiv.pdf
+++ b/doc/context/documents/general/manuals/swiglib-mkiv.pdf
Binary files differ
diff --git a/doc/context/sources/general/manuals/sql/sql-mkiv.tex b/doc/context/sources/general/manuals/sql/sql-mkiv.tex
index ec2c999aa..1b05c8738 100644
--- a/doc/context/sources/general/manuals/sql/sql-mkiv.tex
+++ b/doc/context/sources/general/manuals/sql/sql-mkiv.tex
@@ -93,7 +93,7 @@ least currently) no \TEX\ interface. The examples shown here work in \CONTEXT,
but you need to keep in mind that \LUA\ scripts can also use this interface.
{\em Although this code is under construction the interfaces are unlikely to
-change, if only because we use it on production.}
+change, if only because we use it in production.}
\stopsection
@@ -135,6 +135,15 @@ and then load it as follows:
local presets = table.load("presets.lua")
\stoptyping
+A \type {sqlite} database has a much simpler preset. The default suffix of the
+file is \type {db}. The other fields are just ignored.
+
+\starttyping
+return {
+ database = "test",
+}
+\stoptyping
+
If you really want, you can use some library to open a connection, execute a
query, collect results and close the connection, but here we use just one
function that does it all. The presets are used to access the database and the
@@ -232,7 +241,7 @@ local data, keys = utilities.sql.execute {
presets = presets,
template = template,
variables = {
- artist = "Dream Theater",
+ artist = "Porcupine Tree",
},
}
\stoptyping
diff --git a/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdf b/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdf
index d576c7d91..4f3213154 100644
--- a/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdf
+++ b/doc/context/sources/general/manuals/swiglib/swiglib-mkiv-gm-1.pdf
Binary files differ
diff --git a/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex b/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex
index c24be76bf..c66b8f7a3 100644
--- a/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex
+++ b/doc/context/sources/general/manuals/swiglib/swiglib-mkiv.tex
@@ -109,14 +109,19 @@ have different demands. It also fits in the spirit of \TEX\ and \LUA\ to minimiz
the core components.
The technical setup is by Luigi Scarso and documentation about how to build the
-libraries is part of the \SWIGLIB\ repository. Testing happens with help of the
-\CONTEXT\ (garden) infrastructure. This short document only deals with usage in
-\CONTEXT\ but also covers rather plain usage.
+libraries is (will be) part of the \SWIGLIB\ repository. Testing happens with
+help of the \CONTEXT\ (garden) infrastructure. This short document only deals
+with usage in \CONTEXT\ but also covers rather plain usage.
-\blank \start \em todo: reference to Luigi's manual \stop \blank
+The set of supported libraries in the \SWIGLIB\ subversion trunk is just a subset
+of what is possible and we don't see it as the responsibility of the \LUATEX\
+team to support all that is around. The subset also serves as an example for
+other libraries. We also don't ship wrappers (other that those used in \CONTEXT)
+as this is delegated to the macro packages.
\stopsection
+
\startsection[title=Inside \CONTEXT]
The recommended way to load a library in \CONTEXT\ is by using the
@@ -338,6 +343,172 @@ while \type {luatex} is used.
\stopsection
+\startsection[title=Compiling]
+
+Normally you will take the binaries from the \CONTEXT\ garden but if you ever want
+to compile yourself, it's not that hard to do. For \LINUX\ you need to install the
+compilers:
+
+\starttyping
+apt-get install gcc
+apt-get install g++
+\stoptyping
+
+Then you need to make sure you have a copy of the \LUATEX\ sources (you need to use
+your own paths):
+
+\starttyping
+cd /data
+svn checkout https://foundry.supelec.fr/svn/luatex/trunk luatex-trunk
+\stoptyping
+
+or update with:
+
+\starttyping
+cd /data
+svn update luatex-trunk
+\stoptyping
+
+and then export with:
+
+\starttyping
+cd /data
+svn export --force /data/luatex-trunk /data/luatex-trunk-export
+\stoptyping
+
+We go to the export directory and compile \LUATEX:
+
+\starttyping
+cd /data/luatex-trunk-export
+./build.sh --jit
+\stoptyping
+
+The binaries are already stripped (i.e.\ symbols get removed) which makes them
+much smaller.
+
+% strip -s /data/luatex-trunk-export/build/texk/web2c/luatex
+% strip -s /data/luatex-trunk-export/build/texk/web2c/luajittex
+
+\starttyping
+cp data/luatex/luatex-trunk-export/build/texk/web2c/luatex \
+ /data/context/tex/texmf-linux-64/bin
+cp data/luatex/luatex-trunk-export/build/texk/web2c/luajittex \
+ /data/context/tex/texmf-linux-64/bin
+\stoptyping
+
+The native windows binaries are kept very up|-|to|-|date but you can cross compile
+your own if needed. You need to make sure that the cross compiler is installed.
+
+\starttyping
+apt-get install gcc-mingw-w64-x86-64
+apt-get install g++-mingw-w64-x86-64
+apt-get install binutils-mingw-w64
+\stoptyping
+
+Given that you have exported the sources you can now run:
+
+\starttyping
+./build.sh --jit --mingw64
+\stoptyping
+
+Of course we assume a recent \LINUX\ installation here but on \WINDOWS\ you can
+the \quote {\LINUX\ subsystem for \WINDOWS} too. The files can be found in a dedicated
+build directory:
+
+% strip -s /data/luatex-trunk-export/build-windows64/texk/web2c/luatex.exe
+% strip -s /data/luatex-trunk-export/build-windows64/texk/web2c/luajittex.exe
+
+\starttyping
+cp data/luatex/luatex-trunk-export/build-windows64/texk/web2c/luatex.exe \
+ /data/context/tex/tex-context/tex/texmf-linux-64/bin
+cp data/luatex/luatex-trunk-export/build-windows64/texk/web2c/luajittex.exe \
+ /data/context/tex/tex-context/tex/texmf-linux-64/bin
+\stoptyping
+
+You need to wipe out old traces of binaries, because these can confuse the \type {mtxrun}
+stub that checks for them, so we do:
+
+\starttyping
+rm /data/context/tex/tex-context/tex/texmf-win64/bin/luajittex.dll
+rm /data/context/tex/tex-context/tex/texmf-win64/bin/luatex.dll
+\stoptyping
+
+The libraries are compiled in a similar way. This time we get the sources from another
+repository:
+
+\starttyping
+cd /data
+svn checkout https://foundry.supelec.fr/svn/swiglib/trunk swiglib-trunk
+\stoptyping
+
+or update with:
+
+\starttyping
+cd /data
+svn update swiglib-trunk
+\stoptyping
+
+and then export with:
+
+\starttyping
+cd /data
+svn export --force /data/swiglib-trunk /data/swiglib-trunk-export
+\stoptyping
+
+This time you need to be quite explicit with respect to the libraries you want to
+compile :
+
+\starttyping
+cd /data/swiglib-trunk-export
+./build.sh --library=helpers --version=1.0.3
+\stoptyping
+
+You can save yourself some work with:
+
+\starttyping
+mtxrun --script --svnroot=/data/swiglib-trunk-export --make
+\stoptyping
+
+which will create a shell script \type {swiglib-make.sh} with commands that make
+all available libraries. After running that script you can update your tree
+with:
+
+\starttyping
+mtxrun --script --svnroot=/data/swiglib-trunk-export --update
+\stoptyping
+
+For \WINDOWS\ a similar route is followed but first you need to make sure that
+your binaries are able to deal with shared libraries:
+
+\starttyping
+./build-shared.sh --jit --mingw64 --shared
+\stoptyping
+
+Compiling is done as with \LINUX\ but you need to provide the \type {--mingw64}
+flag. Copying is done with:
+
+\starttyping
+cp /data/luatex/luatex-trunk-export/build-windows64-shared\
+ /texk/web2c/.libs/luatex.exe /data/context/tex/texmf-win64/bin
+cp /data/luatex/luatex-trunk-export/build-windows64-shared\
+ /texk/web2c/.libs/luajittex.exe /data/context/tex/texmf-win64/bin
+
+cp /data/luatex/luatex-trunk-export/build-windows64-shared\
+ /libs/lua*/.libs/texlua*dll /data/context/tex/texmf-win64/bin
+cp /data/luatex/luatex-trunk-export/build-windows64-shared\
+ /libs/luajit/.libs/texluajit*dll /data/context/tex/texmf-win64/bin
+cp /data/luatex/luatex-trunk-export/build-windows64-shared\
+ /texk/kpathsea/.libs/libkpathsea*dll /data/context/tex/texmf-win64/bin
+
+rm /data/context/tex/texmf-win64/bin/luajittex.dll
+rm /data/context/tex/texmf-win64/bin/luatex.dll
+\stoptyping
+
+If you're recompiling \type {--make} can save you some time. If your machine can
+handle it \type {--parallel} can speed up the process.
+
+\stopsection
+
\startsection[title=Colofon]
\starttabulate[|B|p|]
diff --git a/metapost/context/base/mpiv/mp-grap.mpiv b/metapost/context/base/mpiv/mp-grap.mpiv
index 4fd8ee5bd..313adfda7 100644
--- a/metapost/context/base/mpiv/mp-grap.mpiv
+++ b/metapost/context/base/mpiv/mp-grap.mpiv
@@ -160,8 +160,8 @@ enddef ;
% New :
-save graph_background ; color graph_background ; % if defined, fill the frame.
-save graph_close_file ; boolean graph_close_file ; graph_close_file = false ;
+color graph_background ; % if defined, fill the frame.
+boolean graph_close_file ; graph_close_file = false ;
def begingraph(expr w, h) =
begingroup
diff --git a/metapost/context/base/mpiv/mp-mlib.mpiv b/metapost/context/base/mpiv/mp-mlib.mpiv
index 6daf5672e..9a4446560 100644
--- a/metapost/context/base/mpiv/mp-mlib.mpiv
+++ b/metapost/context/base/mpiv/mp-mlib.mpiv
@@ -1026,6 +1026,8 @@ vardef mfun_do_outline_text_flush (expr kind, n, x, y) (text t) =
mfun_do_outline_text_r (n, x, y) (t)
elseif kind = "p" :
mfun_do_outline_text_p (n, x, y) (t)
+ elseif kind = "u" :
+ mfun_do_outline_text_u (n, x, y) (t)
else :
mfun_do_outline_text_n (n, x, y) (t)
fi ;
@@ -1049,6 +1051,18 @@ vardef mfun_do_outline_text_f (expr n, x, y) (text t) =
endfor ;
enddef ;
+vardef mfun_do_outline_text_u (expr n, x, y) (text t) =
+ mfun_do_outline_n := 0 ;
+ for i=t :
+ mfun_do_outline_n := mfun_do_outline_n + 1 ;
+ if mfun_do_outline_n = n :
+ fillup i shifted(x,y) mfun_do_outline_options_f
+ else :
+ nofill i shifted(x,y)
+ fi ;
+ endfor ;
+enddef ;
+
vardef mfun_do_outline_text_d (expr n, x, y) (text t) =
for i=t :
draw i shifted(x,y) mfun_do_outline_options_d ;
@@ -1154,6 +1168,8 @@ vardef outlinetext@# (expr t) text rest =
mfun_do_outline_text_set_d rest ;
elseif kind = "b" :
mfun_do_outline_text_set_b rest ;
+ elseif kind = "u" :
+ mfun_do_outline_text_set_f rest ;
elseif kind = "r" :
mfun_do_outline_text_set_r rest ;
elseif kind = "p" :
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index d9256e912..baed742e9 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -56,7 +56,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["l-lua"] = package.loaded["l-lua"] or true
--- original size: 4734, stripped down to: 2626
+-- original size: 4736, stripped down to: 2625
if not modules then modules={} end modules ['l-lua']={
version=1.001,
@@ -9178,7 +9178,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-lua"] = package.loaded["util-lua"] or true
--- original size: 5142, stripped down to: 3611
+-- original size: 5393, stripped down to: 3611
if not modules then modules={} end modules ['util-lua']={
version=1.001,
@@ -18837,8 +18837,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 801598
--- stripped bytes : 291368
+-- original bytes : 801851
+-- stripped bytes : 291622
-- end library merge
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index d9256e912..baed742e9 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -56,7 +56,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["l-lua"] = package.loaded["l-lua"] or true
--- original size: 4734, stripped down to: 2626
+-- original size: 4736, stripped down to: 2625
if not modules then modules={} end modules ['l-lua']={
version=1.001,
@@ -9178,7 +9178,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-lua"] = package.loaded["util-lua"] or true
--- original size: 5142, stripped down to: 3611
+-- original size: 5393, stripped down to: 3611
if not modules then modules={} end modules ['util-lua']={
version=1.001,
@@ -18837,8 +18837,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 801598
--- stripped bytes : 291368
+-- original bytes : 801851
+-- stripped bytes : 291622
-- end library merge
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index d9256e912..baed742e9 100644
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -56,7 +56,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["l-lua"] = package.loaded["l-lua"] or true
--- original size: 4734, stripped down to: 2626
+-- original size: 4736, stripped down to: 2625
if not modules then modules={} end modules ['l-lua']={
version=1.001,
@@ -9178,7 +9178,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-lua"] = package.loaded["util-lua"] or true
--- original size: 5142, stripped down to: 3611
+-- original size: 5393, stripped down to: 3611
if not modules then modules={} end modules ['util-lua']={
version=1.001,
@@ -18837,8 +18837,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 801598
--- stripped bytes : 291368
+-- original bytes : 801851
+-- stripped bytes : 291622
-- end library merge
diff --git a/scripts/context/stubs/win64/mtxrun.lua b/scripts/context/stubs/win64/mtxrun.lua
index d9256e912..baed742e9 100644
--- a/scripts/context/stubs/win64/mtxrun.lua
+++ b/scripts/context/stubs/win64/mtxrun.lua
@@ -56,7 +56,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["l-lua"] = package.loaded["l-lua"] or true
--- original size: 4734, stripped down to: 2626
+-- original size: 4736, stripped down to: 2625
if not modules then modules={} end modules ['l-lua']={
version=1.001,
@@ -9178,7 +9178,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-lua"] = package.loaded["util-lua"] or true
--- original size: 5142, stripped down to: 3611
+-- original size: 5393, stripped down to: 3611
if not modules then modules={} end modules ['util-lua']={
version=1.001,
@@ -18837,8 +18837,8 @@ end -- of closure
-- used libraries : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 801598
--- stripped bytes : 291368
+-- original bytes : 801851
+-- stripped bytes : 291622
-- end library merge
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 52d12f53d..d553594bc 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/colo-ini.mkiv b/tex/context/base/mkiv/colo-ini.mkiv
index 4e6e58032..54ad1e9f9 100644
--- a/tex/context/base/mkiv/colo-ini.mkiv
+++ b/tex/context/base/mkiv/colo-ini.mkiv
@@ -484,7 +484,9 @@
\def\colo_palet_prepare#1%
{\edef\colo_palet_name{#1}%
- \ifcsname\??paletlist\colo_palet_name\endcsname\else
+ \ifcsname\??paletlist\colo_palet_name\endcsname
+ \csname\??paletsize#1\endcsname\zerocount
+ \else
\colo_palet_allocate\colo_palet_name
\fi
\edef\m_colo_palet{\begincsname\??paletlist\colo_palet_name\endcsname}%
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index fe4f9be2a..f796a920f 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2016.08.29 22:53}
+\newcontextversion{2016.09.01 19:33}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 16de7726b..a0b600a16 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2016.08.29 22:53}
+\edef\contextversion{2016.09.01 19:33}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/l-lua.lua b/tex/context/base/mkiv/l-lua.lua
index b90f37e3d..357153836 100644
--- a/tex/context/base/mkiv/l-lua.lua
+++ b/tex/context/base/mkiv/l-lua.lua
@@ -198,3 +198,4 @@ if flush then
local popen = io.popen if popen then function io.popen (...) flush() return popen (...) end end
end
+
diff --git a/tex/context/base/mkiv/publ-ini.mkiv b/tex/context/base/mkiv/publ-ini.mkiv
index 3e39dc770..f6500fdd7 100644
--- a/tex/context/base/mkiv/publ-ini.mkiv
+++ b/tex/context/base/mkiv/publ-ini.mkiv
@@ -1096,7 +1096,10 @@
\unexpanded\def\currentbtxciteauthor % always author
{\begingroup
- \setbtxparameterset\s!cite\s!author
+ %\setbtxparameterset\s!cite\s!author
+ % the alternatives inherit from cite:author
+ % and APA distinguishes authoryears from authoryear ("and" vs. "&")
+ \setbtxparameterset\s!cite\currentbtxcitealternative
\clf_btxauthor
{\currentbtxdataset}%
{\currentbtxtag}%
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index d9d58d670..4be380a83 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index cda7a8d2e..089686f63 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/tabl-ntb.mkiv b/tex/context/base/mkiv/tabl-ntb.mkiv
index aeef22326..3f3a1d04e 100644
--- a/tex/context/base/mkiv/tabl-ntb.mkiv
+++ b/tex/context/base/mkiv/tabl-ntb.mkiv
@@ -2047,37 +2047,57 @@
\inheritednaturaltablelocalframed{\tabl_ntb_cell_start\tabl_ntb_char_align{#1}{#2}#4\tabl_ntb_cell_stop}}%
\hskip\tabl_ntb_get_dis{#2}}
-\setupTABLE
- [\c!frameoffset=.5\linewidth,
- \c!backgroundoffset=\v!frame,
- % \c!framecolor=\s!black,
- \c!width=\v!fit,
- \c!height=\v!fit,
- \c!autowidth=\v!yes,
- \c!rulethickness=\linewidth,
- \c!strut=\v!yes,
- \c!autostrut=\v!no,
- %
- \c!color=,
- \c!style=,
- \c!headstyle=\v!bold,
- \c!headcolor=,
- \c!aligncharacter=\v!no,
- \c!alignmentcharacter={,},
- \c!option=, % \v!stretch
- \c!header=,
- \c!spaceinbetween=,
- \c!maxwidth=8\emwidth,
- \c!textwidth=\v!local, % was \hsize
- \c!split=\v!auto,
- \c!splitoffset=\zeropoint,
- \c!distance=\zeropoint, % individual column
- \c!columndistance=\zeropoint, % each column (whole table)
- \c!leftmargindistance=\zeropoint, % whole table
- \c!rightmargindistance=\zeropoint,% whole table
- \c!left=,
- \c!right=,
- \c!setups=]
+\newtoks\everyresetTABLEyes
+\newtoks\everyresetTABLEnop
+
+\appendtoks
+ \setupTABLE [%
+ \c!frameoffset=.5\linewidth,%
+ \c!backgroundoffset=\v!frame,%
+ % \c!framecolor=\s!black,%
+ \c!frame=\v!on,%
+ \c!leftframe=\v!on,%
+ \c!rightframe=\v!on,%
+ \c!topframe=\v!on,%
+ \c!bottomframe=\v!on,%
+ \c!width=\v!fit,%
+ \c!height=\v!fit,%
+ \c!autowidth=\v!yes,%
+ \c!rulethickness=\linewidth,%
+ \c!strut=\v!yes,%
+ \c!autostrut=\v!no,%
+ %
+ \c!color=,%
+ \c!style=,%
+ \c!headstyle=\v!bold,%
+ \c!headcolor=,%
+ \c!aligncharacter=\v!no,%
+ \c!alignmentcharacter={,},%
+ \c!option=,% \v!stretch
+ \c!header=,%
+ \c!spaceinbetween=,%
+ \c!maxwidth=8\emwidth,%
+ \c!textwidth=\v!local,% was \hsize
+ \c!split=\v!auto,%
+ \c!splitoffset=\zeropoint,%
+ \c!distance=\zeropoint,% individual column
+ \c!columndistance=\zeropoint,% each column (whole table)
+ \c!leftmargindistance=\zeropoint,% whole table
+ \c!rightmargindistance=\zeropoint,% whole table
+ \c!left=,%
+ \c!right=,%
+ \c!setups=%
+ ]%
+\to \everyresetTABLEyes
+
+\appendtoks
+ \setupTABLE [%
+ \c!width=\v!fit,%
+ \c!height=\v!fit%
+ ]%
+\to \everyresetTABLEnop
+
+\the\everyresetTABLEyes
% \bgroup
% \setupTABLE[column][1][aligncharacter=yes, alignmentcharacter={,}]
@@ -2098,29 +2118,9 @@
\def\tabl_ntb_parameters_reset % we can use setters instead
{\ifnum\m_tabl_tbl_level>\plusone % in ieder geval
\ifconditional\resetTABLEmode
- % not ok yet
- \setupTABLE
- [\c!frameoffset=.5\linewidth,
- \c!backgroundoffset=\v!frame,
- % \c!framecolor=\s!black,
- \c!width=\v!fit,
- \c!height=\v!fit,
- \c!autowidth=\v!yes,
- % \c!rulethickness=\linewidth,
- \c!strut=\v!no,
- \c!strut=\v!yes, % needed for mathml, but ... maybe we need another resetTABLEmode
- \c!autostrut=\v!no,
- \c!color=,
- \c!style=,
- \c!headstyle=,
- \c!headcolor=,
- \c!aligncharacter=\v!no,
- \c!alignmentcharacter={,},
- \c!maxwidth=8\emwidth]%
+ \the\everyresetTABLEyes
\else
- \setupTABLE
- [\c!width=\v!fit,
- \c!height=\v!fit]%
+ \the\everyresetTABLEnop
\fi
\fi}
diff --git a/tex/context/base/mkiv/util-lua.lua b/tex/context/base/mkiv/util-lua.lua
index e1dcdc94d..d4020a1e9 100644
--- a/tex/context/base/mkiv/util-lua.lua
+++ b/tex/context/base/mkiv/util-lua.lua
@@ -158,3 +158,15 @@ end
-- luautilities.registerdatatype(lpeg.P("!"),"lpeg")
--
-- print(luautilities.datatype(lpeg.P("oeps")))
+
+-- local finalizers = { }
+--
+-- function luautilities.registerfinalizer(f)
+-- finalizers[#finalizers+1] = f
+-- end
+--
+-- function luautilities.finalize()
+-- for i=1,#finalizers do
+-- pcall(finalizers[i])
+-- end
+-- end
diff --git a/tex/context/base/mkiv/util-sql-imp-client.lua b/tex/context/base/mkiv/util-sql-imp-client.lua
index 9a0fbc299..50b1e9dff 100644
--- a/tex/context/base/mkiv/util-sql-imp-client.lua
+++ b/tex/context/base/mkiv/util-sql-imp-client.lua
@@ -1,4 +1,4 @@
-if not modules then modules = { } end modules ['util-sql-client'] = {
+if not modules then modules = { } end modules ['util-sql-imp-client'] = {
version = 1.001,
comment = "companion to util-sql.lua",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
@@ -144,7 +144,7 @@ SET NOCOUNT ON;
]],
}
-local function dataprepared(specification,client)
+local function dataprepared(specification)
local query = preparetemplate(specification)
if query then
local preamble = t_preamble[getserver()] or t_preamble.mysql
@@ -165,7 +165,7 @@ local function dataprepared(specification,client)
end
end
-local function datafetched(specification,client)
+local function datafetched(specification)
local runner = t_runner[getserver()] or t_runner.mysql
local command = replacetemplate(runner,specification)
if trace_sql then
@@ -220,11 +220,11 @@ local function execute(specification)
report_state("error in specification")
return
end
- if not dataprepared(specification,methods.client) then
+ if not dataprepared(specification) then
report_state("error in preparation")
return
end
- if not datafetched(specification,methods.client) then
+ if not datafetched(specification) then
report_state("error in fetching, query: %s",string.collapsespaces(io.loaddata(specification.queryfile)))
return
end
diff --git a/tex/context/base/mkiv/util-sql-imp-library.lua b/tex/context/base/mkiv/util-sql-imp-library.lua
index 15754e26a..6dbd5a4eb 100644
--- a/tex/context/base/mkiv/util-sql-imp-library.lua
+++ b/tex/context/base/mkiv/util-sql-imp-library.lua
@@ -1,4 +1,4 @@
-if not modules then modules = { } end modules ['util-sql-library'] = {
+if not modules then modules = { } end modules ['util-sql-imp-library'] = {
version = 1.001,
comment = "companion to util-sql.lua",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
diff --git a/tex/context/base/mkiv/util-sql-imp-swiglib.lua b/tex/context/base/mkiv/util-sql-imp-swiglib.lua
index e4bed183a..5ea5d7735 100644
--- a/tex/context/base/mkiv/util-sql-imp-swiglib.lua
+++ b/tex/context/base/mkiv/util-sql-imp-swiglib.lua
@@ -1,4 +1,4 @@
-if not modules then modules = { } end modules ['util-sql-swiglib'] = {
+if not modules then modules = { } end modules ['util-sql-imp-swiglib'] = {
version = 1.001,
comment = "companion to util-sql.lua",
author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index bd9315e2b..f9e1e0519 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index be0a3f632..98d7cfc93 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 06990de3c..12b7fa4c5 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 08/29/16 22:53:15
+-- merge date : 09/01/16 19:33:12
do -- begin closure to overcome local limits and interference
diff --git a/tex/generic/context/luatex/luatex-swiglib-test.lua b/tex/generic/context/luatex/luatex-swiglib-test.lua
index 0bca2a818..00d7c5a4e 100644
--- a/tex/generic/context/luatex/luatex-swiglib-test.lua
+++ b/tex/generic/context/luatex/luatex-swiglib-test.lua
@@ -1,26 +1,743 @@
-local gm = require("swiglib.gmwand.core")
--- local gm = swiglib("gmwand.core")
-gm.InitializeMagick(".")
-local magick_wand = gm.NewMagickWand()
-local drawing_wand = gm.NewDrawingWand()
+-- local gm = require("swiglib.gmwand.core") -- local gm = swiglib("gmwand.core")
+--
+-- gm.InitializeMagick(".")
+--
+-- local magick_wand = gm.NewMagickWand()
+-- local drawing_wand = gm.NewDrawingWand()
+--
+-- gm.MagickSetSize(magick_wand,800,600)
+-- gm.MagickReadImage(magick_wand,"xc:red")
+--
+-- gm.DrawPushGraphicContext(drawing_wand)
+--
+-- gm.DrawSetFillColor(drawing_wand,gm.NewPixelWand())
+--
+-- -- gm.DrawSetFont(drawing_wand, kpse.findfile("DejaVuSerifBold.ttf"))
+-- -- gm.DrawSetFontSize(drawing_wand, 96)
+-- -- gm.DrawAnnotation(drawing_wand,300,200, "LuaTeX")
+--
+-- gm.DrawPopGraphicContext(drawing_wand)
+-- gm.MagickDrawImage(magick_wand,drawing_wand)
+--
+-- gm.MagickWriteImages(magick_wand,"./luatex-swiglib-test.jpg",1)
+--
+-- gm.DestroyDrawingWand(drawing_wand)
+-- gm.DestroyMagickWand(magick_wand)
-gm.MagickSetSize(magick_wand,800,600)
-gm.MagickReadImage(magick_wand,"xc:red")
+local swighelpers = require("swiglib.helpers.core")
+local sqlite = require("swiglib.sqlite.core")
-gm.DrawPushGraphicContext(drawing_wand)
+-- s.sqlite3_create_function_v2_lua_callback(function() end)
-gm.DrawSetFillColor(drawing_wand,gm.NewPixelWand())
--- gm.DrawSetFont(drawing_wand, kpse.findfile("DejaVuSerifBold.ttf"))
--- gm.DrawSetFontSize(drawing_wand, 96)
--- gm.DrawAnnotation(drawing_wand,300,200, "LuaTeX")
+local t = [[
+ CREATE TABLE IF NOT EXISTS loggers (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `time` int(11) NOT NULL,
+ `type` int(11) NOT NULL,
+ `action` varchar(15) NOT NULL,
+ `data` longtext,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `id_unique_key` (`id`)
+ )
+ DEFAULT CHARSET = utf8 ;
+]]
-gm.DrawPopGraphicContext(drawing_wand)
-gm.MagickDrawImage(magick_wand,drawing_wand)
+local t = [[
+CREATE TABLE IF NOT EXISTS loggers (
+ `id` INTEGER PRIMARY KEY AUTOINCREMENT,
+ `time` int(11) NOT NULL,
+ `type` int(11) NOT NULL,
+ `action` varchar(15) NOT NULL,
+ `data` longtext
+ );
+]]
-gm.MagickWriteImages(magick_wand,"./luatex-swiglib-test.jpg",1)
+local function execute(name,query)
+ local db = sqlite.new_sqlite3_p_array(1)
+ local okay = sqlite.sqlite3_open(name,db)
+ local dbh = sqlite.sqlite3_p_array_getitem(db,0)
+ if okay ~= sqlite.SQLITE_OK then
+ return false, sqlite.sqlite3_errmsg(dbh)
+ end
+ local result = { }
+ local callback = function(data,nofcolumns,values,fields)
+ local r = { }
+ for i=0,nofcolumns-1 do
+ local field = sqlite.char_p_array_getitem(fields,i)
+ local value = sqlite.char_p_array_getitem(values,i)
+ r[field] = value
+ end
+ result[#result+1] = r
+ return sqlite.SQLITE_OK
+ end
+ local data = nil
+ local message = nil
+ local okay = sqlite.sqlite3_exec_lua_callback(dbh,query,callback,data,message)
+ if okay ~= sqlite.SQLITE_OK then
+ return false, sqlite.sqlite3_errmsg(dbh)
+ end
+ sqlite.sqlite3_close(dbh)
+ sqlite.delete_sqlite3_p_array(db)
+ return result
+end
-gm.DestroyDrawingWand(drawing_wand)
-gm.DestroyMagickWand(magick_wand)
+execute("foo.db",t)
+-- execute("test.db",t)
+
+local template =[[
+ INSERT INTO loggers (
+ `time`,
+ `type`,
+ `action`,
+ `data`
+ ) VALUES (
+ %s,
+ %s,
+ '%s',
+ '%s'
+ ) ;
+]]
+
+-- for i=1,100 do
+-- local t = string.format(template,os.time(),1,"oeps " .. i,"more")
+-- execute("foo.db",t)
+-- end
+
+
+local r = execute("foo.db","select * from loggers;")
+inspect(r)
+
+
+-- inspect(table.sortedkeys(sqlite))
+-- inspect(table.sortedkeys(swighelpers))
+
+
+
+t={
+ "FULLY_WITHIN",
+ "NOT_WITHIN",
+ "PARTLY_WITHIN",
+ "SQLITE3_TEXT",
+ "SQLITE_ABORT",
+ "SQLITE_ABORT_ROLLBACK",
+ "SQLITE_ACCESS_EXISTS",
+ "SQLITE_ACCESS_READ",
+ "SQLITE_ACCESS_READWRITE",
+ "SQLITE_ALTER_TABLE",
+ "SQLITE_ANALYZE",
+ "SQLITE_ANY",
+ "SQLITE_ATTACH",
+ "SQLITE_AUTH",
+ "SQLITE_AUTH_USER",
+ "SQLITE_BLOB",
+ "SQLITE_BUSY",
+ "SQLITE_BUSY_RECOVERY",
+ "SQLITE_BUSY_SNAPSHOT",
+ "SQLITE_CANTOPEN",
+ "SQLITE_CANTOPEN_CONVPATH",
+ "SQLITE_CANTOPEN_FULLPATH",
+ "SQLITE_CANTOPEN_ISDIR",
+ "SQLITE_CANTOPEN_NOTEMPDIR",
+ "SQLITE_CHECKPOINT_FULL",
+ "SQLITE_CHECKPOINT_PASSIVE",
+ "SQLITE_CHECKPOINT_RESTART",
+ "SQLITE_CONFIG_COVERING_INDEX_SCAN",
+ "SQLITE_CONFIG_GETMALLOC",
+ "SQLITE_CONFIG_GETMUTEX",
+ "SQLITE_CONFIG_GETPCACHE",
+ "SQLITE_CONFIG_GETPCACHE2",
+ "SQLITE_CONFIG_HEAP",
+ "SQLITE_CONFIG_LOG",
+ "SQLITE_CONFIG_LOOKASIDE",
+ "SQLITE_CONFIG_MALLOC",
+ "SQLITE_CONFIG_MEMSTATUS",
+ "SQLITE_CONFIG_MMAP_SIZE",
+ "SQLITE_CONFIG_MULTITHREAD",
+ "SQLITE_CONFIG_MUTEX",
+ "SQLITE_CONFIG_PAGECACHE",
+ "SQLITE_CONFIG_PCACHE",
+ "SQLITE_CONFIG_PCACHE2",
+ "SQLITE_CONFIG_SCRATCH",
+ "SQLITE_CONFIG_SERIALIZED",
+ "SQLITE_CONFIG_SINGLETHREAD",
+ "SQLITE_CONFIG_SQLLOG",
+ "SQLITE_CONFIG_URI",
+ "SQLITE_CONFIG_WIN32_HEAPSIZE",
+ "SQLITE_CONSTRAINT",
+ "SQLITE_CONSTRAINT_CHECK",
+ "SQLITE_CONSTRAINT_COMMITHOOK",
+ "SQLITE_CONSTRAINT_FOREIGNKEY",
+ "SQLITE_CONSTRAINT_FUNCTION",
+ "SQLITE_CONSTRAINT_NOTNULL",
+ "SQLITE_CONSTRAINT_PRIMARYKEY",
+ "SQLITE_CONSTRAINT_ROWID",
+ "SQLITE_CONSTRAINT_TRIGGER",
+ "SQLITE_CONSTRAINT_UNIQUE",
+ "SQLITE_CONSTRAINT_VTAB",
+ "SQLITE_COPY",
+ "SQLITE_CORRUPT",
+ "SQLITE_CORRUPT_VTAB",
+ "SQLITE_CREATE_INDEX",
+ "SQLITE_CREATE_TABLE",
+ "SQLITE_CREATE_TEMP_INDEX",
+ "SQLITE_CREATE_TEMP_TABLE",
+ "SQLITE_CREATE_TEMP_TRIGGER",
+ "SQLITE_CREATE_TEMP_VIEW",
+ "SQLITE_CREATE_TRIGGER",
+ "SQLITE_CREATE_VIEW",
+ "SQLITE_CREATE_VTABLE",
+ "SQLITE_DBCONFIG_ENABLE_FKEY",
+ "SQLITE_DBCONFIG_ENABLE_TRIGGER",
+ "SQLITE_DBCONFIG_LOOKASIDE",
+ "SQLITE_DBSTATUS_CACHE_HIT",
+ "SQLITE_DBSTATUS_CACHE_MISS",
+ "SQLITE_DBSTATUS_CACHE_USED",
+ "SQLITE_DBSTATUS_CACHE_WRITE",
+ "SQLITE_DBSTATUS_DEFERRED_FKS",
+ "SQLITE_DBSTATUS_LOOKASIDE_HIT",
+ "SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL",
+ "SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE",
+ "SQLITE_DBSTATUS_LOOKASIDE_USED",
+ "SQLITE_DBSTATUS_MAX",
+ "SQLITE_DBSTATUS_SCHEMA_USED",
+ "SQLITE_DBSTATUS_STMT_USED",
+ "SQLITE_DELETE",
+ "SQLITE_DENY",
+ "SQLITE_DETACH",
+ "SQLITE_DETERMINISTIC",
+ "SQLITE_DONE",
+ "SQLITE_DROP_INDEX",
+ "SQLITE_DROP_TABLE",
+ "SQLITE_DROP_TEMP_INDEX",
+ "SQLITE_DROP_TEMP_TABLE",
+ "SQLITE_DROP_TEMP_TRIGGER",
+ "SQLITE_DROP_TEMP_VIEW",
+ "SQLITE_DROP_TRIGGER",
+ "SQLITE_DROP_VIEW",
+ "SQLITE_DROP_VTABLE",
+ "SQLITE_EMPTY",
+ "SQLITE_ERROR",
+ "SQLITE_FAIL",
+ "SQLITE_FCNTL_BUSYHANDLER",
+ "SQLITE_FCNTL_CHUNK_SIZE",
+ "SQLITE_FCNTL_COMMIT_PHASETWO",
+ "SQLITE_FCNTL_FILE_POINTER",
+ "SQLITE_FCNTL_HAS_MOVED",
+ "SQLITE_FCNTL_LOCKSTATE",
+ "SQLITE_FCNTL_MMAP_SIZE",
+ "SQLITE_FCNTL_OVERWRITE",
+ "SQLITE_FCNTL_PERSIST_WAL",
+ "SQLITE_FCNTL_POWERSAFE_OVERWRITE",
+ "SQLITE_FCNTL_PRAGMA",
+ "SQLITE_FCNTL_SIZE_HINT",
+ "SQLITE_FCNTL_SYNC",
+ "SQLITE_FCNTL_SYNC_OMITTED",
+ "SQLITE_FCNTL_TEMPFILENAME",
+ "SQLITE_FCNTL_TRACE",
+ "SQLITE_FCNTL_VFSNAME",
+ "SQLITE_FCNTL_WIN32_AV_RETRY",
+ "SQLITE_FCNTL_WIN32_SET_HANDLE",
+ "SQLITE_FLOAT",
+ "SQLITE_FORMAT",
+ "SQLITE_FULL",
+ "SQLITE_FUNCTION",
+ "SQLITE_GET_LOCKPROXYFILE",
+ "SQLITE_IGNORE",
+ "SQLITE_INDEX_CONSTRAINT_EQ",
+ "SQLITE_INDEX_CONSTRAINT_GE",
+ "SQLITE_INDEX_CONSTRAINT_GT",
+ "SQLITE_INDEX_CONSTRAINT_LE",
+ "SQLITE_INDEX_CONSTRAINT_LT",
+ "SQLITE_INDEX_CONSTRAINT_MATCH",
+ "SQLITE_INSERT",
+ "SQLITE_INTEGER",
+ "SQLITE_INTERNAL",
+ "SQLITE_INTERRUPT",
+ "SQLITE_IOCAP_ATOMIC",
+ "SQLITE_IOCAP_ATOMIC16K",
+ "SQLITE_IOCAP_ATOMIC1K",
+ "SQLITE_IOCAP_ATOMIC2K",
+ "SQLITE_IOCAP_ATOMIC32K",
+ "SQLITE_IOCAP_ATOMIC4K",
+ "SQLITE_IOCAP_ATOMIC512",
+ "SQLITE_IOCAP_ATOMIC64K",
+ "SQLITE_IOCAP_ATOMIC8K",
+ "SQLITE_IOCAP_IMMUTABLE",
+ "SQLITE_IOCAP_POWERSAFE_OVERWRITE",
+ "SQLITE_IOCAP_SAFE_APPEND",
+ "SQLITE_IOCAP_SEQUENTIAL",
+ "SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN",
+ "SQLITE_IOERR",
+ "SQLITE_IOERR_ACCESS",
+ "SQLITE_IOERR_BLOCKED",
+ "SQLITE_IOERR_CHECKRESERVEDLOCK",
+ "SQLITE_IOERR_CLOSE",
+ "SQLITE_IOERR_CONVPATH",
+ "SQLITE_IOERR_DELETE",
+ "SQLITE_IOERR_DELETE_NOENT",
+ "SQLITE_IOERR_DIR_CLOSE",
+ "SQLITE_IOERR_DIR_FSYNC",
+ "SQLITE_IOERR_FSTAT",
+ "SQLITE_IOERR_FSYNC",
+ "SQLITE_IOERR_GETTEMPPATH",
+ "SQLITE_IOERR_LOCK",
+ "SQLITE_IOERR_MMAP",
+ "SQLITE_IOERR_NOMEM",
+ "SQLITE_IOERR_RDLOCK",
+ "SQLITE_IOERR_READ",
+ "SQLITE_IOERR_SEEK",
+ "SQLITE_IOERR_SHMLOCK",
+ "SQLITE_IOERR_SHMMAP",
+ "SQLITE_IOERR_SHMOPEN",
+ "SQLITE_IOERR_SHMSIZE",
+ "SQLITE_IOERR_SHORT_READ",
+ "SQLITE_IOERR_TRUNCATE",
+ "SQLITE_IOERR_UNLOCK",
+ "SQLITE_IOERR_WRITE",
+ "SQLITE_LAST_ERRNO",
+ "SQLITE_LIMIT_ATTACHED",
+ "SQLITE_LIMIT_COLUMN",
+ "SQLITE_LIMIT_COMPOUND_SELECT",
+ "SQLITE_LIMIT_EXPR_DEPTH",
+ "SQLITE_LIMIT_FUNCTION_ARG",
+ "SQLITE_LIMIT_LENGTH",
+ "SQLITE_LIMIT_LIKE_PATTERN_LENGTH",
+ "SQLITE_LIMIT_SQL_LENGTH",
+ "SQLITE_LIMIT_TRIGGER_DEPTH",
+ "SQLITE_LIMIT_VARIABLE_NUMBER",
+ "SQLITE_LIMIT_VDBE_OP",
+ "SQLITE_LIMIT_WORKER_THREADS",
+ "SQLITE_LOCKED",
+ "SQLITE_LOCKED_SHAREDCACHE",
+ "SQLITE_LOCK_EXCLUSIVE",
+ "SQLITE_LOCK_NONE",
+ "SQLITE_LOCK_PENDING",
+ "SQLITE_LOCK_RESERVED",
+ "SQLITE_LOCK_SHARED",
+ "SQLITE_MISMATCH",
+ "SQLITE_MISUSE",
+ "SQLITE_MUTEX_FAST",
+ "SQLITE_MUTEX_RECURSIVE",
+ "SQLITE_MUTEX_STATIC_APP1",
+ "SQLITE_MUTEX_STATIC_APP2",
+ "SQLITE_MUTEX_STATIC_APP3",
+ "SQLITE_MUTEX_STATIC_LRU",
+ "SQLITE_MUTEX_STATIC_LRU2",
+ "SQLITE_MUTEX_STATIC_MASTER",
+ "SQLITE_MUTEX_STATIC_MEM",
+ "SQLITE_MUTEX_STATIC_MEM2",
+ "SQLITE_MUTEX_STATIC_OPEN",
+ "SQLITE_MUTEX_STATIC_PMEM",
+ "SQLITE_MUTEX_STATIC_PRNG",
+ "SQLITE_NOLFS",
+ "SQLITE_NOMEM",
+ "SQLITE_NOTADB",
+ "SQLITE_NOTFOUND",
+ "SQLITE_NOTICE",
+ "SQLITE_NOTICE_RECOVER_ROLLBACK",
+ "SQLITE_NOTICE_RECOVER_WAL",
+ "SQLITE_NULL",
+ "SQLITE_OK",
+ "SQLITE_OPEN_AUTOPROXY",
+ "SQLITE_OPEN_CREATE",
+ "SQLITE_OPEN_DELETEONCLOSE",
+ "SQLITE_OPEN_EXCLUSIVE",
+ "SQLITE_OPEN_FULLMUTEX",
+ "SQLITE_OPEN_MAIN_DB",
+ "SQLITE_OPEN_MAIN_JOURNAL",
+ "SQLITE_OPEN_MASTER_JOURNAL",
+ "SQLITE_OPEN_MEMORY",
+ "SQLITE_OPEN_NOMUTEX",
+ "SQLITE_OPEN_PRIVATECACHE",
+ "SQLITE_OPEN_READONLY",
+ "SQLITE_OPEN_READWRITE",
+ "SQLITE_OPEN_SHAREDCACHE",
+ "SQLITE_OPEN_SUBJOURNAL",
+ "SQLITE_OPEN_TEMP_DB",
+ "SQLITE_OPEN_TEMP_JOURNAL",
+ "SQLITE_OPEN_TRANSIENT_DB",
+ "SQLITE_OPEN_URI",
+ "SQLITE_OPEN_WAL",
+ "SQLITE_PERM",
+ "SQLITE_PRAGMA",
+ "SQLITE_PROTOCOL",
+ "SQLITE_RANGE",
+ "SQLITE_READ",
+ "SQLITE_READONLY",
+ "SQLITE_READONLY_CANTLOCK",
+ "SQLITE_READONLY_DBMOVED",
+ "SQLITE_READONLY_RECOVERY",
+ "SQLITE_READONLY_ROLLBACK",
+ "SQLITE_RECURSIVE",
+ "SQLITE_REINDEX",
+ "SQLITE_REPLACE",
+ "SQLITE_ROLLBACK",
+ "SQLITE_ROW",
+ "SQLITE_SAVEPOINT",
+ "SQLITE_SCHEMA",
+ "SQLITE_SELECT",
+ "SQLITE_SET_LOCKPROXYFILE",
+ "SQLITE_SHM_EXCLUSIVE",
+ "SQLITE_SHM_LOCK",
+ "SQLITE_SHM_NLOCK",
+ "SQLITE_SHM_SHARED",
+ "SQLITE_SHM_UNLOCK",
+ "SQLITE_SOURCE_ID",
+ "SQLITE_STATUS_MALLOC_COUNT",
+ "SQLITE_STATUS_MALLOC_SIZE",
+ "SQLITE_STATUS_MEMORY_USED",
+ "SQLITE_STATUS_PAGECACHE_OVERFLOW",
+ "SQLITE_STATUS_PAGECACHE_SIZE",
+ "SQLITE_STATUS_PAGECACHE_USED",
+ "SQLITE_STATUS_PARSER_STACK",
+ "SQLITE_STATUS_SCRATCH_OVERFLOW",
+ "SQLITE_STATUS_SCRATCH_SIZE",
+ "SQLITE_STATUS_SCRATCH_USED",
+ "SQLITE_STMTSTATUS_AUTOINDEX",
+ "SQLITE_STMTSTATUS_FULLSCAN_STEP",
+ "SQLITE_STMTSTATUS_SORT",
+ "SQLITE_STMTSTATUS_VM_STEP",
+ "SQLITE_SYNC_DATAONLY",
+ "SQLITE_SYNC_FULL",
+ "SQLITE_SYNC_NORMAL",
+ "SQLITE_TESTCTRL_ALWAYS",
+ "SQLITE_TESTCTRL_ASSERT",
+ "SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS",
+ "SQLITE_TESTCTRL_BITVEC_TEST",
+ "SQLITE_TESTCTRL_BYTEORDER",
+ "SQLITE_TESTCTRL_EXPLAIN_STMT",
+ "SQLITE_TESTCTRL_FAULT_INSTALL",
+ "SQLITE_TESTCTRL_FIRST",
+ "SQLITE_TESTCTRL_ISINIT",
+ "SQLITE_TESTCTRL_ISKEYWORD",
+ "SQLITE_TESTCTRL_LAST",
+ "SQLITE_TESTCTRL_LOCALTIME_FAULT",
+ "SQLITE_TESTCTRL_NEVER_CORRUPT",
+ "SQLITE_TESTCTRL_OPTIMIZATIONS",
+ "SQLITE_TESTCTRL_PENDING_BYTE",
+ "SQLITE_TESTCTRL_PRNG_RESET",
+ "SQLITE_TESTCTRL_PRNG_RESTORE",
+ "SQLITE_TESTCTRL_PRNG_SAVE",
+ "SQLITE_TESTCTRL_RESERVE",
+ "SQLITE_TESTCTRL_SCRATCHMALLOC",
+ "SQLITE_TESTCTRL_SORTER_MMAP",
+ "SQLITE_TESTCTRL_VDBE_COVERAGE",
+ "SQLITE_TEXT",
+ "SQLITE_TOOBIG",
+ "SQLITE_TRANSACTION",
+ "SQLITE_UPDATE",
+ "SQLITE_UTF16",
+ "SQLITE_UTF16BE",
+ "SQLITE_UTF16LE",
+ "SQLITE_UTF16_ALIGNED",
+ "SQLITE_UTF8",
+ "SQLITE_VERSION",
+ "SQLITE_VERSION_NUMBER",
+ "SQLITE_VTAB_CONSTRAINT_SUPPORT",
+ "SQLITE_WARNING",
+ "SQLITE_WARNING_AUTOINDEX",
+ "call_callback_sqlite3_create_collation_v2_1",
+ "call_callback_sqlite3_create_collation_v2_2",
+ "call_callback_sqlite3_create_function16_1",
+ "call_callback_sqlite3_create_function16_2",
+ "call_callback_sqlite3_create_function16_3",
+ "call_callback_sqlite3_create_function_1",
+ "call_callback_sqlite3_create_function_2",
+ "call_callback_sqlite3_create_function_3",
+ "call_callback_sqlite3_create_function_v2_1",
+ "call_callback_sqlite3_create_function_v2_2",
+ "call_callback_sqlite3_create_function_v2_3",
+ "call_callback_sqlite3_create_function_v2_4",
+ "call_callback_sqlite3_rtree_query_callback_1",
+ "call_callback_sqlite3_rtree_query_callback_2",
+ "char_p_array_getitem",
+ "char_p_array_setitem",
+ "delete_char_p_array",
+ "delete_sqlite3_p_array",
+ "delete_sqlite3_rtree_dbl_array",
+ "delete_sqlite3_stmt_p_array",
+ "delete_sqlite3_value_p_array",
+ "delete_sqlite3_vtab_cursor_p_array",
+ "delete_sqlite3_vtab_p_array",
+ "delete_void_p_array",
+ "new_char_p_array",
+ "new_sqlite3_p_array",
+ "new_sqlite3_rtree_dbl_array",
+ "new_sqlite3_stmt_p_array",
+ "new_sqlite3_value_p_array",
+ "new_sqlite3_vtab_cursor_p_array",
+ "new_sqlite3_vtab_p_array",
+ "new_void_p_array",
+ "sqlite3_aggregate_context",
+ "sqlite3_aggregate_count",
+ "sqlite3_auto_extension",
+ "sqlite3_auto_extension_lua_callback",
+ "sqlite3_backup_finish",
+ "sqlite3_backup_init",
+ "sqlite3_backup_pagecount",
+ "sqlite3_backup_remaining",
+ "sqlite3_backup_step",
+ "sqlite3_bind_blob",
+ "sqlite3_bind_blob64",
+ "sqlite3_bind_blob64_lua_callback",
+ "sqlite3_bind_blob_lua_callback",
+ "sqlite3_bind_double",
+ "sqlite3_bind_int",
+ "sqlite3_bind_int64",
+ "sqlite3_bind_null",
+ "sqlite3_bind_parameter_count",
+ "sqlite3_bind_parameter_index",
+ "sqlite3_bind_parameter_name",
+ "sqlite3_bind_text",
+ "sqlite3_bind_text16",
+ "sqlite3_bind_text16_lua_callback",
+ "sqlite3_bind_text64",
+ "sqlite3_bind_text64_lua_callback",
+ "sqlite3_bind_text_lua_callback",
+ "sqlite3_bind_value",
+ "sqlite3_bind_zeroblob",
+ "sqlite3_blob_bytes",
+ "sqlite3_blob_close",
+ "sqlite3_blob_open",
+ "sqlite3_blob_read",
+ "sqlite3_blob_reopen",
+ "sqlite3_blob_write",
+ "sqlite3_busy_handler",
+ "sqlite3_busy_handler_lua_callback",
+ "sqlite3_busy_timeout",
+ "sqlite3_cancel_auto_extension",
+ "sqlite3_cancel_auto_extension_lua_callback",
+ "sqlite3_changes",
+ "sqlite3_clear_bindings",
+ "sqlite3_close",
+ "sqlite3_close_v2",
+ "sqlite3_collation_needed",
+ "sqlite3_collation_needed16",
+ "sqlite3_collation_needed16_lua_callback",
+ "sqlite3_collation_needed_lua_callback",
+ "sqlite3_column_blob",
+ "sqlite3_column_bytes",
+ "sqlite3_column_bytes16",
+ "sqlite3_column_count",
+ "sqlite3_column_decltype",
+ "sqlite3_column_decltype16",
+ "sqlite3_column_double",
+ "sqlite3_column_int",
+ "sqlite3_column_int64",
+ "sqlite3_column_name",
+ "sqlite3_column_name16",
+ "sqlite3_column_text",
+ "sqlite3_column_text16",
+ "sqlite3_column_type",
+ "sqlite3_column_value",
+ "sqlite3_commit_hook",
+ "sqlite3_commit_hook_lua_callback",
+ "sqlite3_compileoption_get",
+ "sqlite3_compileoption_used",
+ "sqlite3_complete",
+ "sqlite3_complete16",
+ "sqlite3_config",
+ "sqlite3_context_db_handle",
+ "sqlite3_create_collation",
+ "sqlite3_create_collation16",
+ "sqlite3_create_collation16_lua_callback",
+ "sqlite3_create_collation_lua_callback",
+ "sqlite3_create_collation_v2",
+ "sqlite3_create_collation_v2_lua_callback",
+ "sqlite3_create_function",
+ "sqlite3_create_function16",
+ "sqlite3_create_function16_lua_callback",
+ "sqlite3_create_function_lua_callback",
+ "sqlite3_create_function_v2",
+ "sqlite3_create_function_v2_lua_callback",
+ "sqlite3_create_module",
+ "sqlite3_create_module_v2",
+ "sqlite3_create_module_v2_lua_callback",
+ "sqlite3_data_count",
+ "sqlite3_db_config",
+ "sqlite3_db_filename",
+ "sqlite3_db_handle",
+ "sqlite3_db_mutex",
+ "sqlite3_db_readonly",
+ "sqlite3_db_release_memory",
+ "sqlite3_db_status",
+ "sqlite3_declare_vtab",
+ "sqlite3_enable_load_extension",
+ "sqlite3_enable_shared_cache",
+ "sqlite3_errcode",
+ "sqlite3_errmsg",
+ "sqlite3_errmsg16",
+ "sqlite3_errstr",
+ "sqlite3_exec",
+ "sqlite3_exec_lua_callback",
+ "sqlite3_expired",
+ "sqlite3_extended_errcode",
+ "sqlite3_extended_result_codes",
+ "sqlite3_file",
+ "sqlite3_file_control",
+ "sqlite3_finalize",
+ "sqlite3_free",
+ "sqlite3_free_table",
+ "sqlite3_get_autocommit",
+ "sqlite3_get_auxdata",
+ "sqlite3_get_table",
+ "sqlite3_global_recover",
+ "sqlite3_index_info",
+ "sqlite3_index_info_aConstraint",
+ "sqlite3_index_info_aConstraintUsage",
+ "sqlite3_index_info_aOrderBy",
+ "sqlite3_initialize",
+ "sqlite3_interrupt",
+ "sqlite3_io_methods",
+ "sqlite3_last_insert_rowid",
+ "sqlite3_libversion",
+ "sqlite3_libversion_number",
+ "sqlite3_limit",
+ "sqlite3_load_extension",
+ "sqlite3_log",
+ "sqlite3_malloc",
+ "sqlite3_malloc64",
+ "sqlite3_mem_methods",
+ "sqlite3_memory_alarm",
+ "sqlite3_memory_highwater",
+ "sqlite3_memory_used",
+ "sqlite3_module",
+ "sqlite3_mprintf",
+ "sqlite3_msize",
+ "sqlite3_mutex_alloc",
+ "sqlite3_mutex_enter",
+ "sqlite3_mutex_free",
+ "sqlite3_mutex_leave",
+ "sqlite3_mutex_methods",
+ "sqlite3_mutex_try",
+ "sqlite3_next_stmt",
+ "sqlite3_open",
+ "sqlite3_open16",
+ "sqlite3_open_v2",
+ "sqlite3_os_end",
+ "sqlite3_os_init",
+ "sqlite3_overload_function",
+ "sqlite3_p_array_getitem",
+ "sqlite3_p_array_setitem",
+ "sqlite3_pcache_methods",
+ "sqlite3_pcache_methods2",
+ "sqlite3_pcache_page",
+ "sqlite3_prepare",
+ "sqlite3_prepare16",
+ "sqlite3_prepare16_v2",
+ "sqlite3_prepare_v2",
+ "sqlite3_profile",
+ "sqlite3_progress_handler",
+ "sqlite3_progress_handler_lua_callback",
+ "sqlite3_randomness",
+ "sqlite3_realloc",
+ "sqlite3_realloc64",
+ "sqlite3_release_memory",
+ "sqlite3_reset",
+ "sqlite3_reset_auto_extension",
+ "sqlite3_result_blob",
+ "sqlite3_result_blob64",
+ "sqlite3_result_blob64_lua_callback",
+ "sqlite3_result_blob_lua_callback",
+ "sqlite3_result_double",
+ "sqlite3_result_error",
+ "sqlite3_result_error16",
+ "sqlite3_result_error_code",
+ "sqlite3_result_error_nomem",
+ "sqlite3_result_error_toobig",
+ "sqlite3_result_int",
+ "sqlite3_result_int64",
+ "sqlite3_result_null",
+ "sqlite3_result_text",
+ "sqlite3_result_text16",
+ "sqlite3_result_text16_lua_callback",
+ "sqlite3_result_text16be",
+ "sqlite3_result_text16be_lua_callback",
+ "sqlite3_result_text16le",
+ "sqlite3_result_text16le_lua_callback",
+ "sqlite3_result_text64",
+ "sqlite3_result_text64_lua_callback",
+ "sqlite3_result_text_lua_callback",
+ "sqlite3_result_value",
+ "sqlite3_result_zeroblob",
+ "sqlite3_rollback_hook",
+ "sqlite3_rollback_hook_lua_callback",
+ "sqlite3_rtree_dbl_array_getitem",
+ "sqlite3_rtree_dbl_array_setitem",
+ "sqlite3_rtree_geometry",
+ "sqlite3_rtree_geometry_callback",
+ "sqlite3_rtree_geometry_callback_lua_callback",
+ "sqlite3_rtree_query_callback",
+ "sqlite3_rtree_query_callback_lua_callback",
+ "sqlite3_rtree_query_info",
+ "sqlite3_set_authorizer",
+ "sqlite3_set_authorizer_lua_callback",
+ "sqlite3_set_auxdata",
+ "sqlite3_set_auxdata_lua_callback",
+ "sqlite3_shutdown",
+ "sqlite3_sleep",
+ "sqlite3_snprintf",
+ "sqlite3_soft_heap_limit",
+ "sqlite3_soft_heap_limit64",
+ "sqlite3_sourceid",
+ "sqlite3_sql",
+ "sqlite3_status",
+ "sqlite3_step",
+ "sqlite3_stmt_busy",
+ "sqlite3_stmt_p_array_getitem",
+ "sqlite3_stmt_p_array_setitem",
+ "sqlite3_stmt_readonly",
+ "sqlite3_stmt_status",
+ "sqlite3_strglob",
+ "sqlite3_stricmp",
+ "sqlite3_strnicmp",
+ "sqlite3_test_control",
+ "sqlite3_thread_cleanup",
+ "sqlite3_threadsafe",
+ "sqlite3_total_changes",
+ "sqlite3_trace",
+ "sqlite3_trace_lua_callback",
+ "sqlite3_transfer_bindings",
+ "sqlite3_update_hook",
+ "sqlite3_update_hook_lua_callback",
+ "sqlite3_uri_boolean",
+ "sqlite3_uri_int64",
+ "sqlite3_uri_parameter",
+ "sqlite3_user_data",
+ "sqlite3_value_blob",
+ "sqlite3_value_bytes",
+ "sqlite3_value_bytes16",
+ "sqlite3_value_double",
+ "sqlite3_value_int",
+ "sqlite3_value_int64",
+ "sqlite3_value_numeric_type",
+ "sqlite3_value_p_array_getitem",
+ "sqlite3_value_p_array_setitem",
+ "sqlite3_value_text",
+ "sqlite3_value_text16",
+ "sqlite3_value_text16be",
+ "sqlite3_value_text16le",
+ "sqlite3_value_type",
+ "sqlite3_vfs",
+ "sqlite3_vfs_find",
+ "sqlite3_vfs_register",
+ "sqlite3_vfs_unregister",
+ "sqlite3_vtab",
+ "sqlite3_vtab_config",
+ "sqlite3_vtab_cursor",
+ "sqlite3_vtab_cursor_p_array_getitem",
+ "sqlite3_vtab_cursor_p_array_setitem",
+ "sqlite3_vtab_on_conflict",
+ "sqlite3_vtab_p_array_getitem",
+ "sqlite3_vtab_p_array_setitem",
+ "sqlite3_wal_autocheckpoint",
+ "sqlite3_wal_checkpoint",
+ "sqlite3_wal_checkpoint_v2",
+ "sqlite3_wal_hook",
+ "sqlite3_wal_hook_lua_callback",
+ "void_p_array_getitem",
+ "void_p_array_setitem",
+}