Mercurial > hg > xemacs-beta
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 |