X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fkeymap.c;h=430acdcd6cac2d6a3f57c4c05cf54736427baa21;hb=d6e1aa994e9aa204812e6fee3c7520f40e300325;hp=9f62801e751dd84f01387d10aad902e14b8a1543;hpb=976b002b16336930724ae22476014583ad022e7d;p=chise%2Fxemacs-chise.git- diff --git a/src/keymap.c b/src/keymap.c index 9f62801..430acdc 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -285,9 +285,16 @@ print_keymap (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) write_c_string (buf, printcharfun); } +static const struct lrecord_description keymap_description[] = { + { XD_LISP_OBJECT, offsetof(Lisp_Keymap, parents), 6 }, + { XD_LISP_OBJECT, offsetof(Lisp_Keymap, name), 1 }, + { XD_END } +}; + /* No need for keymap_equal #### Why not? */ DEFINE_LRECORD_IMPLEMENTATION ("keymap", keymap, mark_keymap, print_keymap, 0, 0, 0, + keymap_description, Lisp_Keymap); /************************************************************************/ @@ -1134,6 +1141,7 @@ copy_keymap_internal (Lisp_Keymap *keymap) new_keymap->sub_maps_cache = Qnil; /* No submaps */ new_keymap->table = Fcopy_hash_table (keymap->table); new_keymap->inverse_table = Fcopy_hash_table (keymap->inverse_table); + new_keymap->default_binding = keymap->default_binding; /* After copying the inverse map, we need to copy the conses which are its values, lest they be shared by the copy, and mangled. */