diff --git a/lib/ChangeLog b/lib/ChangeLog
index ca5d4c3..03ca581 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,6 +1,11 @@
 2005-03-08 Paul Jakma <paul.jakma@sun.com>
 
-	* command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE
+	* command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE.
+	  (cmd_describe_command_real) sign compile warning fix
+	  (cmd_complete_command_real) ditto.
+	  (config_list_cmd) Don't list hidden or deprecated commands,
+	  hiding these from tab completion is still to be done.
+	* command.h: cmd attr enum should start at 1.
 	* vty.c: (vty_hello) suggestions from Andrew, read by line and
 	  stub out trailling non-printable characters on each line thus
 	  allowing us to specify VTY_NEWLINE to vty_out.
diff --git a/lib/command.c b/lib/command.c
index 7656f68..d83ebe1 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -1,5 +1,5 @@
 /*
-   $Id: command.c,v 1.39 2005/03/08 15:16:57 paul Exp $
+   $Id: command.c,v 1.40 2005/03/08 15:56:42 paul Exp $
 
    Command interpreter routine for virtual terminal [aka TeletYpe]
    Copyright (C) 1997, 98, 99 Kunihiro Ishiguro
@@ -1561,12 +1561,12 @@
 static vector
 cmd_describe_command_real (vector vline, struct vty *vty, int *status)
 {
-  int i;
+  unsigned int i;
   vector cmd_vector;
 #define INIT_MATCHVEC_SIZE 10
   vector matchvec;
   struct cmd_element *cmd_element;
-  int index;
+  unsigned int index;
   int ret;
   enum match_type match;
   char *command;
@@ -1757,12 +1757,12 @@
 static char **
 cmd_complete_command_real (vector vline, struct vty *vty, int *status)
 {
-  int i;
+  unsigned int i;
   vector cmd_vector = vector_copy (cmd_node_vector (cmdvec, vty->node));
 #define INIT_MATCHVEC_SIZE 10
   vector matchvec;
   struct cmd_element *cmd_element;
-  int index = vector_max (vline) - 1;
+  unsigned int index = vector_max (vline) - 1;
   char **match_str;
   struct desc *desc;
   vector descvec;
@@ -2483,7 +2483,9 @@
   struct cmd_element *cmd;
 
   for (i = 0; i < vector_max (cnode->cmd_vector); i++)
-    if ((cmd = vector_slot (cnode->cmd_vector, i)) != NULL)
+    if ((cmd = vector_slot (cnode->cmd_vector, i)) != NULL
+        && !(cmd->attr == CMD_ATTR_DEPRECATED 
+             || cmd->attr == CMD_ATTR_HIDDEN))
       vty_out (vty, "  %s%s", cmd->string,
 	       VTY_NEWLINE);
   return CMD_SUCCESS;
diff --git a/lib/command.h b/lib/command.h
index 1480833..6fd42fa 100644
--- a/lib/command.h
+++ b/lib/command.h
@@ -122,7 +122,7 @@
 
 enum
 {
-  CMD_ATTR_DEPRECATED,
+  CMD_ATTR_DEPRECATED = 1,
   CMD_ATTR_HIDDEN,
 };
 
