2008-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Release: 1.31

	* configure.ac (AC_INIT): Bump version to "1.31" for release.

2008-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Specify metadata for $(infodir)/dir.

	* doc/edb.texi: Add @dircategory and @direntry.

2008-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Fix bug introduced in EDB 1.30 (2008-01-22):
	DTRT for "make install" in subdir doc/.

	* doc/GNUmakefile.in (ii): New var.
	(install): Fix bug: Don't use defunct var; hardcode "edb.info".
	Also, add code to test install-info(1) and use it if suitable.

2008-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Release: 1.30

	* configure.ac (AC_INIT): Bump version to "1.30" for release.

2008-05-25  Thien-Thi Nguyen  <ttn@gnuvola.org>

	In Database Edit mode, make `C-k' respect `kill-whole-line'.

	* lisp/db-format.el (db-kill-line): Respect `kill-whole-line'.

2008-05-25  Thien-Thi Nguyen  <ttn@gnuvola.org>

	When deleting a record, clear highest (post-shift) vov element.

	* lisp/db-interfa.el (db-delete-record): Clear highest after shift.

2008-05-25  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Use local variable to reduce number of calls to `edb--S'.

	* lisp/db-format.el (db-next-field-internal)
	(db-previous-field-internal, dbf-process-field-maybe)
	(db-change-format, dbf-set-summary-format, db-display-record)
	* lisp/db-interfa.el (dbc-set-index, db-select-next-record)
	(db-delete-record, db-mark-record, db-hide-record)
	* lisp/db-summary.el (db-summary): Use local variables.

2008-05-25  Thien-Thi Nguyen  <ttn@gnuvola.org>

	In Database Edit mode, `C-a' / `C-e' twice moves to field limit.

	* lisp/db-format.el (db-beginning-of-line-or-field):
	If invoked twice in succession, move to beginning of field.
	(db-end-of-line-or-field): Likewise, for end of field.

2008-05-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	On save, if file -w, query user for "chmod +w and continue".

	* lisp/db-file-io.el (db-write-1): If the file is not
	writable, and this is an interactive session, offer to
	make it writable and continue, else error out.

2008-05-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Use GNUmakefile throughout.

	* skram/GNUmakefile-atvars.in: Delete file.
	* skram/GNUmakefile.in: Rename from GNUmakefile;
	incorporate GNUmakefile-atvars.in.

	* configure.ac (AC_CONFIG_FILES):
	Delete tests/Makefile and skram/GNUmakefile-atvars;
	add tests/GNUmakefile and skram/GNUmakefile.

2008-05-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Fix OBOE introduced w/ EDB 1.26 (2005-10-08):
	When deleting a record, limit shift-in count properly.

	* lisp/db-interfa.el (db-delete-record): Fix OBOE:
	For shift-in, stop at one-before-end instead of end.

2008-04-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Revamp "make dist".

	* GNUmakefile.in (skramdist, bugfiles, docfiles): Delete var.
	(extradist): New vars.
	(distfiles): Delete var.
	(minusdist): New var.
	(dist): CHeck for .git subdir; use "git ls-files"; modify installed
	database.el in place; specify maximum compression for gzip.

2008-04-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Make "make installcheck" recursive.

	* lisp/GNUmakefile.in (installcheck): New target.
	* doc/GNUmakefile.in (installcheck): Likewise.
	* GNUmakefile.in (installcheck): Remove rules;
	depend on `installcheck-recursive'.

2008-04-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Fix omission bug: Don't let make say "Entering/Leaving directory".

	* lisp/bfuncs (edb-bfunc-get-GNUmakefile): Specify
	`--no-print-directory'.  Reported by Phillip Lord.

2008-03-31  Thien-Thi Nguyen  <ttn@gnuvola.org>

	Make build process more portable.

	* lisp/bfuncs (edb-bfunc-get-GNUmakefile): Fix portability bug: Avoid
	pipes; use `with-temp-buffer' and `call-process-region' instead.
	Reported by Phillip Lord.

2008-01-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/GNUmakefile.in (prep-dist): Remove more temporary files.

2008-01-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/edb.texi: Use @copying and @insertcopying.

2008-01-23  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/GNUmakefile.in (%.ps:%.dvi): Delete .aux and .log when done.

2008-01-22  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/edb.texi: Rename from edb.texi.

	* doc/GNUmakefile.in (all): Depend on edb.info.
	(edb.info, version.texi): New targets.
	(.tex.dvi, .texi.dvi): New pattern rules.
	(clean): Also delete edb.info.
	(prefix, dataroot, datadir, infodir)
	(INSTALL, INSTALL_DATA, mkinstalldirs): New vars.
	(install): New target.

	* GNUmakefile.in (INFO-FILES): Update location of edb.info.
	(all): Recurse into subdir `doc'.
	(edb.info, version.texi): Delete targets.
	(.tex.dvi, .texi.dvi): Delete pattern rules.
	(maintainerclean): No longer delete edb.info.
	(docfiles): Update location of edb.texi and version.texi.

	* skram/make-skram.el (make-skram): Update edb.info location.
	* skram/GNUmakefile (elisp): Update location of .el files.

	* lisp/bfuncs: Rename from bfuncs.
	* lisp/database.el: Rename from database.el.
	* lisp/db-file-io.el: Rename from db-file-io.el.
	* lisp/db-format.el: Rename from db-format.el.
	* lisp/db-interfa.el: Rename from db-interfa.el.
	* lisp/db-isbn.el: Rename from db-isbn.el.
	* lisp/db-lemacs.el: Rename from db-lemacs.el.
	* lisp/db-nosetf.el: Rename from db-nosetf.el.
	* lisp/db-oldnames.el: Rename from db-oldnames.el.
	* lisp/db-rdb.el: Rename from db-rdb.el.
	* lisp/db-rep.el: Rename from db-rep.el.
	* lisp/db-search.el: Rename from db-search.el.
	* lisp/db-sort.el: Rename from db-sort.el.
	* lisp/db-summary.el: Rename from db-summary.el.
	* lisp/db-tagged.el: Rename from db-tagged.el.
	* lisp/db-two-dbs.el: Rename from db-two-dbs.el.
	* lisp/db-types.el: Rename from db-types.el.
	* lisp/db-util.el: Rename from db-util.el.
	* lisp/edb-t-human-names.el: Rename from edb-t-human-names.el.
	* lisp/edb-t-places-usuk.el: Rename from edb-t-places-usuk.el.
	* lisp/edb-t-timedate1.el: Rename from edb-t-timedate1.el.

	* lisp/GNUmakefile.in: New file.

	* GNUmakefile.in (EMACS, EXTRABATCHOPTS, edb-elc-dir, TEXI2DVI, ebatch)
	(VPATH, edbcore-lispfrags, edbcore-dbfrags, edbcore-components)
	(generated, dontcompile, typelib-frags, typelibs)
	(normal-lispfrags, normal-frags, normal)
	(source-el-files, installed-el-files, installed-elc-files)
	(badnamesp, badnames-el): Delete vars.
	($(installed-elc-files)): Delete target.
	(recursive-%): New pattern rule.
	(all, install, clean): Rewrite targets.

	* configure.ac (AC_CONFIG_FILES): Add lisp/GNUmakefile.

2008-01-22  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* GNUmakefile.in (dist): No longer worry about "CVS" subdirs.

2008-01-22  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* skram/retired.data: New file.

2008-01-17  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* configure.ac (AC_INIT): Bump version to "1.29" for release.

2008-01-17  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* GNUmakefile.in (rw-ok): Add examples/www-links,
	examples/www-links2 and examples/www-links3.
	(dist): For $(distfiles), dereference symlinks on cp(1).

2008-01-17  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Top, Specifying control): Add
	"Example control file from scratch" to menus.
	(Example control file from scratch): New node/section.

2008-01-16  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* BUGS.edb (:tagged-setup :post-write-function):
	Handle missing "Notes: ".
	(:record-defaults): Update `id' value.

2008-01-16  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* BUGS.edb (:record-defaults): Rewrite.

2008-01-16  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-interfa.el (db-yank-record): Minor reimpl; nfc.

2008-01-15  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-interfa.el (db-add-record): Take optional arg APPEND.
	If non-nil, add after last record.  Update informative
	message to say "Appended" or "Inserted".
	* edb.texi (Adding and removing records): Update `db-add-record'.

2008-01-15  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* BUGS.edb (:record-defaults): Fix typo.

2008-01-15  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* lisp/connection.el (edb--connect): Handle schema basis.
	* edb.texi (Specifying control): Document schema basis.

2008-01-15  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-util.el (db-string-trim-whitespace): Rewrite.

2008-01-14  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-file-io.el (db-write-1): Fix bug introduced 2006-06-29:
	Call inherent's :seqw w/ three args, not four.

2007-12-31  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* lisp/edb-1int-to-single.el (edb-1int-to-single):
	Fix bug: Format :locals as in a let-bindings block.

2007-12-29  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-interfa.el (dbf-finished-sorting): Fix omission bug: If
	:record/before-sorting or :buffer/before-sorting are unspecified,
	default to first record and current buffer, respectively.

2007-12-29  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-interfa.el (dbf-finished-sorting): Use `prog1'.

2007-12-27  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Kinds of control property values):
	Define macro `cpropvaltype'; use it; undefine it.

2007-12-27  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Display specification optional parameters):
	Define macros `dslot' and `dslotx'; use them; undefine them.

2007-12-27  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Predefined displaytypes): Define macros
	`dtype' and `dtypex'; use them; undefine them.

2007-12-27  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Record field attributes):
	Define macro `rfattr'; use it; undefine it.
	(Predefined record field types):
	Define macro `rftype'; use it; undefine it.

2007-12-27  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-file-io.el (db-read-database-file-helper): Fix omission bug:
	For `rsep', when pre-first or post-last regexp matches, save
	the text in the respective -string slot for later output.

	* BUGS.edb (:cruft): Specify regexp for eof blurb.
	(iso-date): New recordfieldtype.
	(:fields): Use `iso-date'.  Also, add :post-write-function.

2007-12-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Tagged file layout):
	Define macro `tskeyword'; use it; undefine it.

2007-12-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Control properties reference):
	Define macro `cprop'; use it; undefine it.

2007-12-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* database.el: Add autoload form for `edb-1int-to-single'.
	* edb.texi (edb-1int-to-single): No longer mention `require' form.

2007-12-21  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-util.el (edb-hookp): New func.
	* db-file-io.el (db-before-read-hooks, db-after-read-hooks):
	Use `edb-hookp' for property `safe-local-variable'.

2007-12-21  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-file-io.el (db-before-read-hooks, db-after-read-hooks):
	Specify property `safe-local-variable'.

2007-12-13  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* database.el (edb-version): Use "%s" as first arg to `message'.
	* db-format.el (db-edit-mode): Likewise.

2007-12-12  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* autogen.sh: If COPYING is GPLv2, try to find and symlink
	GPLv3.  If not successful, output a warning.

2007-12-12  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* database.el (edb-EXPERIMENTAL-interact): Delete alias.

2007-12-12  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-file-io.el (db-confirm-seps): Fix bug: When there is only one
	field, take apparent-records to be directly the count of rsep matches.

2007-12-11  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-file-io.el (db-read-file-delimited, db-read-file-delimstr)
	(db-read-file-delimrx, db-write-intdelim): Use `pp-to-string'.

2007-08-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* ANONCVS: Delete file.

2007-05-29  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* configure.ac (AC_INIT): Bump version to "1.28" for release.

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-rep.el (db-lmap): Check :locals `db-inform-interval'
	in preference to Emacs Lisp var by same name.
	* edb.texi (Ongoing migration): Remove `db-inform-interval'.
	(Global variables): Add blurb and @ref.

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-sort.el (database-sort): Check :locals `db-sort-modifies-p'
	in preference to Emacs Lisp var by same name.
	* edb.texi (Sort interface):
	Mention `:locals' for `db-sort-modifies-p'.
	(Ongoing migration): Remove `db-sort-modifies-p'.

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Control properties reference):
	For :locals, say "mostly opaque".

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* lisp/connection.el (edb--1run-hook-with-arg): New func.
	* db-format.el (dbf-set-this-record-modified-p): Use `edb--1run-hooks'.
	(dbf-process-current-record-maybe): Use `edb--1run-hook-with-arg'.
	* edb.texi (Ongoing migration): Remove
	`dbf-set-this-record-modified-function'
	and `dbf-after-record-change-function'.
	(Display format change hooks): Add blurb and @ref.

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* lisp/connection.el (edb--1run-hooks): New func.
	* db-format.el (db-view-mode, db-edit-mode)
	(db-move-to-field-exact, db-next-field, db-previous-field)
	(db-first-field, db-jump-to-point): Use `edb--1run-hooks'.
	* db-summary.el (database-summary-mode): Use `edb--1run-hooks'.
	* edb.texi (Ongoing migration): Remove `dbf-enter-field-hook'.
	(Edit mode hooks): Add @ref to "Database mode hooks".

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-format.el (db-view-mode, db-edit-mode): Also check locals
	for `db-view-mode-hooks' and `db-edit-mode-hooks', respectively.
	* db-summary.el (database-summary-mode): Also
	check locals for `database-summary-mode-hooks'.
	* edb.texi (Ongoing migration): Remove `db-view-mode-hooks',
	`db-edit-mode-hooks' and `database-summary-mode-hooks'.
	(Database mode hooks): Document `:locals' control property technique.

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* lisp/connection.el (edb--1mm<-connection): Fix bug:
	Don't eval init form of each `:locals' binding pair.

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* BUGS.edb: New file.
	* GNUmakefile.in (bugfiles): New var.
	(distfiles): Use $(bugfiles).

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/GNUmakefile.in (prep-dist): New target.
	(clean): Depend on prep-dist.

2007-05-28  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.texi: Set top margin.
	Decrease column separation slightly.
	Use small-caps for title.
	Do vskip before the end copyright notice.
	(prop, dsopt): New commands.
	(control file properties): New section.
	(displayspec options): New section.
	(builtin types): New section.

2007-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* edb.texi (Control properties reference): Fix typo.

2007-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex: Convert to LaTeX.
	* doc/GNUmakefile.in (TEX): Delete var.
	(LATEX): New var.
	(%.dvi:%.tex): Use $(LATEX).

2007-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex (in view mode): Mention `y', `t' and `+'.

2007-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* lisp/connection.el (edb--connect): Skip comments
	and blank lines before looking for identifying cookie.

	* edb.texi (Specifying control): Mention that ":EDB"
	is looked for on the first non-comment, non-blank line.

2007-05-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* lisp/connection.el (edb--connect): Use `insert-buffer-substring'.

2007-05-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex (columnsperpage): Set to 3.
	* doc/GNUmakefile.in (DVIPDF): Delete var.
	(PS2PDF): New var.
	(%.ps:%.dvi): Use `-t landscape'.
	(%.pdf:%.dvi): Delete pattern rule.
	(%.pdf:%.ps): New pattern rule.

2007-05-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex (letterpaper): New \newcount; init to 0 (A4).
	Throughout, conditionalize on \letterpaper value.
	Also, define \font\eightmi and set \textfont1.

2007-05-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex: Add \par at end of \tiny block.

2007-05-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex: Use `\"a' instead of `ae'.

2007-05-02  Erich Waelde  <ew.ng116837@online.de>

	* doc/refcard.tex (tinyfont, tinysy): New \font names.
	(tiny): New \def.
	(copyrightnotice): Use \tiny.

2007-05-01  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex (year, versionnumber, updated): Delete.
	Input refcard.version.tex, instead.

	* doc/GNUmakefile.in (VERSION): New var.
	(all): New target.
	(%.dvi): Depend also on refcard.version.tex.
	(refcard.version.tex): New target.

2007-05-01  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* GNUmakefile.in (docfiles): New var.
	(distfiles): Use $(docfiles).
	(dist): Also create subdir $(dd)/doc.

2007-05-01  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* GNUmakefile.in (all): No longer do symlinking.
	* configure.ac (symlinks): New AC_CONFIG_COMMANDS block.

2007-05-01  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex (author, year): New defs.
	(shortcopyrightnotice): Remove spacing.
	(copyrightnotice): Use \shortcopyrightnotice; add text.
	[document]: Use \shortcopyrightnotice after title;
	use \copyrightnotice right before \bye.

2007-05-01  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* doc/refcard.tex: New file.
	* doc/GNUmakefile.in: New file.
	* configure.ac (AC_CONFIG_FILES): Add doc/GNUmakefile.

2007-04-30  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-format.el (db-ds+opts-rx): Rewrite w/ two subexps.
	(db-dspec<-string): Update `db-ds+opts-rx' handling.
	(db-string->displaytype): Delete func.
	(db-dspec<-dtype, db-dspec<-type/opts): Use `intern' directly.

2007-04-30  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-format.el (db-symbol-regexp, db-dtrx, db-fopt, db-dsym): Delete.
	(db-ds+opts-rx): New const string.
	(db-pad-left): New func.
	(db-optspec-list): Use `db-pad-left'.
	(db-dspec<-string): Handle options as list of strings.
	(db-dspec<-type/opts): Likewise.
	(db-setup-ddb-parse-displayspecs): Use `db-ds+opts-rx'.
	Update match beginning/end extraction computation.

	* db-summary.el (db-format->lines/sforms): Use `db-ds+opts-rx'.
	Update match beginning/end extraction computation.

	* db-types.el (edb-define-enumtype): Update `db-dspec<-type/opts' call.

2007-04-27  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-interfa.el (db-sort): Note current "before-sorting" buffer.
	(dbf-finished-sorting): When done, switch to noted buffer.

2007-04-26  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-summary.el (database-summary-mode-map): Bind `S' to `db-sort'.

2007-04-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-file-io.el (database-perform-substitutions):
	In error message, use one space after the colon.
	* db-types.el (db-string-match-actual->display): Likewise.
	* db-util.el (db-string->integer): Likewise.

2007-04-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* GNUmakefile.in (all): Symlink /dev/null.
	(dist): Also remove $(dd)/examples/null.

2007-04-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-file-io.el (db-confirm-seps): Avoid divide-by-zero.

2007-04-24  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-format.el (db-setup-ddb-parse-displayspecs):
	If no :sumfmt can be determined, synthesize one.

2007-04-23  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-summary.el (dbf-fill-summary-buffer): Take optional arg MOVEP.
	If non-nil, call `dbs-move-to-proper-record' after filling.
	(dbf-fill-summary-buffer-and-move-to-proper-record): Delete func.

	* db-interfa.el (db-hiding-toggle, db-toggle-show-hidden-records):
	Call `dbf-fill-summary-buffer' with non-nil MOVEP.

2007-04-23  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-file-io.el (db-reading-noninternal):
	Fix `(decare (debug ...))' spec.

2007-04-23  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* db-sort.el (database-ordered-p): If any contiguous
	elements are unordered return nil immediately.

2007-04-23  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* configure.ac (AC_INIT): Add third arg.

2007-04-22  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* GNUmakefile.in (datarootdir): New var.

2007-04-22  Thien-Thi Nguyen  <ttn@gnuvola.org>

	* autogen.sh (amfiles): Remove mkinstalldirs.
	* GNUmakefile.in (mkinstalldirs): Use `install-sh -d'.
	(distfiles): Remove mkinstalldirs.

2006-07-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-interact): Rename from `edb-EXPERIMENTAL-interact'.
	(edb-EXPERIMENTAL-interact): New alias.
	* edb.texi: Throughout, use `edb-interact'.

2006-07-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (database-view-mode, database-edit-mode): New aliases.

2006-07-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/skram.fmt, skram/skram.edb:
	In summary format, reduce width for `kind' to 10.

2006-07-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--field-nm2no): Delete func.
	* db-format.el (dbf-set-change-function, db-dspec<-string)
	* db-sort.el (db-convert-ordering-fields)
	(db-make-ordering-fields-canonical)
	* db-tagged.el (db-tagged-setup)
	* db-rdb.el (db-rdb-list-wrfr): Use :nm2no directly.

2006-07-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-empty-p): Delete defsubst.
	* db-sort.el (database-sort): Incorporate `database-empty-p'.
	* db-summary.el (db-summary): Likewise.
	* db-two-dbs.el (db-process-two-databases):
	Don't use `database-empty-p'.

2006-07-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Specifying a record field type):
	Remove doc for `define-recordfieldtype-from-recordfieldspec'.
	(Enumeration displaytypes): Remove doc for `define-enum-type'.
	(Defining new displaytypes):
	Remove doc for `define-displaytype-from-displayspec'.

2006-07-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-write): No longer recognize
	`db-tagged-wrfr-before-hooks' and `db-tagged-wrfr-after-hooks'.
	(db-tagged-read): No longer recognize `db-tagged-rrfr-hooks'.

	* edb.texi (Tagged file layout): Remove docs
	and intro blurb for `db-tagged-rrfr-hooks',
	`db-tagged-wrfr-before-hooks' and `db-tagged-wrfr-after-hooks'.

2006-07-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-field-query-replace)
	* db-two-dbs.el (database-compare-hack):
	Use :elaborated-rfspecs from global hash.

2006-07-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-rs-slice): New func.
	(database-set-fieldnames-to-list): Set :rs-slices
	and :elaborated-rfspecs in the global hash.
	(database-recordfieldspec): Delete func.
	(db-check-constraint): Use `db-rs-slice'.

	* db-file-io.el (db-read-file-delimstr)
	(database-stored->actual, db-write-intdelim): Use `db-rs-slice'.

	* db-format.el (db-dspec<-string): Use `db-rs-slice'.

	* db-interfa.el (db-field-help, db-add-record)
	(db-field-query-replace): Use `db-rs-slice'.
	(db-search-field): Use :elaborated-rfspecs from global hash.

	* db-sort.el (db-convert-ordering-fields):
	Use :elaborated-rfspecs from global hash.

	* db-tagged.el (db-tagged-setup): Use `db-rs-slice'.

	* db-two-dbs.el (db-merge-records, databases-compatible)
	(database-compare-hack): Use `db-rs-slice'.

	* db-rdb.el (db-rdb-list-wrfr): Use `db-rs-slice'.

	* edb.texi (Specifying a record field type):
	Remove doc and associated blurb for `database-recordfieldspec'.

2006-07-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout):
	Deconstruct names and types; call `database-set-fieldnames-to-list'
	to do reconstruction and elaboration.

2006-07-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/edb-meta.el (edb-meta): Set `revert-buffer-function'.

2006-07-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/retired.edb, skram/skram.edb:
	Make sure all text blocks end with :EOTB.

2006-07-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-set-recordfieldspec): Delete func.
	* db-rdb.el (db-rdb-setup): Incorporate deleted func.
	* db-tagged.el (db-tagged-setup): Likewise.
	* edb.texi (Specifying a record field type): Remove its doc, too.

2006-07-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-recordfieldspec-type): Delete func.
	* db-format.el (db-dspec<-string): Incorporate deleted func.
	* edb.texi (Specifying a record field type): Remove its doc, too.

2006-07-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el
	(edb-t-timedate1:format-date-mmddy)
	(edb-t-timedate1:format-date-ddmmyy)
	(edb-t-timedate1:format-date-yymmdd)
	(edb-t-timedate1:format-date-ddmmmyy)
	(edb-t-timedate1:format-date-yyyymmdd):
	Remove support for "FOO-separator" variables.

2006-07-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac (AC_INIT): Bump version to "1.27" for release.

2006-07-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (rw-ok): Add examples/geneal.dat.

2006-07-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/edb-meta.el (edb-meta): Also display symbols w/ non-nil
	default bindings, prefixed with "(v)" and/or "(f)".
	(globals-to-check): Specify this property for symbol `edb-meta'.

2006-07-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--T, edb--T!): Delete defsubsts.

2006-07-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-tagged-setup): Use :rdb-details instead
	of `edb--T' and `edb--T!'.  Also, use `edb--mputhash'.
	(db-rdb-database-stored->actual, db-rdb-list-rrfr)
	(db-rdb-list-wrfr, db-rdb-read-fields): Use :rdb-details.

2006-07-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-spec-name, db-tagged-spec-tag)
	(db-tagged-spec-help): Incorporate into unique caller.

2006-07-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-setup): Use :tagged-details instead
	of `edb--T' and `edb--T!'.  Also, move attribute syntax check
	earlier in function.  Also, use `edb--mputhash', `db-tagged-read'
	and `db-tagged-write', and set up :tagged-read-kargs and likewise
	:tagged-write-kargs for the latter two.
	(db-tagged-convert/index): Use :tagged-details.
	(db-tagged-rrfr, db-tagged-wrfr): Delete funcs.
	(db-tagged-read, db-tagged-write): New funcs.

2006-07-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-setup): Don't copy and modify
	recordfieldspecs.  Instead, use `db-set-field-help'
	and elaborate recordfieldspecs afterwards.

	* db-rdb.el (db-rdb-setup): Likewise.

2006-07-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-set-field-help): New func.
	(db-field-help): Consult :field-help as well.
	Display both help sources separated by two newlines.

	* edb.texi (Specifying a record field type):
	Document `db-set-field-help'.

2006-07-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-wrfr): Use `dolist'.

2006-07-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-setup): Doc fix.

2006-07-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-setup-data-display-buffer):
	Use `insert-buffer-substring'; remove properties
	"manually" later after local variables processing.

	* lisp/system.el (insert-buffer-substring-no-properties): Delete func.

	* lisp/connection.el (edb--1mm<-connection): For :locals, accept
	let-bindings-block style two-element list, instead of simple pair.
	(edb--1format-buffer<-connection): Store eval forms in a text
	property.  Also, handle locals with a `database-make-local' form.

	* edb.texi (Control properties reference): Update :locals docs.

2006-07-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-convert/index): New func.
	(db-tagged-before-read): Delete func.
	(db-tagged-database-stored->actual): Delete func.
	(db-tagged-setup): Incorporate `db-tagged-before-read'.
	Handle attribute :index-function.  Use `db-tagged-convert/index'.

	* edb.texi (Tagged file layout): Document :index-function.
	Also, mention restriction on use of `db-after-read-hooks'.

2006-07-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-setup-data-display-buffer):
	No longer check for and call `crypt-insert-file-contents'.

2006-07-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--connect): Fix omission bug:
	While looping, skip comments before doing the bounds check.

2006-07-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-view-mode, db-edit-mode):
	Include "Database " in mode name.
	(database-mode): Remove "Database:" from mode line.

	* db-summary.el (database-summary-mode): For mode line,
	remove "Database:" and use `mode-name'.

	* db-sort.el (database-sort-interface-mode):
	Remove "Database Sort:" from mode line.

	* edb.texi (Database mode): Update
	example mode line and associated explanation.

2006-07-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el (edb-t-timedate1:format-date-iso): New func.
	(date-iso): New displaytype.

	* edb.texi (Predefined displaytypes): Mention `date-iso'.

2006-07-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el
	(edb-t-timedate1:format-date-mmddyy-separator): Delete defconst.
	(edb-t-timedate1:format-date-ddmmyy-separator): Delete defvar.
	(edb-t-timedate1:format-date-yymmdd-separator): Delete defconst.
	(edb-t-timedate1:format-date-ddmmmyy-separator): Delete defvar.
	(edb-t-timedate1:format-date-yyyymmdd-separator): Delete defconst.
	(edb-t-timedate1:format-date-mmddyy)
	(edb-t-timedate1:format-date-ddmmyy)
	(edb-t-timedate1:format-date-yymmdd)
	(edb-t-timedate1:format-date-ddmmmyy)
	(edb-t-timedate1:format-date-yyyymmdd): Take optional arg SEPARATOR.
	If specified, use it as separator.  Otherwise, look for similarly-named
	symbol variable binding and use that.  Otherwise, use a default.
	(edb-t-timedate1:format-date-dec, edb-t-timedate1:format-date-europe):
	Update calling sequence to lower-level function to pass separator.

	* edb.texi (Predefined displaytypes): Split `date'-based displaytypes
	into two groups.  Mention that first group takes optional arg.

2006-07-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el
	(edb-t-timedate1:format-date-ddmmyy): Fix bug: Use "%dd" and "%mm".
	(edb-t-timedate1:format-date-ddmmmyy): Fix bug: Use "%dd".
	(edb-t-timedate1:format-date-yyyymmdd): Fix bug: Use "%mm" and "%dd".
	Reported by Erich Waelde.

2006-07-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el (edb-t-timedate1:format-date-sub-syms-alist):
	Wrap each expression in an anonymous 1-ary function.
	(edb-t-timedate1:format-date): Use `funcall'.

2006-07-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el (edb-t-timedate1:format-date-sub-syms-alist):
	Make table concise; build data structure at compile time.

