comparison src/keymap.c @ 5117:3742ea8250b5 ben-lisp-object ben-lisp-object-final-ws-year-2005

Checking in final CVS version of workspace 'ben-lisp-object'
author Ben Wing <ben@xemacs.org>
date Sat, 26 Dec 2009 00:20:27 -0600
parents facf3239ba30
children e0db3c197671
comparison
equal deleted inserted replaced
5116:e56f73345619 5117:3742ea8250b5
280 { XD_LISP_OBJECT, offsetof (Lisp_Keymap, name) }, 280 { XD_LISP_OBJECT, offsetof (Lisp_Keymap, name) },
281 { XD_END } 281 { XD_END }
282 }; 282 };
283 283
284 /* No need for keymap_equal #### Why not? */ 284 /* No need for keymap_equal #### Why not? */
285 DEFINE_LRECORD_IMPLEMENTATION ("keymap", keymap, 285 DEFINE_LISP_OBJECT ("keymap", keymap,
286 1, /*dumpable-flag*/ 286 mark_keymap, print_keymap, 0, 0, 0,
287 mark_keymap, print_keymap, 0, 0, 0,
288 keymap_description, 287 keymap_description,
289 Lisp_Keymap); 288 Lisp_Keymap);
290 289
291 /************************************************************************/ 290 /************************************************************************/
292 /* Traversing keymaps and their parents */ 291 /* Traversing keymaps and their parents */
753 /************************************************************************/ 752 /************************************************************************/
754 753
755 static Lisp_Object 754 static Lisp_Object
756 make_keymap (Elemcount size) 755 make_keymap (Elemcount size)
757 { 756 {
758 Lisp_Object result; 757 Lisp_Object obj = ALLOC_LISP_OBJECT (keymap);
759 Lisp_Keymap *keymap = ALLOC_LCRECORD_TYPE (Lisp_Keymap, &lrecord_keymap); 758 Lisp_Keymap *keymap = XKEYMAP (obj);
760
761 result = wrap_keymap (keymap);
762 759
763 keymap->parents = Qnil; 760 keymap->parents = Qnil;
764 keymap->prompt = Qnil; 761 keymap->prompt = Qnil;
765 keymap->table = Qnil; 762 keymap->table = Qnil;
766 keymap->inverse_table = Qnil; 763 keymap->inverse_table = Qnil;
776 If not, it will grow anyway. */ 773 If not, it will grow anyway. */
777 keymap->inverse_table = 774 keymap->inverse_table =
778 make_lisp_hash_table (size * 3 / 4, HASH_TABLE_NON_WEAK, 775 make_lisp_hash_table (size * 3 / 4, HASH_TABLE_NON_WEAK,
779 HASH_TABLE_EQ); 776 HASH_TABLE_EQ);
780 } 777 }
781 return result; 778 return obj;
782 } 779 }
783 780
784 DEFUN ("make-keymap", Fmake_keymap, 0, 1, 0, /* 781 DEFUN ("make-keymap", Fmake_keymap, 0, 1, 0, /*
785 Construct and return a new keymap object. 782 Construct and return a new keymap object.
786 All entries in it are nil, meaning "command undefined". 783 All entries in it are nil, meaning "command undefined".
4304 4301
4305 4302
4306 void 4303 void
4307 syms_of_keymap (void) 4304 syms_of_keymap (void)
4308 { 4305 {
4309 INIT_LRECORD_IMPLEMENTATION (keymap); 4306 INIT_LISP_OBJECT (keymap);
4310 4307
4311 DEFSYMBOL (Qminor_mode_map_alist); 4308 DEFSYMBOL (Qminor_mode_map_alist);
4312 4309
4313 DEFSYMBOL (Qkeymapp); 4310 DEFSYMBOL (Qkeymapp);
4314 4311