"complete" command and completion word break characters
[deliverable/binutils-gdb.git] / gdb / disasm.c
index 734db2b1c8296b284b56c7f9a46a92c3ea10bf05..76c4ff31a6ee7861dc60ef292421693b98462644 100644 (file)
@@ -437,18 +437,15 @@ do_mixed_source_and_assembly_deprecated
                  for (; next_line < mle[i].line; next_line++)
                    {
                      struct cleanup *ui_out_list_chain_line;
-                     struct cleanup *ui_out_tuple_chain_line;
                      
-                     ui_out_tuple_chain_line
-                       = make_cleanup_ui_out_tuple_begin_end (uiout,
-                                                              "src_and_asm_line");
+                     ui_out_emit_tuple tuple_emitter (uiout,
+                                                      "src_and_asm_line");
                      print_source_lines (symtab, next_line, next_line + 1,
                                          psl_flags);
                      ui_out_list_chain_line
                        = make_cleanup_ui_out_list_begin_end (uiout,
                                                              "line_asm_insn");
                      do_cleanups (ui_out_list_chain_line);
-                     do_cleanups (ui_out_tuple_chain_line);
                    }
                  /* Print the last line and leave list open for
                     asm instructions to be added.  */
@@ -680,22 +677,18 @@ do_mixed_source_and_assembly (struct gdbarch *gdbarch,
                 a bunch of line tuples with no asm entries.  */
              int l;
              struct cleanup *ui_out_list_chain_line;
-             struct cleanup *ui_out_tuple_chain_line;
 
              gdb_assert (sal.symtab != NULL);
              for (l = start_preceding_line_to_display;
                   l < end_preceding_line_to_display;
                   ++l)
                {
-                 ui_out_tuple_chain_line
-                   = make_cleanup_ui_out_tuple_begin_end (uiout,
-                                                          "src_and_asm_line");
+                 ui_out_emit_tuple tuple_emitter (uiout, "src_and_asm_line");
                  print_source_lines (sal.symtab, l, l + 1, psl_flags);
                  ui_out_list_chain_line
                    = make_cleanup_ui_out_list_begin_end (uiout,
                                                          "line_asm_insn");
                  do_cleanups (ui_out_list_chain_line);
-                 do_cleanups (ui_out_tuple_chain_line);
                }
            }
          ui_out_tuple_chain
@@ -739,13 +732,9 @@ do_assembly_only (struct gdbarch *gdbarch, struct ui_out *uiout,
                  CORE_ADDR low, CORE_ADDR high,
                  int how_many, int flags)
 {
-  struct cleanup *ui_out_chain;
-
-  ui_out_chain = make_cleanup_ui_out_list_begin_end (uiout, "asm_insns");
+  ui_out_emit_list list_emitter (uiout, "asm_insns");
 
   dump_insns (gdbarch, uiout, low, high, how_many, flags, NULL);
-
-  do_cleanups (ui_out_chain);
 }
 
 /* Initialize the disassemble info struct ready for the specified
@@ -1041,8 +1030,9 @@ The following disassembler options are supported for use with the\n\
 
 /* A completion function for "set disassembler".  */
 
-static VEC (char_ptr) *
+static void
 disassembler_options_completer (struct cmd_list_element *ignore,
+                               completion_tracker &tracker,
                                const char *text, const char *word)
 {
   struct gdbarch *gdbarch = get_current_arch ();
@@ -1055,9 +1045,8 @@ disassembler_options_completer (struct cmd_list_element *ignore,
       if (separator != NULL)
        text = separator + 1;
       text = skip_spaces_const (text);
-      return complete_on_enum (opts->name, text, word);
+      complete_on_enum (tracker, opts->name, text, word);
     }
-  return NULL;
 }
 
 
This page took 0.025554 seconds and 4 git commands to generate.