>>>> "Mikio" == Mikio Nakajima
<minakaji(a)osaka.email.ne.jp> writes:
Mikio> From: Mikio Nakajima <minakaji(a)osaka.email.ne.jp>
Mikio> Subject: gdbm support of database.c
Mikio> Date: Sat, 02 Jan 1999 17:19:04 +0900
> I herewith attach diff files which provide a facility of
> manipulating a gdbm file. I built XEmacs linked to gdbm 1.7.1 with
> --with-database=dbm,gnudbm option. The original XEmacs 21.2b8 insists
> that dbm options conflict to gnudbm, but attached ndbm.h.diff (diff
> file of ndbm.h of gdbm 1.7.1) can avoid it.
Mikio> Too long e-mail seemed to be unhappy for you. I'm so sorry.
The right way to submit patches is to send them to xemacs-patches(a)xemacs.org.
Please read:
etc/BETA in the source distribution.
http://cvs.xemacs.org/
Mikio> Further to my work yesterday, I added to database.c three Emacs C
Mikio> primitives;
Mikio> `reorganize-database',
Mikio> `sync-database', and
Mikio> `setopt-database'
Mikio> which are respectively referred to `gdbm_reorganize', `gdbm_sync' and
Mikio> `gdbm_setopt' of gdbm library functions.
Mikio> I made tar ball named `diff-to-xemacs.21.2.8.tar.gz' which contains
Mikio> relative diffs and put it on,
Mikio>
http://www.asahi-net.or.jp/~gy2m-nkjm/diff-to-xemacs.21.2.8.tar.gz
Mikio> Please note my home page index.html is Japanese only and is not
Mikio> referred to the tar ball above, so please use wget or so to get it.
Mikio> Thank you.
Mikio> Mikio Nakajima <minakaji(a)osaka.email.ne.jp>
Mikio>
http://www.asahi-net.or.jp/~gy2m-nkjm/
Thank you.
However....
your patch is not likely to go in in its current state.
First of all, there is no way we can change ndbm.h. That file is
provided as part of the operating system.
configure is a generated file. You need to patch configure.in and
run autoconf (get autoconf 2.12 from
ftp://ftp.xemacs.org/pub/aux)
I'm not sure we really want 3 different database types in the code (up
from two today), since this will make maintenance more difficult. All
the database functions will have to be changed someday to work better
with different text encodings. On the other hand, I am not entirely
opposed to it either. It will certainly help to clear up the configure
specification confusion we currently have.
Much of the functionality you implement is good, but should probably
be extended to other database types, Berkeley db in particular.
I suggest sync-database be renamed synchronize-database.
I suggest setopt-database be renamed set-database-property.
You probably also want to implement database-properties.
Some of your changes go against XEmacs coding conventions, like the
following:
***************
*** 629,635 ****
#endif /* HAVE_DBM */
#ifdef HAVE_BERKELEY_DB
! if (NILP (type) || EQ (type, Qberkeley_db))
{
DBTYPE real_subtype;
DB *dbase;
--- 862,868 ----
#endif /* HAVE_DBM */
#ifdef HAVE_BERKELEY_DB
! if (NILP (type) ||EQ (type, Qberkeley_db))
{
DBTYPE real_subtype;
DB *dbase;
Martin