Mercurial > hg > xemacs-beta
diff src/database.c @ 5140:e5380fdaf8f1
merge
| author | Ben Wing <ben@xemacs.org> |
|---|---|
| date | Sat, 13 Mar 2010 05:38:34 -0600 |
| parents | a9c41067dd88 |
| children | f965e31a35f0 |
line wrap: on
line diff
--- a/src/database.c Fri Mar 12 20:23:50 2010 -0600 +++ b/src/database.c Sat Mar 13 05:38:34 2010 -0600 @@ -1,6 +1,6 @@ /* Database access routines Copyright (C) 1996, William M. Perry - Copyright (C) 2001, 2002, 2005 Ben Wing. + Copyright (C) 2001, 2002, 2005, 2010 Ben Wing. This file is part of XEmacs. @@ -147,7 +147,7 @@ struct Lisp_Database { - struct LCRECORD_HEADER header; + NORMAL_LISP_OBJECT_HEADER header; Lisp_Object fname; int mode; int access_; @@ -180,7 +180,8 @@ static Lisp_Database * allocate_database (void) { - Lisp_Database *db = ALLOC_LCRECORD_TYPE (Lisp_Database, &lrecord_database); + Lisp_Object obj = ALLOC_NORMAL_LISP_OBJECT (database); + Lisp_Database *db = XDATABASE (obj); db->fname = Qnil; db->live_p = 0; @@ -235,25 +236,18 @@ } static void -finalize_database (void *header, int for_disksave) +finalize_database (Lisp_Object obj) { - Lisp_Database *db = (Lisp_Database *) header; + Lisp_Database *db = XDATABASE (obj); - if (for_disksave) - { - invalid_operation - ("Can't dump an emacs containing database objects", - wrap_database (db)); - } db->funcs->close (db); } -DEFINE_LRECORD_IMPLEMENTATION ("database", database, - 0, /*dumpable-flag*/ - mark_database, print_database, - finalize_database, 0, 0, - database_description, - Lisp_Database); +DEFINE_NODUMP_LISP_OBJECT ("database", database, + mark_database, print_database, + finalize_database, 0, 0, + database_description, + Lisp_Database); DEFUN ("close-database", Fclose_database, 1, 1, 0, /* Close database DATABASE. @@ -860,7 +854,7 @@ void syms_of_database (void) { - INIT_LRECORD_IMPLEMENTATION (database); + INIT_LISP_OBJECT (database); DEFSYMBOL (Qdatabasep); #ifdef HAVE_DBM
