* typeprint.c (_initialize_typeprint): Set completer
authorTom Tromey <tromey@redhat.com>
Fri, 7 Dec 2012 19:58:10 +0000 (19:58 +0000)
committerTom Tromey <tromey@redhat.com>
Fri, 7 Dec 2012 19:58:10 +0000 (19:58 +0000)
for "whatis" and "ptype".
testsuite
* gdb.base/completion.exp: Add tests for ptype and whatis
completion.

gdb/ChangeLog
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/completion.exp
gdb/typeprint.c

index b4e6afb2462e825a9c36000695056ed4ab93104e..eda155b15e0cd5a4da79757ea9496c96e0990ac4 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-07  Tom Tromey  <tromey@redhat.com>
+
+       * typeprint.c (_initialize_typeprint): Set completer
+       for "whatis" and "ptype".
+
 2012-12-07  Joel Brobecker  <brobecker@adacore.com>
 
        * copyright.py (NOT_FSF_LIST): Remove duplicate entry
index 2cc6d2562e265e95bf7774883f0424aa8eed1b8b..0bdd094e876a0b6ea592dac061d07cf3ceba0304 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-07  Tom Tromey  <tromey@redhat.com>
+
+       * gdb.base/completion.exp: Add tests for ptype and whatis
+       completion.
+
 2012-12-07  Joel Brobecker  <brobecker@adacore.com>
 
        * gdb.base/stale-infcall.exp: Fix copyright line.
index 80f703251cf6d54450d9fda3ec008ed0049c2765..c8edc98ec293c63b4f2ac9a3137c5123ccc7f531 100644 (file)
@@ -555,6 +555,14 @@ gdb_test "complete p &values\[0\]->z" \
     "p &values.0.->z_field" \
     "completion of field in anonymous union"
 
+gdb_test "complete ptype &values\[0\]->z" \
+    "ptype &values.0.->z_field" \
+    "ptype completion of field in anonymous union"
+
+gdb_test "complete whatis &values\[0\]->z" \
+    "whatis &values.0.->z_field" \
+    "whatis completion of field in anonymous union"
+
 # The following tests used to simply try to complete `${objdir}/file',
 # and so on.  The problem is that ${objdir} can be very long; the
 # completed filename may be more than eighty characters wide.  When
index cf3ba381a44c616600f6f99596bb1a2f2a899be0..53cc9ebff0f31a827c25abb0280408797eee8a62 100644 (file)
@@ -39,6 +39,7 @@
 #include <ctype.h>
 #include "cli/cli-utils.h"
 #include "python/python.h"
+#include "completer.h"
 
 extern void _initialize_typeprint (void);
 
@@ -680,7 +681,9 @@ show_print_type_typedefs (struct ui_file *file, int from_tty,
 void
 _initialize_typeprint (void)
 {
-  add_com ("ptype", class_vars, ptype_command, _("\
+  struct cmd_list_element *c;
+
+  c = add_com ("ptype", class_vars, ptype_command, _("\
 Print definition of type TYPE.\n\
 Usage: ptype[/FLAGS] TYPE-NAME | EXPRESSION\n\
 Argument may be a type name defined by typedef, or \"struct STRUCT-TAG\"\n\
@@ -694,10 +697,12 @@ Available FLAGS are:\n\
   /M    print methods defined in a class\n\
   /t    do not print typedefs defined in a class\n\
   /T    print typedefs defined in a class"));
+  set_cmd_completer (c, expression_completer);
 
-  add_com ("whatis", class_vars, whatis_command,
-          _("Print data type of expression EXP.\n\
+  c = add_com ("whatis", class_vars, whatis_command,
+              _("Print data type of expression EXP.\n\
 Only one level of typedefs is unrolled.  See also \"ptype\"."));
+  set_cmd_completer (c, expression_completer);
 
   add_prefix_cmd ("type", no_class, show_print_type,
                  _("Generic command for showing type-printing settings."),