Mercurial > hg > xemacs-beta
comparison src/keymap.c @ 647:b39c14581166
[xemacs-hg @ 2001-08-13 04:45:47 by ben]
removal of unsigned, size_t, etc.
author | ben |
---|---|
date | Mon, 13 Aug 2001 04:46:48 +0000 |
parents | 183866b06e0b |
children | fdefd0186b75 |
comparison
equal
deleted
inserted
replaced
646:00c54252fe4f | 647:b39c14581166 |
---|---|
749 /************************************************************************/ | 749 /************************************************************************/ |
750 /* Basic operations on keymaps */ | 750 /* Basic operations on keymaps */ |
751 /************************************************************************/ | 751 /************************************************************************/ |
752 | 752 |
753 static Lisp_Object | 753 static Lisp_Object |
754 make_keymap (size_t size) | 754 make_keymap (Element_Count size) |
755 { | 755 { |
756 Lisp_Object result; | 756 Lisp_Object result; |
757 Lisp_Keymap *keymap = alloc_lcrecord_type (Lisp_Keymap, &lrecord_keymap); | 757 Lisp_Keymap *keymap = alloc_lcrecord_type (Lisp_Keymap, &lrecord_keymap); |
758 | 758 |
759 XSETKEYMAP (result, keymap); | 759 XSETKEYMAP (result, keymap); |
771 keymap->table = | 771 keymap->table = |
772 make_lisp_hash_table (size, HASH_TABLE_NON_WEAK, HASH_TABLE_EQ); | 772 make_lisp_hash_table (size, HASH_TABLE_NON_WEAK, HASH_TABLE_EQ); |
773 /* Inverse table is often less dense because of duplicate key-bindings. | 773 /* Inverse table is often less dense because of duplicate key-bindings. |
774 If not, it will grow anyway. */ | 774 If not, it will grow anyway. */ |
775 keymap->inverse_table = | 775 keymap->inverse_table = |
776 make_lisp_hash_table (size * 3 / 4, HASH_TABLE_NON_WEAK, HASH_TABLE_EQ); | 776 make_lisp_hash_table (size * 3 / 4, HASH_TABLE_NON_WEAK, |
777 HASH_TABLE_EQ); | |
777 } | 778 } |
778 return result; | 779 return result; |
779 } | 780 } |
780 | 781 |
781 DEFUN ("make-keymap", Fmake_keymap, 0, 1, 0, /* | 782 DEFUN ("make-keymap", Fmake_keymap, 0, 1, 0, /* |
2240 */ | 2241 */ |
2241 | 2242 |
2242 struct relevant_maps | 2243 struct relevant_maps |
2243 { | 2244 { |
2244 int nmaps; | 2245 int nmaps; |
2245 unsigned int max_maps; | 2246 int max_maps; |
2246 Lisp_Object *maps; | 2247 Lisp_Object *maps; |
2247 struct gcpro *gcpro; | 2248 struct gcpro *gcpro; |
2248 }; | 2249 }; |
2249 | 2250 |
2250 static void get_relevant_extent_keymaps (Lisp_Object pos, | 2251 static void get_relevant_extent_keymaps (Lisp_Object pos, |
2255 struct relevant_maps *closure); | 2256 struct relevant_maps *closure); |
2256 | 2257 |
2257 static void | 2258 static void |
2258 relevant_map_push (Lisp_Object map, struct relevant_maps *closure) | 2259 relevant_map_push (Lisp_Object map, struct relevant_maps *closure) |
2259 { | 2260 { |
2260 unsigned int nmaps = closure->nmaps; | 2261 int nmaps = closure->nmaps; |
2261 | 2262 |
2262 if (!KEYMAPP (map)) | 2263 if (!KEYMAPP (map)) |
2263 return; | 2264 return; |
2264 closure->nmaps = nmaps + 1; | 2265 closure->nmaps = nmaps + 1; |
2265 if (nmaps < closure->max_maps) | 2266 if (nmaps < closure->max_maps) |