* command.h: Update copyright.
authorAndrew Cagney <cagney@redhat.com>
Sun, 24 Mar 2002 00:40:35 +0000 (00:40 +0000)
committerAndrew Cagney <cagney@redhat.com>
Sun, 24 Mar 2002 00:40:35 +0000 (00:40 +0000)
(struct cmd_list_element): Replace definition with opaque
declaration.
(enum cmd_types): Document that it will eventually be moved to
cli/cli-decode.h
(CMD_DEPRECATED, DEPRECATED_WARN_USER): Delete macros.
(MALLOCED_REPLACEMENT): Delete macro.
* Makefile.in (cli_decode_h): Add $(command_h).
(top.o, completer.o, maint.o): Add dependency on $(cli_decode_h).
* top.c: Include "cli/cli-decode.h".
* completer.c: Include "cli/cli-decode.h".
* maint.c: Include "cli/cli-decode.h".
* cli/cli-decode.h: Include "command.h".
(enum command_class): Delete.
(enum cmd_types): Comment out.
(enum cmd_auto_boolean): Delete.
(enum var_types): Delete.

gdb/ChangeLog
gdb/Makefile.in
gdb/cli/cli-decode.h
gdb/command.h
gdb/completer.c
gdb/maint.c
gdb/top.c

index bd81a04bc7bfc3cdea30edeadb6943c11841ef0a..c48794f4609e06613fc497988385fc1d860a86c1 100644 (file)
@@ -1,3 +1,23 @@
+2002-03-23  Andrew Cagney  <ac131313@redhat.com>
+
+       * command.h: Update copyright.
+       (struct cmd_list_element): Replace definition with opaque
+       declaration.
+       (enum cmd_types): Document that it will eventually be moved to
+       cli/cli-decode.h
+       (CMD_DEPRECATED, DEPRECATED_WARN_USER): Delete macros.
+       (MALLOCED_REPLACEMENT): Delete macro.
+       * Makefile.in (cli_decode_h): Add $(command_h).
+       (top.o, completer.o, maint.o): Add dependency on $(cli_decode_h).
+       * top.c: Include "cli/cli-decode.h".  
+       * completer.c: Include "cli/cli-decode.h".
+       * maint.c: Include "cli/cli-decode.h".
+       * cli/cli-decode.h: Include "command.h".
+       (enum command_class): Delete.
+       (enum cmd_types): Comment out.
+       (enum cmd_auto_boolean): Delete.
+       (enum var_types): Delete.
+
 2002-03-23  Andrew Cagney  <ac131313@redhat.com>
 
        * cli/cli-decode.c: Include "gdb_assert.h".
index e3c9cb080d80819c7c2fb5380b248410c3a616ac..b2b448e58cac109b4c462a6478e17cbed0a7355f 100644 (file)
@@ -592,7 +592,7 @@ buildsym_h =        buildsym.h
 c_lang_h =     c-lang.h $(value_h)
 call_cmds_h =  call-cmds.h
 cli_cmds_h =   $(srcdir)/cli/cli-cmds.h
-cli_decode_h = $(srcdir)/cli/cli-decode.h
+cli_decode_h = $(srcdir)/cli/cli-decode.h $(command_h)
 cli_out_h =    cli-out.h
 cli_script_h = $(srcdir)/cli/cli-script.h
 cli_setshow_h =        $(srcdir)/cli/cli-setshow.h
@@ -1391,7 +1391,7 @@ event-loop.o: event-loop.c $(defs_h) $(top_h) $(event_loop_h) $(event_top_h)
 
 event-top.o: event-top.c $(top_h) $(readline_headers) \
       $(defs_h) $(inferior_h) $(event_loop_h) $(event_top_h) $(terminal_h) \
-       $(gdbcmd_h) $(target_h)
+       $(gdbcmd_h) $(target_h) $(cli_decode_h)
 
 inf-loop.o: inf-loop.c $(defs_h) $(inferior_h) $(inf_loop_h) $(event_loop_h) \
         $(event_top_h)
@@ -1709,7 +1709,8 @@ main.o: main.c $(top_h) $(defs_h) $(gdb_string_h) $(event_loop_h) \
        $(symfile_h)  $(gdbcore_h) $(ui_out_h)
 
 maint.o: maint.c $(defs_h) $(gdbcmd_h) $(gdbtypes_h) $(symtab_h) \
