Index: doc/code.txt
===================================================================
--- doc/code.txt	(revision 12868933af20e72110e2fb1f11441b93f43f6f4c)
+++ doc/code.txt	(revision 44cc9abbc2c15abaf4cd5fe0d1fc62b0e0936913)
@@ -86,5 +86,5 @@
 	     Meta.  At any one time, there is exactly one active
 	     keymap which determines where keybindings are looked for
-	     (along with its submaps).
+	     (along with its parents).
 
 list:	     Simple list abstraction.  (Uses realloc to resize the list.)
Index: keymap.c
===================================================================
--- keymap.c	(revision 13ebf929c89a2f68717a74de950e3479e82546c6)
+++ keymap.c	(revision 44cc9abbc2c15abaf4cd5fe0d1fc62b0e0936913)
@@ -3,5 +3,5 @@
 
 static void _owl_keymap_format_bindings(const owl_keymap *km, owl_fmtext *fm);
-static void _owl_keymap_format_with_submaps(const owl_keymap *km, owl_fmtext *fm);
+static void _owl_keymap_format_with_parents(const owl_keymap *km, owl_fmtext *fm);
 
 /* returns 0 on success */
@@ -12,5 +12,5 @@
   if ((km->desc = owl_strdup(desc)) == NULL) return(-1);
   if (0 != owl_list_create(&km->bindings)) return(-1);
-  km->submap = NULL;
+  km->parent = NULL;
   km->default_fn = default_fn;
   km->prealways_fn = prealways_fn;
@@ -27,7 +27,7 @@
 }
 
-void owl_keymap_set_submap(owl_keymap *km, const owl_keymap *submap)
-{
-  km->submap = submap;
+void owl_keymap_set_parent(owl_keymap *km, const owl_keymap *parent)
+{
+  km->parent = parent;
 }
 
@@ -99,7 +99,7 @@
     owl_fmtext_append_normal(fm, "\n");
   }
-  if (km->submap) {
-    owl_fmtext_append_normal(fm, OWL_TABSTR "Has submap: ");
-    owl_fmtext_append_normal(fm, km->submap->name);
+  if (km->parent) {
+    owl_fmtext_append_normal(fm, OWL_TABSTR "Has parent: ");
+    owl_fmtext_append_normal(fm, km->parent->name);
     owl_fmtext_append_normal(fm, "\n");
   }
@@ -120,5 +120,5 @@
   owl_fmtext_append_bold(fm, "\nKey bindings:\n\n");  
   if (recurse) {
-    _owl_keymap_format_with_submaps(km, fm);
+    _owl_keymap_format_with_parents(km, fm);
   } else {
     _owl_keymap_format_bindings(km, fm);
@@ -126,9 +126,9 @@
 }
 
-static void _owl_keymap_format_with_submaps(const owl_keymap *km, owl_fmtext *fm)
+static void _owl_keymap_format_with_parents(const owl_keymap *km, owl_fmtext *fm)
 {
   while (km) {
     _owl_keymap_format_bindings(km, fm);
-    km = km->submap;
+    km = km->parent;
     if (km) {
       owl_fmtext_append_bold(fm, "\nInherited from ");
@@ -273,6 +273,6 @@
   }
 
-  /* deal with the always_fn for the map and submaps */
-  for (km=kh->active; km; km=km->submap) {
+  /* deal with the always_fn for the map and parents */
+  for (km=kh->active; km; km=km->parent) {
     if (km->prealways_fn) {
       km->prealways_fn(j);
@@ -281,7 +281,7 @@
 
   /* search for a match.  goes through active keymap and then
-   * through submaps... TODO:  clean this up so we can pull
+   * through parents... TODO:  clean this up so we can pull
    * keyhandler and keymap apart.  */
-  for (km=kh->active; km; km=km->submap) {
+  for (km=kh->active; km; km=km->parent) {
     for (i=owl_list_get_size(&km->bindings)-1; i>=0; i--) {
       kb = owl_list_get_element(&km->bindings, i);
Index: keys.c
===================================================================
--- keys.c	(revision 8a5b5a12327c205b798d00f5cc5505f787e55331)
+++ keys.c	(revision 44cc9abbc2c15abaf4cd5fe0d1fc62b0e0936913)
@@ -30,5 +30,5 @@
        "Text editing and command window", 
        owl_keys_editwin_default, NULL, owl_keys_editwin_postalways);
-  owl_keymap_set_submap(km_editwin, km_global);
+  owl_keymap_set_parent(km_editwin, km_global);
   /*
   BIND_CMD("F1",          "help",            "");
@@ -99,5 +99,5 @@
        "Multi-line text editing", 
        owl_keys_editwin_default, NULL, owl_keys_editwin_postalways);
-  owl_keymap_set_submap(km_ew_multi, km_editwin);
+  owl_keymap_set_parent(km_ew_multi, km_editwin);
 
   BIND_CMD("UP",      "edit:move-up-line", "");
@@ -129,5 +129,5 @@
        "Single-line text editing", 
        owl_keys_editwin_default, NULL, owl_keys_editwin_postalways);
-  owl_keymap_set_submap(km_ew_onel, km_editwin);
+  owl_keymap_set_parent(km_ew_onel, km_editwin);
 
   BIND_CMD("C-u",         "edit:delete-all", "Clears the entire line");
@@ -154,5 +154,5 @@
        "Single-line response to question", 
        owl_keys_editwin_default, NULL, owl_keys_editwin_postalways);
-  owl_keymap_set_submap(km_ew_onel, km_editwin);
+  owl_keymap_set_parent(km_ew_onel, km_editwin);
 
   BIND_CMD("C-u",         "edit:delete-all", "Clears the entire line");
@@ -169,5 +169,5 @@
        "Pop-up window (eg, help)", 
        owl_keys_default_invalid, NULL, owl_keys_popless_postalways);
-  owl_keymap_set_submap(km_viewwin, km_global);
+  owl_keymap_set_parent(km_viewwin, km_global);
 
   BIND_CMD("SPACE",       "popless:scroll-down-page", "");
@@ -222,5 +222,5 @@
 	"Main window / message list",
         owl_keys_default_invalid, owl_keys_recwin_prealways, NULL);
-  owl_keymap_set_submap(km_mainwin, km_global);
+  owl_keymap_set_parent(km_mainwin, km_global);
   BIND_CMD("C-x C-c", "start-command quit", "");
   BIND_CMD("F1",      "help",           "");
Index: owl.h
===================================================================
--- owl.h	(revision 20aced312921e75d69f84133af763117bac62675)
+++ owl.h	(revision 44cc9abbc2c15abaf4cd5fe0d1fc62b0e0936913)
@@ -476,5 +476,5 @@
   char     *desc;		/* description */
   owl_list  bindings;		/* key bindings */
-  const struct _owl_keymap *submap;	/* submap */
+  const struct _owl_keymap *parent;	/* parent */
   void (*default_fn)(owl_input j);	/* default action (takes a keypress) */
   void (*prealways_fn)(owl_input  j);	/* always called before a keypress is received */