2006-07-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el (edb-t-timedate1:format-date-sub-syms-alist):
	Fix bug: Ensure that `yy' rendering produces two characters.

2006-06-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-EXPERIMENTAL-interact): Fix omission bug: If
	control has no associated filename, use the buffer name.  Also, for
	inherent data, create a child hash under :edb1 :1singles DATABASE, and
	initialize it w/ various properties from the control tree.

	* db-file-io.el (db-write-1): Handle inherent data.

	* edb.texi (Control properties reference): Rewrite entry for :data.

2006-06-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (write-line): New :edb1 :seq-funcs init.

2006-06-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-EXPERIMENTAL-interact):
	For inherent data, drop records from connection tree.

2006-06-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-write-database-file):
	Display alternative message for inherent data.

2006-06-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (1D): Use `edb--mputhash'.

2006-06-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (rw-ok): New var.
	(dist): Make writeable files listed in $(rw-ok).

2006-06-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/edb-meta.el (edb-meta fo):
	Use `safe-length' for `cons' objects.

2006-06-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/state.el (edb--mputhash): New func.

2006-06-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-EXPERIMENTAL-interact): When CONTROL is
	a filename, use its nondirectory part as the buffer name.

2006-06-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--connect): For `conn', drop plist F.

2006-06-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--connect): Don't delete parsed text.
	Also, for :data, stash :tb-start and :tb-finish as well.

2006-06-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--connect): Fix omission bug:
	Save value of call to `plist-put' back to the plist.

2006-06-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file): For inherent
	data, handle SOURCE in the form of (FILENAME RECORD...).
	Also, propertize :file value w/ the given FILENAME.

	* db-interfa.el (db-find-read-in-database): For the filename
	"(inherent)", consult its :file text property for the actual filename.

	* database.el (edb-EXPERIMENTAL-interact): Update calls to
	`db-find-read-in-database' and `db-read-database-file' to
	support filename saving and comparison for inherent data.

2006-06-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/edb-meta.el (edb-meta): Also display LEN for cons.

2006-06-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (:edb1 :schema-schema 'single):
	Add :runtime-keys and some values for it.

	* db-util.el (edb--brpops): New var.
	(edb--S, edb--S!): Rewrite, and as macros.
	(edb--POV): Delete var.
	(edb-get, edb-put): Rewrite.

	* db-format.el (db-make-data-display-buffer): Init `edb--bprops'.
	* db-summary.el (db-summary): Likewise.
	* db-sort.el (database-sort-interface): Likewise.

	* edb.texi (Top): Add to detailed menu:
	"Changing control properties at runtime".
	(Specifying control): Also, add it to this menu.
	(Changing control properties at runtime): New node/section.

2006-06-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-make-data-display-buffer): Use :wraparound.
	* db-util.el (edb-get, edb-put): Use :wraparound.
	* db-interfa.el (db-select-next-record): Use :wraparound.

2006-06-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (edb-put): Use `pop'.

2006-06-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/edb-meta.el: New file.
	* GNUmakefile.in (normal-lispfrags): Add meta.
	* database.el (edb-meta): Add autoload form for this command.
	* edb.texi (In case of trouble): Add @defun for `edb-meta'.

2006-06-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Specifying control): Add @cindex.

2006-06-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (edb-true): New func.

	* db-format.el (dbf-set-this-record-modified-function)
	(dbf-before-display-record-function, dbf-enter-field-hook)
	(dbf-first-change-function, dbf-every-change-function)
	(dbf-after-record-change-function, dbf-format-name-spec-alist):
	Add safe-file-local-variable cookie.

	* db-interfa.el (db-new-record-function): Likewise.

	* bfuncs (edb-bfunc-make-edbcore):
	Handle "safe-file-local-variable cookies".

2006-06-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac (badnamesp): New AC_SUBST var.
	(badnames): New AC_ARG_ENABLE.

	* GNUmakefile.in (badnamesp, badnames-el): New vars.
	(install): Remove $(badnames-el) unless $(badnamesp).

	* bfuncs (edb-bfunc-make-edbcore): Remove "badnames cookies"
	and, if disabled, the line immediately following each of them.

	* db-types.el, db-rep.el: Add "badnames cookies".

2006-06-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-callconvert): Make into a function.

2006-06-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-isbn.el, db-types.el, edb-t-timedate1.el: Throughout,
	use `edb-define-displaytype' and `edb-define-recordfieldtype'.

2006-06-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (edb-define-displaytype, edb-define-recordfieldtype)
	(edb-define-enumtype): Rename from `define-displaytype-from-displayspec',
	`define-recordfieldtype-from-recordfieldspec' and `define-enum-type',
	respectively.  Define the old names as aliases for the new ones.

	* edb.texi: Throughout, rename to `edb-define-displaytype'
	`edb-define-recordfieldtype' and `edb-define-enumtype'
	from `define-displaytype-from-displayspec',
	`define-recordfieldtype-from-recordfieldspec' and `define-enum-type',
	respectively.  Mention that the old names are available as aliases.

2006-06-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-type-alias): Delete func.

2006-06-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-one-char-enum-displaytype): Delete func.

	* edb.texi (One-character enumeration displaytypes): Delete node.
	(Multi-character enumeration displaytypes): Merge into parent node.
	(Top): Update detailed menu.

2006-06-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-displaytype-from-optstring): Delete func.

	* edb.texi (Defining new displaytypes): Remove "two ways" intro.
	Say explicitly: use `define-displaytype-from-displayspec'.

2006-06-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (deflocalvar): Delete macro.

	* db-format.el (dbf-set-this-record-modified-function)
	(dbf-redisplay-entire-record-p, dbf-before-display-record-function)
	(dbf-enter-field-hook, dbf-first-change-function)
	(dbf-every-change-function, dbf-after-record-change-function)
	(dbf-format-name-spec-alist): Make into a defvar.
	(db-make-data-display-buffer): Make these variables buffer-local.

2006-06-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-set-this-record-modified-p): Use `when'.

2006-06-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-new-record-function): Make into a defvar.
	* db-format.el (db-make-data-display-buffer):
	Make `db-new-record-function' buffer-local.

2006-06-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-file-delimited):
	Fix bug: Replace match w/ literal text.

	* db-format.el (db-setup-ddb-parse-displayspecs): Use `delete-region'.
	Also, fix bug: Replace match w/ literal text.

2006-06-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (db-summary): Use `buffer-local-value'.

2006-06-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-database): Make into a defvar.
	(db-find-file): Assert that `dbc-database' is buffer-local.
	* db-summary.el (db-summary): Make `dbc-database' buffer-local.
	* db-format.el (db-make-data-display-buffer): Likewise.
	* db-sort.el (database-sort-interface): Likewise.

2006-06-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-meta-prefix-ify): Delete macro.
	* db-interfa.el (database-view-mode-map)
	(database-edit-mode-map): Prefix meta "manually".
	* db-summary.el (database-summary-mode-map): Likewise.

2006-06-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Relational file layout): Write text.

2006-06-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Date displaytype, Time displaytype): Merge into parent node.
	(Predefined displaytypes): Add subsections "Builtin" and "From
	edb-t-timedate1.el".  Expand date and time entries.  Add defuns.

2006-06-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Predefined record field types): Rewrite intro blurb.
	Split into subsections "Builtin" and "From edb-t-timedate1.el", each
	w/ its own blurb.  Move performance note for type `date' into
	edb-t-timedate1.el commentary.

2006-01-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (install): Fix omission bug:
	Also install $(dontcompile) files.

2006-01-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile-atvars.in: New file.

	* skram/GNUmakefile: Include file "GNUmakefile-atvars".
	(EMACS, topdir): Delete vars.

	* GNUmakefile.in (skramdist): Add GNUmakefile-atvars.in.

	* configure.ac: Add AC_CONFIG_FILES entry for "skram/GNUmakefile-atvars".

2006-01-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac (EMACS): If env var by same name has value "t", unset it.
	Also, use `AC_CHECK_PROG' instead of `AC_PATH_PROG'.

2006-01-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el: Delete file.
	* database.el (db-convert): Remove autoload form.
	* GNUmakefile.in (normal-frags): Remove "convert".

2006-01-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/edb-1int-to-single.el: New file.

	* GNUmakefile.in (normal-lispfrags): New var.
	(normal): Use $(normal-lispfrags).

	* skram/GNUmakefile (elisp): Include $(topdir)/lisp/connection.el
	and $(topdir)/lisp/edb-1int-to-single.el.

	* edb.texi (Internal file layout): Add @menu.
	Streamline.  Move text into "Internal file layout details".
	(Internal file layout details): New node/subsection.
	(edb-1int-to-single): New node/subsection.

2006-01-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/skram.fmt: Split into three
	`eval' forms in Local Variables section.

2006-01-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/system.el (insert-buffer-substring-no-properties):
	New func, from GNU Emacs subr.el (CVS revision 1.487).

2006-01-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (:edb1 :seq-funcs 'read-line):
	Fix OBOE and ordering lossage; rewrite in tail-pointer style.

2006-01-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Invoking EDB): Fix bug: Mention
	`db-save-database' and `db-write-database-file'.
	(Example EDB session): Fix gramamr typo.

2006-01-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el, db-rdb.el, db-search.el, db-sort.el, db-tagged.el:
	* db-two-dbs.el: Move `provide' form to end of file.

2006-01-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-enum-type): Map `car' over D->A
	instead of using `all-completions' with empty string first arg.

2006-01-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Details of hiding): Remove @defun `dbc-set-hide-p'
	and intro blurb.  Say instead, simply, "when hiding is in effect".

2006-01-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-reset-on-edit-list): Delete deflocalvar.
	(db-edit-mode): Remove `dbf-reset-on-edit-list' processing.

	* edb.texi (Ongoing migration): Delete @itemx `dbf-reset-on-edit-list'.
	(Edit mode hooks): Remove @defvar `dbf-reset-on-edit-list'.
	Merge example with that using `db-edit-mode-hooks'.

2006-01-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Manipulating records): Fix typo introduced 2006-01-03.

2006-01-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Reading from disk): Remove @defun and refs
	to `db-setup-data-display-buffer'.  Reword appropriately.

2006-01-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (record-field): Delete defalias.
	(record-set-field): Likewise.

	* edb.texi (Manipulating records): Delete @findex and
	associated blurbs for `record-field' and `record-set-field'.

2006-01-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-commit-record): Delete defalias.
	* edb.texi (Making changes permanent):
	Delete @deffnx for `db-commit-record'.
	(Making additional data display buffers): Use `db-accept-record'.

2006-01-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (make-record): Delete defsubst.
	* edb.texi (Manipulating records): Delete @defun for `make-record'.

2006-01-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (EXTRABATCHOPTS, ebatch): New vars.
	($(installed-elc-files), installcheck): Use $(ebatch).

	* skram/GNUmakefile (emacs): Delete var.
	(EMACS, EXTRABATCHOPTS): New vars.
	(ebatch): Use $(EMACS) and $(EXTRABATCHOPTS).

2006-01-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-read-fields): Use `string-to-number'.
	* edb-t-timedate1.el (edb-t-timedate1:parse-time-string): Likewise.

2006-01-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-inform-outside-field):
	Use two-arg variant for `defalias'.

2006-01-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* autogen.sh (am17): Delete var.
	(amprefix, amlibdir): New vars.
	Use `amlibdir' instead of `am17'.

2005-12-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac (AC_INIT): Bump version to "1.26" for release.

2005-12-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (cvs-state-summary): Also look at subdir "lisp".

2005-12-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Add self as @author.

2005-12-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Remove @scadenza{2.x,FOO} entries.
	Update other @scadenza entries and associated blurbs.

2005-12-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-record-field): Rename from `record-field'.
	(record-field): New defalias.
	(db-record-set-field): Rename from `record-set-field'.
	(record-set-field): New defalias.
	(dbf-this-record-set-field): Use `db-record-set-field'.
	(dbf-displayed-record-field): Use `db-record-field'.

	* lisp/connection.el (edb--1format-buffer<-connection): Likewise.

	* edb.texi: Throughout, use `db-record-field'
	and `db-record-set-field' in examples.
	(Manipulating records): Say "db-record-field" and "db-record-set-field".
	Add blurb about `record-field' and `record-set-field' alias.

2005-12-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-maprecords): Rename from `maprecords'.
	(maprecords): New defalias.

	* db-file-io.el (database-stored->actual): Use `db-maprecords'.
	(db-write-1, db-write-intdelim): Likewise.

	* db-interfa.el (db-field-query-replace): Likewise.

	* edb.texi: Throughout, use `db-maprecords' in examples.
	(Mapping over the database): Say "db-maprecords".
	Add blurb about `maprecords' alias.

2005-12-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (The database structure): Delete node/section and refs.
	(Sort interface): Mention :field-order control property.
	No longer mention "field-priorities database slot".
	(Execution of format file eval expressions): No longer
	mention "fieldnames database slot".
	(Control properties reference): For :substitution-separators,
	mention what happens when unspecified.  Fix doc for :field-order:
	Mention `order-function' and `sort-function'.
	(Specifying a record field type): Mention automatic call via
	specification of :fields or :tagged-setup.  Move @defun for
	`database-set-fieldnames-to-list' and @vindex and explanation
	for `db-default-field-type' here.  Also, move @defuns here and
	add @scadenza for `database-recordfieldspec',
	`database-recordfieldspec-type' and `database-set-recordfieldspec'.
	(Record field attributes): Say "attribute" instead of "slot".
	Also, mention :field-order control property instead of
	"field-priorities database slot".
	(Resolving ambiguities): Convert examples to show control property
	usage.  Also, mention :substitutions control property instead of
	"substitutions database slot".
	(Problems with end-of-file newlines): Convert example to show
	control property usage.  Add @xref "Control properties reference".
	(Nonregular file layout): Mention :read-record control property
	instead of "read-record-from-region database slot".  No longer
	mention "record-sepinfo database slot" and "field-sepinfo database
	slot".  Mention :record-separator-function control property.
	Mention :write-record instead of "write-record-from-region database
	slot".  Add @xref "Control properties reference".
	(Reading from disk): Reword to not say "database slots".  Also,
	mention :record-FOO and :field-separator control properties instead
	of "recordsep database slot" and "fieldsep database slot".
	(Display specifications): Update @pxref.
	(Auxiliary files): No longer mention "print-name database slot".

2005-12-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Kinds of control property values): Add text block example.
	Convert "regexp cons" to "regexp vector"; document third v element.
	(Control properties reference): Use "regexp vector".
	(The sepinfo structure): Delete node/subsection.
	(Sepinfo examples): Likewise.
	(How to specify delimited file layout): Rewrite,
	incorporating some text from the deleted child subsections.

2005-12-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (:edb1 :schema-schema 'single):
	Add `string-or-rxvec-p' to :predicates; remove `string-or-rxcons-p'.
	Use new predicate for :field-separator and :record-separator.
	(edb--1mm<-connection): Update transforms for changed keys, and add
	support for contemporaneous :sep-string and regexp specification.

2005-12-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el, db-format.el, db-interfa.el, db-rep.el
	* db-types.el, db-util.el: Don't require `cl'.

2005-12-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Designing a database): Delete chapter (node and children).
	(Specifying control): New chapter (node and children).
	(Data encoding): New node/section.
	(Database file layout): Add "Data encoding" to menu.
	(Sort interface): Add scadenza for `db-sort-modifies-p'.
	(Changing display formats): Add scadenza and control
	properties xref for `dbf-format-name-spec-alist'.
	(Delimited file layout): Say "newlines", not "carriage returns".
	Also, no longer mention speed disadvantage.
	(Auxiliary files): Add @scandeza, control properties blurb.
	(Read hooks): Add @scandeza for `db-before-read-hooks'
	and `db-after-read-hooks'.
	(Record display hooks): Add control properties blurb
	for `dbf-before-display-record-function'
	(Display format change hooks): Add control properties blurb and
	scadenza for `db-new-record-function', `dbf-first-change-function'
	and `dbf-every-change-function'.

2005-12-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el: Make :edb1 :seq-funcs a non-weak hash table.
	(edb--*schema-schema*): Delete var.
	Replace an :edb1 init form for :schema-schema
	followed by init for :edb1 :schema-schema 'single.
	(edb--validate-schema): Use :edb1 :schema-schema.

2005-12-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--connect): Fix typo.

2005-12-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*sequential-i/o*): Delete var.
	Replace with an :edb1 init form for :seq-funcs
	followed by init for :edb1 :seq-funcs 'read-line.
	(edb--connect): Use :edb1 :seq-funcs.

2005-12-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (dbf-hidden-to-end-p): Delete deflocalvar.
	(dbsi-use-ordering-make-buffer-default): Use :hendp.

	* database.el: Remove handling for defunct var `dbf-hidden-to-end-p'.

	* edb.texi (Sort interface): Delete @defvar for `hidden-to-end-p'.

2005-12-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Make
	read-only slots `record-sepinfo' and `field-sepinfo'.

	* db-nosetf.el (database-set-record-sepinfo)
	(database-set-field-sepinfo): Delete.

2005-12-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--1mm<-connection): Elide conversion
	of vector into list when the result is being passed to `mapcar'.

2005-12-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema* single :valid-keys):
	Specify type predicate for :locals.
	(edb--1mm<-connection): Transform :locals.

2005-12-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-skip-regexp-backward): Delete defsubst.
	* db-format.el (db-backward-char): Incorporate deleted defsubst.

2005-12-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-report.el (db-report): Interactively, make :ddb-spec
	:connection :report override querying for filename.  Update
	filename handling to suit.

2005-12-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--1format-buffer<-connection):
	Handle :every-change-function.

2005-12-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema* single):
	Use backquote; unquote lambda expressions.
	Make :elaborate-value a pair.
	Likewise for each element of :predicates.
	(edb--validate-schema): Update `edb--*schema-schema*' access.

2005-12-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema* single :valid-keys):
	Delete :post-last-record.

2005-12-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el
	(edb--*schema-schema* single :valid-keys :record-defaults):
	Specify type predicate.
	(edb--1format-buffer<-connection): Handle :record-defaults.

2005-12-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema* single :predicates):
	Add `vector-of-two-strings-p'.
	(edb--*schema-schema* single :valid-keys :substitution-separators):
	Specify type predicate.

2005-12-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-enum-type enum-do-completions):
	Fix bug introduced 2005-10-10: Use cdr of `assoc' return value.

2005-12-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema* single :valid-keys):
	Delete :field-setter.

2005-12-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--1format-buffer<-connection ppcur):
	Insert additional newline if object is a symbol.
	(edb--1format-buffer<-connection): Handle :first-change-function.

2005-12-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema* single):
	Specify type predicates for most entries in :valid-keys.
	Add :elaborate-value and :predicates.
	(edb--validate-schema): Also elaborate and check types for values.
	(edb--connect): No longer do value elaboration here.

2005-12-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: For chapter groups, say "Manual" instead of "Perspective".
	Throughout, reword to not say "database designer".

2005-12-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-format-name-spec-alist): Doc munging; nfc.

2005-12-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Convert all @ref to @xref or @pxref.

2005-12-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Variables): Delete node.
	(Exiting Emacs or saving files): Likewise.
	(In case of trouble): Incorporate deleted nodes as @section.

2005-12-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Sort interface): New node/section.
	(Sorting): Add to menu "Sort interface".

2005-12-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Debugging EDB): Delete node/section.

2005-12-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-file-delimstr):
	Fix bug introduced 2005-10-20: Use `count'.

2005-12-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Bugs in report generation): Delete node/section.

2005-12-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Sorting): Document `M-p' and `M-n'.

2005-12-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Search patterns): Delete node.
	(Searching): Incorporate section "Search patterns".

2005-12-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Throughout, use @key for RET, DEL and SPC.
	(Editing a field): Use a table.

2005-12-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Exiting database mode): Fix typo.

2005-12-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Miscellaneous Ramblings): Remove node/section.
	(Invoking EDB): Link to "Reading from disk".

2005-12-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Example EDB session): Use skram/retired.edb.
	Emphasize `edb-EXPERIMENTAL-interact'.  Say "move point".
	Convert all @ref to @xref; move them to end of paragraphs.
	Remove search.  Use `x', not `q'; `S', not `M-x db-sort'.
	Reword support text to describe steps.  Rewrite intro.

2005-12-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Remove redundant @cindex entries.

2005-12-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--1mm<-connection): Transform :substitutions.

2005-12-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-perform-substitutions):
	Elide redundant local assignment; nfc.

2005-12-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-EXPERIMENTAL-interact):
	Kludge buffer name for inherent data.

2005-12-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema*):
	Rename :field-priorities to :field-order.
	(edb--1mm<-connection): Use :field-order; add transform.

2005-12-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Miscellaneous Ramblings): New node/section.
	(Introduction): Add to menu "Miscellaneous Ramblings".
	(Terminology and concepts): Add Perlis quote and blurb.
	(Invoking EDB): Add blurb for two approaches.
	Add @deffn for `edb-EXPERIMENTAL-interact'.
	Move autoload doc and example into intro blurb.
	Say "old (1.x only)" for `db-find-file'.

2005-12-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Organization of this manual):
	Mention possibility of implementation deatils disappearing.

2005-12-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Terminology and concepts): Rename from "Terminology".
	Update references.  Expand.

2005-12-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Naming Conventions): Incorporate nodes "File naming
	conventions" and "Function and variable naming conventions".
	Clean up.  Add intro blurb.  Add section "Type naming conventions".

2005-12-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Function and variable naming conventions):
	Remove defunct entry for variables w/ "dbfs-" prefix.

2005-12-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/retired.README, skram/retired.edb: New files.

2005-12-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--1mm<-connection):
	Add :write-record wrapping.

2005-12-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/system.el (help-function-arglist): New func,
	from GNU Emacs help-fns.el (CVS revision 1.80).

	* lisp/connection.el (edb--1format-buffer<-connection):
	Use `help-function-arglist'.

2005-12-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (skramdist): Remove retired.fmt.

2005-12-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--1format-buffer<-connection):
	Handle :before-display.

2005-12-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-funcall-maybe): Delete func.
	* db-two-dbs.el (db-merge-records): Incorporate `db-funcall-maybe'.
	* db-tagged.el (db-tagged-wrfr): Likewise.
	* db-file-io.el (db-write-intdelim): Likewise.
	* db-rdb.el (db-rdb-list-wrfr): Likewise.

2005-12-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-display-record): Use `run-hook-with-args'.

2005-12-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file): Take list of known records
	as first arg (renamed to SOURCE), in addition to filename.  For
	known-records case, set :file to "(inherent)", :modifiable-p to t,
	and use `edb--snap!' directly.

	* database.el (edb-EXPERIMENTAL-interact):
	Handle case where connection has inherent :data.

2005-12-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (edb-data-coding): Remove defvar.
	(db-read-database-file): Use `symbol-value' for `edb-data-coding'.

2005-12-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema*): Remove
	:fieldtype, :displaytype and :enumerated-type.
	(edb--1format-buffer<-connection): Handle :tagged-setup.

2005-12-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--*schema-schema*): Remove :require.

2005-12-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--connect): No longer save :unevalled-schema.
	(edb--1mm<-connection): No longer consult :unevalled-schema
	nor set :fieldnames and :recordfieldspecs.
	(edb--1format-buffer<-connection): No longer consult
	:unevalled-schema.  Also, conditionally quote setf forms.

2005-12-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-change-format): Avoid "Reading format..."
	message for connection-bundled formats.

2005-12-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--connection-file-cache): New func.
	(edb--1format-buffer<-connection): Also handle
	multiple display formats and selecting display format.

	* db-format.el (db-setup-data-display-buffer):
	Don't load aux file if TEMPLATE is a buffer.
	(db-change-format): Dynamically handle "(connection)" file type.

2005-11-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el
	(edb--connect): Do not eval forms whose car is a string.
	(edb--1mm<-connection): No longer take second arg PROPERTY.
	Update caller.  Also, use both :unevalled-schema and :schema.
	Also, fix bug: stuff field-sepinfo w/ proper cruft values.

2005-11-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file): Accord w/ 2005-10-14
	rewrite of `db-kill-buffer-hook': No longer update :ddbufs
	when killing buffer due to coding-system mismatch.

2005-11-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-setup-ddb-parse-displayspecs): Search entire
	accessible region for last page (and local-variables block).

2005-11-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Remove `(goto-char (point-min))' from
	`read-record-from-region' functions.
	Also, reindent @lisp frags and other small cleanup.

2005-11-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el (edb--connect): If arg is a buffer, use its
	contents.  Also, accumulate top-level forms not preceded by a keyword,
	and eval them in order of appearance after validation.  Also, eval the
	property values of :schema, except where such values are a list w/
	keyword first element.  Also, save :unevalled-schema.
	(edb--1mm<-connection): Take optional arg PROPERTY.  If specified,
	use it instead of the connection's :schema property.
	(edb--1format-buffer<-connection): Use :unevalled-schema for both
	the generated buffer rewrite and the monolithic-mess stuffing.
	Also, in the generated buffer, set :connection text property.

	* database.el (edb-EXPERIMENTAL-interact): Accept buffer as CONTROL,
	and nil as DATA.  If DATA is not specified, search for a file
	based on CONTROL's filename (or `buffer-file-name' if a buffer).

2005-11-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-format-name): Delete deflocalvar.
	(db-change-format): Use :format-name.
	Also, if resolved filename of new format is the same
	as current format's filename, inhibit informative message.

	* edb.texi (Changing display formats):
	Remove @defvar for `dbf-format-name'.
	(Record display hooks): No longer mention `dbf-format-name'.

2005-11-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-file-custom): Fix bug: When using regexp
	as record delimiter, set point to beginning of narrowed region
	prior to calling the read-record-from-region function.