-       $(language_h) $(expression_h) $(objfiles_h) $(symfile_h)
+       $(language_h) $(expression_h) $(objfiles_h) $(symfile_h) \
+       $(cli_decode_h)
 
 mcore-tdep.o: mcore-tdep.c $(defs_h) $(frame_h) $(gdbcmd_h) $(value_h) \
        $(symtab_h) $(symfile_h) $(gdbcore_h) $(inferior_h)
@@ -2094,7 +2095,8 @@ thread.o: thread.c $(defs_h) $(gdbthread_h) $(gdbcmd_h) $(target_h) \
        $(regcache_h) $(ui_out_h) $(gdb_h)
 
 completer.o: completer.c $(completer_h) $(gdbtypes_h) $(symtab_h) \
-       $(defs_h) $(gdbcmd_h) $(expression_h) $(readline_headers)
+       $(defs_h) $(gdbcmd_h) $(expression_h) $(readline_headers) \
+       $(cli_decode_h)
 
 top.o: top.c $(top_h) $(bfd_h) $(getopt_h) $(readline_headers) $(call_cmds_h) \
        $(cli_cmds_h) $(cli_script_h) $(cli_setshow_h) \
index adb9feb27f86a5f171f4463f48c5a6005d25be10..72436f04657449ce46c90754bcad1e31d0580bb3 100644 (file)
 #define CLI_DECODE_H 1
 
 #include "gdb_regex.h"         /* Needed by apropos_cmd.  */
+#include "command.h"
 
-/* Command classes are top-level categories into which commands are broken
-   down for "help" purposes.  
-   Notes on classes: class_alias is for alias commands which are not
-   abbreviations of the original command.  class-pseudo is for
-   commands which are not really commands nor help topics ("stop").  */
-
-enum command_class
-{
-  /* Special args to help_list */
-  class_deprecated, all_classes = -2, all_commands = -1,
-  /* Classes of commands */
-  no_class = -1, class_run = 0, class_vars, class_stack,
-  class_files, class_support, class_info, class_breakpoint, class_trace,
-  class_alias, class_obscure, class_user, class_maintenance,
-  class_pseudo, class_tui, class_xdb
-};
-
+#if 0
+/* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum
+   cmd_types'' can be moved from "command.h" to "cli-decode.h".  */
 /* Not a set/show command.  Note that some commands which begin with
    "set" or "show" might be in this category, if their syntax does
    not fall into one of the following categories.  */
@@ -48,55 +35,7 @@ typedef enum cmd_types
     show_cmd
   }
 cmd_types;
-
-/* Reasonable values for an AUTO_BOOLEAN variable. */
-enum cmd_auto_boolean
-{
-  CMD_AUTO_BOOLEAN_TRUE,
-  CMD_AUTO_BOOLEAN_FALSE,
-  CMD_AUTO_BOOLEAN_AUTO
-};
-
-/* Types of "set" or "show" command.  */
-typedef enum var_types
-  {
-    /* "on" or "off".  *VAR is an integer which is nonzero for on,
-       zero for off.  */
-    var_boolean,
-
-    /* "on" / "true" / "enable" or "off" / "false" / "disable" or
-       "auto.  *VAR is an ``enum cmd_auto_boolean''.  NOTE: In general
-       a custom show command will need to be implemented - one that
-       for "auto" prints both the "auto" and the current auto-selected
-       value. */
-    var_auto_boolean,
-
-    /* Unsigned Integer.  *VAR is an unsigned int.  The user can type 0
-       to mean "unlimited", which is stored in *VAR as UINT_MAX.  */
-    var_uinteger,
-
-    /* Like var_uinteger but signed.  *VAR is an int.  The user can type 0
-       to mean "unlimited", which is stored in *VAR as INT_MAX.  */
-    var_integer,
-
-    /* String which the user enters with escapes (e.g. the user types \n and
-       it is a real newline in the stored string).
-       *VAR is a malloc'd string, or NULL if the string is empty.  */
-    var_string,
-    /* String which stores what the user types verbatim.
-       *VAR is a malloc'd string, or NULL if the string is empty.  */
-    var_string_noescape,
-    /* String which stores a filename.
-       *VAR is a malloc'd string, or NULL if the string is empty.  */
-    var_filename,
-    /* ZeroableInteger.  *VAR is an int.  Like Unsigned Integer except
-       that zero really means zero.  */
-    var_zinteger,
-    /* Enumerated type.  Can only have one of the specified values.  *VAR is a
-       char pointer to the name of the element that we find.  */
-    var_enum
-  }
-var_types;
+#endif
 
 /* This structure records one command'd definition.  */
 
