changeset 31208:442d40fce0db

(store_in_keymap, fix_submap_inheritance): New prototypes. (KEYMAPP): New macro. (Fkeymap_parent, Fset_keymap_parent): Use it. (fix_submap_inheritance): Mark it static. (define_as_prefix, describe_buffer_bindings, describe_command) (describe_translation, describe_map): Complete prototypes.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 27 Aug 2000 16:21:55 +0000
parents 959fbf1ef6e6
children 00943ea58fd1
files src/keymap.c
diffstat 1 files changed, 15 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/keymap.c	Sun Aug 27 15:50:49 2000 +0000
+++ b/src/keymap.c	Sun Aug 27 16:21:55 2000 +0000
@@ -33,6 +33,7 @@
 #include "intervals.h"
 
 #define min(a, b) ((a) < (b) ? (a) : (b))
+#define KEYMAPP(m) (!NILP (Fkeymapp (m)))
 
 /* The number of elements in keymap vectors.  */
 #define DENSE_TABLE_SIZE (0200)
@@ -99,10 +100,16 @@
 
 extern Lisp_Object Voverriding_local_map;
 
-static Lisp_Object define_as_prefix ();
-static Lisp_Object describe_buffer_bindings ();
-static void describe_command (), describe_translation ();
-static void describe_map ();
+static Lisp_Object store_in_keymap P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
+static void fix_submap_inheritance P_ ((Lisp_Object, Lisp_Object, Lisp_Object));
+
+static Lisp_Object define_as_prefix P_ ((Lisp_Object, Lisp_Object));
+static Lisp_Object describe_buffer_bindings P_ ((Lisp_Object));
+static void describe_command P_ ((Lisp_Object));
+static void describe_translation P_ ((Lisp_Object));
+static void describe_map P_ ((Lisp_Object, Lisp_Object,
+			      void (*) P_ ((Lisp_Object)),
+			      int, Lisp_Object, Lisp_Object*, int));
 
 /* Keymap object support - constructors and predicates.			*/
 
@@ -195,6 +202,7 @@
   (object)
      Lisp_Object object;
 {
+  /* FIXME: Maybe this should return t for autoloaded keymaps?   -sm  */
   return (NILP (get_keymap_1 (object, 0, 0)) ? Qnil : Qt);
 }
 
@@ -292,7 +300,7 @@
   for (; CONSP (list); list = XCDR (list))
     {
       /* See if there is another `keymap'.  */
-      if (EQ (Qkeymap, XCAR (list)))
+      if (KEYMAPP (list))
 	return list;
     }
 
@@ -324,7 +332,7 @@
       list = XCDR (prev);
       /* If there is a parent keymap here, replace it.
 	 If we came to the end, add the parent in PREV.  */
-      if (! CONSP (list) || EQ (Qkeymap, XCAR (list)))
+      if (! CONSP (list) || KEYMAPP (list))
 	{
 	  /* If we already have the right parent, return now
 	     so that we avoid the loops below.  */
@@ -373,7 +381,7 @@
    if EVENT is also a prefix in MAP's parent,
    make sure that SUBMAP inherits that definition as its own parent.  */
 
-void
+static void
 fix_submap_inheritance (map, event, submap)
      Lisp_Object map, event, submap;
 {