2005-11-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/state.el (edb--G, edb--G!): Delete funcs.
	(edb--arrr!, edb--rinit, edb--rget, edb--rput)
	(edb--rforget): New funcs.

	* db-util.el (edb--G, edb--G!): New funcs.
	(edb--state): Delete deflocalvar.
	Replace with an :edb1 init form for :bprops.
	(edb--S, edb--S!): Use :edb1 :bprops.

	* db-rep.el (:1singles): Update init form syntax.
	* db-types.el (:1displaytypes, :1recordfieldtypes): Likewise.

	* db-format.el (:1moving-mark): Update init form syntax.
	(db-view-mode, dbf-process-field-maybe, db-make-data-display-buffer)
	(db-additional-data-display-buffer): Use :bprops and `current-buffer'.

	* db-summary.el (db-summary): Likewise.

	* db-sort.el (database-sort-interface): Likewise.

	* db-interfa.el (db-exit): Likewise.
	(db-kill-buffer-hook): Also remove current
	buffer from :bprops in :edb1 hash table.

	* bfuncs (edb-bfunc-make-edbcore): Update syntax for
	global hash table init forms.  Also, output the :edb1 init.

2005-11-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db--mkrec): New func.
	(db-make-record, make-record): Use `db--mkrec'.

	* db-file-io.el (db-read-file-custom): Use RRFUNC return value
	directly if it is a vector, otherwise pass to `db--mkrec'.

	* db-rdb.el (db-rdb-list-rrfr): Return plist.
	* db-tagged.el (db-tagged-rrfr): Likewise.

	* edb.texi (Nonregular file layout): Mention that `db-make-record'
	usage for `read-record-from-region' is for backward-compatability.
	Also, remove redundant @cindex entries for `read-record-from-region'
	and `write-region-from-record'.
	(Nonregular database example): Update examples to return plist
	in `read-record-from-region' function.
	(Manipulating records): Update docs for `db-make-record'.

2005-11-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-p): Delete defsubst.
	(db-tagged-setup, db-tagged-database-stored->actual)
	(db-tagged-before-read): Use :tagged-field-spec.

	* db-rdb.el (db-rdb-p): Delete defsubst.
	(db-rdb-setup, db-rdb-database-stored->actual): Use :rdb-field-defs.

2005-11-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/state.el (edb--hashcollect): Handle :vals for WHAT.

2005-11-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-save-database-helper): Delete func.
	(db-save-database): Incorporate `db-save-database-helper'.
	Also, use `yes-or-no-p'.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi
	(Changing display formats): Remove @defvar for `dbf-format-file'.
	(Execution of format file eval expressions): Remove @defvar for
	`dbf-always-forms'.  Update refs to describe user-visible behavior.
	(Reading from disk): No longer mention `dbc-database'.
	(Auxiliary files): Likewise.
	(Edit mode hooks): Add scadenza for `dbf-reset-on-edit-list'.
	Also, extend example w/ variant using `db-edit-mode-hooks'.
	(Display format change hooks): Fix typo.
	(Database representation): Add @defvar for `dbc-database'.
	(Manipulating records): Update arglist for `record-set-field'.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-kill-buffer-hook): If there are no
	buffers left, check for and also kill :ddb-spec buffer.

	* database.el (edb-EXPERIMENTAL-interact): New func.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-setup-data-display-buffer): Make first
	arg TEMPLATE; extend to handle the case where it is a buffer.

	* db-file-io.el (db-read-database-file): Make scond arg
	DISPLAY-TEMPLATE; extend to handle the case where it is a buffer.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-format-file): Delete deflocalvar.
	(db-setup-data-display-buffer, db-change-format): Use :format-file.

	* db-interfa.el (db-find-file): Use :format-file.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-jump-to-record):
	If ARG is a record, compue and use its index.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (edbcore-components, typelibs, normal):
	Use "substitution references" to construct the value.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-field-name-charset, db-rdb-list-separator-string)
	(db-rdb-list-entry-regexp, db-rdb-list-continuation-regexp)
	(db-rdb-list-continuation-output, db-rdb-rrfr-hooks)
	(db-rdb-wrfr-before-hooks, db-rdb-wrfr-after-hooks)
	(db-rdb-converted-p, db-rdb-file-type, db-rdb-header-fields)
	(db-rdb-field-defs, db-rdb-header-string): Delete vars.
	(db-rdb-p, db-rdb-setup, db-rdb-database-stored->actual)
	(db-rdb-list-rrfr, db-rdb-list-wrfr, db-rdb-read-fields): Use
	:rdb-field-defs, :rdb-converted-p, :list-entry-regexp,
	:list-continuation-regexp, :list-continuation-output,
	:file-type, :max-field-name-length, :continuation-output,
	:header-string, :pre-parse-thunk, :pre-write-function,
	:post-write-function and :header-fields "database-local
	variables" via `edb--T!' and `edb--T', as well as " | ".

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (skramdist): New var.
	(distfiles): Use $(skramdist).

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbf-finished-sorting): Update summary
	buffer, whether or not there are windows open on it.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/connection.el: New file.
	* GNUmakefile.in (edbcore-lispfrags): Add "connection".

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (db-make-ordering-fields-canonical):
	No longer take OFIELDS; compute it internally.  Also, fix
	omission bug: Handle ignored and repeated conditions.
	(database-sort-interface): Update call to changed func.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (database-sort-interface):
	Leave point at first significant field.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (database-sort): Use current database when DB nil.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-this-record): Delete deflocalvar.
	(dbf-set-this-record-modified-function)
	(dbf-set-this-record-modified-p, dbf-displayed-record)
	(dbf-after-record-change-function, dbf-process-field-maybe)
	(dbf-process-current-record-maybe, db-setup-data-display-buffer)
	(db-make-data-display-buffer, db-additional-data-display-buffer):
	Use :under.

	* db-rep.el (record-field): Use :under.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-this-field-text):
	Use `buffer-substring-no-properties'.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-always-forms): Delete deflocalvar.
	(db-change-format, dbf-always): Use :always-forms.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-add-record): If LOCATION is a function,
	call it w/ the current index to compute the new index.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-sort): Set :record/before-sorting.
	(dbf-finished-sorting): Fix bug introduced 2005-10-10:
	Use previously stored record instead of current (stale) index.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-moving-mark): Delete var.
	(:1moving-mark): New global hash key init form.
	(db-jump-to-point): Use :1moving-mark in EDB hash.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (record-set-field): Make DATABASE optional.
	If omitted or nil, use `dbc-database'.
	(dbf-this-record-set-field):
	No longer pass DATABASE to `record-set-field'.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (maprecords): Make DB optional.
	If omitted or nil, use `dbc-database'.

	* db-interfa.el (db-field-query-replace):
	No longer pass DB to `maprecords'.

	* edb.texi (Setting the mark and hide bits):
	In examples, no longer specify DB to `maprecords'.
	(Mapping over the database): Likewise.
	Also, update @defun for `maprecords'.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (record-field): Make DATABASE optional.
	Also, if RECORD is t, use the "current record".
	(dbf-displayed-record-field): Omit DATABASE arg to `record-field'.

	* edb.texi (Nonregular database example)
	(Record display hooks, Mapping over the database):
	In examples, don't pass DATABASE to `record-field'.
	(Manipulating records): Update @defun for `record-field'.

2005-11-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (edb--T, edb--T!): Move from here...
	* db-rep.el (edb--T, edb--T!): ...to here.

2005-11-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-make-record): New func.
	(make-record): Use `db-make-record'.

	* db-format.el (db-setup-data-display-buffer): Use `make-vector'.
	(db-make-data-display-buffer): Likewise.
	(db-additional-data-display-buffer): Likewise.
	* db-interfa.el (db-add-record): Likewise.
	* db-two-dbs.el (db-merge-records): Likewise.

	* db-tagged.el (db-tagged-rrfr): Use `db-make-record'.
	* db-rdb.el (db-rdb-list-rrfr): Likewise.

	* edb.texi (Nonregular file layout): Mention `db-make-record'.
	(Nonregular database example): Use `db-make-record' in examples.
	(Manipulating records): Add @defun for `db-make-record'.
	Add scadenza and accompanying blurb for `make-record'.

2005-11-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (dbf-field-priorities): Delete deflocalvar.
	(dbsi-quit-clear-buffer-default)
	(dbsi-use-ordering-make-database-default)
	(dbsi-use-ordering-make-buffer-default): Use :field-priorities.

	* database.el: Remove handling for defunct var `dbf-field-priorities'.

	* edb.texi (Sorting): No longer mention `dbf-field-priorities'.

2005-11-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-rs): Use namespace-conformant :conc-name.
	(db-rs-sortfunc, db-rs-ordfunc, database-recordfieldspec-type)
	(db-check-constraint): Update refs to `edb--v1-rs' slots.

	* db-file-io.el (db-read-file-delimstr)
	(db-write-intdelim, database-stored->actual): Likewise.

	* db-interfa.el (db-field-help, db-add-record): Likewise.

	* db-rdb.el (db-rdb-setup, db-rdb-list-wrfr): Likewise.

	* db-search.el (db-match): Likewise.

	* db-tagged.el (db-tagged-setup, db-tagged-wrfr): Likewise.

	* db-two-dbs.el (db-merge-records, databases-compatible): Likewise.

	* db-nosetf.el (recordfieldspec-set-type)
	(recordfieldspec-set-default-value)
	(recordfieldspec-set-common-form-function)
	(recordfieldspec-set-merge-function)
	(recordfieldspec-set-order-fn, recordfieldspec-set-sort-fn)
	(recordfieldspec-set-match-function, recordfieldspec-set-help-info)
	(recordfieldspec-set-actual->stored)
	(recordfieldspec-set-stored->actual)
	(recordfieldspec-set-constraint-function)
	(recordfieldspec-set-order-function)
	(recordfieldspec-set-sort-function): Delete.

	* edb.texi (Recordfieldspec change hooks): Delete node/subsection.
	(Predefined record field types): Use "record field type".
	(Record field attributes): Rename from "The recordfieldspec structure".
	Also, rephrase intro to use the term "attribute" instead of "slot",
	and convert items in table from symbol to keyword.  Update refs.

2005-11-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-rs): Remove unused `change-hook' slot.
	* db-nosetf.el (recordfieldspec-set-change-hook): Delete.
	* edb.texi (The recordfieldspec structure): Remove `change-hook' docs.

2005-11-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-change-functions): Delete deflocalvar.
	(dbf-set-change-function): Use :change-functions.
	(dbf-process-field-maybe, db-setup-data-display-buffer)
	(db-make-data-display-buffer): Likewise.

	* edb.texi (Display format change hooks):
	Remove doc and references for var `dbf-change-functions'.

2005-11-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-canonicalize-creation-method): Delete func.
	(db-convert): Incorporate `db-canonicalize-creation-method'.

2005-11-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-message): Don't keep undo info in log buffer.
	(db-unused-char-in-string): No longer disable undo info.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-dsym): New defconst.
	(db-dsrx, db-dsrx-fieldname, db-dsrx-fieldoptions)
	(db-dsrx-content-beginning, db-dsrx-content-end)
	(db-dsrx-content-end-alt): Delete defconsts.
	(db-dspec<-string, db-setup-ddb-parse-displayspecs): Use `db-dsym'.

	* db-summary.el (db-format->lines/sforms): Likewise.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-fopt): New defconst.
	(db-foptrx, db-foptrx-equals, db-foptrx-symbol): Delete defconsts.
	(db-dsrx, db-dspec<-type/opts): Use `db-fopt'.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-mention-filename-on-save-p): Delete var.
	(db-save-database-helper, db-write-database-file):
	Incorporate value of `db-mention-filename-on-save-p'.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-deleted-record): Delete var.
	(db-delete-record, db-yank-record):
	Use :deleted-record in global hash.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-delete-record): Fix bug introduced
	2005-10-23: Use `dbc-database', not `dbc-deleted-record'.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-computed-functions): Delete var.
	(db-convert-compute-field-value): Delete func.
	(db-convert): Incorporate `db-convert-compute-field-value'.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-dt-leading-comma-optional): Delete var.
	(db-dtrx): Incorporate value of `db-dt-leading-comma-optional'.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (dbsi-this-field-only): Rewrite.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Relational file layout): New node/section.
	(Database file layout): Add "Relational file layout" to menu.

2005-10-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-mark-searched-records): Use :sumbuf.
	* db-summary.el (db-summary-buffer): Delete defsubst.

2005-10-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Making changes permanent):
	Add scadenza for `db-commit-record'.

2005-10-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-tag-chars, db-tagged-pre-tag)
	(db-tagged-pre-tag-regexp, db-tagged-pre-tag-output)
	(db-tagged-separator, db-tagged-separator-regexp)
	(db-tagged-separator-output, db-tagged-continuation)
	(db-tagged-continuation-regexp, db-tagged-continuation-output)
	(db-tagged-rrfr-hooks, db-tagged-wrfr-before-hooks)
	(db-tagged-wrfr-after-hooks, db-tagged-converted-p)
	(db-tagged-default-field): Delete vars.
	(edb--T, edb--T!): New defsubsts.
	(db-tagged-setup, db-tagged-p, db-tagged-database-stored->actual)
	(db-tagged-before-read, db-tagged-rrfr, db-tagged-wrfr):
	Use :tag-chars, :pre-tag, :pre-tag-regexp, :pre-tag-output,
	:separator, :separator-regexp, :separator-output, :continuation,
	:continuation-regexp, :continuation-output, :pre-parse-thunk,
	:pre-write-function, :post-write-function, :tagged-converted-p,
	:default-field and :tagged-field-spec "database-local variables"
	via `edb--T!' and `edb--T'.

	* edb.texi (Tagged file layout): Add scadenza for
	`db-tagged-rrfr-hooks' `db-tagged-wrfr-before-hooks' and
	`db-tagged-wrfr-after-hooks'.  Also, update table of attributes
	recognized by `db-tagged-setup'.

2005-10-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-database-stored->actual): No longer take arg.

2005-10-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout): Fix bug
	introduced in last change: skip deletion of `print-name' slot.

2005-10-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Remove `file' slot.
	(database-file): New func.

	* db-nosetf.el (database-set-file): Delete.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `file'.
	(db-read-database-file): Use :file in global hash.
	(db-choose-format-file, db-write-1): Likewise.

	* db-format.el (db-setup-data-display-buffer): Likewise.
	(db-make-data-display-buffer): Likewise.

	* db-two-dbs.el (db-merge): Likewise.

	* db-interfa.el (db-find-read-in-database): Likewise.
	(db-revert-database, db-save-database-helper): Likewise.
	(db-write-database-file, db-output-record-to-db): Likewise.

2005-10-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout):
	Don't use `kill-sexp'; instead use `delete-region'.  Also, collect
	default format filename into alist under :1CRUFT in global hash.
	(db-choose-format-file): Use :1CRUFT in global hash for :format-file.
	(db-write-1): Write out a form for :1CRUFT sub-properties.

2005-10-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-select-next-record): Use `message'.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Accessing record fields): Remove @node,
	moving the @subsection up one level under "Manipulating records".

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-change-format): Use `insert-file-contents'.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-reading-noninternal): Use `db'.
	(db-read-file-custom): Move `database' dynamic binding up one level.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-io-error-p): Delete var.
	(db-read-database-file, db-read-file-delimstr, db-read-file-delimrx):
	(database-stored->actual, db-write-1): Use :io-error-p in EDB hash.

	* db-interfa.el (db-write-database-file): Likewise.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-substitution-no-no-string): Delete var.
	(database-io-setup): Use :substitution-no-no in global hash.
	(database-acceptable-delimiter-p): Likewise.
	Also, take first arg DB.  Update callers.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-jam-si): No longer take STRING and DATABASE.
	Instead, compute STRING internally.
	(db-read-file-custom, database-io-setup): Update calls to `db-jam-si'.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-check-sepinfo): Delete func.
	(database-io-setup): Incorporate `database-check-sepinfo'.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (database-sort-interface): Use `message'.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-file->format-file): Delete func.
	(db-choose-format-file): Incorporate `db-file->format-file'.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile (elisp): Include some files under $(topdir)/lisp.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Global variables): Remove doc for `db-databases'.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/state.el (edb-tag, edb-tagp, edb-tagx, edb-tag-):
	Move here from database.el.

	* db-rep.el (db-inform-interval): Move here from database.el.

	* db-util.el (db-message, db-warning): Move here from database.el.

	* database.el (db-inform-interval): Delete defvar.
	(edb-tag, edb-tagp, edb-tagx, edb-tag-, db-message): Delete funcs.
	(db-warning): Delete macro.

2005-10-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-reading-noninternal): Use `message'.

2005-10-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (dbm-string-regexp-prefix): Delete defvar.
	(db-string-match-display->actual): Incorporate its value.
	(dbm-string-regexp-prefix-string): Delete defvar.
	(db-string-match-actual->display): Incorporate its value.

2005-10-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/state.el (edb--define-child-hash): New macro.

	* db-rep.el (1D): New edb--define-child-hash.
	(edb--1all-known-databases): Move here from db-interfa.el.
	(database-set-modified-p): Use `edb--1D' and `edb--1D!'.
	(database-set-fieldnames-to-list, database-add-record): Likewise.
	(database-data-display-buffers): Use `edb--1D'.
	(database-no-of-records, edb--field-nm2no, db-lmap): Likewise.

	* db-format.el (db-edit-mode, db-jump-to-point):
	(db-setup-data-display-buffer): Likewise.
	(db-additional-data-display-buffer): Use `edb--1D' and `edb--1D!'.
	(database-mode): Use `edb--meta1D'.

	* db-file-io.el (db-read-database-file):
	Use `edb--meta1D', `edb--1D' and `edb--1D!'.
	(db-read-database-internal-file-layout, db-read-database-file-helper):
	Use `edb--meta1D' and `edb--1D!'.
	(db-write-1, db-write-intdelim): Use `edb--1D'.

	* db-interfa.el
	(db-kill-all-buffers, db-save-some-buffers, db-find-file):
	(db-find-read-in-database, db-revert-database, db-save-database):
	(db-toggle-internal-file-layout, db-toggle-modifiable-p):
	(dbf-goto-record-internal, db-last-record, dbc-set-index):
	(db-select-next-record, db-select-first-record, db-select-record):
	(db-delete-record, db-copy-record, db-output-record-to-db):
	(dbf-finished-sorting, db-search-field, db-mark-record):
	(db-hide-record): Use `edb--1D' and sometimes `edb--1D!'.
	(db-kill-buffer-hook): Use `edb--1D!' and `edb--meta1D'.
	(edb--1all-known-databases): Move to db-rep.el.

	* db-summary.el (dbf-fill-summary-buffer, dbf-update-summary-marks):
	(dbf-update-summary-item, dbs-out-of-date-p, dbs-goto-nth-summary):
	(dbs-forward-record, dbs-delete-record): Use `edb--1D'.

	* db-sort.el (database-sort, database-sorted-p, database-ordered-p):
	(database-sort-interface): Use `edb--1D'.
	(dbsi-use-ordering-make-database-d): Use `edb--1D!'.

	* db-two-dbs.el (db-process-two-databases): Use `edb--1D'.
	(db-merge): Use `edb--1D' and `edb--1D!'.

	* database.el (edb--databases): Delete func.
	(edb-tag): Use `edb--1D'.

2005-10-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (with-selected-window): Move to system.el.
	* lisp/system.el (with-selected-window): Move here from db-util.el.

2005-10-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/make-hacksup.el: Ignore non-consp forms.  Also, fix bug: if
	:conc-name is unspecified, include trailing hyphen in generated name.

2005-10-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/state.el (edb--hashcollect): New func.
	* db-interfa.el (edb--1all-known-databases): Use `edb--hashcollect'.

2005-10-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/system.el: New file.

	* GNUmakefile.in (edbcore-lispfrags): Add "system".

	* database.el: Move `require' form for `edbcore' first.
	No longer require `cl' or `easymenu'.

2005-10-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (edb--1all-known-databases): New func.
	(db-save-some-buffers): Use `edb--1all-known-databases'.
	(db-find-read-in-database, db-output-record-to-db): Likewise.

	* db-two-dbs.el (db-merge): Likewise.

	* database.el (edb--databases): Make first arg required.
	No longer handle the case when its value is nil.

2005-10-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* lisp/state.el: New file.

	* GNUmakefile.in (edbcore-lispfrags): New var.
	(edbcore-dbfrags): Rename from `edbcore-compfrags'.
	(edbcore-components): Use $(edbcore-lispfrags) and $(edbcore-dbfrags).

	* database.el (db-databases): Delete var.
	(edb--databases): Use `edb--global-state'.
	(db-displaytypes, db-recordfieldtypes): Delete vars.

	* db-rep.el (:1singles): New global hash key init form.
	(database-set-fieldnames-to-list):
	Use :1recordfieldtypes in global hash.

	* db-file-io.el (db-rfspec<-rftype): Likewise.

	* db-format.el (db-dspec<-dtype): Use :1displaytypes in global hash.

	* db-types.el (:1displaytypes, :1recordfieldtypes):
	New global hash key init forms.
	(define-displaytype-from-displayspec):
	Use :1displaytypes in global hash.
	(define-recordfieldtype-from-recordfieldspec):
	Use :1recordfieldtypes in global hash.

	* bfuncs: Require `pp'.
	(edb-bfunc-make-edbcore): Collect top-level `edb--G!' forms.
	Insert them at ":further-init edb--global-state".
	(edb-bfunc-make-all): Don't re-order `installed-el-files' value.

	* edb.texi: No longer mention `db-recordfieldtypes' or `db-databases'.

2005-10-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (dist): Also make subdir "lisp".

2005-10-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* bfuncs (edb-bfunc-get-GNUmakefile): New func.
	(edb-bfunc-make-edbcore, edb-bfunc-make-all):
	Use `edb-bfunc-get-GNUmakefile'.

2005-10-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (db-data-display-buffer): Delete defsubst.
	(db-in-data-display-buffer): Use :data-display-buffer.

2005-10-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Remove "To be autoloaded"
	from autoloaded funcs' docstrings.

2005-10-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (edb--1ds): Rename structure from `edb--v1-ds'.
	No longer specify :conc-name.  Update :constructor and :copier.
	(dbf-this-field-name, db-optspec-list, db-next-field-internal):
	(db-previous-field-internal, db-first-field-internal):
	(db-jump-to-point, dbf-this-field-end-pos, db-newline):
	(dbf-process-field-maybe, db-dspec<-dtype, db-dspec<-string):
	(db-dspec<-type/opts, db-setup-ddb-parse-displayspecs):
	(db-display-record, db-ds-printed): Use new names for `edb--1ds' refs.

	* db-two-dbs.el (db-merge-records): Likewise.

	* db-search.el (db-parse-match-pattern):
	(db-print-match-pattern): Likewise.

	* db-interfa.el (db-field-help, db-field-query-replace):
	(db-search-field): Likewise.

	* db-summary.el (db-format->lines/sforms): Likewise.

	* db-types.el (define-displaytype-from-displayspec): Likewise.

	* db-nosetf.el (displayspec-set-record-index, displayspec-set-indent):
	(displayspec-set-min-width, displayspec-set-max-width):
	(displayspec-set-min-height, displayspec-set-max-height):
	(displayspec-set-min-bytes, displayspec-set-max-bytes):
	(displayspec-set-truncation-display-action):
	(displayspec-set-padding-action, displayspec-set-actual->display):
	(displayspec-set-display->actual):
	(displayspec-set-match-actual->display):
	(displayspec-set-match-display->actual):
	(displayspec-set-truncation-editing-action):
	(displayspec-set-reachablep): Delete.

2005-10-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess):
	Remove `default-format-file' slot.

	* db-nosetf.el (database-set-default-format-file): Delete.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `default-format-file'.
	(db-choose-format-file): No longer consult DB's "default format file".

	* edb.texi (Auxiliary files): No longer mention "default format file".
	(The database structure): Remove doc for slot `default-format-file'.

2005-10-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-file-custom): Fix bug introduced 2005-04-10:
	Dynamically bind `database' around call to "read from region" func.
	(db-write-1): Likewise, for "write region from record" func.

2005-10-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Remove `aux-file' slot.

	* db-nosetf.el (database-set-aux-file): Delete.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `aux-file'.

	* db-format.el (db-setup-data-display-buffer):
	Don't check `aux-file' slot in db.

	* edb.texi (Auxiliary files): No longer mention `aux-file' slot.
	(The database structure): Remove doc for slot `aux-file'.

2005-10-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Invoking EDB): Update arglist for `db-find-file'.

2005-10-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (database-sort-mode-map): Bind `M-n' and `M-p'.

2005-10-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Remove `hidden-to-end-p' slot.

	* db-nosetf.el (database-set-hidden-to-end-p): Delete.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `hidden-to-end-p'.

	* db-sort.el (dbf-hidden-to-end-p): Update docstring.
	(dbsi-use-ordering-make-buffer-default): Likewise.
	(dbsi-use-ordering-make-database-default): Likewise.
	Also, set :hendp in global hash.
	(database-sort-interface): Use :hendp in global hash.

	* edb.texi (The database structure):
	Remove doc for slot `hidden-to-end-p'.

2005-10-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (The database structure):
	Remove doc for slot `no-of-records'.

2005-10-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (database-sort-interface): No longer set :sig and :non.
	Also, use text properties :item and :which.  Also, use `dolist'.
	(db-with-pc, db-with-pc-and-ti): Delete macros.
	(dbsi-prev-cons): Delete func.
	(dbsi-format): Take additional arg WHICH.  Update callers.
	Use text properties :item and :which.
	(dbsi-reformat): Use `save-excursion'.
	(dbsi-kill-line, dbsi-yank-line): Rewrite.
	(dbsi-increasing, dbsi-decreasing): Use text property :item.
	(dbsi-ordering-function, dbsi-sorting-function): Likewise.
	(dbsi-killed-fields-to-end-maybe): Delete func.
	(dbsi-ordering<-buffer): New func.
	(dbsi-use-ordering-make-database-default): Use `dbsi-ordering<-buffer'.
	(dbsi-use-ordering-make-buffer-default, dbsi-use-ordering): Likewise.
	(dbsi-this-field-only): Use text property :item.

	* edb.texi (Sorting): Update "sort interface" example.
	Also, update docs for `dbsi-kill-line' and `dbsi-yank-line'.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Remove `no-of-records' slot.
	(database-no-of-records): New func.
	(database-empty-p): Use :nrecords in global hash.
	(database-add-record, db-lmap): Likewise.

	* db-nosetf.el (database-set-no-of-records): Delete.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `no-of-records'.
	(db-read-database-file-helper): Use :nrecords in global hash.
	(edb--snap!, db-write-intdelim): Likewise.

	* db-interfa.el (db-last-record, dbc-set-index, db-select-next-record):
	(db-select-record, db-delete-record): Likewise.

	* db-summary.el (dbf-fill-summary-buffer, dbs-out-of-date-p): Likewise.

	* db-two-dbs.el (db-process-two-databases, db-merge): Likewise.

	* db-sort.el (database-sort): Likewise.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (EL-FILES, ELC-FILES): Delete vars.
	(edbcore-compfrags, edbcore-components, generated, dontcompile):
	(typelibs-frags, typelibs, normal-frags, normal):
	(source-el-files, installed-el-files, installed-elc-files): New vars.
	(all): Depend on $(installed-elc-files).
	($(installed-elc-files)): Rename target from `$(ELC-FILES)'.
	Also, depend on $(source-el-files).
	Also, disable version control subsystem in emacs command.
	(install): Use $(installed-el-files) and $(installed-elc-files).
	(clean): Use $(installed-elc-files).  Also, remove $(generated).
	(TAGS): Use $(source-el-files).
	(distfiles): Add $(source-el-files) and $(dontcompile).

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* bfuncs (edb-bfunc-make-edbcore):
	Avoid creating edbcore.el~ (backup file).

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (db-summary): Use `with-current-buffer'.
	(dbf-fill-summary-buffer, dbf-update-summary-marks): Likewise.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-lmap): Fix bug introduced in last change:
	No longer conditionalize value of `htag'.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file): Use `with-current-buffer'.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (database-view-mode-map): Remove entries
	which bind an unmodified character to `undefined'.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile (ebatch): Disable version control subsystem.
	(sk2, sk3, sk4): No longer disable version control system.
	Also, set name to "SKRAM 2", "SKRAM 3", and "SKRAM 4", respectively.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-lmap): Accumulate w/ tail pointer.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-delete-pre-and-post): Delete func.
	(db-read-database-file-helper): Incorporate deleted func.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-substitute-for-read): Delete func.
	(db-read-file-delimited): Incorporate `database-substitute-for-read'.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-substitute-for-write): Delete func.
	(db-write-intdelim): Incorporate `database-substitute-for-write'.

2005-10-23  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-confirm-seps):
	Rename from `database-confirm-fieldsep-and-recordsep'.
	Also, return a vector instead of a list.
	(db-confls-fieldsep-bad-p): Delete defsubst.
	(db-confls-recordsep-bad-p): Likewise.
	(db-confls-no-of-records): Likewise.
	(db-conftup-bad-fsep): New defsubst.
	(db-conftup-bad-rsep, db-conftup-reccount): Likewise.
	(db-read-file-delimited, db-write-intdelim): Use `db-confirm-seps',
	`db-conftup-bad-fsep', `db-conftup-bad-rsep' and `db-conftup-reccount'.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* PLANS: Delete file.
	* GNUmakefile.in (distfiles): Remove PLANS.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-in-summary-buffer): Delete macro.
	(dbf-fill-summary-buffer): Use `db-in-buffer'.
	(dbf-update-summary-marks): Likewise.
	(dbf-update-summary-item): Likewise.
	(dbs-out-of-date-p): Use `with-current-buffer'.
	(dbf-fill-summary-buffer-and-move-to-proper-record): Likewise.

	* db-format.el (dbf-set-summary-format): Likewise.

	* db-interfa.el (dbf-finished-sorting): Likewise.
	(db-add-record): Use `db-in-buffer'.
	(db-toggle-show-hidden-records): Likewise.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbs-in-data-display-buffer): Delete macro.
	(database-summary-mode): Pass buffer to `buffer-name'.
	(dbs-in-synch-p): Use `with-current-buffer'.
	(dbs-synch-format-with-summary): Use `db-in-buffer' and `cond'.
	(dbs-synch-summary-with-format): Use `db-in-buffer'.
	(dbs-move-to-proper-record): Use `with-current-buffer'.
	(dbs-next-record-ignore-hiding, dbs-delete-record):
	Likewise.  Also, use `db-in-buffer'.

	* db-interfa.el (db-next-record): Use `with-current-buffer'.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-set-hide-p): Rewrite.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-vararg-call): Delete macro.

	* db-format.el (db-callconvert): New macro.
	(db-display->actual-call, db-actual->display-call): Delete macros.
	(dbf-process-field-maybe, db-ds-printed): Use `db-callconvert'.

	* db-interfa.el (db-field-query-replace): Likewise.

	* db-two-dbs.el (db-merge-records): Likewise.

	* db-search.el (db-parse-match-pattern): Likewise.
	(db-print-match-pattern): Likewise.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-funcall-maybe): Elide redundant `if'.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* bfuncs: Require `cl'.
	(edb-bfunc-make-edbcore): New func.
	(edb-bfunc-make-all): Call `edb-bfunc-make-edbcore'.
	Also, replace "essential" list w/ "edbcore".

	* database.el: Replace loading of db-util.el, db-rep.el, db-format.el,
	db-file-io.el, db-interfa.el, db-types.el and db-summary.el w/
	`require' form for `edbcore'.

	* db-util.el: Remove `provide' form.

	* db-file-io.el: Don't require `db-rep'.

	* db-format.el: Don't require `db-rep'.
	(dbf-set-summary-format): Don't require `db-summary'.

	* db-rep.el: Don't require `db-util'.  Remove `provide' form.

	* db-summary.el: Remove `provide' form.

	* edb-t-timedate1.el: Don't require `db-util'.  Require `edbcore'.

	* GNUmakefile.in (ELC-FILES): Remove db-file-io.elc, db-format.elc,
	db-interfa.elc, db-rep.elc, db-summary.elc, db-types.elc, and
	db-util.elc.  Add edbcore.elc.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile (elisp): New var.
	(hacksup.el, skram.data): Use $(elisp).

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-load-hooks): Delete defvar.
	Also, no longer run `db-load-hooks' as load-time action.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-date): Delete defconst.
	(edb-version): For this func, incorporate `edb-date' value.

2005-10-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* bfuncs: New file.

	* GNUmakefile.in (distfiles): Add bfuncs.
	($(ELC-FILES)): Load file bfuncs and call `edb-bfunc-make-all'.

	* database.el (edb-byte-compile-all): Delete func.
	(edb-essential-file-names): Delete defconst.
	Incorporate value in top-level form that references it.

