| Age | Commit message (Collapse) | Author | 
|---|
|  | Several Xapian methods use `std::string' to represent opaque binary
blobs. SWIG treats these as UTF-8 strings and converts them to an SCM
representation via `scm_from_utf8_string', which will throw an error
if the input is not valid UTF-8.
This commit updates the SWIG interface file to add wrappers taking or
returning bytevectors instead of strings for Xapian methods dealing
with document values and bodies.
* xapian.i.in (SWIG_bytevector, typemap_in_SWIG_bytevector,
typemap_out_SWIG_bytevector): Add machinery for defining
bytevector-variant wrappers of existing methods taking or returning
std::string.
* (Xapian::ValueIterator::get_value_bytes,
Xapian::Document::get_value_bytes, Xapian::Document::add_value_bytes,
Xapian::Document::get_data_bytes, Xapian::Document::set_data_bytes,
Xapian::Database::get_metadata_bytes,
Xapian::WritableDatabase::set_metadata_bytes,
Xapian::Query::Query): Add bytevector variants of methods.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> | 
|  | * tests/xapian.scm: New file.
* build-aux/test-driver.scm.in: New file.
* configure.ac: Configure build-aux/test-driver.scm.
* .gitignore: Add build-aux/test-driver.scm, tests/*.log and
tests/*.trs.
* Makefile.am (EXTRA_DIST): Add TESTS.
(TEST_EXTENSIONS, SCM_TESTS, TESTS, SCM_LOG_DRIVER): New variables. | 
|  | * xapian/xapian.scm (call-with-in-memory-database): New public
function. | 
|  | * README.org (Usage): Remove unnecessary guile -s flag. | 
|  | * examples/search.scm (search): Add a space after '.' in the prefixes
association list. | 
|  | This is a follow-up to commits
cb61a526c82153c09ed357901166a42b48ba9d3b and
12f12fbcb3cba4c634e10e7bf16a5c47d670f83b where the copyright year was
not updated.
* Makefile.am, build-aux/build-home-page.el, configure.ac, guix.scm:
Add 2021 to copyright. | 
|  | * README.org (ci-badge): New macro.
Add continuous integration badges. | 
|  | * website/style.css: New file.
* build-aux/build-home-page.el: New file.
* configure.ac: Look for emacs.
* Makefile.am (EMACS_GEN, EMACS_GEN_, EMACS_GEN_0, EMACS_GEN_1): New
variables.
(website, website/index.html): New target.
(CLEANFILES): Add website/index.html.
* .gitignore: Add website/index.html. | 
|  | * guix.scm: New file.
* README.org (Usage): Update guix environment instructions. | 
|  | * xapian/xapian.scm (document-bytes): New function. | 
|  | * xapian/xapian.scm (get-flag, mset-snippet): New functions. | 
|  | * guix.scm: Delete file.
* README.org (Usage): Update `guix environment` instructions. | 
|  | * xapian/xapian.scm (document-ref): Rename to document-slot-ref. | 
|  | * xapian/xapian.scm (make-document): Support setting document values.
(document-ref): New function. | 
|  | * xapian/xapian.scm (enquire-mset): Introduce offset and maximum-items
keyword arguments.
* examples/search.scm (search): Pass pagesize as keyword argument to
enquire-mset. Remove argument offset. | 
|  | * xapian/xapian.scm (database-document-count): New function. | 
|  | * .gitignore: Add xapian.i and xapian/wrap.scm. | 
|  | * .gitignore: Organize into sections with comments. | 
|  | * xapian.i: Rename to xapian.i.in.
* xapian.i.in: Try loading libguilexapian with absolute path first. If
it fails, then try searching using LD_LIBRARY_PATH and other
mechanisms.
* Makefile.am: Generate xapian.i from xapian.i.in. | 
|  | * configure.ac: Check for guile 3.0. If not found, check for guile
2.2. | 
|  | * configure.ac: Invoke GUILE_PKG. | 
|  | * Makefile.am: Build xapian/xapian.scm only after libguilexapian.la. | 
|  | * pre-inst-env.in (LD_LIBRARY_PATH): Set LD_LIBRARY_PATH.
* xapian.i: Load libguilexapian without any specific path. Let it be found
using LD_LIBRARY_PATH and other search mechanisms. | 
|  | xapian/wrap.scm is generated by swig. We need not commit it to the git
repository.
* xapian/wrap.scm: Delete file. | 
|  | * configure.ac: Rerun pkg-config to find xapian include flags for
swig. Store result in SWIG_FLAGS.
* Makefile.am: Use SWIG_CFLAGS. | 
|  | * README.org: Warn about unstable API. | 
|  | * examples/index.scm, examples/search.scm: Add comments. | 
|  | * README.org: Explain the eventual complete wrapping of low level
functions from (xapian wrap). | 
|  | * .gitignore: New file. | 
|  | * .dir-locals.el: New file. | 
|  | * bootstrap.sh: New file. | 
|  |  |