index 5f7284e4dfe8aed700fa9adcb2591b6a9e662413..db7a74025845cc984b940ceb3b23fb551ffd1992 100644 (file)
@@ -1,13 +1,7 @@
-/* ***DEPRECATED***  The gdblib files must not be calling/using things in any
-   of the possible command languages.  If necessary, a hook (that may be
-   present or not) must be used and set to the appropriate routine by any
-   command language that cares about it.  If you are having to include this
-   file you are possibly doing things the old way.  This file will disapear.
-   2000-12-01 fnasser@redhat.com    */
-
 /* Header file for command-reading library command.c.
-   Copyright 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000
-   Free Software Foundation, Inc.
+
+   Copyright 1986, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1999,
+   2000, 2002 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -44,6 +38,8 @@ enum command_class
   class_pseudo, class_tui, class_xdb
 };
 
+/* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum
+   cmd_types'' can be moved from "command.h" to "cli-decode.h".  */
 /* Not a set/show command.  Note that some commands which begin with
    "set" or "show" might be in this category, if their syntax does
    not fall into one of the following categories.  */
@@ -105,159 +101,7 @@ typedef enum var_types
 var_types;
 
 /* This structure records one command'd definition.  */
-
-
-/* This flag is used by the code executing commands to warn the user 
-   the first time a deprecated command is used, see the 'flags' field in
-   the following struct.
-*/
-#define CMD_DEPRECATED            0x1
-#define DEPRECATED_WARN_USER      0x2
-#define MALLOCED_REPLACEMENT      0x4
-
-struct cmd_list_element
-  {
-    /* Points to next command in this list.  */
-    struct cmd_list_element *next;
-
-    /* Name of this command.  */
-    char *name;
-
-    /* Command class; class values are chosen by application program.  */
-    enum command_class class;
-
-    /* Function definition of this command.  NULL for command class
-       names and for help topics that are not really commands.  NOTE:
-       cagney/2002-02-02: This function signature is evolving.  For
-       the moment suggest sticking with either set_cmd_cfunc() or
-       set_cmd_sfunc().  */
-    void (*func) (struct cmd_list_element *c, char *args, int from_tty);
-    /* The command's real callback.  At present func() bounces through
-       to one of the below.  */
-    union
-      {
-       /* If type is not_set_cmd, call it like this:  */
-       void (*cfunc) (char *args, int from_tty);
-
-       /* If type is set_cmd or show_cmd, first set the variables, and
-          then call this.  */
-       void (*sfunc) (char *args, int from_tty, struct cmd_list_element * c);
-      }
-    function;
-
-    /* Local state (context) for this command.  This can be anything.  */
-    void *context;
-
-    /* Documentation of this command (or help topic).
-       First line is brief documentation; remaining lines form, with it,
-       the full documentation.  First line should end with a period.
-       Entire string should also end with a period, not a newline.  */
-    char *doc;
-
-    /* flags : a bitfield 
-       
-       bit 0: (LSB) CMD_DEPRECATED, when 1 indicated that this command
-       is deprecated. It may be removed from gdb's command set in the
-       future.
-
-       bit 1: DEPRECATED_WARN_USER, the user needs to be warned that
-       this is a deprecated command.  The user should only be warned
-       the first time a command is used.
-        
-       bit 2: MALLOCED_REPLACEMENT, when functions are deprecated at
-       compile time (this is the way it should, in general, be done)
-       the memory containing the replacement string is statically
-       allocated.  In some cases it makes sense to deprecate commands
-       at runtime (the testsuite is one example).  In this case the
-       memory for replacement is malloc'ed.  When a command is
-       undeprecated or re-deprecated at runtime we don't want to risk
-       calling free on statically allocated memory, so we check this
-       flag.  
-     */
-    int flags;
-
-    /* if this command is deprecated, this is the replacement name */
-    char *replacement;
-
-    /* If this command represents a show command, then this function
-       is called before the variable's value is examined.  */
-    void (*pre_show_hook) (struct cmd_list_element *c);
-
-    /* Hook for another command to be executed before this command.  */
-    struct cmd_list_element *hook_pre;
-
-    /* Hook for another command to be executed after this command.  */
-    struct cmd_list_element *hook_post;
-
-    /* Flag that specifies if this command is already running it's hook. */
-    /* Prevents the possibility of hook recursion. */
-    int hook_in;
-
-    /* Nonzero identifies a prefix command.  For them, the address
-       of the variable containing the list of subcommands.  */
-    struct cmd_list_element **prefixlist;
-
-    /* For prefix commands only:
-       String containing prefix commands to get here: this one
-       plus any others needed to get to it.  Should end in a space.
-       It is used before the word "command" in describing the
-       commands reached through this prefix.  */
-    char *prefixname;
-
-    /* For prefix commands only:
-       nonzero means do not get an error if subcommand is not
-       recognized; call the prefix's own function in that case.  */
-    char allow_unknown;
-
-    /* Nonzero says this is an abbreviation, and should not
-       be mentioned in lists of commands.
-       This allows "br<tab>" to complete to "break", which it
-       otherwise wouldn't.  */
-    char abbrev_flag;
-
-    /* Completion routine for this command.  TEXT is the text beyond
-       what was matched for the command itself (leading whitespace is
-       skipped).  It stops where we are supposed to stop completing
-       (rl_point) and is '\0' terminated.
-
-       Return value is a malloc'd vector of pointers to possible completions
-       terminated with NULL.  If there are no completions, returning a pointer
-       to a NULL would work but returning NULL itself is also valid.
-       WORD points in the same buffer as TEXT, and completions should be
-       returned relative to this position.  For example, suppose TEXT is "foo"
-       and we want to complete to "foobar".  If WORD is "oo", return
-       "oobar"; if WORD is "baz/foo", return "baz/foobar".  */
-    char **(*completer) (char *text, char *word);
-
-    /* Type of "set" or "show" command (or SET_NOT_SET if not "set"
-       or "show").  */
-    cmd_types type;
-
-    /* Pointer to variable affected by "set" and "show".  Doesn't matter
-       if type is not_set.  */
-    void *var;
-
-    /* What kind of variable is *VAR?  */
-    var_types var_type;
-
-    /* Pointer to NULL terminated list of enumerated values (like argv).  */
-    const char **enums;
-
-    /* Pointer to command strings of user-defined commands */
-    struct command_line *user_commands;
-
-    /* Pointer to command that is hooked by this one, (by hook_pre)
-       so the hook can be removed when this one is deleted.  */
-    struct cmd_list_element *hookee_pre;
-
-    /* Pointer to command that is hooked by this one, (by hook_post)
-       so the hook can be removed when this one is deleted.  */
-    struct cmd_list_element *hookee_post;
-
-    /* Pointer to command that is aliased by this one, so the
-       aliased command can be located in case it has been hooked.  */
-    struct cmd_list_element *cmd_pointer;
-  };
+struct cmd_list_element;
 
 /* Forward-declarations of the entry-points of cli/cli-decode.c.  */
 