2005-10-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-default-summary-format): Delete defvar.

	* db-format.el (db-setup-ddb-parse-displayspecs): Use :default-sumfmt.
	(db-change-format): Likewise.

2005-10-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in ($(ELC-FILES)): Don't call `batch-byte-compile'.

2005-10-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (edb--POV): New defvar.
	(edb-get, edb-put): New funcs.

	* db-interfa.el (dbc-wraparound-p): Delete deflocalvar.
	(dbf-stay-in-edit-mode-p): Likewise.
	(db-next-record): Use :stay-in-edit-mode-p.
	(db-select-next-record): Use :wraparound-p.

	* db-format.el (db-setup-data-display-buffer):
	Move `edb--state' and :fend init from here...
	(db-make-data-display-buffer): ...to here.
	Also, init :wraparound-p and :stay-in-edit-mode-p.
	Use `with-current-buffer'.

2005-10-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-in-buffer): Don't use `get-buffer-create'.

2005-10-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-two-dbs.el (database-compare-hack): Use `with-current-buffer'.

	* database.el (db-message): Likewise.
	Also, use `get-buffer-create'.

2005-10-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-hide-p): Delete deflocalvar.
	(dbc-set-hide-p, dbc-set-index, db-select-next-record):
	(db-select-first-record, db-search-field, db-hide-record):
	(db-hiding-toggle, db-report): Use :hide-p.

	* db-format.el (database-mode): Likewise.

	* db-summary.el (database-summary-mode, dbf-fill-summary-buffer):
	(dbf-update-summary-marks, dbf-update-summary-item):
	(dbs-move-to-proper-record): Likewise.

	* database.el: Don't modify `minor-mode-alist'.

2005-10-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-inform-outside-field): Make into defalias.
	(dbf-field-boundary-action): Delete deflocalvar.

2005-10-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-index): Delete deflocalvar.
	(db-revert-database, dbf-goto-record-internal, db-next-record):
	(dbc-set-index, db-select-next-record, db-select-first-record):
	(db-add-record, db-delete-record, db-yank-record, db-copy-record):
	(db-output-record-to-db, dbf-finished-sorting, db-field-query-replace):
	(db-search-field, db-mark-record, db-hide-record, db-unhide-all):
	(db-unmark-all): Use :index.

	* db-format.el (dbf-process-current-record-maybe): Likewise.

	* db-summary.el (db-format->lines/sforms, dbs-move-to-proper-record):
	(dbs-next-record-ignore-hiding, dbs-delete-record): Likewise.

	* db-two-dbs.el (db-merge): Likewise.

	* db-file-io.el (db-reading-noninternal): No longer use `dbc-index'.
	Instead, use `count' for informative message.
	(db-read-file-delimstr, db-read-file-delimrx):
	Use `count' in `db-reading-noninternal' body.

2005-10-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-minor-mode): Delete deflocalvar.
	(dbf-minor-mode-name): Likewise.
	(database-mode): Set `major-mode' and `mode-name'.
	Use `database-view-mode' and `database-edit-mode'.
	(db-view-mode): Likewise.
	Also, no longer do initial "database mode" check.
	(db-data-display-buffer-p):
	Use `database-view-mode' and `database-edit-mode'.

	* db-interfa.el (db-toggle-modifiable-p):
	Check `major-mode'; use `database-edit-mode'.

	* db-summary.el (dbs-edit):
	Check `major-mode'; use `database-view-mode'.

	* edb.texi (Database mode hooks):
	Rename from "Database minor mode hooks".
	(Database mode): No longer say "minor mode" database submodes.

2005-10-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-index-fraction): Delete deflocalvar.
	(dbc-set-index): Use :index-fraction.

	* db-summary.el (dbs-set-index, database-summary-mode): Likewise.

	* db-format.el (database-mode): Likewise.

2005-10-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (database-mode): Set `mode-line-modified'.
	Use `mode-line-modified' in value for `mode-line-format'.

2005-10-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (database-clean-data-display-buffers): Delete func.
	(db-save-some-databases, db-find-read-in-database):
	(db-find-file, db-revert-database): Use :ddbufs from global hash.

	* db-two-dbs.el (db-merge): Likewise.

	* db-rep.el (database-set-modified-p): Likewise.

2005-10-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/skram.fmt, skram/skram.edb:
	Specify record terminator (two newlines) at EOF.

2005-10-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-process-field-maybe): Fix bug:
	If the field has changed, actually note it as modified.

2005-10-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-copy-buffer-local-variables):
	Take rest-arg EXCLUDE; don't copy those variables.

	* db-format.el (db-additional-data-display-buffer):
	Don't copy `edb--state' from original data display buffer.

	* db-file-io.el (db-write-1): Don't copy `major-mode'
	and `buffer-read-only' from original data display buffer.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/skram.fmt, skram/skram.edb:
	Move `\kind' to replace "defined" in "defined here".

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-process-field-maybe): Use `cond'.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-toggle-modifiable-p): Force mode-line update.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-format-file-spec-alist): Delete deflocalvar.
	(db-change-format): Use :fmtspec-stash.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (record-field-from-index): Delete defsubst.
	(record-field): Use `aref'.
	(record-set-field-from-index): Delete defsubst.
	(record-set-field): Use `db-check-constraint' and `aset'.

	* db-interfa.el (db-field-query-replace): Likewise.

	* db-format.el (dbf-process-field-maybe): Likewise.

	* edb.texi (Accessing record fields): Remove blurb associated
	with `record-field-from-index' and `record-set-field-from-index'.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-two-dbs.el (db-merge-records): Use `aset' instead of
	`record-set-field-from-index' with nil fourth argument.

	* db-interfa.el (db-add-record): Likewise.

	* db-file-io.el (db-read-file-delimstr):
	(db-read-file-delimrx, database-stored->actual): Likewise.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Convert some @example blocks to @lisp.
	Munge lisp code to reduce line width, where necessary.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout):
	Set :nm2no in global hash.

	* db-rep.el (database-set-fieldnames-to-list): Likewise.
	(edb--field-nm2no): No longer set :nm2no in global hash here.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-databases): Use `eq' for hash :test.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-read-fields): Use `with-current-buffer'.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-in-buffer): Expand BODY only once.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-best-fit-message): Delete func.
	* db-interfa.el (db-field-help): Use `message'.
	* database.el (db-message): Likewise.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-report): Use `with-temp-buffer'.
	(db-revert-database): Use `with-current-buffer'.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file-helper):
	No longer take arg BUF; instead, read from current buffer.
	Also, no longer kill the buffer when done.
	(db-read-database-file): Use `with-temp-buffer'.
	Also, update call to `db-read-database-file-helper'.

	* db-interfa.el (db-revert-database): Use `with-temp-buffer'.
	Also, update call to `db-read-database-file-helper'.

	* db-format.el (db-setup-data-display-buffer):
	Use `with-current-buffer'.

2005-10-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (database-summary-mode): Don't turn off auto-save-mode.
	Don't set buffer-local var `buffer-file-name'.
	* db-sort.el (database-sort-interface-mode): Likewise.
	* db-format.el (database-mode): Likewise.

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (database-view-mode-map):
	Bind `+' to `db-additional-data-display-buffer'.

	* edb.texi (Making additional data display buffers):
	Mention `db-additional-data-display-buffer' keymap binding.

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-write-1): Use `with-temp-buffer'.
	Also, no longer accept args.  Instead, derive
	auto vars from the current buffer and its state.

	* db-interfa.el (db-write-database-file): Call `db-write-1' w/ no args.

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess):
	Remove `data-display-buffers' slot.
	(database-data-display-buffers): New func.

	* db-nosetf.el (database-set-data-display-buffers): Delete.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `data-display-buffers'.
	(db-write-1): Drop handling for `data-display-buffers' slot.
	(db-read-database-file): Use :ddbufs in global hash.

	* db-format.el (db-additional-data-display-buffer): Likewise.

	* db-two-dbs.el (db-merge): Likewise.

	* db-interfa.el (db-kill-all-buffers, db-kill-buffer-hook):
	(db-find-file, database-clean-data-display-buffers): Likewise.

	* edb.texi (The database structure): Remove `data-display-buffers'.
	(Internal file layout): No longer mention removed slot.

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-display-record): Fix bug introduced 2005-10-11:
	Set auto vars `displayspecs', `len', and `iftxt' after calling
	`dbf-before-display-record-function' in case it changes things.

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-update-database-modified-p):
	(dbc-set-database-modified-p): Delete defsubst and calls.
	(db-save-database): Use :modp in global hash.
	(db-delete-record, db-yank-record): Use `database-set-modified-p'.

	* db-rep.el (database-set-modified-p): No longer use :dbmodp.

	* db-file-io.el (db-write-1):
	Don't call `dbc-update-database-modified-p'.

	* db-format.el (dbf-process-current-record-maybe):
	Use `database-set-modified-p'.
	(db-display-record): Don't call `dbc-update-database-modified-p'.
	(database-mode): For mode line, use :modp in global hash.

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Remove `modified-p' slot.
	(database-set-modified-p): Use :modp in global hash.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `modified-p'.
	(db-write-1): Drop `modified-p' handling for "internal format".

	* db-interfa.el (dbc-update-database-modified-p):
	Use :modp in global hash.

	* edb.texi (The database structure): Remove `modified-p' docs.

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbs-quit): New func.
	(database-summary-mode-map): Bind `q' to `dbs-quit'.
	(database-summary-mode-menu): Add entry for "Quit".

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Remove `modifiable-p' slot.
	* db-nosetf.el (database-set-modifiable-p): Delete.
	* db-format.el (db-edit-mode): Use :modifiable-p in global hash.
	* db-interfa.el (db-toggle-modifiable-p): Likewise.
	* db-file-io.el (db-read-database-file): Likewise.
	(db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `modifiable-p'.

	* edb.texi (The database structure): No longer mention
	`modifiable-p' slot or its associated `db-toggle-modifiable-p'.
	(Database Edit mode): Add blurb on "modfiable" state,
	and move @deffn for `db-toggle-modifiable-p' here.

2005-10-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-summary-show-hidden-records-p): Delete deflocalvar.
	(dbf-fill-summary-buffer, dbf-update-summary-marks):
	(dbf-update-summary-item, dbs-move-to-proper-record):
	(dbs-next-record-ignore-hiding): Use :invisible-hidden-p.

	* db-interfa.el (db-hiding-toggle): Use :invisible-hidden-p.
	(db-toggle-show-hidden-records): Likewise.

	* edb.texi (Database Summary mode): No longer mention and remove @defvar
	for `dbf-summary-show-hidden-records-p'.  Add @ref "Details of hiding".

2005-10-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-kill-buffer-hook-inhibit-p): Delete defvar.
	(database-view-mode-map): Bind `x' and `X' to
	`db-kill-buffer' and `db-kill-all-buffers', respectively.
	(db-kill-buffer, db-kill-all-buffers): New funcs.
	(db-exit): Use `db-kill-all-buffers'.
	(db-kill-buffers): Delete func.
	(db-kill-buffer-hook): Rewrite.

	* edb.texi (Exiting database mode): Move @deffn for `db-exit' after
	table.  Add blurb and scadenza for `db-exit'.  Add @deffn for
	`db-kill-buffer' under item `x'.  Add new item `X' with @deffn
	for `db-kill-all-buffers'.  Remove @defun for `db-kill-buffers'.

2005-10-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbs-exit): Kill the summary buffer.
	Also, use `pop-to-buffer' to return to the data display buffer.

2005-10-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-additional-data-display-buffer):
	Fix omission bug: initialize `edb--state' in new buffer.

2005-10-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-summary-buffer): Delete defsubst.
	(dbf-in-summary-buffer, db-summary-buffer, db-summary):
	(dbf-fill-summary-buffer): Use :sumbuf.

	* db-interfa.el (db-quit, dbf-finished-sorting): Use :sumbuf.

2005-10-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-summary-buffer): Delete deflocalvar.
	(dbf-summary-buffer, dbf-in-summary-buffer, db-summary):
	(dbs-synch-format-with-summary): Use :sumbuf.

	* db-interfa.el (db-add-record): Use :sumbuf.

2005-10-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-make-summary-maker): Delete func.
	* db-format.el (dbf-set-summary-format): Incorporate deleted func.

2005-10-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-summary-format): Delete deflocalvar.
	(db-summary): Use :sumfmt.

	* db-format.el (db-setup-ddb-parse-displayspecs): Use :sumfmt.
	(db-change-format, dbf-set-summary-format): Likewise.

2005-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-summary-function): Delete deflocalvar.
	(db-summary, dbf-fill-summary-buffer):
	(dbf-update-summary-item, dbf-make-summary-maker): Use :sumfun.

	* db-format.el (db-change-format): Likewise.

2005-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-make-format-spec): Delete func.
	(db-change-format): Incorporate `dbf-make-format-spec'.

2005-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (edb--state): New deflocalvar.
	(edb--S, edb--S!): New defsubsts.

	* db-rep.el, db-interfa.el, db-two-dbs.el: Throughout,
	use `edb--S' and `edb--S!' instead of `edb--DD' and `edb--DD!'.

	* db-sort.el: Throughout, use `edb--state', `edb--S' and `edb--S!'
	instead of `edb--dd-internals', `edb--DD" and `edb--DD!'.

	* db-format.el: Throughout, use `edb--state', `edb--S' and `edb--S!'
	instead of `edb--dd-internals', `edb--DD" and `edb--DD!'.
	(edb--dd-internals): Delete deflocalvar.
	(edb--DD, edb--DD!): Delete defsubsts.

	* db-summary.el: Throughout, use `edb--state', `edb--S' and `edb--S!'
	instead of `edb--dd-internals', `edb--DD" and `edb--DD!'.
	(edb--summary-internals): Delete deflocalvar.
	(edb--S, edb--S!): Delete defsubsts.

2005-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-search.el (dbf-field-search-defaults): Delete deflocalvar.
	* database.el: Remove handling for defunct `dbf-field-search-defaults'.
	* db-interfa.el (db-search-field): Use :search-defaults.
	* db-format.el (dbf-make-format-spec): Likewise.
	(db-setup-ddb-parse-displayspecs): Init :search-defaults.
	(db-change-format): Use :search-defaults.

2005-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (database-summary-mode-map):
	Fix bug: Bind "o" to `db-output-record-to-db'.

2005-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-output-record-to-db): Use global hash
	for :db-for-output.  Fix omission bug: Save new selection.
	Also, use `with-current-buffer'.

2005-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb--databases): Add handling for :forget MVAL.
	* db-interfa.el (db-kill-buffers): Explicitly forget `dbc-database'.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (dbsi-data-display-buffer): Delete deflocalvar.
	(dbsi-database, dbsi-killed-fields, dbsi-sig-fields):
	(dbsi-nonsig-fields, dbsi-hidden-to-end-p): Likewise.
	(database-sort-interface): Use `dbc-database',
	:ddb, :hendp, :killed, :sig and :non.
	(database-sort-interface-mode): Docstring munging; nfc.
	(dbsi-prev-cons): Use :sig and :non.
	(dbsi-format): Use `dbc-database'.
	(dbsi-kill-line, dbsi-yank-line): Use :killed.
	(dbsi-toggle-hidden-to-end): Use :hendp.
	(dbsi-quit, dbsi-quit-clear-buffer-default): Use :ddb.
	(dbsi-killed-fields-to-end-maybe): Use :killed and :non.
	(dbsi-use-ordering-make-database-default):
	Use :ddb, :sig, :non, :hendp and `dbc-database'.
	(dbsi-use-ordering): Use `dbc-database', :ddb, :sig and :hendp.
	(dbsi-this-field-only): Use `dbc-database'.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-for-output): Delete deflocalvar.
	(db-output-record-to-db): Use :db-for-output.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-database-modified-p): Delete deflocalvar.
	(dbc-update-database-modified-p): Use :dbmodp.
	(dbc-set-database-modified-p): Likewise.
	(db-save-database): Likewise.

	* db-rep.el (database-set-modified-p): Likewise.

	* db-format.el (database-mode): Use :dbmodp for `mode-line-format'.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-inform-outside-field): Use `case'.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-this-record): Docstring munging; nfc.
	(dbf-this-record-modified-p): Delete deflocalvar.
	(database-mode): Use :eval form w/ :utkmodp for `mode-line-format'.
	(dbf-set-this-record-modified-p, dbf-displayed-record):
	(dbf-process-field-maybe, dbf-process-current-record-maybe):
	(db-revert-record):  Use :utkmodp.

	* db-interfa.el (db-kill-buffer-hook, db-revert-database): Likewise.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-this-record-original): Delete deflocalvar.
	(dbf-set-this-record-modified-p, dbf-displayed-record):
	(dbf-process-current-record-maybe):  Use :original.

	* db-interfa.el (dbf-goto-record-internal): Init :original.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-fields-displayed): Delete deflocalvar.
	(dbf-make-format-spec, db-next-field-internal, db-display-record):
	(db-previous-field-internal, dbf-process-field-maybe): Use :shown.
	(db-setup-ddb-parse-displayspecs, db-change-format): Init :shown.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (edb--dd-internals): New deflocalvar.
	(edb--DD, edb--DD!): New defsubsts.
	(dbf-inter-field-text): Delete deflocalvar.
	(dbf-recordindex-displayspecno-vector): Likewise.
	(dbf-this-displayspec): Likewise.
	(dbf-this-field-index): Likewise.
	(dbf-this-field-name): Take arg THIS-DS.
	(dbf-this-field-text): Use :fbeg.
	(dbf-set-this-field-text): Likewise.
	(dbf-this-field-beginning-pos): Delete deflocalvar.
	(dbf-this-field-end-marker): Likewise.
	(dbf-enter-field-hook): Docstring munging; nfc.
	(db-view-mode): Set :this-fidx and :this-ds.
	(db-parse-buffer-error): Add call to `debug', but commented out.
	(db-next-field, db-previous-field): Use :fbeg.
	(db-next-field-internal, db-previous-field-internal): Use :displayspecs,
	:iftxt, and :this-fidx.  Set :this-fidx, :this-ds, :fbeg and :fend.
	(db-first-field-internal): Use and set :this-fidx.
	Use :iftxt and :displayspecs.
	(db-jump-to-point): Use :this-fidx, :fbeg, :displayspecs, and :this-ds.
	(dbf-this-field-end-pos): Use :fend.
	(dbf-this-field-beginning-pos): Delete unused defsubst.
	(dbf-this-field-indent): Use :this-ds and :fbeg.
	(dbf-check-if-outside-field, db-beginning-of-field): Use :fbeg.
	(db-newline): Use :this-ds and :fbeg.
	(dbf-process-field-maybe): Make into a defun.
	Use :this-fidx, :fbeg, and :this-ds.
	(db-revert-field): Use :this-ds, :this-fidx.  Use `unless'.
	(db-setup-data-display-buffer): Init `edb--dd-internals' and :fend.
	(db-setup-ddb-parse-displayspecs):
	Set :iftxt, :displayspecs and :fidx2dsidx.
	(db-change-format): Likewise.  Also use them.
	(db-emergency-restore-format): Use :this-fidx.
	(db-display-record): Use :displayspecs and :iftxt.

	* db-interfa.el (db-field-help): Use :this-ds.
	(db-next-record): Use :this-fidx.
	(db-beginning-of-field-or-record): Use :fbeg.
	(db-field-query-replace): Use :this-fidx, :iftxt and :this-ds.
	(db-search-field): Use :this-fidx and :this-ds.

	* db-two-dbs.el (db-merge-records): Use :displayspecs.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-previous-field-internal): Fix bug: Arrange to
	signal "didn't find before" parse error under the right condition.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/skram.fmt: Add "(defined here)" to static text.
	* skram/skram.edb: Likewise.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-default-field-face): Delete unused deflocalvar.
	(dbf-default-inter-field-face, dbf-selected-field-face): Likewise.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-add-record, db-lmap): Use `dotimes'.

2005-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-fieldname->displayspecno): Delete unused func.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-stored->actual): Use `dotimes'.
	(db-write-intdelim): Likewise.
	* db-format.el (db-setup-ddb-parse-displayspecs): Likewise.
	(db-display-record): Likewise.
	* db-sort.el (db-make-ordering-fields-canonical): Likewise.
	* db-two-dbs.el (db-merge-records): Likewise.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-displayspecs-length): Delete deflocalvar.
	(dbf-displayspecs): Docstring munging; nfc.
	(db-next-field-internal): Use length of `dbf-displayspecs' directly.
	(db-previous-field-internal, db-jump-to-point):
	(db-setup-ddb-parse-displayspecs, db-change-format):
	(db-display-record): Likewise.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (database-summary-mode):
	Left-justify database name in mode-line.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-summary-recompute-all-p): Delete deflocalvar.
	(dbf-fill-summary-buffer): No longer check or clear deleted var.

	* db-format.el (dbf-set-summary-format):
	Clear :summaries local hash directly.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbs-index-fraction): Delete deflocalvar.
	(dbs-set-index): Make into a defun.
	Also, set `dbc-index-fraction' directly.
	(database-summary-mode): Use `dbc-index-fraction' in mode line.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbs-index): Delete deflocalvar.
	(dbs-set-index): Set :index in local hash.
	(dbf-fill-summary-buffer): Likewise.
	(dbf-update-summary-item): Use `(edb--S :index)'.
	(db-format->lines/sforms): Likewise.
	(dbs-synch-format-with-summary): Likewise.

	* db-interfa.el (db-next-record): Use `(edb--S :index)'.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbs-data-display-buffer): Delete deflocalvar.
	(dbs-in-data-display-buffer): Use `(edb--S :data-display-buffer)'.
	(db-data-display-buffer, dbs-view, dbs-edit, dbs-exit): Likewise.
	(db-summary): Likewise.  Also, init :data-display-buffer.

	* db-interfa.el (db-next-screen-or-record, db-add-record):
	(db-previous-screen-or-record): Use `(edb--S :data-display-buffer)'.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbfs-lines): Delete deflocalvar.
	(dbf-fill-summary-buffer): Use :sum1lines from global hash.
	Also, remove spurious re-init of :sum1lines.
	(dbf-update-summary-marks): Use :sum1lines from global hash.
	(dbf-update-summary-item): Likewise.
	(dbf-make-summary-maker): Set :sum1lines in global hash.
	(dbs-goto-nth-summary): Use :sum1lines from global hash.
	(dbs-forward-record, dbs-delete-record): Likewise.

	* db-format.el (db-jump-to-point): Likewise.

2005-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-tag): Rename from `edb--db-tag'.  Add docstring.
	(edb-tagp): Likewise, from `edb--tagp'.
	(edb-tagx): Likewise, from `edb--tagx'.
	(edb-tag-): Likewise, from `edb--tag-'.

	* db-rep.el (db-lmap): Use `edb-tag' and `edb-tagp'.

	* db-interfa.el (dbc-set-index): Use `edb-tagp' and `edb-tag'.
	(db-select-next-record): Likewise.
	(db-select-first-record): Likewise.
	(db-report): Likewise.
	(db-search-field): Likewise, and also `edb-tagx'.
	(db-mark-record): Likewise, and also `edb-tag-'.
	(db-hide-record, db-hide-unmarked-records):
	(db-mark-unhidden-records, db-unhide-all, db-unmark-all): Likewise.

	* db-summary.el (dbs-insert-record-summary): Use `edb-tagp'.
	(dbf-fill-summary-buffer): Use `edb-tag'.
	(dbf-update-summary-marks): Use `edb-tagp' and `edb-tag'.
	(dbf-update-summary-item): Likewise.

	* edb.texi (Setting the mark and hide bits): Add @defun for
	`edb-tag', `edb-tagp', `edb-tagx' and `edb-tag-', plus example.

2005-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-write-1): Copy `db', clear some of its slots
	and write the copy.  Also, collapse canonical field-priorities.

2005-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout):
	Canonicalize field-priorities if necessary.

2005-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file-helper): Delete spurious message.

2005-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-record): Delete deflocalvar.
	(dbf-goto-record-internal): Compute current record from index.
	(db-select-first-record, db-delete-record, db-copy-record):
	(db-output-record-to-db, dbf-finished-sorting, db-search-field):
	(db-mark-record, db-hide-record): Likewise.
	(db-select-next-record): No longer set `dbc-record'.
	(db-unhide-all, db-unmark-all): Update call to `dbc-set-index'.

2005-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-select-record): Throw error if index out of range.

2005-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb--db-tag, edb--tagp, edb--tagx, edb--tag-): New funcs.

	* db-rep.el (edb--markedp, edb--markedp!, edb--hiddenp, edb--hiddenp!):
	Delete funcs and associated defsetf forms.
	(db-lmap): Use `edb--db-tag' and `edb--tagp'.

	* db-interfa.el (dbc-set-index): Use `edb--tagp' and `edb--db-tag'.
	(db-select-next-record): Likewise.
	(db-select-first-record): Likewise.
	(db-report): Likewise.
	(db-search-field): Use `edb--db-tag' and `edb--tagx'.
	(db-mark-record, db-hide-record, db-hide-unmarked-records):
	(db-mark-unhidden-records, db-unhide-all, db-unmark-all):
	Likewise, and also `edb--tagp' and `edb--tag-'.

	* db-summary.el (dbs-insert-record-summary):
	Take additional args MTAG and HTAG.  Also, use `edb--tagp'.
	(dbf-fill-summary-buffer): Update call to `dbs-insert-record-summary'.
	(dbf-update-summary-marks): Use `edb--db-tag' and `edb--tagp'.
	(dbf-update-summary-item): Likewise.
	Also, update call to `dbs-insert-record-summary'.

2005-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-select-next-record): Fix bug introduced
	2005-10-08: Set `dbc-record' based on new index, not on old.

2005-10-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb--databases): Use
	weak-key hash for :markedp and :hiddenp.

2005-10-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-select-prev-record): Delete unused defsubst.
	(db-select-last-record): Likewise.

2005-10-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-link): Delete defstruct.
	(db-new-link): Delete func.
	(db-next-link-and-index): Delete func.
	(database-add-record): Add record directly.
	(db-lmap): Rename internal var `link' to `lmaprecord'; nfc.
	(maprecords): Rename internal var `ln' to `record'; nfc.

	* db-interfa.el (dbc-link): Delete deflocalvar.
	(dbc-record): New deflocalvar.
	(dbc-index): Update docstring; nfc.
	(dbf-goto-record-internal): Use `dbc-record'.
	(dbc-set-index): Take optional arg `record'.  If omitted,
	compute from given index.  Also, use the record directly.
	(db-select-next-record): Rename first arg to `n'.  Also,
	incorporate `db-next-link-and-index' and fix its bugs.
	(db-select-first-record, db-select-last-record): Use `dbc-record'.
	(db-delete-record): Likewise.  Also, fix bug:
	Compute new `dbc-index' using modulo.
	(db-output-record-to-db): Use `dbc-record'.
	(dbf-finished-sorting): Rename internal var; nfc.
	(db-search-field): Likewise.  Also, pass second arg to `db-set-index'.
	(db-mark-record): Use `dbc-record'.  No longer pass second arg to
	`dbf-update-summary-item'.  Pass second arg to `dbc-set-index'.
	(db-hide-record): Likewise.
	(db-hide-unmarked-records, db-report): Rename internal var; nfc.
	(db-mark-unhidden-records): Likwise.
	(db-unhide-all, db-unmark-all): Likewise.
	Also, pass second arg to `dbc-set-index'.

	* db-file-io.el (database-set-links-from-list): Delete func.
	(edb--snap!): New func.
	(db-read-database-file-helper): Use `edb--snap!'.
	(db-reading-noninternal): Likewise.

	* db-format.el (dbf-process-current-record-maybe):
	No longer pass second arg to `dbf-update-summary-item'.

	* db-summary.el (dbs-insert-record-summary):
	Rename from `dbs-insert-link-summary'.  Rename internal vars.
	(dbf-update-summary-item): No longer take second arg.
	Also, compute record from index and use it directly.
	(dbs-move-to-proper-record): Rename internal var; nfc.

	* db-sort.el (database-sort): Use `edb--snap!'.
	Also, use records directly.
	(database-sorted-p, database-ordered-p): Use records directly.

	* db-convert.el (db-convert): Use records directly.
	Also, rename internal var; nfc.

	* db-two-dbs.el (db-process-two-databases): Use records directly.

	* edb.texi: No longer mention "links".
	(The link strucutre): Delete node/subsection.

2005-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Reading from disk): No longer mention "backward links".
	(Database representation): Update docs for
	link collection and contents representation.
	(The link structure): Remove slots: prev, next, hiddenp, markedp.

2005-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-convert-record): Delete func.
	(db-convert): Incorporate `db-convert-record'.

