release notes: Most changes from GDBM 1.10 to 1.19 are now included. Explicitly not included are dump/load (export/import) procs. There are command-line tools for that, probably. Somewhat ironically, the new stuff has a lot to do w/ error handling, yet there are no new tests for Guile-GDBM. That's what that big ".0" is for -- a warning to the wise! README excerpt: Guile-GDBM is a Guile module that provides Scheme bindings to the GNU dbm library. It was originally written by Martin Grabmüller and is now released under the GNU General Public License (GPL) version 3. NEWS for 1.2.0 (2022-02-09): - distribution now .tar.lz If you have GNU tar, you can use "tar xf" and it will DTRT. If not, you can use "lzip -dc TARBALL | tar xf -" to unpack it. - configure script takes ‘--with-gdbm=PFX’ If this option is used, the configure script expects to find gdbm.h in PFX/include and libgdbm in PFX/lib. - meaningful return value These procs now return ‘#t’ on success: gdbm-store! gdbm-delete! gdbm-reorganize! gdbm-setopt! (Their return value used to be unspecified.) These procs likewise return ‘#t’ on success, if the GDBM version supports it in the underlying C function: gdbm-sync! gdbm-close! - new procs - gdbm-errsym This returns a symbol representing the underlying GDBM C value ‘gdbm_errno’. - gdbm-strerror This returns the string associated w/ its arg, an error symbol, or ‘#f’ if that symbol is not recognized. - happy-to-throw This examines and controls the "happy to throw" bit. See manual. - documentation improvements - exception throwing mentioned These procs are now documented to throw exception on error: gdbm-open! gdbm-setopt! gdbm-getopt - Guile auto-compilation suppressed The shell var ‘GUILE_AUTO_COMPILE’ is set to "0" and exported to the environment in both the configure script and the test runner script. This suppresses automatic .scm -> .go compilation for those steps. During "make" you still need to do this yourself. - new functionality from GNU dbm 1.13 (2017-03-11) - new ‘gdbm-getopt’ option: blocksize This returns the block size used for transfer between memory and the database file on disk. - new ‘gdbm-open’ flag: bsexact This flag causes ‘gdbm-open’ to fail if the requested block size cannot be used without adjustment. It is not useful at present since Guile-GDBM uses the "system block size" unconditionally (there is no way to request a different value). If you really do need to specify a block size, please file a bug report and we'll work things out in a future Guile-GDBM release. - new proc: gdbm-recover Due to the nature of this proc's operating context, it is not currently tested during the "make check" step. Experience reports welcome (as are workable tips on how to test it!). See manual. - new proc: gdbm-last-errsym Like ‘gdbm-errsym’, on a per-db basis. - new proc: gdbm-last-syserr Return the ‘errno’ (if any) associated w/ the last per-db error. - new proc: gdbm-check-syserr Return ‘#t’ if the system ‘errno’ should be checked to get more info on the given error code (a symbol). - new proc: gdbm-clear-error Clear the per-db error state. - new proc: gdbm-db-strerror Like ‘gdbm-strerror’, but specific to a db. Sometimes more informative, too. - new proc: gdbm-needs-recovery? Return ‘#t’ if the db is in an inconsistent state and needs to be recovered (with ‘gdbm-recover’). - new proc: gdbm-copy-meta Copy file ownership and mode information from ‘src’ db handle to ‘dst’ db handle. Both must be open. - new proc: gdbm-count This was introduced in GNU dbm 1.11 (2013-12-25). If you're running a version older than that, ‘gdbm-count’ returns ‘#f’. - bootstrap/maintenance tools upgraded: GNU gnulib 2022-01-27 07:00:41 as before: Guile-BAUX 20211208.0839.a5245e7 GNU Autoconf 2.71 GNU Automake 1.16.5 GNU texinfo 6.8 source code in dir: https://www.gnuvola.org/software/guile-gdbm/ -- Thien-Thi Nguyen ----------------------------------------------- (defun responsep (query) ; (2022) Software Libero (pcase (context query) ; = Dissenso Etico (`(technical ,ml) (correctp ml)) ...)) 748E A0E8 1CB8 A748 9BFA --------------------------------------- 6CE4 6703 2224 4C80 7502