Mercurial > hg > xemacs-beta
diff src/keymap.c @ 5140:e5380fdaf8f1
merge
| author | Ben Wing <ben@xemacs.org> |
|---|---|
| date | Sat, 13 Mar 2010 05:38:34 -0600 |
| parents | 7be849cb8828 |
| children | f965e31a35f0 |
line wrap: on
line diff
--- a/src/keymap.c Fri Mar 12 20:23:50 2010 -0600 +++ b/src/keymap.c Sat Mar 13 05:38:34 2010 -0600 @@ -148,7 +148,7 @@ struct Lisp_Keymap { - struct LCRECORD_HEADER header; + NORMAL_LISP_OBJECT_HEADER header; #define MARKED_SLOT(x) Lisp_Object x; #include "keymap-slots.h" }; @@ -300,12 +300,11 @@ { XD_END } }; -DEFINE_LRECORD_IMPLEMENTATION ("keymap", keymap, - 1, /*dumpable-flag*/ - mark_keymap, print_keymap, 0, - keymap_equal, keymap_hash, - keymap_description, - Lisp_Keymap); +DEFINE_DUMPABLE_LISP_OBJECT ("keymap", keymap, + mark_keymap, print_keymap, 0, + keymap_equal, keymap_hash, + keymap_description, + Lisp_Keymap); /************************************************************************/ /* Traversing keymaps and their parents */ @@ -777,10 +776,8 @@ static Lisp_Object make_keymap (Elemcount size) { - Lisp_Object result; - Lisp_Keymap *keymap = ALLOC_LCRECORD_TYPE (Lisp_Keymap, &lrecord_keymap); - - result = wrap_keymap (keymap); + Lisp_Object obj = ALLOC_NORMAL_LISP_OBJECT (keymap); + Lisp_Keymap *keymap = XKEYMAP (obj); #define MARKED_SLOT(x) keymap->x = Qnil; #include "keymap-slots.h" @@ -795,7 +792,7 @@ make_lisp_hash_table (size * 3 / 4, HASH_TABLE_NON_WEAK, HASH_TABLE_EQ); } - return result; + return obj; } DEFUN ("make-keymap", Fmake_keymap, 0, 1, 0, /* @@ -4295,7 +4292,7 @@ void syms_of_keymap (void) { - INIT_LRECORD_IMPLEMENTATION (keymap); + INIT_LISP_OBJECT (keymap); DEFSYMBOL (Qminor_mode_map_alist);