2005-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-empty-p): Use `database-no-of-records'.
	(edb--v1-link): Remove `prev' and `next' slots.
	(db-join-links): Delete func.
	(db-next-link-and-index): Use `%' to effect circularity.
	(database-add-record): Rewrite.
	(db-lmap): Use `do' to iterate index over vector.

	* db-nosetf.el (link-set-prev, link-set-next): Delete.

	* db-file-io.el (database-set-links-from-list): Rewrite.
	(db-reading-noninternal): Use `database-set-links-from-list'.

	* db-interfa.el (db-select-first-record): Update access to :vov.
	(db-select-last-record): Likewise.
	(db-delete-record): Likewise, and also for :vov update.

	* db-summary.el (dbf-update-summary-item): Update access to :vov.

	* db-sort.el (database-sorted-p): Use :vov property in global hash.
	(database-ordered-p): Likewise.

	* db-two-dbs.el (db-process-two-databases): Update
	access to :vov and iteration-termination condition.

2005-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-link): Remove `markedp' and `hiddenp' slots.
	(edb--markedp, edb--markedp!): New funcs, made into a setf pair.
	(edb--hiddenp, edb--hiddenp!): Likewise.
	(db-next-link-and-index): Use `edb--markedp' and `edb--hiddenp'.
	(db-lmap): Use `edb--hiddenp'.

	* db-nosetf.el (link-set-markedp, link-set-hiddenp): Delete.

	* database.el (edb--databases): Init :markedp and :hiddenp metainfo.

	* db-interfa.el (dbc-set-index): Use `edb--markedp' and `edb--hiddenp'.
	(db-select-first-record, db-search-field, db-mark-record):
	(db-hide-record, db-hide-unmarked-records, db-mark-unhidden-records):
	(db-unhide-all, db-unmark-all, db-report): Likewise.

	* db-summary.el (dbs-insert-link-summary):
	(dbf-update-summary-marks, dbf-update-summary-item): Likewise.

2005-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Remove `first-link' slot.
	(database-set-modified-p): Use `:vov' property in global hash.
	(db-next-link-and-index, db-lmap): Likewise.
	(database-add-record): Set and use `:vov' property in global hash.

	* db-nosetf.el (database-set-first-link): Delete.

	* db-interfa.el (db-select-first-record, db-select-last-record):
	Use `:vov' property in global hash.
	(db-delete-record): Set and use `:vov' property in global hash.

	* db-summary.el (dbf-update-summary-item):
	Use `:vov' property in global hash.

	* db-two-dbs.el (db-process-two-databases):
	Use `:vov' property in global hash.
	(db-merge): Set and use `:vov' property in global hash.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, remove slot `first-link'.
	(database-set-links-from-list): Set and use `:vov' property in global hash.
	(db-reading-noninternal): Set `:vov' property in global hash.
	(db-write-1): Remove `first-link' special handling.

	* edb.texi (Internal file layout): No longer mention `first-link' slot.
	(Database representation): Likewise.
	(The database structure): Likewise.

2005-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (databases-made): Delete var.
	(edb): Init symbol property `:databases-made'.
	(edb--v1-monolithic-mess): Use new prop for `print-name' init form.

2005-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-warning): Move concat to macro-expansion time.

2005-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-lmap): Fix bug introduced in last change:
	Rename first arg to avoid dynamic binding conflict w/ `maprecords'.

2005-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-write-1): Call `buffer-disable-undo' with no args.
	* db-util.el (db-unused-char-in-string, db-best-fit-message): Likewise.
	* db-format.el (db-next-field-internal, db-change-format): Likewise.
	(db-previous-field-internal, db-display-record): Likewise.

2005-10-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-lmap): Document application order.
	(maprecords): Likewise.  Also, rename first arg.
	* edb.texi (maprecords): Sync doc w/ docstring.

2005-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout):
	Move parens-removal into 0.6 to 0.7 edits.

2005-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout):
	Dynamically bind `emacs-lisp-mode-hook' to nil.

2005-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout):
	Remove parens around record data, if necessary.
	(db-read-database-file-helper): Convert `read' to iteration.
	(db-write-1): No longer output parens around record data.

2005-05-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (link-set-record): Delete defsubst.
	(db-new-link): Incorporate `link-set-record'.

	* db-convert.el (db-convert): Incorporate `link-set-record'.

2005-05-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-link): Remove `summary' slot.
	(link-set-record): No longer set `summary' slot.

	* db-nosetf.el (link-set-summary): Delete.

	* db-summary.el (edb--summary-internals): New deflocalvar.
	(edb--S, edb--S!): New funcs.
	(dbs-no-of-records, dbs-point, dbs-recompute-p): Delete deflocalvars.
	(db-summary): Init `edb--summary-internals' and its :summaries.
	(database-summary-mode): Init internal :nrecords property.
	(dbs-insert-link-summary): Consult :summaries property.
	(dbf-fill-summary-buffer): Consult/update :summaries property.
	Update :nrecords and :recompute-p properties.
	(dbf-update-summary-item): Consult/update :summaries property.
	(dbs-in-synch-p): Consult :nrecords property.
	(dbf-set-summary-out-of-date-p): Update :recompute-p property.
	(dbs-goto-nth-summary): Update :point property.
	(dbs-move-to-proper-record): Consult/update :point property.
	(dbs-delete-record): Update :nrecords property.

	* db-interfa.el (dbf-finished-sorting): Update :nrecords property.

	* db-format.el (db-jump-to-point): Consult :point property.
	(dbf-process-current-record-maybe): No longer set `summary' slot.

	* edb.texi (The link structure): Remove doc for slot `summary'.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-after-display-record-hook): Delete deflocalvar.
	(db-display-record-redo-inter-field-text-function): Update docstring.
	(db-display-record): No longer run hook `dbf-after-display-record-hook'.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-point-min): Delete defsubst.
	(db-view-mode): Use `point-min'.
	(db-next-field-internal): Likewise.
	(db-first-field-internal): Likewise.
	(db-setup-ddb-parse-displayspecs): Likewise.
	(db-display-record): Likewise.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (edb--v1-ds): Rename structure from `displayspec'.
	Add options :constructor, :conc-name and :copier.
	Put associated `kwidx' property on symbol `edb--v1-ds'.
	(db-dspec<-dtype): Use `edb--copy-v1-ds'.
	(db-dspec<-type/opts): Use `edb--make-v1-ds'.

	* db-types.el (define-displaytype-from-displayspec):
	Use `edb--v1-ds-p', `edb--make-v1-ds' and `edb--copy-v1-ds'.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-rs): Rename structure from `recordfieldspec'.
	Add options :constructor, :conc-name and :copier.
	Put associated `kwidx' property on symbol `edb--v1-rs'.
	(database-recordfieldspec): Use `edb--v1-rs-p'.
	(database-set-recordfieldspec): Likewise.
	(database-recordfieldspec-type): Likewise.

	* db-types.el (define-recordfieldtype-from-recordfieldspec):
	Use `edb--v1-rs-p', `edb--copy-v1-rs' and `edb--make-v1-rs'.

	* db-tagged.el (db-tagged-setup): Use `edb--copy-v1-rs'.

	* db-rdb.el (db-rdb-setup): Likewise.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/make-hacksup.el: Handle defstruct option `:conc-name'.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-link): Rename structure from `link'.
	Add options :type and :conc-name.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-sepinfo): Rename structure from `sepinfo'.
	Add options :type, :constructor and :conc-name.
	(edb--v1-monolithic-mess): Use `edb--make-v1-sepinfo' for constructors.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, also remove structure tags
	for slots `record-sepinfo' and `field-sepinfo'.

	* edb.texi (The sepinfo structure): Downplay "sepinfo" internal name.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-skip-regexp-forward): No longer take arg MATCH-NO.
	(db-skip-regexp-backward): Likewise.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb--databases): Take additional args MKEY and MVAL.
	Do various hash table operations depending on their values.

	* db-rep.el (edb--field-nm2no): Update call to `edb--databases'.

	* db-file-io.el (db-read-database-file): Likewise.
	(db-read-database-internal-file-layout): Likewise.
	(db-read-database-file-helper): Likewise.
	(db-write-1): Likewise.

	* db-format.el (db-setup-data-display-buffer): Likewise.

	* db-interfa.el (db-toggle-internal-file-layout): Likewise.

2005-04-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-fname<-fno): Make second arg non-optional.

2005-04-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess):
	Remove slot `internal-file-layout-p'.

	* db-file-io.el (db-read-database-internal-file-layout):
	Set :togp property in global hash, not `internal-file-layout-p' slot.
	For 0.6 to 0.7 edits, also remove slot for `internal-file-layout-p'.
	(db-read-database-file): Check :togp, not `internal-file-layout-p' slot.
	(db-read-database-file-helper): Likewise.
	(db-write-1): Likewise.

	* db-format.el (db-setup-data-display-buffer): Likewise.

	* db-interfa.el (db-toggle-internal-file-layout): Toggle :togp.

	* db-nosetf.el (database-set-internal-file-layout-p): Delete.

	* edb.texi: Throughout, no longer mention `internal-file-layout-p'.
	(The database structure): Move `db-toggle-internal-file-layout' from here...
	(Internal file layout): ...to here.

2005-04-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--v1-monolithic-mess): Rename struct from `database'.
	Add options :type, :constructor, :conc-name and :copier.

	* db-two-dbs.el (db-merge): Use `edb--copy-v1-monolithic-mess'.

	* db-file-io.el (db-read-database-file): Likewise.
	(db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, also remove structure tag.

	* edb.texi (The database structure): No longer mention structure name.

2005-04-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-buffer): Wrap `eval-when-compile' around defvar.

2005-04-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database): Wrap `eval-when-compile' around defvar.
	* db-tagged.el (database): Likewise.
	* db-rdb.el (database): Likewise.

2005-04-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-setup-data-display-buffer): Dynamically bind var
	`database' around the call to `db-really-hack-local-variables'.

2005-04-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-convert): Rename arg DATABASE to DB; nfc.
	(db-canonicalize-creation-method): Likewise.

	* db-two-dbs.el (db-merge-records): Likewise.

	* db-sort.el (database-sort): Likewise.
	(db-convert-ordering-fields): Likewise.
	(db-make-ordering-fields-canonical): Likewise.
	(database-sorted-p): Likewise.
	(database-ordered-p): Likewise.
	(database-sort-interface): Likewise.

	* db-summary.el (dbf-make-summary-maker): Likewise.
	(db-format->lines/sforms): Likewise.

	* db-format.el (db-dspec<-string): Likewise.
	(db-setup-data-display-buffer): Likewise.
	(db-setup-ddb-parse-displayspecs): Likewise.

	* db-interfa.el (database-clean-data-display-buffers): Likewise.
	(db-output-record-to-db): Likewise.

	* db-file-io.el (db-choose-format-file): Likewise.
	(db-read-database-file-helper): Likewise.
	(database-set-links-from-list): Likewise.
	(db-read-file-custom): Likewise.
	(db-read-file-delimited): Likewise.
	(db-read-file-delimstr): Likewise.
	(db-read-file-delimrx): Likewise.
	(database-delete-pre-and-post): Likewise.
	(db-write-1): Likewise.
	(db-write-intdelim): Likewise.
	(database-io-setup): Likewise.
	(database-check-sepinfo): Likewise.
	(database-substitute-for-read): Likewise.
	(database-perform-substitutions): Likewise.
	(database-substitute-for-write): Likewise.
	(database-generate-delimiter): Likewise.

	* db-rep.el (database-make-local): Likewise.
	(database-set-local): Likewise.
	(database-get-local): Likewise.
	(database-local-p): Likewise.
	(database-set-fieldnames-to-list): Likewise.
	(database-full-fieldsep-string): Likewise.
	(database-full-recordsep-string): Likewise.
	(database-recordfieldspec): Likewise.
	(database-set-recordfieldspec): Likewise.
	(database-recordfieldspec-type): Likewise.
	(db-check-constraint): Likewise.
	(record-set-field): Likewise.
	(db-next-link-and-index): Likewise.
	(database-add-record): Likewise.
	(db-lmap): Likewise.
	(maprecords): Likewise.

2005-04-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database): Remove slot `fieldname-alist'.
	(database-set-fieldnames-to-list): No longer set slot
	`fieldname-alist'.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, also remove slot `fieldname-alist'.

	* db-format.el (db-setup-data-display-buffer): Use
	`number-sequence' to compute slot `field-priorities'.
	(dbf-set-summary-format): Call `dbf-make-summary-maker' unconditionally.

	* db-nosetf.el (database-set-fieldname-alist): Delete.

	* edb.texi (The database structure):
	Remove doc for slot `fieldname-alist'.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (edb--field-nm2no): New func.
	(fieldname->fieldnumber): Delete.
	(database-recordfieldspec): Use `edb--field-nm2no'.
	(database-set-recordfieldspec): Likewise.
	(record-field): Likewise.
	(record-set-field): Likewise.

	* db-format.el (dbf-fieldname->displayspecno): Likewise.
	(dbf-set-change-function): Likewise.
	(db-dspec<-string): Likewise.

	* db-tagged.el (db-tagged-setup): Likewise.
	(db-tagged-wrfr): Likewise.

	* db-sort.el (db-convert-ordering-fields): Likewise.
	(db-make-ordering-fields-canonical): Likewise.

	* db-rdb.el (db-rdb-setup): Likewise.
	(db-rdb-list-wrfr): Likewise.

	* db-convert.el (db-canonicalize-creation-method): Likewise.

	* edb.texi (The database structure):
	Remove refs to `fieldname->fieldnumber'.
	(Accessing record fields): Remove doc for `fieldname->fieldnumber'.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb--databases): Take optional arg SPECIFICALLY.
	If specified, return, creating if necessary, its metainfo hash.

	* db-file-io.el (db-read-database-file-helper):
	Use `edb--databases' to register instead of "manual" puthash.

	* db-two-dbs.el (db-merge): Likewise.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-databases): Init as hash table.
	(edb--databases): New func.

	* db-file-io.el (db-read-database-file-helper): Associate
	new database with a small hash table in `db-databases'.

	* db-interfa.el (db-kill-buffers): No longer update `db-databases'.
	(database-clean-data-display-buffers): Likewise.
	(db-save-some-databases): Use `edb--databases'.
	(db-find-read-in-database): Likewise.
	(db-output-record-to-db): Likewise.

	* db-two-dbs.el (db-merge): Use `edb--databases'.  Also,
	associate new database with a small hash table in `db-databases'.

	* edb.texi (Global variables): Update doc for `db-databases'.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database): Remove slot `file-local-variables'.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, also remove slot `file-local-variables'.
	(db-write-1): No longer output slot `file-local-variables'.

	* db-nosetf.el (database-set-file-local-variables): Delete.

	* edb.texi (The database structure):
	Remove doc for slot `file-local-variables'.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database): Remove slot `alternative-sepinfo'.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, also remove slot `alternative-sepinfo'.
	(database-io-setup): No longer check slot `alternative-sepinfo'.

	* db-nosetf.el (database-set-alternative-sepinfo): Delete.

	* edb.texi (The database structure):
	Remove doc for slot `alternative-sepinfo'.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database): Remove slot `no-of-fields'.
	(database-set-fieldnames-to-list): No longer set `no-of-fields' slot.
	(make-record): Use length of `fieldnames' value.

	* db-file-io.el (db-read-database-internal-file-layout):
	For 0.6 to 0.7 edits, also remove slot `no-of-fields'.
	(db-read-file-delimited): Use length of `fieldnames' value.
	(db-read-file-delimstr): Likewise.
	(db-read-file-delimrx): Likewise.
	(database-stored->actual): Likewise.
	(db-write-intdelim): Likewise.

	* db-two-dbs.el (db-merge-records): Likewise.
	(database-compare-hack): Likewise.

	* db-sort.el (db-make-ordering-fields-canonical): Likewise.

	* db-interfa.el (db-add-record): Likewise.

	* db-format.el (db-setup-data-display-buffer): Likewise.
	(db-setup-ddb-parse-displayspecs): Likewise.

	* db-convert.el (db-canonicalize-creation-method): Likewise.

	* db-nosetf.el (database-set-no-of-fields): Delete.

	* edb.texi (The database structure): Remove doc for slot `no-of-fields'.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-lmap-link): Delete var.
	(db-lmap-index): Update docstring.
	(db-lmap-break): Delete macro.
	(db-lmap): Update docstring.  Also, munge names of locals.
	(db-lmap-macro): Delete macro.
	(maprecords-break): Delete fset.

	* edb.texi (Mapping over the database):
	Remove doc for `maprecords-break'.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-fill-summary-buffer): Use `db-lmap'.
	(dbf-update-summary-marks): Likewise.
	(dbs-move-to-proper-record): Likewise.

	* db-sort.el (database-ordered-p): Use `db-lmap'.
	(database-sorted-p): Use `db-lmap', `catch' and `throw'.

	* db-convert.el (db-convert): Use `db-lmap'.

	* db-interfa.el (dbf-finished-sorting):
	Use `db-lmap', `catch' and `throw'.
	(db-search-field): Use `db-lmap'.
	(db-hide-unmarked-records): Likewise.
	(db-mark-unhidden-records): Likewise.
	(db-unhide-all): Likewise.
	(db-unmark-all): Likewise.
	(db-report): Likewise.

2005-04-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database): Remove slot `hide-functions'.

	* db-file-io.el (db-read-database-internal-file-layout):
	Use `delete-char'.  Also, add fixups to go from format 0.6 to 0.7.
	(db-write-1): Write "format 0.7".

	* edb.texi (The database structure): Remove doc for `hide-functions'.

	* db-nosetf.el (database-set-hide-functions): Delete.

2005-04-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-jump-to-point): Remove `interactive' spec.
	(db-emergency-restore-format): Likewise.

	* db-file-io.el (db-read-database-file): Likewise.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac (VERSION): Bump to "1.25" for release.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Function and variable naming conventions):
	Mention "edb-t-GROUP:" prefix, and define "type group".
	(File naming conventions): Mention "edb-t-GROUP.el".

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (recordfieldspec-sort-function): Delete defalias.
	(recordfieldspec-order-function): Likewise.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-rfspec<-rftype):
	Rename from `recordfieldtype->recordfieldspec'.

	* db-types.el (define-recordfieldtype-from-recordfieldspec):
	Use `db-rfspec<-rftype'.

	* db-rep.el (database-recordfieldspec): Likewise.
	(database-set-recordfieldspec): Likewise.

	* edb.texi (The database structure): For `database-recordfieldspec',
	no longer mention function name used for dereferencying type name.
	(Accessing record fields): Add scadenza
	for "access to records via fieldnumber".

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (copy-record): Delete unused defsubst.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-copy-record): Use `copy-sequence'.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-copy-r2r): Rename from `copy-record-to-record'.

	* db-format.el (dbf-this-record): Use `db-copy-r2r' in docstring.
	(dbf-set-this-record-modified-p): Use `db-copy-r2r'.
	(dbf-process-current-record-maybe): Likewise.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (maprecords-macro): Delete unused macro.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-stored->actual): Use `maprecords'.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Mapping over the database):
	Add scadenza for `maprecords-break'.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Mapping over the database):
	Remove references to `maprecords-macro'.

	* db-rep.el (maprecords): No longer
	mention `maprecords-macro' in docstring.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-dspec<-string):
	Rename from `make-displayspec-from-string-internal'.
	(db-setup-ddb-parse-displayspecs): Use `db-dspec<-string'.

	* db-summary.el (db-format->lines/sforms): Likewise.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (make-displayspec-from-string): Delete unused func.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-dspec<-type/opts):
	Rename from `make-displayspec-from-type-and-options'.
	(make-displayspec-from-string-internal): Use `db-dspec<-type/opts'.

	* db-types.el (define-displaytype-from-optstring): Likewise.
	(define-enum-type): Likewise.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-dspec<-dtype): Rename from `displaytype->displayspec'.
	(make-displayspec-from-type-and-options): Use `db-dspec<-dtype'.

	* db-types.el (define-displaytype-from-displayspec): Likewise.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-fname<-fno): Rename from `fieldnumber->fieldname'.
	(db-check-constraint): Use `db-fname<-fno'.

	* db-two-dbs.el (db-merge-records): Likewise.
	(database-compare-hack): Likewise.

	* db-sort.el (db-convert-ordering-fields): Likewise.
	(db-make-ordering-fields-canonical): Likewise.
	(dbsi-format): Likewise.

	* db-interfa.el (db-field-help): Likewise.
	(db-field-query-replace): Likewise.

	* db-format.el (dbf-this-field-name): Likewise.
	(db-jump-to-point): Likewise.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile (clean): Also delete sk4.

2005-01-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Reporting bugs):
	Delete node/section and references to it.

2005-01-22  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (edb.info): Specify output file to makeinfo(1).

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (The database structure):
	No longer mention `fieldnumber->fieldname'.
	(Accessing record fields): Bump scadenza
	of `fieldname->fieldnumber' to EDB 1.26.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (db-convert-ordering-fields): If first spec element
	is a symbol, take it as a field name and convert it to a field
	number internally.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-recordfieldspec): If second arg is a symbol,
	take it as a field name and convert it to a field number internally.
	(database-set-recordfieldspec): Likewise.

	* edb.texi (The database structure): Update docs
	for `database-recordfieldspec' and `database-set-recordfieldspec'.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (database-summary-mode-map):
	Bind `t' to `toggle-truncate-lines'.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Add back "\input texinfo" removed 2004-09-17.
	Suggested by Erich Waelde.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (distfiles): Remove Makefile.in. Add GNUmakefile.in.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in (VPATH): New var.
	(all): Use $(srcdir).
	($(ELC-FILES):): Likewise.
	Also, remove superfluous reference to database.el.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* GNUmakefile.in: New file.
	* configure.ac (AC_CONFIG_FILES): Remove Makefile. Add GNUmakefile.
	* Makefile.in: Delete file.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (TEXI2DVI): New var.
	(.tex.dvi): New suffix-rule target.
	(.texi.dvi): Likewise.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el: Doc fixes and clarifications; nfc.

2005-01-19  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Use "setf construction" to
	document structure mutation.  Also, add examples.
	(Local variables): Delete node/section and children.

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac: Add AC_CONFIG_FILES entry for script "test/ebatch".

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/make-skram.el (make-skram):
	For GNU Emacs 21.2: use one-arg `info'.
	Also, ensure that skram.data is written to default directory.

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (with-selected-window): Define macro if not builtin.

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Creating a new database): Use `iso-safe' in example.

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-locate-readable-file-prefer-cwd): New func.
	* db-format.el (db-setup-data-display-buffer):
	Use `db-locate-readable-file-prefer-cwd'.
	* db-file-io.el (db-file->format-file): Likewise.
	(db-locate-format-file): Likewise.

	Reported by Erich Waelde.

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-same-file-p): Call `file-chase-links' w/ one arg.

	* db-rep.el (db-default-field-type): Defvar when compiling.
	(database-set-fieldnames-to-list): Do not use
	value of `db-default-field-type' if it is nil.

	* db-file-io.el (edb-data-coding): Defvar when compiling.
	(db-read-database-file): Do not use
	value of `edb-data-coding' if it is nil.

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile (all): Also depend on sk4.

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (db-string-lessp-ci): Rename from name w/o "db-".
	(db-string-order-ci): Likewise.
	(db-make-regexp-pattern): Likewise.
	(db-regexp-pattern-regexp): Likewise.
	(db-make-string-pattern): Likewise.
	(db-string-pattern-regexp): Likewise.
	(db-string-pattern-string): Likewise.
	(db-string-match-function): Likewise.
	(db-string-match-display->actual): Likewise.
	(db-string-match-actual->display): Likewise.
	(db-string-or-nil->string): Likewise.
	(db-string-or-nil-lessp-ci): Likewise.
	(db-string-or-nil-order-ci): Likewise.
	(db-string-or-nil-match-function): Likewise.
	(db-string->nil-or-string): Likewise.

	* db-oldnames.el (string-lessp-ci): New defalias.
	(string-order-ci): Likewise.
	(make-regexp-pattern): Likewise.
	(regexp-pattern-regexp): Likewise.
	(make-string-pattern): Likewise.
	(string-pattern-regexp): Likewise.
	(string-pattern-string): Likewise.
	(string-match-function): Likewise.
	(string-match-display->actual): Likewise.
	(string-match-actual->display): Likewise.
	(string-or-nil->string): Likewise.
	(string-or-nil-lessp-ci): Likewise.
	(string-or-nil-order-ci): Likewise.
	(string-or-nil-match-function): Likewise.
	(string->nil-or-string): Likewise.

2005-01-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-string->integer-default): Delete func.
	(db-string->number-default): Delete alias.
	(db-string->integer-or-nil): Incorporate `db-string->integer-default'.

2005-01-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-rs-sortfunc):
	Fix bug: Maintain arg order and invert the result
	so as to properly handle the case: (eq value1 value2).
	Suggested by Erich Waelde and Matt Swift.

2005-01-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-canonicalize-creation-method):
	Fix bug: Return list instead of cons.
	Suggested by Erich Waelde and Matt Swift.

2005-01-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-alternative-multi-char-displaytype): Delete fset.
	* db-oldnames.el (define-alternative-multi-char-displaytype): New defalias.

2005-01-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-essential-file-names): Remove "db-nosetf".
	* Makefile.in (ELC-FILES): Remove db-nosetf.elc.
	(install): Clear out $(edb-elc-dir) before install.

2005-01-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-optspec-list):
	No longer refer to "displayspec-set-FOO"
	functions.  Use `setf' forms instead.

2005-01-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile (sk4): New target.

2005-01-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Read hooks): Rename from "Load and read hooks".
	Update refs.  Remove @defvar for `db-load-hooks'.

2005-01-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Accessing record fields):
	Remove @defun entries for `fieldnumber->fieldname',
	`record-field-from-index' and `record-set-field-from-index'.

2005-01-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Tagged file layout): No longer
	mention `database-set-local'.  Convert @defvar entries to
	items in a @table, and var names to their associated keywords.

2005-01-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-human-names.el: Add `provide' form.
	* edb-t-places-usuk.el: Likewise.

2005-01-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-write-1): For internal layout format, do
	not include `coding' in first line if it starts with "undecided-".

2005-01-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Plans for EDB): Remove node/section and references.

2005-01-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-timedate1.el: New file.
	* db-time.el: Delete file.
	* Makefile.in
	(EL-FILES): Remove db-time.el. Add edb-t-timedate1.el.
	(ELC-FILES): Remove db-time.elc. Add edb-t-timedate1.elc.

	* db-oldnames.el: Require `edb-t-timedate1'.
	(make-date): New defalias.
	(date-year): Likewise.
	(date-month): Likewise.
	(date-day): Likewise.
	(make-empty-date): Likewise.
	(date-year-long): Likewise.
	(date->day-of-year): Likewise.
	(date->absolute-days): Likewise.
	(date->weekday-index): Likewise.
	(date->weekday-name): Likewise.
	(date-order-absolute): Likewise.
	(parse-date-string): Likewise.
	(parse-date-string-or-nil): Likewise.
	(parse-date-default-function): Likewise.
	(format-date): Likewise.
	(simple-format-date): Likewise.
	(simple-format-date-or-nil): Likewise.
	(format-date-mmddyy): Likewise.
	(format-date-ddmmyy): Likewise.
	(format-date-yymmdd): Likewise.
	(format-date-ddmmmyy): Likewise.
	(format-date-yyyymmdd): Likewise.
	(format-date-full): Likewise.
	(format-date-unix): Likewise.
	(format-date-all): Likewise.
	(format-date-dec): Likewise.
	(format-date-europe): Likewise.
	(date-match-function): Likewise.
	(date-merge): Likewise.
	(date->storage-string-mmddyyyy): Likewise.
	(storage-string-mmddyyyy->date): Likewise.
	(date->storage-string-lisp): Likewise.
	(storage-string-lisp->date): Likewise.
	(date-stored->actual): Likewise.
	(make-time): Likewise.
	(time-hours): Likewise.
	(time-mins): Likewise.
	(time-secs): Likewise.
	(make-empty-time): Likewise.
	(empty-time-p): Likewise.
	(time-default-constraint): Likewise.
	(parse-time-string): Likewise.
	(parse-time-default-function): Likewise.
	(format-time-24): Likewise.
	(format-time-12): Likewise.
	(format-time-12-hhmm): Likewise.
	(format-time-24-hhmm): Likewise.
	(time-order): Likewise.
	(time-match-function): Likewise.
	(time->storage-string): Likewise.
	(storage-string->time): Likewise.
	(time-merge): Likewise.
	(date->storage-string): Likewise.
	(storage-string->date): Likewise.
	(format-time-hhmm): Likewise.

	* database.el (edb-essential-file-names): Remove "db-time".
	(edb-byte-compile-all): Byte compile "edb-t-timedate1".

	* edb.texi: Use "edb-t-timedate1:" prefix.

