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