+2017-11-07  Tom Tromey  <tom@tromey.com>
+
+       * frame.h (info_locals_command, info_args_command): Constify.
+       * auto-load.h (auto_load_info_scripts): Constify.
+       * inferior.h (registers_info): Constify.
+       * copying.c: Rebuild.
+       * copying.awk: Constify generated commands.
+       * auto-load.c (auto_load_info_scripts)
+       (info_auto_load_gdb_scripts): Constify.
+       * cli/cli-decode.c (struct cmd_list_element): Take a
+       cmd_const_cfunc_ftype.
+       * command.h (add_info): Take a cmd_const_cfunc_ftype.
+       * tui/tui-win.c (tui_all_windows_info): Constify.
+       * python/py-auto-load.c (info_auto_load_python_scripts):
+       Constify.
+       * cli/cli-cmds.c (show_command): Remove non-const overload.
+       * tracepoint.c (info_tvariables_command, info_scope_command):
+       Constify.
+       (info_static_tracepoint_markers_command): Constify.
+       * thread.c (info_threads_command): Constify.
+       (print_thread_info_1): Constify.
+       * target.c (info_target_command): Constify.
+       * symtab.c (info_sources_command, info_functions_command)
+       (info_types_command): Constify.
+       (info_variables_command): Remove non-const overload.
+       * symfile.c (info_ext_lang_command): Constify.
+       * stack.c (info_frame_command, info_locals_command)
+       (info_args_command): Constify.
+       (backtrace_command): Remove non-const overload.
+       * source.c (info_source_command, info_line_command): Constify.
+       * solib.c (info_sharedlibrary_command): Constify.
+       * skip.c (info_skip_command): Constify.
+       * ser-go32.c (info_serial_command): Constify.
+       * reverse.c (info_bookmarks_command): Constify.
+       * printcmd.c (info_symbol_command, info_address_command)
+       (info_display_command): Constify.
+       * osdata.c (info_osdata_command): Constify.
+       * objc-lang.c (info_selectors_command, info_classes_command):
+       Constify.
+       * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
+       * memattr.c (info_mem_command): Constify.
+       * macrocmd.c (info_macro_command, info_macros_command): Constify.
+       * linux-fork.c (info_checkpoints_command): Constify.
+       * infrun.c (info_signals_command): Constify.
+       * inflow.c (info_terminal_command): Constify.
+       * inferior.c (info_inferiors_command): Constify.
+       (print_inferior): Constify.
+       * infcmd.c (info_program_command, info_all_registers_command)
+       (info_registers_command, info_vector_command)
+       (info_float_command): Constify.
+       (registers_info): Constify.
+       * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
+       (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
+       Constify.
+       * f-valprint.c (info_common_command): Constify.
+       * dcache.c (info_dcache_command): Constify.
+       (dcache_info_1): Constify.
+       * darwin-nat-info.c (info_mach_tasks_command)
+       (info_mach_task_command, info_mach_ports_command)
+       (info_mach_port_command, info_mach_threads_command)
+       (info_mach_thread_command, info_mach_regions_command)
+       (info_mach_regions_recurse_command, info_mach_region_command)
+       (info_mach_exceptions_command): Constify.
+       (get_task_from_args): Constify.
+       * cp-support.c (info_vtbl_command): Constify.
+       * breakpoint.c (info_watchpoints_command)
+       (info_tracepoints_command): Constify.
+       (info_breakpoints_command): Remove non-const overload.
+       * avr-tdep.c (avr_io_reg_read_command): Constify.
+       * auxv.c (info_auxv_command): Constify.
+       * ada-tasks.c (info_tasks_command): Constify.
+       (info_task): Constify.
+       * ada-lang.c (info_exceptions_command): Constify.
+
 2017-11-07  Tom Tromey  <tom@tromey.com>
 
        * solib.h (no_shared_libraries): Constify.
 
 /* Implement the "info exceptions" command.  */
 
 static void
-info_exceptions_command (char *regexp, int from_tty)
+info_exceptions_command (const char *regexp, int from_tty)
 {
   struct gdbarch *gdbarch = get_current_arch ();
 
 
    for the given inferior (INF).  */
 
 static void
-info_task (struct ui_out *uiout, char *taskno_str, struct inferior *inf)
+info_task (struct ui_out *uiout, const char *taskno_str, struct inferior *inf)
 {
   const int taskno = value_as_long (parse_and_eval (taskno_str));
   struct ada_task_info *task_info;
    Does nothing if the program doesn't use Ada tasking.  */
 
 static void
-info_tasks_command (char *arg, int from_tty)
+info_tasks_command (const char *arg, int from_tty)
 {
   struct ui_out *uiout = current_uiout;
 
 
    PATTERN.  FROM_TTY is the usual GDB boolean for user interactivity.  */
 
 void
-auto_load_info_scripts (char *pattern, int from_tty,
+auto_load_info_scripts (const char *pattern, int from_tty,
                        const struct extension_language_defn *language)
 {
   struct ui_out *uiout = current_uiout;
 /* Wrapper for "info auto-load gdb-scripts".  */
 
 static void
-info_auto_load_gdb_scripts (char *pattern, int from_tty)
+info_auto_load_gdb_scripts (const char *pattern, int from_tty)
 {
   auto_load_info_scripts (pattern, from_tty, &extension_language_gdb);
 }
 
                                      const struct extension_language_defn *);
 extern void load_auto_scripts_for_objfile (struct objfile *objfile);
 extern char auto_load_info_scripts_pattern_nl[];
-extern void auto_load_info_scripts (char *pattern, int from_tty,
+extern void auto_load_info_scripts (const char *pattern, int from_tty,
                                    const struct extension_language_defn *);
 
 extern struct cmd_list_element **auto_load_set_cmdlist_get (void);
 
 }
 
 static void
-info_auxv_command (char *cmd, int from_tty)
+info_auxv_command (const char *cmd, int from_tty)
 {
   if (! target_has_stack)
     error (_("The program has no auxiliary information now."));
 
    All io registers are 8-bit.  */
 
 static void
-avr_io_reg_read_command (char *args, int from_tty)
+avr_io_reg_read_command (const char *args, int from_tty)
 {
   LONGEST bufsiz = 0;
   gdb_byte *buf;
 
                                                      const address_space *,
                                                      CORE_ADDR, int);
 
-static void info_watchpoints_command (char *, int);
-
 static int remove_breakpoint (struct bp_location *);
 static int remove_breakpoint_1 (struct bp_location *, enum remove_bp_reason);
 
 
 static void insert_breakpoint_locations (void);
 
-static void info_tracepoints_command (char *, int);
-
 static void enable_trace_command (char *, int);
 
 static void disable_trace_command (char *, int);
   default_collect_info ();
 }
 
-/* Temporary non-const overload.  */
-
-static void
-info_breakpoints_command (char *args, int from_tty)
-{
-  info_breakpoints_command ((const char *) args, from_tty);
-}
-
 static void
-info_watchpoints_command (char *args, int from_tty)
+info_watchpoints_command (const char *args, int from_tty)
 {
   int num_printed = breakpoint_1 (args, 0, is_watchpoint);
   struct ui_out *uiout = current_uiout;
    omitted.  */
 
 static void
-info_tracepoints_command (char *args, int from_tty)
+info_tracepoints_command (const char *args, int from_tty)
 {
   struct ui_out *uiout = current_uiout;
   int num_printed;
 
   cmd_show_list (showlist, from_tty, "");
 }
 
-/* A temporary non-const overload of show_command.  */
-
-static void
-show_command (char *arg, int from_tty)
-{
-  cmd_show_list (showlist, from_tty, "");
-}
-
 \f
 /* Provide documentation on command or list given by COMMAND.  FROM_TTY
    is ignored.  */
 
 /* Add an element to the list of info subcommands.  */
 
 struct cmd_list_element *
-add_info (const char *name, cmd_cfunc_ftype *fun, const char *doc)
+add_info (const char *name, cmd_const_cfunc_ftype *fun, const char *doc)
 {
   return add_cmd (name, class_info, fun, doc, &infolist);
 }
 
                        int *supress_notification);
 
 extern struct cmd_list_element *add_info (const char *,
-                                         cmd_cfunc_ftype *fun,
+                                         cmd_const_cfunc_ftype *fun,
                                          const char *);
 
 extern struct cmd_list_element *add_info_alias (const char *, const char *,
 
          print "#include \"command.h\""
          print "#include \"gdbcmd.h\""
          print ""
-         print "static void show_copying_command (char *, int);"
+         print "static void show_copying_command (const char *, int);"
          print ""
-         print "static void show_warranty_command (char *, int);"
+         print "static void show_warranty_command (const char *, int);"
          print ""
          print "static void";
-         print "show_copying_command (char *ignore, int from_tty)";
+         print "show_copying_command (const char *ignore, int from_tty)";
          print "{";
        }
 NR == 1,/^[    ]*15\. Disclaimer of Warranty\.[        ]*$/    {
          print "}";
          print "";
          print "static void";
-         print "show_warranty_command (char *ignore, int from_tty)";
+         print "show_warranty_command (const char *ignore, int from_tty)";
          print "{";
        }
 /^[    ]*15\. Disclaimer of Warranty\.[        ]*$/, /^[       ]*END OF TERMS AND CONDITIONS[  ]*$/{  
 
 #include "command.h"
 #include "gdbcmd.h"
 
-static void show_copying_command (char *, int);
+static void show_copying_command (const char *, int);
 
-static void show_warranty_command (char *, int);
+static void show_warranty_command (const char *, int);
 
 static void
-show_copying_command (char *ignore, int from_tty)
+show_copying_command (const char *ignore, int from_tty)
 {
   printf_filtered ("                    GNU GENERAL PUBLIC LICENSE\n");
   printf_filtered ("                       Version 3, 29 June 2007\n");
 }
 
 static void
-show_warranty_command (char *ignore, int from_tty)
+show_warranty_command (const char *ignore, int from_tty)
 {
   printf_filtered ("  15. Disclaimer of Warranty.\n");
   printf_filtered ("\n");
 
 /* Implement "info vtbl".  */
 
 static void
-info_vtbl_command (char *arg, int from_tty)
+info_vtbl_command (const char *arg, int from_tty)
 {
   struct value *value;
 
 
 #define port_type_array_t mach_port_array_t
 
 static void
-info_mach_tasks_command (char *args, int from_tty)
+info_mach_tasks_command (const char *args, int from_tty)
 {
   int sysControl[4];
   int count, index;
 }
 
 static task_t
-get_task_from_args (char *args)
+get_task_from_args (const char *args)
 {
   task_t task;
   char *eptr;
 }
 
 static void
-info_mach_task_command (char *args, int from_tty)
+info_mach_task_command (const char *args, int from_tty)
 {
   union
   {
 }
 
 static void
-info_mach_ports_command (char *args, int from_tty)
+info_mach_ports_command (const char *args, int from_tty)
 {
   port_name_array_t names;
   port_type_array_t types;
 }
 
 static void
-info_mach_port_command (char *args, int from_tty)
+info_mach_port_command (const char *args, int from_tty)
 {
   task_t task;
   mach_port_t port;
 }
 
 static void
-info_mach_threads_command (char *args, int from_tty)
+info_mach_threads_command (const char *args, int from_tty)
 {
   thread_array_t threads;
   unsigned int thread_count;
 }
 
 static void
-info_mach_thread_command (char *args, int from_tty)
+info_mach_thread_command (const char *args, int from_tty)
 {
   union
   {
 }
 
 static void
-info_mach_regions_command (char *args, int from_tty)
+info_mach_regions_command (const char *args, int from_tty)
 {
   task_t task;
 
 }
 
 static void
-info_mach_regions_recurse_command (char *args, int from_tty)
+info_mach_regions_recurse_command (const char *args, int from_tty)
 {
   task_t task;
 
 }
 
 static void
-info_mach_region_command (char *exp, int from_tty)
+info_mach_region_command (const char *exp, int from_tty)
 {
   struct value *val;
   mach_vm_address_t address;
 }
 
 static void
-info_mach_exceptions_command (char *args, int from_tty)
+info_mach_exceptions_command (const char *args, int from_tty)
 {
   int i;
   task_t task;
 
 
 static struct dcache_block *dcache_alloc (DCACHE *dcache, CORE_ADDR addr);
 
-static void info_dcache_command (char *exp, int tty);
-
 static int dcache_enabled_p = 0; /* OBSOLETE */
 
 static void
 /* Parse EXP and show the info about DCACHE.  */
 
 static void
-dcache_info_1 (DCACHE *dcache, char *exp)
+dcache_info_1 (DCACHE *dcache, const char *exp)
 {
   splay_tree_node n;
   int i, refcount;
 }
 
 static void
-info_dcache_command (char *exp, int tty)
+info_dcache_command (const char *exp, int tty)
 {
   dcache_info_1 (target_dcache_get (), exp);
 }
 
 #include "block.h"
 #include "dictionary.h"
 
-static void info_common_command (char *, int);
 static void f77_get_dynamic_length_of_aggregate (struct type *);
 
 int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2];
    given name.  */
 
 static void
-info_common_command (char *comname, int from_tty)
+info_common_command (const char *comname, int from_tty)
 {
   struct frame_info *fi;
   const struct block *block;
 
 extern void read_frame_local (struct symbol *sym, struct frame_info *frame,
                              struct frame_arg *argp);
 
-extern void info_args_command (char *, int);
+extern void info_args_command (const char *, int);
 
-extern void info_locals_command (char *, int);
+extern void info_locals_command (const char *, int);
 
 extern void return_command (const char *, int);
 
 
 }
 
 static void
-info_send_rights_cmd (char *args, int from_tty)
+info_send_rights_cmd (const char *args, int from_tty)
 {
   info_port_rights (args, MACH_PORT_TYPE_SEND);
 }
 
 static void
-info_recv_rights_cmd (char *args, int from_tty)
+info_recv_rights_cmd (const char *args, int from_tty)
 {
   info_port_rights (args, MACH_PORT_TYPE_RECEIVE);
 }
 
 static void
-info_port_sets_cmd (char *args, int from_tty)
+info_port_sets_cmd (const char *args, int from_tty)
 {
   info_port_rights (args, MACH_PORT_TYPE_PORT_SET);
 }
 
 static void
-info_dead_names_cmd (char *args, int from_tty)
+info_dead_names_cmd (const char *args, int from_tty)
 {
   info_port_rights (args, MACH_PORT_TYPE_DEAD_NAME);
 }
 
 static void
-info_port_rights_cmd (char *args, int from_tty)
+info_port_rights_cmd (const char *args, int from_tty)
 {
   info_port_rights (args, ~0);
 }
 
 
 /* Local functions: */
 
-static void info_registers_command (char *, int);
-
 static void until_next_command (int);
 
-static void info_float_command (char *, int);
-
-static void info_program_command (char *, int);
-
 static void step_1 (int, int, const char *);
 
 #define ERROR_NO_INFERIOR \
 \f
 
 static void
-info_program_command (char *args, int from_tty)
+info_program_command (const char *args, int from_tty)
 {
   bpstat bs;
   int num, stat;
 }
 
 void
-registers_info (char *addr_exp, int fpregs)
+registers_info (const char *addr_exp, int fpregs)
 {
   struct frame_info *frame;
   struct gdbarch *gdbarch;
 
   while (*addr_exp != '\0')
     {
-      char *start;
+      const char *start;
       const char *end;
 
       /* Skip leading white space.  */
 }
 
 static void
-info_all_registers_command (char *addr_exp, int from_tty)
+info_all_registers_command (const char *addr_exp, int from_tty)
 {
   registers_info (addr_exp, 1);
 }
 
 static void
-info_registers_command (char *addr_exp, int from_tty)
+info_registers_command (const char *addr_exp, int from_tty)
 {
   registers_info (addr_exp, 0);
 }
 }
 
 static void
-info_vector_command (char *args, int from_tty)
+info_vector_command (const char *args, int from_tty)
 {
   if (!target_has_registers)
     error (_("The program has no registers now."));
 }
 
 static void
-info_float_command (char *args, int from_tty)
+info_float_command (const char *args, int from_tty)
 {
   struct frame_info *frame;
 
 
    printed.  */
 
 static void
-print_inferior (struct ui_out *uiout, char *requested_inferiors)
+print_inferior (struct ui_out *uiout, const char *requested_inferiors)
 {
   struct inferior *inf;
   int inf_count = 0;
 /* Print information about currently known inferiors.  */
 
 static void
-info_inferiors_command (char *args, int from_tty)
+info_inferiors_command (const char *args, int from_tty)
 {
   print_inferior (current_uiout, args);
 }
 
 
 extern void set_inferior_args_vector (int, char **);
 
-extern void registers_info (char *, int);
+extern void registers_info (const char *, int);
 
 extern void continue_1 (int all_threads);
 
 
 }
 
 void
-info_terminal_command (char *arg, int from_tty)
+info_terminal_command (const char *arg, int from_tty)
 {
   target_terminal::info (arg, from_tty);
 }
 
 
 /* Prototypes for local functions */
 
-static void info_signals_command (char *, int);
-
 static void sig_print_info (enum gdb_signal);
 
 static void sig_print_header (void);
    targets, all signals should be in the signal tables).  */
 
 static void
-info_signals_command (char *signum_exp, int from_tty)
+info_signals_command (const char *signum_exp, int from_tty)
 {
   enum gdb_signal oursig;
 
 
 /* Print information about currently known checkpoints.  */
 
 static void
-info_checkpoints_command (char *arg, int from_tty)
+info_checkpoints_command (const char *arg, int from_tty)
 {
   struct gdbarch *gdbarch = get_current_arch ();
   struct symtab_and_line sal;
 
 
 /* The implementation of the `info macro' command.  */
 static void
-info_macro_command (char *args, int from_tty)
+info_macro_command (const char *args, int from_tty)
 {
   struct macro_scope *ms = NULL;
   struct cleanup *cleanup_chain;
-  char *name;
+  const char *name;
   int show_all_macros_named = 0;
-  char *arg_start = args;
+  const char *arg_start = args;
   int processing_args = 1;
 
   while (processing_args
         && arg_start && *arg_start == '-' && *arg_start != '\0')
     {
-      char *p = skip_to_space (arg_start);
+      const char *p = skip_to_space (arg_start);
 
       if (strncmp (arg_start, "-a", p - arg_start) == 0
          || strncmp (arg_start, "-all", p - arg_start) == 0)
        processing_args = 0;
       else
        {
-         /* Relies on modified 'args' not making it in to history */
-         *p = '\0';
-         error (_("Unrecognized option '%s' to info macro command.  "
-                  "Try \"help info macro\"."), arg_start);
+         error (_("Unrecognized option '%.*s' to info macro command.  "
+                  "Try \"help info macro\"."),
+                int (p - arg_start), arg_start);
        }
 
         arg_start = skip_spaces (p);
 
 /* Implementation of the "info macros" command. */
 static void
-info_macros_command (char *args, int from_tty)
+info_macros_command (const char *args, int from_tty)
 {
   struct macro_scope *ms = NULL;
   struct cleanup *cleanup_chain = make_cleanup (free_current_contents, &ms);
 
 \f
 
 static void
-info_mem_command (char *args, int from_tty)
+info_mem_command (const char *args, int from_tty)
 {
   if (mem_use_target ())
     printf_filtered (_("Using memory regions provided by the target.\n"));
 
 }
 
 static void
-procfs_pidlist (char *args, int from_tty)
+procfs_pidlist (const char *args, int from_tty)
 {
   DIR *dp = NULL;
   struct dirent *dirp = NULL;
 }
 
 static void
-procfs_meminfo (char *args, int from_tty)
+procfs_meminfo (const char *args, int from_tty)
 {
   procfs_mapinfo *mapinfos = NULL;
   static int num_mapinfos = 0;
 
  */
 
 static void
-info_selectors_command (char *regexp, int from_tty)
+info_selectors_command (const char *regexp, int from_tty)
 {
   struct objfile       *objfile;
   struct minimal_symbol *msymbol;
  */
 
 static void
-info_classes_command (char *regexp, int from_tty)
+info_classes_command (const char *regexp, int from_tty)
 {
   struct objfile       *objfile;
   struct minimal_symbol *msymbol;
 
 }
 
 static void
-info_osdata_command (char *arg, int from_tty)
+info_osdata_command (const char *arg, int from_tty)
 {
   info_osdata (arg);
 }
 
 }
 
 static void
-info_symbol_command (char *arg, int from_tty)
+info_symbol_command (const char *arg, int from_tty)
 {
   struct minimal_symbol *msymbol;
   struct objfile *objfile;
 }
 
 static void
-info_address_command (char *exp, int from_tty)
+info_address_command (const char *exp, int from_tty)
 {
   struct gdbarch *gdbarch;
   int regno;
 }
 
 static void
-info_display_command (char *ignore, int from_tty)
+info_display_command (const char *ignore, int from_tty)
 {
   struct display *d;
 
 
 /* Wrapper for "info auto-load python-scripts".  */
 
 static void
-info_auto_load_python_scripts (char *pattern, int from_tty)
+info_auto_load_python_scripts (const char *pattern, int from_tty)
 {
   auto_load_info_scripts (pattern, from_tty, &extension_language_python);
 }
 
 /* Implement "info bookmarks" command.  */
 
 static void
-info_bookmarks_command (char *args, int from_tty)
+info_bookmarks_command (const char *args, int from_tty)
 {
   if (!bookmark_chain)
     printf_filtered (_("No bookmarks.\n"));
 
 }
 
 static void
-info_serial_command (char *arg, int from_tty)
+info_serial_command (const char *arg, int from_tty)
 {
   struct dos_ttystate *port;
 #ifdef DOS_STATS
 
 }
 
 static void
-info_skip_command (char *arg, int from_tty)
+info_skip_command (const char *arg, int from_tty)
 {
   int num_printable_entries = 0;
   struct value_print_options opts;
 
    all.  */
 
 static void
-info_sharedlibrary_command (char *pattern, int from_tty)
+info_sharedlibrary_command (const char *pattern, int from_tty)
 {
   struct so_list *so = NULL;   /* link map state variable */
   int so_missing_debug_info = 0;
 
 
 static int get_filename_and_charpos (struct symtab *, char **);
 
-static void info_line_command (char *, int);
-
-static void info_source_command (char *, int);
-
 /* Path of directories to search for source files.
    Same format as the PATH environment variable's value.  */
 
 
 
 static void
-info_source_command (char *ignore, int from_tty)
+info_source_command (const char *ignore, int from_tty)
 {
   struct symtab *s = current_source_symtab;
   struct compunit_symtab *cust;
 /* Print info on range of pc's in a specified line.  */
 
 static void
-info_line_command (char *arg, int from_tty)
+info_line_command (const char *arg, int from_tty)
 {
   CORE_ADDR start_pc, end_pc;
 
 
    ADDR_EXP.  Absolutely all information in the frame is printed.  */
 
 static void
-info_frame_command (char *addr_exp, int from_tty)
+info_frame_command (const char *addr_exp, int from_tty)
 {
   struct frame_info *fi;
   struct symbol *func;
                       no_filters >= 0 /* no frame-filters */, from_tty);
 }
 
-/* Temporary non-const overload.  */
-
-static void
-backtrace_command (char *arg, int from_tty)
-{
-  backtrace_command ((const char *) arg, from_tty);
-}
-
 /* Iterate over the local variables of a block B, calling CB with
    CB_DATA.  */
 
 }
 
 void
-info_locals_command (char *args, int from_tty)
+info_locals_command (const char *args, int from_tty)
 {
   print_frame_local_vars (get_selected_frame (_("No frame selected.")),
                          0, gdb_stdout);
 }
 
 void
-info_args_command (char *ignore, int from_tty)
+info_args_command (const char *ignore, int from_tty)
 {
   print_frame_arg_vars (get_selected_frame (_("No frame selected.")),
                        gdb_stdout);
 
 
 static int simple_overlay_update_1 (struct obj_section *);
 
-static void info_ext_lang_command (char *args, int from_tty);
-
 static void symfile_find_segment_sections (struct objfile *objfile);
 
 /* List of all available sym_fns.  On gdb startup, each object file reader
 }
 
 static void
-info_ext_lang_command (char *args, int from_tty)
+info_ext_lang_command (const char *args, int from_tty)
 {
   printf_filtered (_("Filename extensions and the languages they represent:"));
   printf_filtered ("\n\n");
 
 }
 
 static void
-info_sources_command (char *ignore, int from_tty)
+info_sources_command (const char *ignore, int from_tty)
 {
   struct compunit_symtab *cu;
   struct symtab *s;
   symtab_symbol_info (regexp, VARIABLES_DOMAIN, from_tty);
 }
 
-/* Temporary non-const overload.  */
-
-static void
-info_variables_command (char *regexp, int from_tty)
-{
-  symtab_symbol_info (regexp, VARIABLES_DOMAIN, from_tty);
-}
-
 static void
-info_functions_command (char *regexp, int from_tty)
+info_functions_command (const char *regexp, int from_tty)
 {
   symtab_symbol_info (regexp, FUNCTIONS_DOMAIN, from_tty);
 }
 
 
 static void
-info_types_command (char *regexp, int from_tty)
+info_types_command (const char *regexp, int from_tty)
 {
   symtab_symbol_info (regexp, TYPES_DOMAIN, from_tty);
 }
 
 #include <algorithm>
 #include "byte-vector.h"
 
-static void info_target_command (char *, int);
-
 static void generic_tls_error (void) ATTRIBUTE_NORETURN;
 
 static void default_terminal_info (struct target_ops *, const char *, int);
 }
 
 static void
-info_target_command (char *args, int from_tty)
+info_target_command (const char *args, int from_tty)
 {
   struct target_ops *t;
   int has_all_mem = 0;
 
 
 static void thread_apply_all_command (char *, int);
 static int thread_alive (struct thread_info *);
-static void info_threads_command (char *, int);
 
 /* RAII type used to increase / decrease the refcount of each thread
    in a given list of threads.  */
    thread ids.  */
 
 static void
-print_thread_info_1 (struct ui_out *uiout, char *requested_threads,
+print_thread_info_1 (struct ui_out *uiout, const char *requested_threads,
                     int global_ids, int pid,
                     int show_global_ids)
 {
         effects info-threads command would be nicer.  */
 
 static void
-info_threads_command (char *arg, int from_tty)
+info_threads_command (const char *arg, int from_tty)
 {
   int show_global_ids = 0;
 
 
 /* List all the trace state variables.  */
 
 static void
-info_tvariables_command (char *args, int from_tty)
+info_tvariables_command (const char *args, int from_tty)
 {
   tvariables_info_1 ();
 }
 
 /* info scope command: list the locals for a scope.  */
 static void
-info_scope_command (char *args_in, int from_tty)
+info_scope_command (const char *args_in, int from_tty)
 {
   struct symbol *sym;
   struct bound_minimal_symbol msym;
 }
 
 static void
-info_static_tracepoint_markers_command (char *arg, int from_tty)
+info_static_tracepoint_markers_command (const char *arg, int from_tty)
 {
   VEC(static_tracepoint_marker_p) *markers;
   struct cleanup *old_chain;
 
 static void tui_set_tab_width_command (const char *, int);
 static void tui_refresh_all_command (const char *, int);
 static void tui_set_win_height_command (const char *, int);
-static void tui_all_windows_info (char *, int);
+static void tui_all_windows_info (const char *, int);
 static void tui_set_focus_command (const char *, int);
 static void tui_scroll_forward_command (const char *, int);
 static void tui_scroll_backward_command (const char *, int);
 
 
 static void
-tui_all_windows_info (char *arg, int from_tty)
+tui_all_windows_info (const char *arg, int from_tty)
 {
   int type;
   struct tui_win_info *win_with_focus = tui_win_with_focus ();