index 30a84d69e7412dd4bf93fa1cbb70b380e69b7070..67ea300f14bb50d2d72900c7ae45e69f0149defc 100644 (file)
@@ -24,6 +24,8 @@
 #include "expression.h"
 #include "filenames.h"         /* for DOSish file names */
 
+#include "cli/cli-decode.h"
+
 /* FIXME: This is needed because of lookup_cmd_1().
    We should be calling a hook instead so we eliminate the CLI dependency. */
 #include "gdbcmd.h"
index 0d2be0912f505e3d1260aff9dc38589e699cdda9..aaa3c68d1d6b5ab32faaec91e91c095b9510d599 100644 (file)
@@ -36,6 +36,8 @@
 #include "objfiles.h"
 #include "value.h"
 
+#include "cli/cli-decode.h"
+
 extern void _initialize_maint_cmds (void);
 
 static void maintenance_command (char *, int);
index 83c84413c26dfc1f4df2b3c0bcae27475b120ac7..7acbb938a35b4fdee513dcdab57c8050b9a8984e 100644 (file)
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -27,6 +27,7 @@
 #include "cli/cli-cmds.h"
 #include "cli/cli-script.h"
 #include "cli/cli-setshow.h"
+#include "cli/cli-decode.h"
 #include "symtab.h"
 #include "inferior.h"
 #include <signal.h>