2005-01-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (database-view-mode-map):
	Bind `t' to `toggle-truncate-lines'.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el: Make `db-message'
	output follow Emacs conventions (mostly).
	* db-format.el: Likewise.
	* db-interfa.el: Likewise.
	* db-sort.el: Likewise.
	* db-summary.el: Likewise.
	* db-tagged.el: Likewise.
	* db-two-dbs.el: Likewise.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (ELC-FILES): Add
	edb-t-human-names.elc and edb-t-places-usuk.elc.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-inform-interval): Increase value to 100.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-substitute-for-read):
	Use `string-to-list' for some `db-message' string args.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-byte-compile-all): Also
	byte-compile "edb-t-human-names" and "edb-t-places-usuk".

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Remove autoload/defsubst forms for db-summary.el.
	(edb-byte-compile-all): Remove "db-summary" from explicit list.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/make-skram.el (make-skram): Avoid false positives in
	"grep -l" emulation by checking char before the match string.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-human-names.el: New file.
	* Makefile.in (EL-FILES): Add edb-t-human-names.el.

	* db-oldnames.el: Require `edb-t-human-names'.
	(order-last-names): New defalias.
	(canonicalize-name): Likewise.
	(same-first-name-p): Likewise.
	(order-first-names): Likewise.
	(nicknamep): Likewise.
	(standardize-name): Likewise.
	(name->name-jr): Likewise.
	(name->first-last-jr): Likewise.

	* db-types.el (order-last-names): Delete func.
	(canonicalize-name): Likewise.
	(nicknames): Delete var.
	(same-first-name-p): Delete func.
	(order-first-names): Likewise.
	(nicknamep): Likewise.
	(standardize-name): Likewise.
	(jr-assoc-list): Delete var.
	(name->name-jr): Delete func.
	(name->first-last-jr): Likewise.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb-t-places-usuk.el: New file.
	* Makefile.in (EL-FILES): Add edb-t-places-usuk.el.

	* db-oldnames.el: Provide `db-oldnames'.
	Require `edb-t-places-usuk'.
	(postal-code-p): New defalias.
	(statep): Likewise.
	(full-state-name): Likewise.
	(abbreviate-state): Likewise.

	* db-types.el (UK-postal-code-regexp): Delete var.
	(zip-code-regexp): Likewise.
	(postal-code-regexp): Likewise.
	(postal-code-p): Delete func.
	(state-alist): Delete var.
	(statep): Delete func.
	(full-state-name): Likewise.
	(abbreviate-state): Likewise.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Use `setf' forms in examples.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Execution of format file eval expressions):
	No longer mention `database-set-fieldnames' explicitly.

2005-01-14  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-essential-file-names): Add "db-summary".

2005-01-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Creating a new database): Document `edb-data-coding'.
	Update last example to use it.  Add two @cindex entries.

2005-01-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-oldnames.el: New file.
	* Makefile.in (EL-FILES): Add db-oldnames.el.

2005-01-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-make-n-line-sep-function):
	Rename from `make-n-line-sep-function'.

	* edb.texi (Sepinfo examples): Use `db-make-n-line-sep-function'.

2005-01-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Introduction): Add menu item "Plans for EDB".
	(Plans for EDB): New node/section.

2005-01-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file): Use two `db-in-buffer'
	blocks since the re-coding hack may obsolete the original buffer.

2005-01-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/skram.edb: New file.
	* Makefile.in (distfiles): Add skram/skram.edb.

2005-01-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Bump some 1.25 scadenzas to 1.26.

2005-01-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file): Reread
	data file if coding system is different than the default.
	(db-read-database-internal-file-layout): Set the
	`internal-file-layout-p' slot in the returned structure.
	(db-write-1): Take additional arg `coding'. Update callers.
	Include `coding' in output as the first-line magic variable.

	* db-interfa.el (db-write-database-file): Pass data display
	buffer's `buffer-file-coding-system' value to `db-write-1'.

2005-01-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-set-modified-p): Fix typo.
	Reported by NAKAMURA Toshikazu.

2005-01-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Reporting bugs): No longer
	mention defunct var `db-prepare-to-debug'.
	Instead, suggest setting var `debug-on-error'.

2005-01-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Debugging EDB): Remove subsubsections on
	enabling debugging messages and printing circular structures.

2005-01-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Remove/rework some @scandeza items.

2004-10-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (db-summary): Doc fix; nfc.
	* db-interfa.el (dbc-set-hide-p): Likewise.
	(db-hide-unmarked-records): Likewise.

2004-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac (VERSION): Bump to "1.24" for release.

2004-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (distfiles): Add skram/make-skram.el
	and skram/make-hacksup.el.

2004-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* BUGS: New file.
	* Makefile.in (distfiles): Add BUGS.

2004-10-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-byte-compile-all):
	Rename from `byte-compile-database-all'.

	* Makefile.in ($(ELC-FILES)): Use `edb-byte-compile-all'.

2004-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-lmap-link): Rename from `maplinks-link'.
	(db-lmap-index): Rename from `maplinks-index'.
	(db-lmap): Rename from `maplinks'.
	(db-lmap-macro): Rename from `maplinks-macro'.
	(db-lmap-break): Rename from `maplinks-break'.
	(maprecords): Update docstring; nfc.
	(maprecords-macro): Likewise.

	* db-summary.el (dbf-fill-summary-buffer): Use db-lmap-* names.
	(dbf-update-summary-marks): Likewise.
	(dbs-move-to-proper-record): Likewise.

	* db-sort.el (database-sort): Likewise.
	(database-sorted-p): Likewise.
	(database-ordered-p): Likewise.

	* db-interfa.el (dbf-finished-sorting): Likewise.
	(db-search-field): Likewise.
	(db-hide-unmarked-records): Likewise.
	(db-mark-unhidden-records): Likewise.
	(db-unhide-all): Likewise.
	(db-unmark-all): Likewise.
	(db-report): Likewise.

	* db-convert.el (db-convert): Likewise.

2004-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (mapfields-field): Delete var.
	(mapfields-index): Likewise.
	(mapfields): Delete macro.
	(mapfields-macro): Likewise.

	* edb.texi (Mapping over record fields): Delete node/subsection.

2004-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Mapping over the database): Remove docs
	for `maplinks', `maplinks-macro' and `maplinks-break'.

2004-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-delete-record-modifies-database-p): Delete var.
	(db-delete-record): No longer use var.

	* edb.texi (Adding and removing records): Remove
	@defvar for `db-delete-record-modifies-database-p'.

2004-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-fieldabbrevs): Delete var.
	(make-displayspec-from-string-internal):
	No longer use `dbf-fieldabbrevs'.

	* edb.texi (Display specification abbreviations):
	Delete node/section. Remove menu refs.

2004-10-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Add scadenza for `recordfieldspec', `sepinfo'
	`database' and `link' structures.  Also, rewrite get/set
	intro to say "functions whose names take the form".

2004-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/skram.fmt: Set summary format in Local Variables section.

2004-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Database Summary mode): Fix omission bug:
	Include argument for `dbf-set-summary-format' @defun.

2004-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-required-file-names): Delete var.
	(edb-autoloaded-file-names): Likewise.
	(edb-file-names): Likewise.
	(edb-source-file-names): Likewise.
	(byte-compile-database-all): Incorporate values of deleted vars.

2004-10-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-directory): Delete var.
	(byte-compile-database-all): No longer take arg `dir'.

	* Makefile.in ($(ELC-FILES)): Prefix `load-path' in Emacs command.

2004-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (byte-compile-database): Delete func.
	(byte-compile-database-all): Incorporate `byte-compile-database'.
	No longer autoload.  No longer support interactive calling.
	Consult `default-directory' instead of `edb-directory' or querying.
	Touch old .elc files if any compilation happens.

2004-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (load-database): Delete func.
	(byte-compile-database): Incorporate `load-database'.

2004-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Defining new displaytypes): Add
	scadenza for `define-displaytype-from-optstring'.
	Also, no longer mention `displayspec' structure slots.

2004-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Predefined record field types):
	Add scadenza for `define-type-alias'.

2004-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-best-fit-message): Use `with-output-to-temp-buffer'
	instead of `with-electric-help-maybe'.
	(with-electric-help-maybe): Delete macro.
	(use-electric-help-p): Delete var.

	* database.el (with-electric-help): Delete autoload form.

	* edb.texi (Global variables): Remove @defvar
	and associated blurb for `use-electric-help-p'.
	Likewise for `with-electric-help-maybe' @defmac.

2004-10-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (db-use-completing-read): Delete var.
	(define-enum-type): Incorporate `db-use-completing-read' value.

2004-10-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Move "db-lemacs" loading together with other loading.
	* db-lemacs.el: No longer require `database'.
	No longer provide `db-lemacs'.
	Convert multiple checks for `emacs-version' property
	`edb-running-lemacs' to a single check at the start
	of the file that can signal error.

2004-10-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile (sk2): Avoid vc interaction.
	(sk3): Likewise.

2004-10-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Invoking EDB): No longer mention db-lemacs.el.
	* database.el: Load "db-lemacs" if running under Lucid Emacs.
	* db-lemacs.el (db-running-lucid-emacs): Delete var.  Replace refs
	with checks to `emacs-version' property `edb-running-lemacs'.

2004-10-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Load and read hooks):
	Move scadenza for `db-load-hooks' to 1.25.

2004-10-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/skram.fmt: Merge `eval' forms in Local Variables
	section; use `setf' instead of TYPE-set-SLOT functions.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-two-dbs.el (db-merge-internal): Delete func.
	(db-merge): Incorporate `db-merge-internal'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-two-dbs.el (db-choose-value): Delete func.
	(db-merge-records): Incorporate `db-choose-value'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-two-dbs.el (db-read-fieldvalue-from-minibuffer): Delete func.
	(db-choose-value): Incorporate `db-read-fieldvalue-from-minibuffer'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-lookup-field): Delete func.
	(db-tagged-rrfr): Incorporate `db-tagged-lookup-field'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-buffer-substitute): Delete func.
	* db-file-io.el (database-perform-substitutions):
	Incorporate `db-buffer-substitute'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-operate-on-local-variables): Delete func.
	* db-format.el (db-setup-ddb-parse-displayspecs):
	Incorporate `db-operate-on-local-variables'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-setup-internal): Delete func.
	(db-rdb-setup): Incorporate `db-rdb-setup-internal'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-lookup-field): Delete func.
	(db-rdb-list-rrfr): Incorporate `db-rdb-lookup-field'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-format-to-type): Delete func.
	(db-rdb-correlate-field-defs): Incorporate `db-rdb-format-to-type'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-read-list-field-defs): Delete func.
	(db-rdb-read-table-field-defs): Likewise.
	(db-rdb-read-fields): Incorporate deleted funcs.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (make-similar-database): Delete func.
	* db-two-dbs.el (db-merge): Incorporate `make-similar-database'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Per-database variables): Add scadenza for subsection.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-setup): Take rest-arg `attrs'.
	Use `attrs' to override db-tagged-* values.

	* edb.texi (Tagged file layout): Update @defun for `db-tagged-setup'.
	Add scadenza for "setting attributes using `database-set-local'".

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-add-record): Use `db-new-link'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-setup-internal): Delete func.
	(db-tagged-setup): Incorporate `db-tagged-setup-internal'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-displaytype-from-displaysp): Return name.
	(define-recordfieldtype-from-recordfieldspec): Likewise.

	* edb.texi (Specifying a record field type): Update @defun
	for `define-recordfieldtype-from-recordfieldspec'.
	(Defining new displaytypes): Likewise
	for `define-displaytype-from-displayspec'.

2004-10-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/make-skram.el: Use the documented method for disabling vc.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-join-links): Rename from `link-two'.
	(database-add-record): Use `db-join-links'.

	* db-interfa.el (db-delete-record): Use `db-join-links'.
	* db-file-io.el (database-set-links-from-list): Likewise.
	(db-reading-noninternal): Likewise.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (The link structure):
	Add scadenza for "the link structure".

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (link): For this defstruct, rename
	constructor from `old-make-link' to `db-make-link'.
	(db-new-link): Use `db-make-link'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-new-link): Rename from `make-link-from-record'.

	* db-file-io.el (db-read-database-file-helper): Use `db-new-link'.
	(db-reading-noninternal): Likewise.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (make-link): Delete unused func
	and associated `make-obsolete' form.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (recordfieldspec-sort-function): New alias.
	(recordfieldspec-order-function): Likewise.

	* edb.texi (The recordfieldspec structure): Add scadenza for
	`recordfieldspec-sort-function' and `recordfieldspec-order-function'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-rs-sortfunc):
	Rename from `recordfieldspec-sort-function'.

	* db-sort.el (dbsi-this-field-only): Use `db-rs-sortfunc'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-rs-ordfunc):
	Rename from `recordfieldspec-order-function'.

	* db-two-dbs.el (database-compare-hack): Use `db-rs-ordfunc'.
	* db-sort.el (db-convert-ordering-fields): Likewise.
	* db-search.el (db-match): Likewise.
	* db-interfa.el (db-field-query-replace): Likewise.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Manipulating records): Add scadenza
	for `copy-record' and `copy-record-to-record'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-check-constraint):
	Rename from `record-check-constraint'.
	(record-set-field-from-index): Use `db-check-constraint'.

	* db-interfa.el (db-field-query-replace): Use `db-check-constraint'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Accessing record fields): Add scadenza
	for `record-set-field-from-index' and `record-field-from-index'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (dbf-this-record-set-field-and-redisplay):
	Delete unused func and associated `make-obsolete' form.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Mapping over the database): Add
	scadenza for `maprecords-macro' and `maplinks-macro'.
	(Mapping over record fields): Add scadenza for `mapfields-macro'.
	(Sepinfo examples): Add scadenza for `make-n-line-sep-function'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (map-data-display-buffers): Delete func.
	(database-set-modified-p): Make a defun.
	Incorporate `map-data-display-buffers'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-stored->actual-internal): Delete func.
	(database-stored->actual):
	Incorporate `database-stored->actual-internal'.

2004-10-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Specifying a record field type): Rewrite.
	Also, add scadenza for `recordfieldtype->recordfieldspec'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-set-field-variables): Delete func.
	* db-format.el (db-setup-data-display-buffer):
	Incorporate `db-set-field-variables'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-check-all-sepinfos): Delete func.
	(database-io-setup): Incorporate `database-check-all-sepinfos'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-display-record): Rename from `display-record'.
	(db-revert-record): Use `db-display-record'.
	(db-emergency-restore-format): Likewise.

	* db-interfa.el (dbf-goto-record-internal): Likewise.
	(db-field-query-replace): Likewise.

	* db-two-dbs.el (db-merge-records): Likewise.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-kill-buffers): Fix typo.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Record display hooks):
	No longer mention `display-record'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-set-field-help): Delete unused func.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbf-kill-summary): Delete func.
	(db-kill-buffers): Incorporate `dbf-kill-summary'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-bury): Delete func.
	(db-quit): Incorporate `db-bury'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-this-buffer): Delete unused func.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-save-database-no-buffer): Delete func.
	(database-clean-data-display-buffers):
	Incorporate `db-save-database-no-buffer'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-auto-edit-mode): Delete var.
	(db-set-auto-edit-mode): Delete func.
	(db-toggle-auto-edit-mode): Likewise.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-hide-records): Delete unused func.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Accessing record fields): Add scadenza for
	`fieldname->fieldnumber' and `fieldnumber->fieldname'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-install-format-spec): Delete func.
	(format-spec-format-file): Likewise.
	(dbf-make-format-file-spec): Likewise.
	(dbf-install-format-file-spec): Likewise.
	(db-change-format): Incorporate deleted funcs.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-this-field-text-unrect): Delete func.
	(dbf-process-field-maybe): Incorporate `dbf-this-field-text-unrect'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-mouse-buffer-switch-moves-point-p):
	Delete unused var.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-check-if-beyond-field): Delete func.
	(dbf-check-if-before-field): Likewise.
	(dbf-check-if-outside-field): Incorporate deleted funcs.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-in-indentation-p): Delete func.
	(db-jump-to-point): Incorporate `dbf-in-indentation-p'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-process-field): Delete func.
	(dbf-process-field-maybe): Incorporate `dbf-process-field'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Defining new displaytypes):
	Add scadenza for `displaytype->displayspec'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-ds-displayed): Delete func.
	(display-record): Incorporate `db-ds-displayed'.

2004-10-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (database-mode-line-format): Delete var.
	(database-mode): Incorporate `database-mode-line-format' value.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Debugging EDB): For
	`db-disable-debugging-support' and `db-debug-p',
	convert @vindex and @table entries to @defvar block.
	Also, remove all @vindex lines.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Exiting Emacs or saving files): For `db-databases',
	convert @vindex and @table entry to @defvar block.
	(Global variables): Move `db-databases' defvar here.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Hooks and customization features):
	Refer to "File Variables" in the Emacs Manual directly.
	(Nonregular database example): Likewise.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Accessing record fields):
	Rewrite `dbf-set-this-record-modified-p' text.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Accessing record fields):
	Rewrite `dbf-displayed-record' text.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Mapping over the database): Remove
	@vindex for `maplinks-index' and `maplinks-link'.
	(Mapping over record fields): Remove
	@vindex for `mapfields-index' and `mapfields-field'.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Throughout, remove @vindex for
	`db-inform-interval' and `use-electric-help-p'.
	(Global variables): For `db-inform-interval' and `use-electric-help-p',
	convert @vindex and @table entries to @defvar blocks.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Display format change hooks): For
	`db-new-record-function', `dbf-first-change-function',
	`dbf-every-change-function', `dbf-change-functions'
	`dbf-set-this-record-modified-function' and
	`dbf-after-record-change-function', convert @vindex
	and @table entries to @defvar blocks.
	(Manipulating records): Remove @vindex for `db-new-record-function'.
	(Accessing record fields): Remove @vindex for
	`dbf-set-this-record-modified-function'.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Edit mode hooks): For `dbf-enter-field-hook'
	and `dbf-reset-on-edit-list', convert @vindex
	and @table entries into @defvar block.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Record display hooks): For
	`dbf-before-display-record-function',
	convert @vindex and @table entry into @defvar block.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Record display hooks): Remove @vindex
	for `dbf-format-name' and `db-format-file-path'.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Database minor mode hooks): For
	`db-view-mode-hooks', `db-edit-mode-hooks'
	and `database-summary-mode-hooks', convert
	@vindex and @table entries into @defvar blocks.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Load and read hooks): For `db-load-hooks',
	convert @vindex and @table entry into @defvar block,
	and add scadenza.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Auxiliary files): For `db-aux-file-suffixes',
	`db-aux-file-path', `db-format-file-suffixes' and
	`db-format-file-path', convert @vindex and @table entries
	into @defvar blocks.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Display specification optional parameters):
	No longer mention `dbm-string-prefix-regexp'.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Reading from disk): Remove @vindex
	for `db-before-read-hooks' and `db-after-read-hooks'.
	(Load and read hooks): For `db-before-read-hooks'
	and `db-after-read-hooks', convert @vindex and @table
	entries into @defvar blocks.
	(Accessing record fields): Remove @vindex for `db-after-read-hooks'.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Reading from disk): Remove
	@vindex for `inhibit-local-variables'.
	(Debugging EDB): Remove @vindex for
	`print-length', `print-level' and `debug-on-error'.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Tagged file layout): For
	`db-tagged-tag-chars', `db-tagged-separator',
	`db-tagged-separator-regexp', `db-tagged-separator-output',
	`db-tagged-continuation', `db-tagged-continuation-regexp',
	`db-tagged-continuation-output' `db-tagged-rrfr-hooks',
	`db-tagged-wrfr-before-hooks' and `db-tagged-wrfr-after-hooks',
	convert @vindex and @table entries into @defvar blocks.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (The recordfieldspec structure):
	Remove @vindex for `dbf-field-priorities'.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Changing display formats): For
	`dbf-format-name-spec-alist', `dbf-format-name'
	and `dbf-format-file', convert @table entries
	into @defvar blocks.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Changing display formats): Remove
	@vindex for `dbf-before-display-record-function'.
	(Execution of format file eval expressions): Likewise.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Changing display formats): Remove
	@vindex for `dbf-format-name-spec-alist'.
	(Record display hooks): Likewise.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Details of hiding): For `dbc-hide-p', use @defvar.
	For `dbc-set-hide-p', delete @findex and add @defun.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Database Summary mode): For
	`dbf-summary-function', remove @vindex and add scadenza.
	For `dbf-summary-show-hidden-records-p'
	convert @table entry to @defvar block.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Sorting): For `dbsi-hidden-to-end-p',
	remove @vindex and add scadenza.
	For `dbf-field-priorities', `dbf-hidden-to-end-p'
	and `db-sort-modifies-p', convert @table entries to
	independent @defvar blocks.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Details of hiding): Add scadenza for `dbc-hide-p'.
	Rework references to say "enable hiding" or "disable hiding".
	(Debugging EDB): Add scadenza for "enabling debugging messages".

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Throughout, do not quote "local variables".  Also,
	convert some tex-style quotes to either @dfn or @code.

2004-10-04  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Organization of this manual): Mention
	instability of documentation for implementation details.
	Define macro `scadenza'.

2004-10-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Throughout, use @deffn, @defun and @defmac.
	(Invoking EDB): Remove `find-file' hackery.

2004-10-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (integer->weekday): Delete defsubst.
	(date->weekday-name): Incorporate `integer->weekday'.

2004-10-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (monthname->integer): Delete defsubst.
	(parse-date-string): Incorporate `monthname->integer'.

2004-10-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (integer->monthname): Delete defsubst.
	(parse-date-string): Incorporate `integer->monthname'.
	(format-date-sub-syms-alist): Likewise.

2004-10-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (integer->monthabbrev): Delete defsubst.
	(format-date-sub-syms-alist): Incorporate `integer->monthabbrev'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* ANONCVS: Specify "-d ..." explicitly for "cvs co".
	Suggested by Janusz S. Bieñ.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (db-make-empty-time): Rename from `make-empty-time'.
	(db-time-default-constraint): Rename from `time-default-constraint'.
	(db-time-order): Rename from `time-order'.
	(db-time-match-function): Rename from `time-match-function'.
	(db-time->storage-string): Rename from `time->storage-string'.
	(db-storage-string->time): Rename from `storage-string->time'.
	(db-time-merge): Rename from `time-merge'.
	(parse-time-string): Use new names.
	(time): For this recordfieldtype, use new names.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (monthname-regexp): Delete defconst.
	(weekday-regexp): Likewise.
	(monthnumber-regexp): Likewise.
	(monthnumber-regexp-two-char): Likewise.
	(monthday-regexp): Likewise.
	(monthday-regexp-two-char): Likewise.
	(full-year-regexp): Likewise.
	(short-year-regexp): Likewise.
	(year-regexp): Likewise.
	(db-elt-separator-regexp): Likewise.
	(date-regexps): Incorporate values of deleted defconsts.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (distfiles): Add PLANS.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (date-order-within-year): Delete func.
	(date-order-absolute): Incorporate `date-order-within-year'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (date-month-day-compatible): Delete func.
	(parse-date-string): Incorporate `date-month-day-compatible'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (monthlength-array): Delete defconst.
	(date-month-day-compatible): Incorporate `monthlength-array'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (date->weekday-abbrev): Delete defsubst.
	(format-date-sub-syms-alist): Incorporate `date->weekday-abbrev'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (integer->weekday-abbrev): Delete unused func.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (weekday-alist): Delete defconst.
	(weekday-regexp): Incorporate `weekday-alist'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (weekday-array): Delete defconst.
	(integer->weekday): Incorporate `weekday-array'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (leap-year-p): Delete func.
	(date->day-of-year): Incorporate `leap-year-p'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (date-year-short): Delete func.
	(format-date-sub-syms-alist): Incorporate `date-year-short'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (zero-or-empty-date-p): Delete func.
	(parse-date-string): Incorporate `zero-or-empty-date-p'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (db-make-empty-date): Rename from `make-empty-date'.
	(parse-date-string): Use` db-make-empty-date'.
	(parse-date-string-or-nil): Likewise.
	(date): For this recordfieldtype, use `db-make-empty-date'.

2004-09-30  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* PLANS: New file.

