The `enabled' and `disabled' completion lists don't get updated when a
dynamic builtin is loaded:

$ compgen -A enabled tty
$ enable tty
$ compgen -A enabled tty
$

diff --git a/builtins/enable.def b/builtins/enable.def
index aa143760..399c7fa3 100644
--- a/builtins/enable.def
+++ b/builtins/enable.def
@@ -193,6 +193,8 @@ enable_builtin (WORD_LIST *list)
        result = EXECUTION_FAILURE; /* normalize return value */
 #if defined (PROGRAMMABLE_COMPLETION)
       set_itemlist_dirty (&it_builtins);
+      set_itemlist_dirty (&it_enabled);
+      set_itemlist_dirty (&it_disabled);
 #endif
     }
 #endif
@@ -208,6 +210,8 @@ enable_builtin (WORD_LIST *list)
        }
 #if defined (PROGRAMMABLE_COMPLETION)
       set_itemlist_dirty (&it_builtins);
+      set_itemlist_dirty (&it_enabled);
+      set_itemlist_dirty (&it_disabled);
 #endif
     }
 #endif
@@ -237,6 +241,8 @@ enable_builtin (WORD_LIST *list)
                opt = r;
 #if defined (PROGRAMMABLE_COMPLETION)
              set_itemlist_dirty (&it_builtins);
+              set_itemlist_dirty (&it_enabled);
+              set_itemlist_dirty (&it_disabled);
 #endif
            }
 #endif

Reply via email to