2004-09-18  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (EDB support): Delete node.
	(In case of trouble): Promote to chapter.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Remove @need directives.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Installing EDB): Delete node/section.
	(Updates to EDB): Likewise.
	(Compiling EDB): Delete node/subsection.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (The database structure): Remove alist rationalization.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Resolving ambiguities): No longer mention FileMaker.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-generate-delimiter): Fix bug
	introduced during locals name munging: Return non-nil result.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-setup-ddb-parse-displayspecs): Replace
	`replace-string' with `(while (search-forward...) ...)'.

	* db-file-io.el (database-substitute-for-read): Likewise.
	(database-substitute-for-write): Likewise.

	* db-util.el (db-buffer-substitute): Likewise.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (byte-compile-database):
	No longer hide byte-compiler warnings.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Colon-space cleanup.
	Reword to avoid "user".
	Zonk edb-inst.info references.
	Say "load database into memory" instead of "start database".
	Remove autoload instructions
	for `load-database' and `byte-compile-database'.
	Add some [fixme ...] comments.
	Use @dfn in some places.
	Grammar fixes.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-log): Delete func.
	(db-message): Incorporate `db-log'.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-version): Return string unconditionally.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-displaytypes): Init as hash table.

	* db-types.el (define-displaytype-from-displayspec):
	Handle `db-displaytypes' as hash table.

	* db-format.el (displaytype->displayspec):
	Handle `db-displaytypes' as hash table.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-recordfieldtypes): Init as hash table.

	* db-file-io.el (recordfieldtype->recordfieldspec):
	Handle `db-recordfieldtypes' as hash table.
	(recordfieldtype-p): Delete func.

	* db-rep.el (database-set-fieldnames-to-list):
	No longer use `recordfieldtype-p'.
	Instead, consult `db-recordfieldtypes' directly.

	* db-types.el (define-recordfieldtype-from-recordfieldspec):
	Handle `db-recordfieldtypes' as hash table.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-search.el (db-parse-match-object): Delete func.
	(db-parse-match-pattern): Incorporate `db-parse-match-object'.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-search.el (db-print-match-object): Delete func.
	(db-print-match-pattern): Incorporate `db-print-match-object'.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Remove superfluous "\input texinfo".
	Also, remove many commented-out sections.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-prepare-to-debug): Delete func.
	(db-debug): Delete macro.
	(db-debug-p): Delete var.
	(db-disable-debugging-support): Likewise.

	* db-format.el (db-parse-buffer-error): No longer use `db-debug-p'.
	(db-setup-data-display-buffer): Likewise.
	(display-record): Likewise.

	* db-file-io.el (db-write-1): Likewise.
	(database-confirm-fieldsep-and-recordsep): Likewise.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Debugging EDB): Bifurcate pre- and post-1.24.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Terminology): Add @dfn. Mention `fieldtype'.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-debug-log): Delete macro.

2004-09-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-debug-message): Delete macro.

	* db-format.el
	(db-actual->display-call): No longer use `db-debug-message'.
	(db-jump-to-point): Likewise.
	(dbf-process-field): Likewise.
	(dbf-redisplay-entire-record-maybe): Likewise.
	(make-displayspec-from-string-internal): Likewise.
	(db-setup-data-display-buffer): Likewise.
	(db-setup-ddb-parse-displayspecs): Likewise.

	* db-interfa.el
	(db-save-database): Likewise.
	(db-write-database-file): Likewise.
	(db-select-record): Likewise.
	(db-search-field): Likewise.

	* db-file-io.el
	(db-read-database-file): Likewise.
	(db-choose-format-file): Likewise.
	(db-read-database-file-helper): Likewise.
	(database-set-links-from-list): Likewise.
	(db-reading-noninternal): Likewise.
	(db-read-file-custom): Likewise.
	(db-read-file-delimited): Likewise.
	(database-stored->actual-internal): Likewise.
	(database-delete-pre-and-post): Likewise.
	(db-write-1): Likewise.
	(db-write-intdelim): Likewise.
	(database-io-setup): Likewise.
	(database-substitute-for-read): Likewise.
	(database-substitute-for-write): Likewise.
	(database-confirm-fieldsep-and-recordsep): Likewise.

	* db-time.el
	(parse-date-string): Likewise.
	(format-date): Likewise.

	* db-rep.el
	(database-set-modified-p): Likewise.
	(database-set-fieldnames-to-list): Likewise.
	(database-add-record): Likewise.
	(maplinks-macro): Likewise.

	* db-summary.el
	(dbf-fill-summary-buffer): Likewise.

	* db-sort.el
	(database-sort): Likewise.
	(db-with-orderer): Likewise.
	(dbsi-prev-cons): Likewise.
	(dbsi-use-ordering-make-buffer-default): Likewise.

	* db-two-dbs.el
	(db-process-two-databases): Likewise.
	(db-merge): Likewise.

	* db-search.el
	(db-parse-match-object): Likewise.
	(db-match): Likewise.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-dt-leading-comma-optional): Rename
	from `displaytype-leading-comma-optional'.
	(db-dtrx): Rename from `displaytype-regexp'.
	Also, use `db-dt-leading-comma-optional'.
	(db-foptrx): Use `db-dtrx'.
	(make-displayspec-from-type-and-options): Likewise.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-dsrx): Rename from `displayspec-regexp'.
	(db-dsrx-fieldname): Rename from `displayspec-regexp-fieldname'.
	(db-dsrx-fieldoptions): Rename from `displayspec-regexp-fieldoptions'.
	(db-dsrx-content-beginning):
	Rename from `displayspec-regexp-content-beginning'.
	(db-dsrx-content-end): Rename from `displayspec-regexp-content-end'.
	(db-dsrx-content-end-alt):
	Rename from `displayspec-regexp-content-end-alt'.
	(displaytype->displayspec): Use new names.
	(make-displayspec-from-string-internal): Likewise.
	(db-setup-ddb-parse-displayspecs): Likewise.

	* db-summary.el (db-format->lines/sforms): Use `db-dsrx',
	`db-dsrx-content-beginning', `db-dsrx-content-end'
	and `db-dsrx-content-end-alt'.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (displayspec-set-reachable): Delete unused defsubst.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (right-justify-slotsetter-function): Delete func.
	(db-optspec-list): Incorporate `right-justify-slotsetter-function'.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-pad-right): Rename from `left-justify-padding-function'.
	(db-ds-printed): Use `db-pad-right'.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-space-maybe-rx): Rename from `space-maybe-regexp'.
	(db-unindentify): Use `db-space-maybe-rx'.
	(db-beginning-of-line-or-field): Likewise.
	(db-forward-char): Likewise.
	(db-backward-char): Likewise.
	(db-kill-line): Likewise.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (space-maybe-regexp-limit): Delete var.
	(space-maybe-regexp): Use number 8 directly.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-string->displaytype): Rename from `string->displaytype'.
	(displaytype->displayspec): Use `db-string->displaytype'.
	(make-displayspec-from-type-and-options): Likewise.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-set-buffer-local-variables): Delete func.
	(db-setup-data-display-buffer):
	Incorporate `dbf-set-buffer-local-variables'.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-ds-printed):
	Rename from `displayspec->printed-rep'.
	(display-record): Use `db-ds-printed'.
	(db-ds-displayed): Likewise.

	* db-summary.el (db-format->lines/sforms): Use `db-ds-printed'.

2004-09-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-ds-displayed):
	Rename from `displayspec->displayed-rep'.
	(dbf-process-field): Use `db-ds-displayed'.

2004-09-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-isbn.el (db-isbn-constraint): Use `unless'.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (string-or-nil->number-or-nil): Delete
	func and accompanying `make-obsolete' form.

	* db-time.el (parse-date-string):
	Incorporate `string-or-nil->number-or-nil'.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (db-enum-make-help-info): Delete func.
	(db-enum-make-display->actual): Likewise.
	(db-enum-do-completions): Likewise.
	(db-enum-make-actual->display): Likewise.
	(db-enum-make-actual->stored): Likewise.
	(make-enum-member-orderer): Likewise.
	(make-enum-member-sorter): Likewise.
	(make-enum-member-orderer-internal): Likewise.
	(define-enum-type): Incorporate `db-enum-make-help-info',
	`db-enum-make-display->actual', `db-enum-do-completions',
	`db-enum-make-actual->display', `db-enum-make-actual->stored',
	`make-enum-member-orderer', `make-enum-member-sorter',
	`make-enum-member-orderer-internal'.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-setup-data-display-buffer): Fix bug
	introduced in last change: Use `file-name-sans-extension'.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (db-enum-make-help-info): Use `with-temp-buffer'.
	* db-util.el (db-unused-char-in-string): Likewise.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (db-enum-process-alternatives): Delete func.
	(define-enum-type): Incorporate `db-enum-process-alternatives'.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (load-db-aux-file): Delete func.
	* db-format.el (db-setup-data-display-buffer):
	Incorporate `load-db-aux-file'.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-if-file-readable-p): Delete defsubst.
	(db-locate-file-with-extensions): Delete func.
	(db-locate-file-with-extensions-on-path): Likewise.
	(db-locate-file-on-path): Likewise.

	* db-file-io.el (db-file->format-file): Use `locate-file'.
	(db-locate-format-file): Likewise.
	(load-db-aux-file): Likewise.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-filename-extension-regexp): Delete var.
	(db-filename-sans-extension): Delete func.
	(db-locate-file-with-extensions): Use `file-name-sans-extension'.

	* db-file-io.el (db-choose-format-file): Use `file-name-sans-extension'.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-save-some-databases): Use `with-current-buffer'
	instead of `db-in-buffer' where body is side-effect free.
	(db-find-file): Likewise.

	* db-summary.el (db-summary): Likewise.
	(dbs-synch-format-with-summary): Likewise.

	* db-two-dbs.el (db-merge): Likewise.
	(db-merge-records): Likewise.

	* db-sort.el (dbsi-use-ordering-make-database-default):
	Use `with-current-buffer' instead of `db-in-buffer'
	where body does not change display.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-log): Locals name munging; nfc.
	(db-message): Likewise.
	(db-warning): Likewise.
	(db-debug-log): Likewise.
	(db-debug-message): Likewise.
	(db-prepare-to-debug): Likewise.
	(load-database): Likewise.
	(byte-compile-database-all): Likewise.
	(byte-compile-database): Likewise.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (test-date-formats): Comment out func.
	(leap-year-p): Locals name munging; nfc.
	(date->absolute-days): Likewise.
	(monthname->integer): Likewise.
	(integer->monthname): Likewise.
	(integer->monthabbrev): Likewise.
	(date-order-absolute): Likewise.
	(date-order-within-year): Likewise.
	(parse-date-string): Likewise.
	(parse-date-string-or-nil): Likewise.
	(parse-date-default-function): Likewise.
	(format-date): Likewise.
	(date-match-function): Likewise.
	(date-merge): Likewise.
	(storage-string-mmddyyyy->date): Likewise.
	(storage-string-lisp->date): Likewise.
	(date-stored->actual): Likewise.
	(time-default-constraint): Likewise.
	(parse-time-string): Likewise.
	(parse-time-default-function): Likewise.
	(time-order): Likewise.
	(time-match-function): Likewise.
	(storage-string->time): Likewise.
	(time-merge): Likewise.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el
	(db-boolean->yn-string): Rename from `boolean->yn-string'.
	(db-yn-string->boolean): Rename from `yn-string->boolean'.
	(db-boolean-order-function): Rename from `boolean-order-function'.
	(db-boolean-lessp): Rename from `db-boolean-lessp'.
	(boolean): For this recordfieldtype, use new names.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (string-is-yn-p): Delete unused func.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el
	(db-boolean->yes-no-string): Rename from `boolean->yes-no-string'.
	(db-yes-no-string->boolean): Rename from `yes-no-string->boolean'.
	(yes-no): For this displaytype, use new names.

2004-09-13  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-p): Locals name munging; nfc.
	(db-rdb-setup-internal): Likewise.
	(db-rdb-list-rrfr): Likewise.
	(db-rdb-list-wrfr): Likewise.
	(db-rdb-lookup-field): Likewise.
	(db-rdb-read-list-field-defs): Likewise.
	(db-rdb-correlate-field-defs): Likewise.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el
	(db-tagged-spec-name): Rename from `tagged-field-spec-name'.
	(db-tagged-spec-tag): Rename from `tagged-field-spec-tag'.
	(db-tagged-spec-help): Rename from `tagged-field-spec-help'.
	(db-tagged-setup-internal): Use new names.
	(db-tagged-wrfr): Likewise.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-setup): Locals name munging; nfc.
	(db-tagged-setup-internal): Likewise.
	(db-tagged-before-read): Likewise.
	(db-tagged-rrfr): Likewise.
	(db-tagged-wrfr): Likewise.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-two-dbs.el (db-process-two-databases): Locals name munging; nfc.
	(db-merge-internal): Likewise.
	(db-merge): Likewise.
	(db-merge-records): Likewise.
	(db-choose-value): Likewise.
	(db-read-fieldvalue-from-minibuffer): Likewise.
	(databases-compatible): Likewise.
	(database-compare-hack): Likewise.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-isbn.el (db-isbn-constraint): Locals name munging; nfc.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-unused-char-in-buffer): Locals name munging; nfc.
	(db-unused-char-in-string): Likewise.
	(db-skip-string-forward): Likewise.
	(db-skip-string-backward): Likewise.
	(db-skip-regexp-forward): Likewise.
	(db-skip-regexp-backward): Likewise.
	(db-looking-back-at): Likewise.
	(db-how-many-string-overlapping): Likewise.
	(db-how-many-substring-overlapping): Likewise.
	(db-find-char): Likewise.
	(db-find-char-from-end): Likewise.
	(db-string-trim-whitespace): Likewise.
	(db-vararg-call): Likewise.
	(db-locate-file-with-extensions): Likewise.
	(db-locate-file-with-extensions-on-path): Likewise.
	(db-same-file-p): Likewise.
	(db-string->integer-default): Likewise.
	(db-string->integer-or-nil): Likewise.
	(db-string->integer): Likewise.
	(db-number-or-nil->string): Likewise.
	(db-in-buffer): Likewise.
	(db-copy-buffer-local-variables): Likewise.
	(db-string-split-last-word): Likewise.
	(db-string-split-first-word): Likewise.
	(db-count-newlines): Likewise.
	(db-best-fit-message): Likewise.
	(db-forward-line-wrapping): Likewise.
	(db-buffer-substitute): Likewise.
	(db-operate-on-local-variables): Likewise.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (name->first-last-jr): Fix typo.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-displaytype-from-optstring):
	Locals name munging; nfc.
	(define-type-alias): Likewise.
	(db-enum-process-alternatives): Likewise.
	(db-enum-do-completions): Likewise.
	(make-enum-member-orderer-internal): Likewise.
	(string-or-nil->number-or-nil): Likewise.
	(boolean->yes-no-string): Likewise.
	(yes-no-string->boolean): Likewise.
	(boolean->yn-string): Likewise.
	(yn-string->boolean): Likewise.
	(string-is-yn-p): Likewise.
	(boolean-order-function): Likewise.
	(boolean-lessp): Likewise.
	(string-lessp-ci): Likewise.
	(string-order-ci): Likewise.
	(make-regexp-pattern): Likewise.
	(regexp-pattern-regexp): Likewise.
	(make-string-pattern): Likewise.
	(string-pattern-regexp): Likewise.
	(string-pattern-string): Likewise.
	(string-match-function): Likewise.
	(string-match-display->actual): Likewise.
	(string-match-actual->display): Likewise.
	(string-or-nil-lessp-ci): Likewise.
	(string-or-nil-order-ci): Likewise.
	(string-or-nil-match-function): Likewise.
	(string->nil-or-string): Likewise.
	(order-last-names): Likewise.
	(canonicalize-name): Likewise.
	(same-first-name-p): Likewise.
	(order-first-names): Likewise.
	(name->first-last-jr): Likewise.
	(postal-code-p): Likewise.
	(statep): Likewise.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (string-lessp-ci): Use `compare-strings'.
	(string-order-ci): Likewise.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-isbntst.el: Delete file.

	* Makefile.in (TEST-EL-FILES): Delete var.
	(TAGS): No longer depend on $(TEST-EL-FILES).
	Also, in actions, use `$^' directly.

	* HACKING (Implementation Organization): Remove db-isbntst.el.

2004-09-12  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/make-hacksup.el: No longer change default directory.
	Init `files' from `command-line-args-left' directly.

	* skram/make-skram.el: Init from `command-line-args-left' directly.

	* skram/GNUmakefile (all): Also depend on hacksup.el.
	(hacksup.el): New target.
	(skram.data): Use `$^' directly.
	(clean): Also delete "*~".
	(realclean): Also delete hacksup.el.

	* Makefile.in (clean): Recurse into subdir `skram'.
	(hacksup.el): Delete target.
	(distfiles): Remove hacksup.el.

2004-09-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (database-view-mode-map): Fix typo.

2004-09-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-write-1): Rename from `write-database-file'.
	* db-interfa.el (db-write-database-file): Use `db-write-1'.

2004-09-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-write-intdelim): Rename from
	`write-database-file-internal-delimited'.
	(write-database-file): Use `db-write-intdelim'.

2004-09-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-isbn.el (db-isbn-constraint): Rename from `isbn-constraint'.
	(isbn): For this recordfieldtype, use `db-isbn-constraint'.

2004-09-11  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* tests: New subdir.

	* Makefile.in (check): Recurse into tests.

	* configure.ac (AC_CONFIG_FILES): Add tests/Makefile.

2004-09-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (clean): No longer remove "*.survey".
	(distfiles): Remove def.survey, def-indexed.survey
	and def-undoc.survey.
	(surveys): Delete target.
	(def-undoc.survey): Likewise.
	(def-indexed.survey): Likewise.
	(def.survey): Likewise.
	(info-stdout): Delete var.

	* skram/make-skram.el: New file.

	* skram/GNUmakefile (ebatch): New var.
	(skram.data): Rewrite.
	(wily-emacs): Use $(ebatch).

2004-09-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-optspec-list): Use `db-string->number'.

	* db-types.el
	(string-or-nil->number-or-nil): Use `db-string->number-or-nil'.
	(number-or-nil): Likewise for this displaytype definition
	and recordfieldtype definition by the same name.

2004-09-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (db-convert-ordering-fields): Locals name munging; nfc.
	(db-make-ordering-fields-canonical): Likewise.
	(db-order-records): Likewise.
	(db-record-lessp): Likewise.
	(database-sorted-p): Likewise.
	(database-ordered-p): Likewise.
	(db-with-orderer): Likewise.
	(db-with-sorter): Likewise.
	(database-sort-interface): Likewise.
	(dbsi-prev-cons): Likewise.
	(dbsi-toggle-hidden-to-end): Likewise.
	(dbsi-quit): Likewise.
	(dbsi-quit-clear-buffer-default): Likewise.
	(dbsi-use-ordering): Likewise.
	(dbsi-this-field-only): Likewise.

2004-09-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (database-no-identical-keys-p): Delete unused func.

2004-09-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (db-converted-ofields):
	Rename from `ordering-fields-converted'.
	(database-sort): Use `db-converted-ofields'.
	(db-order-records): Likewise.
	(db-with-orderer): Likewise.
	(db-with-sorter): Likewise.

2004-09-10  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-warn): Delete fset.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-commit-record): Use `defalias', not `fset'.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-string->integer): Rename from `string->integer'.
	Convert associated `fset' form to `defalias'.  Also, rename
	the alias to `db-string->number' from `string->number'.

	* db-time.el (storage-string-mmddyyyy->date): Use `db-string->integer'.
	(storage-string->time): Likewise.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el
	(db-string->integer-or-nil): Rename from `string->integer-or-nil'.
	Convert associated `fset' form to `defalias'.  Also, rename the
	alias to `db-string->number-or-nil' from `string->number-or-nil'.
	(string->integer): Use `db-string->integer-or-nil'.

	* db-types.el (integer-or-nil): For this displaytype, use
	`db-string->integer-or-nil'.  Likewise for recordfieldtype
	of the same name.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el
	(db-string->integer-default): Rename from `string->integer-default'.
	Convert associated `fset' form to `defalias'.  Also, rename the
	alias to `db-string->number-default' from `string->number-default'.
	(string->integer-or-nil): Use `db-string->integer-default'.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-number-or-nil->string):
	Rename from `number-or-nil->string'.
	Remove associated `make-obsolete' form.

	* db-types.el (integer-or-nil): For this displaytype,
	use `db-number-or-nil->string'.  Likewise for
	recordfieldtype of the same name.
	(number-or-nil): Likewise for this displaytype/recordfieldtype pair.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rdb.el (db-rdb-fspec-handle): Rename from `rdb-field-spec-handle'.
	(db-rdb-fspec-name): Rename from `rdb-field-spec-name'.
	(db-rdb-fspec-type): Rename from `rdb-field-spec-type'.
	(db-rdb-fspec-tag): Rename from `rdb-field-spec-tag'.
	(db-rdb-fspec-help): Rename from `rdb-field-spec-help'.
	(db-rdb-setup-internal): Use new names.
	(db-rdb-list-wrfr): Likewise.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-isbn.el (SFf-isbn-check-sum): Delete func.
	(isbn-constraint): Incorporate `SFf-isbn-check-sum'.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (def-indexed.survey): Avoid "/" in sed expression.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (mode-motion-hook): Delete var.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-count-array): Delete func.
	(db-count-newlines): New func.

	* db-format.el (displayspec->printed-rep): Use `db-count-newlines'.
	* db-summary.el (db-format->lines/sforms): Likewise.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-string-split-last-word):
	No longer take optional third arg `delimiter'.
	(db-string-split-first-word): Likewise for second arg.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-string-substitute): Delete func.
	(db-string-substitute-opt): Likewise.

	* db-summary.el (db-format->lines/sforms): Use `subst-char-in-string'.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-string-substitute-substring-general-case): Delete func.

	* db-file-io.el (database-substitute-for-read):
	Use `replace-regexp-in-string'.

	* db-format.el (db-unindentify): Likewise.
	(display-record): Likewise.
	(displayspec->displayed-rep): Likewise.

	* db-summary.el (db-format->lines/sforms): Likewise.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-string-replace-regexp-2): Delete func.
	(db-string-substitute-substring-general-case):
	Use `replace-regexp-in-string'.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (db-create-summary-buffer): Delete func.
	(db-summary): Incorporate `db-create-summary-buffer'.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-summarize-link): Delete unused func.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (db-format->lines/sforms):
	Rename from `format->lines-and-stringform-list'.
	(dbf-make-summary-maker): Use `db-format->lines/sforms'.

	* db-interfa.el (db-report): Use `db-format->lines/sforms'.

	* database.el: Autoload `db-format->lines/sforms'.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (make-format-printer): Delete func.
	(format->lines-and-stringform-list): Incorporate `make-format-printer'.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (db-summary): Locals name munging; nfc.
	(db-create-summary-buffer): Likewise.
	(dbs-insert-link-summary): Likewise.
	(dbf-fill-summary-buffer): Likewise.
	(dbf-fill-summary-buffer-and-move-to-proper-record): Likewise.
	(dbf-update-summary-marks): Likewise.
	(dbf-update-summary-item): Likewise.
	(dbf-summarize-link): Likewise.
	(dbf-make-summary-maker): Likewise.
	(format->lines-and-stringform-list): Likewise.
	(dbs-move-to-proper-record): Likewise.
	(dbs-exit): Likewise.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/make-hacksup.el: Fix bug: For `defmacro',
	start `declare' search at fourth form element.

2004-09-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Invoking EDB): Add @cindex for Lucid.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (record-sep-lines-function): Delete unused func.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (dbf-this-record-field): Delete unused defsubst.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (recordfieldspecs-compatible): Delete func.
	* db-two-dbs.el (databases-compatible):
	Incorporate `recordfieldspecs-compatible'.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-two-dbs.el (db-read-fieldvalue-from-minibuffer):
	Rename from `read-fieldvalue-from-minibuffer'.
	(db-choose-value): Use `db-read-fieldvalue-from-minibuffer'.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file):
	Rename from `read-database-file'.

	* db-interfa.el (db-find-file): Use `db-read-database-file'.
	(db-revert-database): Likewise.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (db-number-or-nil-order-nil-least):
	Rename from `number-or-nil-order-nil-least'.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (db-number-or-nil-order-nil-greatest):
	Rename from `number-or-nil-order-nil-greatest'.
	(integer-or-nil): For this recordfieldtype,
	use `db-number-or-nil-order-nil-greatest'.
	(number-or-nil): Likewise.

	* db-time.el (date-order-absolute):
	Use `db-number-or-nil-order-nil-greatest'.
	(date-order-within-year): Likewise.
	(time-order): Likewise.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (db-number-order): Rename from `number-order'.
	(integer): For this recordfieldtype, use `db-number-order'.
	(number): Likewise.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (fieldoptions-regexp): Delete defconst.
	(displayspec-regexp): Use `fieldoptions-regexp' value directly.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-foptrx): Rename from `fieldoption-regexp'.
	(db-foptrx-symbol): Rename from `fieldoption-regexp-symbol'.
	(db-foptrx-equals): Rename from `fieldoption-regexp-equals'.
	(make-displayspec-from-type-and-options): Use new names.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el
	(db-choose-format-file): Rename from `choose-format-file'.
	(read-database-file): Use `db-choose-format-file'.

	* db-rep.el (make-similar-database): Use `db-choose-format-file'.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el
	(db-confls-fieldsep-bad-p): Rename from `conflist-fieldsep-bad-p'.
	(db-confls-recordsep-bad-p): Rename from `conflist-recordsep-bad-p'.
	(db-confls-no-of-records): Rename from `conflist-no-of-records'.
	(db-read-file-delimited): Use new names.
	(write-database-file-internal-delimited): Likewise.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-optspec-list): Rename from `optspec-list'.
	(make-displayspec-from-type-and-options): Use `db-optspec-list'.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el
	(db-locate-format-file): Rename from `locate-format-file'.
	(choose-format-file): Use `db-locate-format-file'.

	* db-format.el (db-change-format): Use `db-locate-format-file'.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-tagged.el (db-tagged-lookup-field): Rename from `lookup-field'.
	(db-tagged-rrfr): Use `db-tagged-lookup-field'.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-unindentify): Rename from `unindentify'.
	(dbf-this-field-text-unrect): Use `db-unindentify'.
	(db-backward-word): Likewise.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el
	(db-elt-separator-regexp): Rename from `elt-separator-regexp'.
	(date-regexps): Use `db-elt-separator-regexp'.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (data-display-buffer-database): Delete defsubst.
	(display-current-record): Likewise.

2004-09-08  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-two-dbs.el (db-choose-value): Rename from `choose-value'.
	(db-merge-records): Use `db-choose-value'.

2004-09-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/make-hacksup.el: New file.
	* Makefile.in (hacksup.el): Rewrite to use skram/make-hacksup.el.

2004-09-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el
	(db-read-file-custom):
	Rename from `read-database-file-custom'.
	(db-read-file-delimstr):
	Rename from `read-database-file-delimited-string'.
	(db-read-file-delimrx):
	Rename from `read-database-file-delimited-regexp'.
	(db-read-file-delimited):
	Rename from `read-database-file-delimited'.
	Also, use `db-read-file-delimstr' and `db-read-file-delimrx'.
	(db-read-database-file-helper):
	Use `db-read-file-custom' and `db-read-file-delimited'.

2004-09-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-file-helper):
	Rename from `read-database-file-helper'.
	(read-database-file): Use `db-read-database-file-helper'.

	* db-interfa.el (db-revert-database): Use `db-read-database-file-helper'.

2004-09-07  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-read-database-internal-file-layout):
	Rename from `read-database-internal-file-layout-maybe'.
	Also, if buffer is not in valid format, return nil.
	(read-database-file): Use `db-read-database-internal-file-layout'.
	If it returns nil, call `make-database' directly.

	* db-interfa.el (db-revert-database):
	Use `db-read-database-internal-file-layout'.
	If it returns nil, signal error.

2004-09-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-skip-string-forward): Rewrite.
	(db-skip-string-backward): Likewise.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (update-displayspec-from-optspec-and-value): Delete func.
	(make-displayspec-from-type-and-options): Incorporate
	`update-displayspec-from-optspec-and-value'.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (database-view-mode-map): Bind `S' to `db-sort'.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-jam-si): Rename from
	`sepinfo-set-regexp-and-submatch-from-string'.
	Compute accessors at macroexpansion time. Update callers.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (db-with-pc): Rename from `with-pc'. Update callers.
	(db-with-pc-and-ti): Rename from `with-pc-and-ti'. Update callers.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (db-with-sorter): Rename from `with-sorter'.
	(database-sorted-p): Use `db-with-sorter'.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-sort.el (db-with-orderer): Rename from `with-orderder'.
	* db-two-dbs.el (db-process-two-databases): Use `db-with-orderer'.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-reading-noninternal): Rename from
	`read-database-file-noninternalformat-macro'. Update callers.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (database-view-mode-map):
	Bind "F" to `dbf-set-summary-format'.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (write-database-file): Say thanks.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-isbn.el: Throughout, use new interface
	for `define-displaytype-from-displayspec'
	and `define-recordfieldtype-from-recordfieldspec'.

	* db-types.el: Likewise.

	* db-time.el: Likewise.
	(def-date-disptype): Delete func. Update callers
	to use `define-displaytype-from-displayspec' directly.
	(def-time-disptype): Likewise.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (displayspec): For this defstruct,
	explicitly specify `:type' and `:named' options.
	For the symbol, add property `kwidx'.

	* db-rep.el (recordfieldspec): Likewise.

	* db-types.el (define-displaytype-from-displayspec): Accept
	new rest-argument `override'.  Allow name, object or
	nil for second arg, now called `source'.  Do templating.
	(define-recordfieldtype-from-recordfieldspec): Likewise.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (define-displaytype-alias): Delete fset.
	(define-recordfieldtype-alias): Likewise.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-search.el (dbm-and-connective): Delete var.
	(dbm-or-connective): Likewise.
	(dbm-not-prefix): Likewise.
	(dbm-<-prefix): Likewise.
	(dbm->-prefix): Likewise.
	(dbm-=-prefix): Likewise.
	(db-parse-match-pattern): Incorporate values of deleted vars.
	(db-parse-match-object): Locals name munging; nfc.
	(db-print-match-pattern): Likewise.
	(db-print-match-object): Likewise.
	(db-match): Likewise.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-isbn.el (SFf-isbn-check-sum): Use `incf' and `decf'.

	* db-format.el (space-maybe-regexp): Use `decf'.

	* db-sort.el (dbsi-prev-cons): Use `decf'.

	* db-summary.el (format->lines-and-stringform-list): Use `incf'.

	* db-time.el (date->day-of-year): Use `decf'.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-buffer-substitute): Use `push'.

	* db-types.el (define-displaytype-from-displayspec): Likewise.
	(define-recordfieldtype-from-recordfieldspec): Likewise.
	(db-enum-process-alternatives): Likewise.

	* db-summary.el (format->lines-and-stringform-list): Likewise.

	* db-sort.el (db-make-ordering-fields-canonical): Likewise.
	(dbsi-kill-line): Likewise.

	* db-format.el (db-copy-region-as-kill): Likewise.
	(db-setup-ddb-parse-displayspecs): Likewise.
	(db-change-format): Likewise.

	* db-file-io.el (read-database-file-helper): Likewise.
	(database-stored->actual-internal): Likewise.

	* db-convert.el (db-convert-compute-field-value): Likewise.

	* database.el: Likewise.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (read-database-file): Locals name munging; nfc.
	(db-file->format-file): Likewise.
	(choose-format-file): Likewise.
	(read-database-file-helper): Likewise.
	(database-set-links-from-list): Likewise.
	(read-database-file-custom): Likewise.
	(read-database-file-delimited): Likewise.
	(read-database-file-delimited-string): Likewise.
	(read-database-file-delimited-regexp): Likewise.
	(database-delete-pre-and-post): Likewise.
	(write-database-file): Likewise.
	(write-database-file-internal-delimited): Likewise.
	(database-io-setup): Likewise.
	(database-check-all-sepinfos): Likewise.
	(database-check-sepinfo): Likewise.
	(sepinfo-set-regexp-and-submatch-from-string): Likewise.
	(recordfieldtype->recordfieldspec): Likewise.
	(recordfieldtype-p): Likewise.
	(database-substitute-for-read): Likewise.
	(database-substitute-for-write): Likewise.
	(database-confirm-fieldsep-and-recordsep): Likewise.
	(database-acceptable-delimiter-p): Likewise.
	(database-generate-delimiter): Likewise.

2004-09-03  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (def.survey): Filter "^.define-", not "define-key".

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (database-set-temp-delimiters): Delete func.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-canonicalize-creation-methods): Delete func.
	(db-convert): Incorporate `db-canonicalize-creation-methods'.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (creation-method-literal-p): Delete defsubst.
	Update callers to test argument directly.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (creation-method-literal-p): Locals name munging; nfc.
	(db-convert): Likewise.
	(db-convert-record): Likewise.
	(db-convert-compute-field-value): Likewise.
	(db-canonicalize-creation-methods): Likewise.
	(db-canonicalize-creation-method): Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-computed-functions): Rename var
	from `computed-functions'. Update all use-sites.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el: Throughout, use keyword args to
	`make-displayspec' and `make-recordfieldspec'.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el: Add scope to test for Emacs 19.28 `string-to-number'
	bug and choose a correct variant.
	(string-to-number-trim): Delete func.
	Move callers into test/choice scope; use the correct variant.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-types.el (country-list): Delete var.
	(countryp): Delete func.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (read-sep-items): Delete func.
	(write-sep-items): Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (db-next-link-and-index): Rename from `next-link-and-index'.
	(database-add-record): Use `db-next-link-and-index'.

	* db-interfa.el (db-select-next-record): Use `db-next-link-and-index'.
	* db-summary.el (dbf-update-summary-item): Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (print-database): Delete func.
	(print-record): Likewise.
	(print-compare-records): Likewise.

	* db-two-dbs.el (database-compare-hack): Incorporate
	`print-record' and `print-compare-records'.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-x-jump-to-point): Delete defsubst.
	* db-interfa.el: No longer bind "\C-x\C-@".
	* db-summary.el (database-summary-mode-map): No longer bind "\C-x\C-@".

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-lemacs.el: New file.

	* database.el (db-running-lucid-emacs): Delete var.

	* db-format.el (db-fontification): Delete var.
	(db-display-record-redo-inter-field-text-function): New 2-arg hook var.
	(display-record): Run new hook in place of
	former `db-fontification'-conditionalized frags.
	(db-inter-field-face): Delete face init.
	(db-fontify): Delete func.

	* db-interfa.el: Delete Lucid-specific keymap inits.
	(db-lucid-mouse-jump-to-point): Delete func.
	(dbs-lucid-mouse-view): Likewise.

	* db-summary.el: Delete Lucid-specific keymap and other inits.

	* edb.texi (Invoking EDB): Mention db-lemacs.el.

	* Makefile.in (EL-FILES): Add db-lemacs.el.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-symbol-regexp): Rename from `symbol-regexp'.
	Update use-sites.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (actual->display-error-string): Delete var.
	(db-actual->display-call): Rename from `actual->display-call'.
	Also, incorporate `actual->display-error-string'.
	(displayspec->printed-rep): Use `db-actual->display-call'.

	* db-interfa.el: Use `db-actual->display-call'.
	* db-search.el: Likewise.
	* db-two-dbs.el: Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-display->actual-call):
	Rename from `display->actual-call'.
	(dbf-process-field): Use `db-display->actual-call'.

	* db-interfa.el: Use `db-display->actual-call'.
	* db-search.el: Likewise.
	* db-two-dbs.el: Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (opspectinfo-param-name): Delete func.
	(optspecinfo-settor): Likewise.
	(optspecinfo-param->value): Likewise.
	(update-displayspec-from-optspec-and-value): Incorporate
	`optspecinfo-settor' and `optspecinfo-param->value'.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (doubled-backslash-regexp): Delete defconst.
	(non-backslash-character-regexp): Likewise.
	(symbol-or-number-regexp): Likewise.
	(fieldname-regexp): Likewise.
	(displaytype-nonsymbol-regexp): Likewise.
	(displaytype-regexp): Incorporate `displaytype-nonsymbol-regexp'.
	(fieldoption-regexp): Incorporate `symbol-or-number-regexp'.
	(displayspec-regexp): Incorporate `fieldname-regexp'.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-set-field-text): Delete func.
	(dbf-goto-field): Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (right-justify-padding-function): Delete func.
	(return-right-justify-padding-function): Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (ordinary-truncation-function): Delete func.
	(displayspec->printed-rep): Incorporate
	`ordinary-truncation-function'.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-install-format-spec): Use `pop'.
	(dbf-install-format-file-spec): Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-wraparound-p): Delete deflocalvar.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-set-this-field-index): Delete defsubst.
	(db-view-mode): Set `dbf-this-field-index'
	and `dbf-this-displayspec' directly.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-install-format-name-and-spec): Delete func.
	(dbf-format-name->spec): Likewise.
	(comma-delimited-string->list): Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-fieldname->displayspecno):
	Locals name munging; nfc.
	(dbf-set-this-field-index): Likewise.
	(dbf-install-format-name-and-spec): Likewise.
	(dbf-format-name->spec): Likewise.
	(dbf-install-format-spec): Likewise.
	(format-spec-format-file): Likewise.
	(dbf-install-format-file-spec): Likewise.
	(left-justify-padding-function): Likewise.
	(right-justify-padding-function): Likewise.
	(ordinary-truncation-function): Likewise.
	(db-edit-mode): Likewise.
	(db-next-field-internal): Likewise.
	(db-previous-field-internal): Likewise.
	(db-copy-region-as-kill): Likewise.
	(db-newline): Likewise.
	(dbf-process-field-maybe): Likewise.
	(dbf-process-field): Likewise.
	(string->displaytype): Likewise.
	(displaytype->displayspec): Likewise.
	(comma-delimited-string->list): Likewise.
	(make-displayspec-from-string): Likewise.
	(make-displayspec-from-string-internal): Likewise.
	(make-displayspec-from-type-and-options): Likewise.
	(update-displayspec-from-optspec-and-value): Likewise.
	(db-setup-data-display-buffer): Likewise.
	(db-make-data-display-buffer): Likewise.
	(db-setup-ddb-parse-displayspecs): Likewise.
	(db-additional-data-display-buffer): Likewise.
	(db-change-format): Likewise.
	(db-emergency-restore-format): Likewise.
	(display-record): Likewise.
	(displayspec->printed-rep): Likewise.
	(displayspec->displayed-rep): Likewise.

2004-09-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-field-help): Locals name munging; nfc.
	(db-set-field-help): Likewise.
	(db-kill-buffers): Likewise.
	(db-bury): Likewise.
	(db-save-some-databases): Likewise.
	(db-find-file): Likewise.
	(db-find-read-in-database): Likewise.
	(database-clean-data-display-buffers): Likewise.
	(db-revert-database): Likewise.
	(dbc-set-index): Likewise.
	(db-select-record): Likewise.
	(db-previous-screen-or-record): Likewise.
	(db-add-record): Likewise.
	(db-output-record-to-db): Likewise.
	(db-field-query-replace): Likewise.
	(db-search-field): Likewise.
	(db-report): Likewise.
	(data-display-buffer-database): Likewise.

2004-09-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-unnamed-p): Delete defsubst.
	* db-interfa.el (db-save-database-helper):
	Incorporate `database-unnamed-p'.

2004-09-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-normalize-index): Delete defsubst.
	(next-link-and-index): Incorporate `database-normalize-index'.

2004-09-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-index-in-range): Delete defsubst.
	* db-interfa.el (db-select-record):
	Incorporate `database-index-in-range'.

2004-09-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (make-default-record): Delete func.
	* db-interfa.el (db-add-record): Incorporate `make-default-record'.

2004-09-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-delete-link): Delete func.
	* db-interfa.el (db-delete-record): Incorporate `database-delete-link'.

2004-09-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-delete-record-at-index): Delete unused func.

2004-08-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac (VERSION): Bump to "1.23" for release.

2004-08-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (distfiles): Add def.survey,
	def-indexed.surevey and def-undoc.survey.
	(dist): Fix bugs: Make subdir $(dd)/skram.
	Also, explicitly specify output filename for cp(1).

2004-08-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (cvs-state-summary): New target.

2004-08-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (database-view-mode-map): Split decl and init.
	(database-edit-mode-map): Likewise.
	* db-sort.el (database-sort-mode-map): Likewise.
	* db-summary.el (database-summary-mode-map): Likewise.

2004-08-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-set-summary-format): Use `read-string' to
	query for new value.  Insert old value to allow editing.

2004-08-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-default-field-type): Delete deflocalvar.

	* db-rep.el (database-set-fieldnames-to-list): Take
	optional third arg.  Prefer it over `db-default-field-type'.  Add
	binding check for `db-default-field-type'.  Use `string' as last resort.

	* db-tagged.el (db-tagged-setup-internal): No longer set
	`db-default-field-type'.  Instead pass default
	recordfieldspecs to `database-set-fieldnames-to-list'.

	* db-rdb.el (db-rdb-setup-internal): Likewise.

	* edb.texi (Per-data-display-buffer variables): Gut.
	(The database structure): Rewrite `database-set-fieldnames-to-list'
	docs.  Explain deprecation of `db-default-field-type' and migration
	path.  Add 3d arg to `database-set-fieldnames-to-list' in example.

2004-08-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el (db-set-fieldname-vars): Delete func.
	* db-rep.el (database-set-fieldnames-to-list):
	Incorporate `db-set-fieldname-vars'.

2004-08-29  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-convert): Use `database-set-fieldnames-to-list'
	directly, clearing the database `fieldnames' slot first.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (database-buffer-p): Delete func.
	* db-file-io.el (write-database-file): Use `db-data-display-buffer-p'
	and `db-summary-buffer-p' directly.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram/GNUmakefile: Add copyright notice.
	(emacs): New var.
	(all): New target.
	(wily-emacs): New var.
	(sk2): New target.
	(sk3): Likewise.
	(clean): Delete sk2 and sk3, but not skram.data.
	(realclean): New target.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-essential-file-names): Add "db-nosetf".
	(edb-required-file-names): Remove "db-nosetf".

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (EL-FILES): Add db-nosetf.el.
	(ELC-FILES): Add db-nosetf.elc.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-required-file-names): Add "db-nosetf".
	(edb-autoloaded-file-names): Remove "db-nosetf".

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* skram: New subdir.
	* skram/README: New file.
	* skram/GNUmakefile: Likewise.
	* skram/skram.fmt: Likewise.

	* Makefile.in (distfiles): Add some files in subdir `skram'.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (all): Symlink /etc/passwd in examples.
	(dist): Do not distribute examples/passwd.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-copy-buffer-local-variables): Rewrite.
	Handle `enable-multibyte-characters' specially.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el: Require `pp'.
	(write-database-file): Use `pp' instead of `print'.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (dbc-compute-index): Delete func.
	(dbf-finished-sorting): Inline `dbc-compute-index'.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el: Remove disabled `db-search' implementation.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbs-insert-link-summary): Rewrite.
	(make-summary-initial-indentation): Delete unused func.
	(make-summary-indentation): Likewise.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (record->link-and-index): Delete unused func.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-list-of-links): Delete func.
	* db-sort.el (database-sort): Use `maplinks' to get list of links.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-next-field-internal): Fix bug
	introduced 2004-06-02 during one-armed-if transform.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-in-buffer): Rename from `in-buffer'.

	* database.el (db-log): Use new name.

	* db-file-io.el (read-database-file): Likewise.
	(write-database-file): Likewise.

	* db-format.el (db-setup-data-display-buffer): Likewise.

	* db-interfa.el (db-save-some-databases): Likewise.
	(db-find-file): Likewise.
	(data-display-buffer-database): Likewise.

	* db-sort.el (dbsi-use-ordering-make-database-default): Likewise.
	(dbsi-use-ordering-make-buffer-default): Likewise.

	* db-summary.el (dbf-in-summary-buffer): Likewise.
	(dbs-in-data-display-buffer): Likewise.
	(db-in-data-display-buffer): Likewise.
	(db-summary): Likewise.
	(db-create-summary-buffer): Likewise.
	(dbs-synch-format-with-summary): Likewise.

	* db-two-dbs.el (db-merge): Likewise.
	(db-merge-records): Likewise.
	(database-compare-hack): Likewise.

2004-08-28  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-buffer-substitute): Rename from `buffer-substitute'.
	* db-file-io.el (database-perform-substitutions): Use new name.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el: Fix bug: For keybindings in both
	keymaps, use &optional instead of &rest in formals.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-full-recordsep-string):
	Locals name munging; nfc.
	(recordfieldspecs-compatible): Likewise.
	(database-recordfieldspec): Likewise.
	(database-set-recordfieldspec): Likewise.
	(database-recordfieldspec-type): Likewise.
	(record-field): Likewise.
	(record-check-constraint): Likewise.
	(record-set-field): Likewise.
	(read-sep-items): Likewise.
	(write-sep-items): Likewise.
	(next-link-and-index): Likewise.
	(database-add-record): Likewise.
	(make-default-record): Likewise.
	(database-delete-record-at-index): Likewise.
	(maplinks): Likewise.
	(maprecords): Likewise.
	(print-database): Likewise.
	(print-record): Likewise.
	(print-compare-records): Likewise.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-file-io.el: Throughout, update `kill-buffer' call.
	* db-interfa.el: Likewise.
	* db-sort.el: Likewise.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (The link structure): Mention `link-set-record-slot' lack.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-last-link): Delete defsubst.
	(next-link-and-index): Inline `database-last-link'.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-toggle-internal-file-layout):
	Display informative message after toggling.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el: Use a table to construct keymaps.
	* db-sort.el: Likewise
	* db-summary.el: Likewise.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (db-setup-data-display-buffer):
	Use `crypt-insert-file-contents' if available,
	otherwise `insert-file-contents'.

	* db-util.el (db-insert-file-contents): Delete func.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (dbf-displayspec-begin-markers): Delete unused var.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (indentify-absolute): Delete func.
	(insert): No longer fset this to `db-old-insert'.
	(db-old-insert): Delete alias for pre-fset `insert'.
	Update callers to use `insert' directly.
	(db-insert-item): Delete func.
	(db-insert): Likewise.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-logged): Delete undocumented var.
	(db-log): No longer set `db-logged'.

2004-08-27  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-nosetf.el: New file.

	* database.el (edb-autoloaded-file-names): Add "db-nosetf".

	* db-file-io.el: Throughout, use setf-style setters.
	(sepinfo-set-regexp-and-submatch-from-string): Rewrite to
	accept rx-setf and subrx-setf args. Update callers.

	* db-format.el: Throughout, use setf-style setters.
	Move setter defsubst forms to db-nosetf.el.
	* db-rep.el: Likewise.

	* db-interfa.el: Throughout, use setf-style setters.
	* db-isbn.el: Likewise.
	* db-rdb.el: Likewise.
	* db-sort.el: Likewise.
	* db-summary.el: Likewise.
	* db-tagged.el: Likewise.
	* db-time.el: Likewise.
	* db-two-dbs.el: Likewise.
	* db-types.el: Likewise.

2004-08-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-summary.el (dbf-update-summary-item): Use `next-link-and-index'.

2004-08-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el (format-date): Fix bug: Use `format'
	since newer versions of `concat' don't accept numbers.

2004-08-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-link): Delete defsubst.
	(database-link-and-index): Likewise.
	(database-add-record): Call `next-link-and-index' directly.

2004-08-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-vararg-call): Fix typo.
	* db-interfa.el (dbf-previous-screen-or-record): Likewise.

2004-08-26  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Comment munging; nfc.
	* db-file-io.el: Likewise.
	* db-format.el: Likewise.
	* db-interfa.el: Likewise.
	* db-rep.el: Likewise.
	* db-sort.el: Likewise.
	* db-summary.el: Likewise.
	* db-two-dbs.el: Likewise.
	* db-types.el: Likewise.
	* db-util.el: Likewise.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (eob-visible-p): Delete func.
	(bob-visible-p): Likewise.

	* db-interfa.el
	(dbf-next-screen-or-record): Use `window-end' and `point-max'.
	(dbf-previous-screen-or-record): Use `window-start' and `point-min'.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-symbol-append): Delete unused func.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-count-array): Rename from `count-array'.
	* db-format.el (displayspec->printed-rep): Use `db-count-array'.
	* db-summary (format->lines-and-stringform-list): Likewise.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-vararg-call): Use `nthcdr' and `dotimes'.
	Also, use `format' instead of `concat' + `int-to-string'.
	(count-array): Use `dotimes'.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (copy-record-to-record): Use `dotimes'.
	(make-default-record): Likewise.
	(print-record): Likewise.
	(print-compare-records): Likewise.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (recordfieldspec-sort-function): Merge `order->sort'.
	(order->sort): Delete func.
	(recordfieldspec-order-function): Merge `sort->order'.
	(sort->order): Delete func.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-full-fieldsep-string): Elide local; nfc.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database-set-modified-p-internal): Delete unused func.
	(database-set-modified-p): Elide local; nfc.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (database): For defstruct slot
	`print-name', use `format' instead of `concat'.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-rep.el (maprecords-macro): Fix syntax bug:
	For form `declare' sub-form `debug', make cdr a single list.

	* db-sort.el (with-orderer): Likewise.
	(with-sorter): Likewise.

	* db-util.el (in-buffer): Likewise.
	(db-funcall-maybe-default): Remove superfluous `declare' form.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-old-save-some-buffers): Delete fset.
	(save-some-buffers): No longer fset.
	(db-save-some-buffers): Call `save-some-buffers' directly.

	* edb.texi (Database mode): Update info on
	`db-save-some-buffers' and `save-some-buffers'.
	(Exiting Emacs or saving files): Likewise.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-format.el (make-optspecinfo): Delete macro.
	(optspec-list): Map lambda directly on init.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Use `incf' and `decf'.
	* db-convert.el: Likewise.
	* db-file-io.el: Likewise.
	* db-format.el: Likewise.
	* db-interfa.el: Likewise.
	* db-rdb.el: Likewise.
	* db-rep.el: Likewise.
	* db-summary.el: Likewise.
	* db-time.el: Likewise.
	* db-two-dbs.el: Likewise.
	* db-util.el: Likewise.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (edb-update): Delete command.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Updates to EDB): Bifurcate pre- and post-1.22.

2004-08-25  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Require `cl' when compiling.
	(byte-compile-database): Use `dolist'.

	* db-convert.el (db-convert-record): Likewise.

	* db-file-io.el (database-set-links-from-list): Likewise.
	(database-stored->actual-internal): Likewise.

	* db-format.el (make-optspecinfo): Likewise.

	* db-interfa.el (db-save-some-databases): Likewise.
	(database-clean-data-display-buffers): Likewise.

	* db-isbntst.el (check-isbns): Likewise.

	* db-rdb.el (db-rdb-lookup-field): Likewise.

	* db-rep.el (map-data-display-buffers): Likewise.

	* db-tagged.el (lookup-field): Likewise.

	* db-time.el (test-date-formats): Likewise.
	(test-time-parser): Likewise.

	* db-types.el (db-enum-process-alternatives): Likewise.

	* db-util.el (buffer-substitute): Likewise.

2004-08-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (hacksup.el): For macros, look in `declare'
	forms for lisp-indent-hook info.

2004-08-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el (db-debug): Convert attendant indentation and
	edebug `put' forms into a single `declare' form in the body.
	(db-debug-message): Likewise.

	* db-file-io.el (database-set-links-from-list): Likewise.

	* db-format.el (dbf-always): Likewise.

	* db-interfa.el (dbf-goto-record-internal): Likewise.

	* db-rep.el (maplinks-macro): Likewise.
	(maprecords-macro): Likewise.

	* db-sort.el (with-orderer): Likewise.
	(with-sorter): Likewise.
	(with-pc): Likewise.
	(with-pc-and-ti): Likewise.

	* db-summary.el (dbf-in-summary-buffer): Likewise.
	(dbs-in-data-display-buffer): Likewise.
	(db-in-data-display-buffer): Likewise.

	* db-util.el (deflocalvar): Likewise.
	(db-funcall-maybe): Likewise.
	(in-buffer): Likewise.

2004-08-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Throughout, use `single-quote foo' instead
	of `(function foo)'.  Also use `mapc' where appropriate.
	* db-convert.el: Likewise.
	* db-file-io.el: Likewise.
	* db-format.el: Likewise.
	* db-interfa.el: Likewise.
	* db-rdb.el: Likewise.
	* db-rep.el: Likewise.
	* db-sort.el: Likewise.
	* db-tagged.el: Likewise.
	* db-time.el: Likewise.
	* db-types.el: Likewise.
	* db-util.el: Likewise.

2004-08-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (hacksup.el): Use `mapc'.

2004-08-21  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (clean): Also delete *.survey files.
	(surveys): New target.
	(def-undoc.survey): Likewise.
	(info-stdout): New var.
	(def-indexed.survey): New target.
	(def.survey): Likewise.

2004-08-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-file-resolve-symlink): Delete func.
	(db-same-file-p): Use `file-chase-links'.

2004-08-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-functionp): Delete subst.

	* db-sort.el (database-sort): Use `functionp'.
	(db-make-ordering-fields-canonical): Likewise.

	* db-format.el (make-optspecinfo): Likewise.

2004-08-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (in-buffer-simple): Delete macro and attendant `put' form.
	(db-copy-buffer-local-variables): Use `with-current-buffer'.

	* db-rep.el (database-set-modified-p): Use `with-current-buffer'.

	* database.el (byte-compile-database): Likewise.

2004-08-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (in-window): Delete macro and attendant `put' forms.

	* db-interfa.el (db-next-screen-or-record): Use `with-selected-window'.
	(db-previous-screen-or-record): Likewise.

2004-08-20  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-match-string): Delete func.
	(db-match-string-maybe): Likewise.
	(db-string-trim-whitespace): Use `match-string'.

	* db-format.el (db-next-field-internal): Use `string-match'.
	(db-previous-field-internal): Likewise.
	(make-displayspec-from-string): Likewise.
	(make-displayspec-from-string-internal): Likewise.
	(make-displayspec-from-type-and-options): Likewise.
	(db-setup-ddb-parse-displayspecs): Likewise.

	* db-rdb.el (db-rdb-list-rrfr): Use `match-string'.
	(db-rdb-read-list-field-defs): Likewise.

	* db-summary.el (format->lines-and-stringform-list):
	Use `match-string' in comment; nfc.

	* db-tagged.el (db-tagged-rrfr): Use `match-string'.

	* db-time.el (parse-date-string): Use `match-string'.
	(parse-time-string): Likewise.

	* edb.texi (Nonregular database example):
	Use `match-string' in example code.

2004-07-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-vararg-call):
	No longer use `subseq'; do it "manually".

2004-07-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-symbol-append): Rename from `symbol-append'.

	* db-format.el (make-optspecinfo): Use `db-symbol-append'.

2004-07-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-string-replace-regexp-2): Rename
	from `string-replace-regexp-2'. Update caller.

2004-07-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (db-rassoc): Delete func.

	* db-types.el (db-enum-make-stored->actual): Use `rassoc' builtin.
	(abbreviate-state): Likewise.

2004-07-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el (firstn): Delete func.
	(db-vararg-call): Use `subseq' instead of `firstn'.

2004-07-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (EDB support): Update mailing list info.
	(Updates to EDB): Likewise.
	(Reporting bugs): Update email addr for bug reports.

2004-07-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Spacing changes; nfc.

2004-07-24  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Display specification optional parameters): Typofix.

2004-06-09  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (installcheck): Use $(RM).

2004-06-06  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi: Remove superfluous @noindent.
	Use @lisp instead of @example where appropriate.
	Refill some lisp examples.
	Make sure there is an empty line before/after each example.

2004-06-05  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* edb.texi (Introduction): Use "some other database systems".

2004-06-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac (VERSION): Bump to "1.22" for release.

2004-06-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (distfiles): Add HACKING.

2004-06-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac: Fix bug: Use package name as first arg to AC_INIT.

2004-06-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (edb.info): Also depend on version.texi.
	(version.texi): New target.
	(distfiles): Add version.texi.

	* edb.texi: Set @paragraphindent in header.
	Include version.texi.
	Update copyright.
	Replace hard-coded values w/ those from version.texi.
	For all menu items, remove redundant blurbs.
	For all @node lines, remove next, prev and parent node names.
	Use @c instead of @comment.
	(Top): Intersperse headers in menu. Use @detailmenu.
	(Installing EDB): Add subsection "EDB 1.22 and Later".
	(Compiling EDB): Mention non-relevance of text.

2004-06-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* NEWS: New file.

	* Makefile.in (distfiles): Add NEWS.

2004-06-02  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-util.el: Re-indent.
	Replace `? ' or `?\ ' with 32.
	Convert one-armed `if' forms to `when' or `unless'.
	Eliminate superfluous `progn' in `if' else-clause.
	Convert quote, quasiquote, unquote and unquote-splicing syntax
	from functional construct (with parens) to terse (without).
	Remove `function' and `quote' from around `lambda' form.

	* db-types.el, db-two-dbs.el, db-time.el, db-tagged.el,
	db-summary.el, db-sort.el, db-search.el, db-rep.el,
	db-rdb.el, db-isbntst.el, db-isbn.el, db-interfa.el,
	db-format.el, db-file-io.el, db-convert.el, database.el: Likewise.

2004-06-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (hacksup.el): Depend on $(EL-FILES).
	Add indentation setup for "database-set-*" symbols.

2004-06-01  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (hacksup.el): New target.
	(distfiles): Add hacksup.el.

2004-05-31  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (check): New target.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (distfiles): Add `examples'.
	(dist): Pass "-R" to cp(1).
	Remove CVS subdirs and .cvsignore files.
	Fix omission bug: Pass "-h" to tar(1).

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Move summary of distribution terms before Commentary.
	Use "EDB" directly instead of making analogy to GNU Emacs.

	* db-convert.el: Add explicit copyright notice.
	Add summary of distribution terms.
	Remove "Keywords" comment.
	* db-file-io.el, db-format.el, db-interfa.el, db-isbn.el,
	db-isbntst.el, db-rdb.el, db-rep.el, db-search.el, db-sort.el,
	db-summary.el, db-tagged.el, db-time.el, db-two-dbs.el,
	db-types.el, db-util.el: Likewise.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (dist): Delete $(dd)/database.el before doing the sed.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* autogen.sh (amfiles): New var. Use it for symlinking.
	* Makefile.in (distfiles): Add COPYING and INSTALL.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* database.el: Update copyright.
	Remove LCD archive entry from Commentary.
	Throughout, replace hardcoded EDB version and release-date
	info with `@EDB-VERSION@' and `@EDB-DATE@', respectively.

	* Makefile.in (srcdir, top_srcdir): New vars.
	(mkinstalldirs): Use $(top_srcdir).
	(distfiles, dd): New vars.
	(dist): New target.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac: No longer probe $(EMACS) for default `sitelisp' value.
	Instead, hardcode it to be `$datadir/emacs/site-lisp'.

	* Makefile.in (sitelisp): Substitute @sitelisp@ directly.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-interfa.el (db-set-auto-edit-mode): Throw error if called.
	(db-field-query-replace): Fix bug: Use three placeholders
	in format string, corresponding to the args to be formatted.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-convert.el (db-canonicalize-creation-method):
	Fix call to `fieldname->fieldnumber'.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* db-time.el
	(format-date-ddmmyy-separator): Use `defvar', not `defconst'.
	(format-date-ddmmmyy-separator): Likewise.

2004-05-17  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (installcheck): No longer change directories.  Instead,
	find default `load-path', prefix it with $(sitelisp) and use the
	result with prefix-style env var `EMACSLOADPATH' for $(EMACS)
	invocation.
	(clean): No longer delete $(INFO-FILES).
	(maintainerclean): New target.

2004-05-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (installcheck): New target.

2004-05-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in (install): Use $(INSTALL_DATA) for info files.
	(clean): No longer delete defunct BYTE-COMPILE.el.

2004-05-16  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in: Update copyright. Rewrite.

2004-05-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac: Add check for emacs; raise error if not found.
	Add check for emacs site-lisp dir, including override
	capability using configure option `--with-sitelisp'.

2004-05-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* autogen.sh: New file.

2004-05-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* configure.ac: New file.

2004-05-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* ANONCVS, AUTHORS: New files.

2004-05-15  Thien-Thi Nguyen  <ttn@surf.glug.org>

	* Makefile.in: Initial checkin from Michael Ernst.
	* db-format.el, db-rdb.el, db-summary.el, db-types.el, database.el,
	db-interfa.el, db-rep.el, db-tagged.el, db-util.el, db-convert.el,
	db-isbn.el, db-search.el, db-time.el, edb.texi, db-file-io.el,
	db-isbntst.el, db-sort.el, db-two-dbs.el, README: Likewise.

	* examples: New dir.


Local variables:
coding: utf-8
End:
