1 2001-07-12 Andrew Cagney <ac131313@redhat.com>
3 * mi-main.c (mi_execute_command): Flush output after ``(gdb)''
4 prompt. Bug reported by David Whedon.
5 (mi_execute_async_cli_command): Ditto.
6 (mi_exec_async_cli_cmd_continuation): Ditto.
7 (mi_command_loop): Ditto.
9 2001-07-10 Mark Kettenis <kettenis@gnu.org>
11 * mi-out.c (mi_out_new): Initialize suppress_ouput field of newly
12 created `struct ui_out_data'.
14 2001-07-09 Kevin Buettner <kevinb@redhat.com>
16 * mi-main.c (register_changed_p, get_register): Use alloca()
17 to allocate space previously allocated via gcc's
18 variable-length array extension.
19 (mi_cmd_data_write_register_values, mi_cmd_data_write_memory):
20 Change type of ``buffer'' to ``void *''. Don't cast return value
21 from xmalloc(). Add a cleanup to free the xmalloc'd buffer.
23 2001-07-07 Andrew Cagney <ac131313@redhat.com>
25 * mi-main.c (mi_cmd_data_evaluate_expression): Replace value_ptr
26 with `struct value *'.
28 2001-07-08 Kevin Buettner <kevinb@redhat.com>
30 * mi-out.c (mi_table_header, mi_field_int, mi_field_skip)
31 (mi_field_string) Make function declarators match earlier
34 2001-07-04 Andrew Cagney <ac131313@redhat.com>
36 * mi-out.c (mi_ui_out_impl): Initialize is_mi_like_p to one.
38 2001-06-27 Andrew Cagney <ac131313@redhat.com>
40 * mi-out.c (mi_table_begin): Include nr_cols and nr_rows in mi1
42 * mi-out.c (mi_table_begin): Only suppress output when mi0. Change
44 (mi_table_body): For mi1, close the header list and open a table
46 (mi_table_end): For mi1, close the body list.
47 (mi_table_header): For mi1, output a tuple containing all the
49 (mi_open, mi_close): Reverse logic of mi_version test.
50 * gdbmi.texinfo (GDB/MI Breakpoint Table Commands): Update.
52 2001-06-26 Andrew Cagney <ac131313@redhat.com>
54 * gdbmi.texinfo (GDB/MI Output Syntax): Delete reference to query
57 2001-06-26 Andrew Cagney <ac131313@redhat.com>
59 * mi-cmd-stack.c (list_args_or_locals): Output a list of "args" or
61 * gdbmi.texinfo (stack-list-locals, stack-list-arguments)
62 (exec-interrupt, target-select, thread-select): Update
65 2001-06-26 Andrew Cagney <ac131313@redhat.com>
67 * mi-cmd-stack.c (mi_cmd_stack_list_frames): Output a list of
69 (mi_cmd_stack_list_args): Ditto for "stack-args".
70 * gdbmi.texinfo (stack-list-frames, stack-list-arguments): Update
72 (GDB/MI Stack Manipulation Commands): Fix section title. Was
73 Stack Manipulation Commands in GDB/MI.
75 2001-06-25 Andrew Cagney <ac131313@redhat.com>
77 * gdbmi.texinfo: Update output examples that contain stop reason
78 output, change the args=.... to a list.
81 2001-06-25 Andrew Cagney <ac131313@redhat.com>
83 * mi-main.c (mi_cmd_data_read_memory): Output the memory contents
84 - memory and data - as a list.
85 * gdbmi.texinfo (data-read-memory): Update documentation.
87 2001-06-25 Andrew Cagney <ac131313@redhat.com>
89 * mi-main.c (mi_cmd_data_list_register_values): Output a list of
91 * gdbmi.texinfo (data-list-register-values): Update documentation.
93 2001-06-25 Andrew Cagney <ac131313@redhat.com>
95 * mi-main.c (mi_cmd_data_list_register_names): Output a list of
97 (mi_cmd_data_list_register_names): Include the pseudo registers.
98 (mi_cmd_data_list_register_names): Don't leave holes in the list,
99 output "" for NULL registers.
100 * gdbmi.texinfo (data-list-register-names): Update documentation.
102 2001-06-23 Andrew Cagney <ac131313@redhat.com>
104 * mi-main.c (mi_cmd_data_list_changed_registers): Output a list of
106 * gdbmi.texinfo (data-list-changed-registers): Update
109 2001-06-23 Andrew Cagney <ac131313@redhat.com>
111 * gdbmi.texinfo (data-disassemble): Update documentation of
112 output. Produces a list of instructions and a list of source
115 2001-06-22 Andrew Cagney <ac131313@redhat.com>
117 * mi-cmd-disas.c (mi_cmd_disassemble): For "-data-disassemble",
118 output a list instead of a tupple.
120 2001-06-21 Andrew Cagney <ac131313@redhat.com>
122 * mi-out.c (struct ui_out_data): Replace field first_header with
124 (mi_begin, mi_end): Check suppress_header.
125 (mi_field_int, mi_field_skip): Ditto.
126 (mi_field_string, mi_field_fmt): Ditto.
127 (mi_table_begin): When nr_rows is zero, set suppress_header else,
128 output the start of the header.
129 (mi_table_body): Clear suppress header.
131 2001-06-21 Andrew Cagney <ac131313@redhat.com>
133 * mi-out.c (mi_open): For lists, when mi_version > 0, use ``[''.
134 (mi_close): Ditto for ``]''.
136 2001-06-20 Andrew Cagney <ac131313@redhat.com>
138 * mi-out.c (mi_table_header): Add parameter ``col_name''.
140 2001-06-18 Andrew Cagney <ac131313@redhat.com>
142 * mi-out.c: Include "gdb_assert.h".
143 (mi_table_begin): Add parameter ``nr_rows''.
145 2001-06-18 Andrew Cagney <ac131313@redhat.com>
147 * mi-main.c: Use strncmp as the "mi" test. Allow "mi", "mi0" and
149 (mi_command_loop): Add parameter mi_version, pass to mi_out_new.
150 (mi1_command_loop, mi0_command_loop): New functions.
151 (_initialize_mi_main): Recognize "mi", "mi0" and "mi1".
152 * mi-out.c (mi_out_new): Add parameter mi_version.
153 (struct ui_out_data): Add field mi_version.
154 * mi-out.h (mi_out_new): Update.
156 2001-06-07 Andrew Cagney <ac131313@redhat.com>
158 * gdbmi.texinfo (GDB/MI Output Syntax): Add tuples and lists to
160 (GDB/MI Draft Changes to Output Syntax): Delete section.
162 Mon Jun 11 17:22:25 2001 Andrew Cagney <cagney@b1.cygnus.com>
164 * mi-out.c: Fix typo. s/supress/suppress/.
166 2001-06-09 Andrew Cagney <ac131313@redhat.com>
168 * mi-out.c (mi_table_end, mi_table_begin, mi_begin, mi_end): Move
169 supress_field_separator updates from here.
170 (mi_open, mi_close): To here.
171 (mi_open): Add parameter name. Output a field_separator.
172 (mi_table_begin): Update.
173 (mi_table_header): Update.
176 2001-06-09 Andrew Cagney <ac131313@redhat.com>
178 * mi-out.c (mi_table_begin): Make char* parameters constant.
179 (mi_table_header): Ditto.
180 (mi_field_int): Ditto.
181 (mi_field_skip): Ditto.
182 (mi_field_string): Ditto.
183 (mi_field_fmt): Ditto.
187 2001-05-12 Andrew Cagney <ac131313@redhat.com>
189 * mi-out.c (mi_close, mi_open): Output ``[]'' when a list.
191 Fri May 11 13:55:07 2001 Andrew Cagney <cagney@b1.cygnus.com>
193 * mi-cmd-var.c: Replace ui_out_list_begin, ui_out_list_end and
194 make_cleanup_ui_out_list_end with ui_out_tupple_begin,
195 ui_out_tupple_end and make_cleanup_ui_out_tupple_begin_end.
196 * mi-cmd-stack.c: Ditto.
197 * mi-cmd-disas.c: Ditto.
200 2001-05-10 Andrew Cagney <ac131313@redhat.com>
202 * mi-out.c (mi_open, mi_close): Replace list_open and list_close.
203 (mi_table_begin): Update.
204 (mi_table_header): Update.
206 (mi_table_body): Update.
207 (mi_table_end): Update.
210 Thu May 10 16:28:13 2001 Andrew Cagney <cagney@b1.cygnus.com>
212 * mi-main.c (mi_execute_async_cli_command): Always initialize
215 2001-05-08 Andrew Cagney <ac131313@redhat.com>
217 * mi-out.c (mi_begin, mi_end): Replace mi_list_begin and
219 (mi_ui_out_impl): Update.
221 2001-03-28 Andrew Cagney <ac131313@redhat.com>
223 * mi-main.c (mi_cmd_data_read_memory): Use xcalloc.
225 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
227 * gdbmi.texinfo: Update copyright. Change Permissions to GFDL.
229 2001-03-20 Andrew Cagney <ac131313@redhat.com>
231 * mi-cmd-disas.c (mi_cmd_disassemble): Initialize ``file_string''
232 and ``line_num''. Consolidate declaration of argument variables.
234 2001-03-19 Andrew Cagney <ac131313@redhat.com>
236 * mi-out.h: Remove #ifdef __STDC__.
238 2001-03-08 Andrew Cagney <ac131313@redhat.com>
240 * mi-main.c (mi_cmd_data_list_register_names): Use NUM_REGS, not
242 (mi_cmd_data_list_changed_registers): Ditto.
243 (mi_cmd_data_list_register_values): Ditto.
244 (mi_cmd_data_write_register_values): Ditto.
246 2001-03-06 Kevin Buettner <kevinb@redhat.com>
248 * gdbmi.texinfo, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c,
249 mi-cmds.c, mi-cmds.h, mi-console.c, mi-console.h, mi-getopt.c,
250 mi-getopt.h, mi-out.c, mi-out.h, mi-parse.c, mi-parse.h:
251 Update/correct copyright notices.
253 Wed Feb 7 19:50:37 2001 Andrew Cagney <cagney@redhat.com>
255 * mi-getopt.c: Add __FILE__ and __LINE__ parameter to calls to
257 * mi-console.c: Ditto.
259 * mi-cmd-break.c: Ditto.
261 2001-01-27 Fernando Nasser <fnasser@redhat.com>
263 From Momchil Velikov <velco@fadata.bg>
264 * mi-cmd-disas.c (gdb_dis_asm_read_memory): Add missing memory
265 attributes argument in the call to `xfer_memory'.
267 2000-12-14 Kevin Buettner <kevinb@redhat.com>
269 * mi-cmd-disas.c, mi-cmd-var.c, mi-console.c, mi-main.c,
270 mi-parse.c: Replace occurrences of free() with xfree().
272 Fri Nov 17 16:07:23 2000 Andrew Cagney <cagney@b1.cygnus.com>
274 * mi-main.c: Replace asprintf with xasprintf.
275 * mi-cmd-var.c (mi_cmd_var_create): Ditto.
277 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
279 * gdbmi.texinfo (GDB/MI Variable Objects): Dimensions of
280 multitable changed to "@columnfractions .4 .6". Suggested by
281 Dmitry Sivachenko <dima@Chg.RU>.
283 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
285 * gdbmi.texinfo: Change flathead -> @sc{gdb/mi}.
286 Fix typos and markup mistakes (from Dmitry S.
287 Sivachenko <dima@Chg.RU>).
289 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
291 * gdbmi.texinfo: Change GDB -> @value{GDBN}, and
292 (gdb) -> (@value{GDBP}). Fix a few typos and some markup. From
293 Dmitry S. Sivachenko <dima@Chg.RU>.
295 Tue May 16 14:13:41 2000 Andrew Cagney <cagney@b1.cygnus.com>
297 * mi-main.c (mi_cmd_execute): Use free_current_contents.
298 (free_and_reset): Delete.
300 Mon May 15 16:17:56 2000 Andrew Cagney <cagney@b1.cygnus.com>
302 * mi-main.c (mi_cmd_data_assign, mi_cmd_data_evaluate_expression),
303 mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete): Delete
304 make_cleanup_func casts. Not needed.
306 2000-05-07 Eli Zaretskii <eliz@is.elta.co.il>
308 * gdbmi.texinfo: Lots of typos and grammar fixes from Brian
309 Youmans <3diff@flib.gnu.ai.mit.edu>.
311 Wed Apr 26 18:35:19 2000 Andrew Cagney <cagney@b1.cygnus.com>
313 * gdbmi.texinfo (GDB/MI Output Syntax v2.0): Convert Draft 2.0
314 Output Syntax into a new section. Cross reference.
315 (menu): Fix tipo. GDB/MI Compatibility with CLI.
317 2000-04-23 Eli Zaretskii <eliz@is.elta.co.il>
319 * gdbmi.texinfo: Lots of changes, to include this document as part
322 2000-03-13 James Ingham <jingham@leda.cygnus.com>
324 * mi-cmd-var.c (mi_cmd_var_create): Add special frame cookie "@"
325 to indicate an "USE_CURRENT_FRAME" variable.
326 (varobj_update_one): Add "in_scope" and "type_changed" to the
329 2000-03-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
331 * mi-cmds.h: Export mi_cmd_data_write_register_values.
333 * mi-cmds.c (mi_cmds): Implement data-write-register-values with
334 mi_cmd_data_write_register_values.
336 * mi-main.c (mi_cmd_data_write_register_values): New
337 function. Write a value into a register.
339 2000-03-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
341 * gdbmi.texinfo: Update data-disassemble documentation.
343 2000-03-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
345 * mi-cmd-disas.c (mi_cmd_disassemble): Use
346 ui_out_field_core_addr() instead of print_address_numeric(), to
347 maintain consistency throughout MI.
349 Wed Feb 23 17:09:39 2000 Andrew Cagney <cagney@b1.cygnus.com>
351 * mi-cmd-break.c, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c,
352 mi-cmds.c, mi-cmds.h, mi-console.c, mi-console.h, mi-getopt.c,
353 mi-getopt.h, mi-main.c, mi-out.c, mi-out.h, mi-parse.c,
354 mi-parse.h: Update copyright information.
356 Wed Feb 23 13:31:16 2000 Andrew Cagney <cagney@b1.cygnus.com>
358 * mi-cmd-disas.c (gdb_dis_asm_read_memory): Change LEN to unsigned
359 long. Match ../include/dis-asm.h change.
361 Wed Feb 23 10:30:55 2000 Andrew Cagney <cagney@b1.cygnus.com>
363 * gdbmi.texinfo: Update copyright - FSF. Update version
366 mi-cmd-break.c, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c,
367 mi-cmds.h, mi-main.c, mi-parse.c, mi-parse.h: Re-format using GNU
370 2000-02-21 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
372 * mi-main.c: Add include of gdbcore.h for write_memory()
375 2000-02-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
377 * mi-cmd-disas.c (mi_cmd_disassemble): Change syntax of
378 command. Now use options.
379 Instead of printing the symbolic address of instructions via
380 print_address_symbolic(), use build_address_symbolic() and format
382 (gdb_do_disassmble): Delete.
384 2000-02-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
386 * mi-cmd-disas.c (mi_cmd_disassemble):
388 2000-02-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
390 * mi-main.c (mi_cmd_data_write_memory): New function. Write a
391 value into target memory.
393 * mi-cmds.h (mi_cmd_data_write_memory): Export.
395 * mi-cmds.c (mi_cmds): Hook up data-write-memory to
396 mi_cmd_data_write_memory().
398 2000-02-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
400 * mi-main.c (mi_cmd_target_download): Correct error message to
401 report right function name.
402 (mi_cmd_target_select): Add doing exec cleanups at end.
403 (mi_cmd_data_read_memory): Correct typo.
404 (mi_cmd_execute): Do not simply free last_async_command, but reset
406 (free_and_reset): New function, free the argument and set it to
408 (mi_cmd_target_select_continuation): Delete prototype.
410 Tue Feb 1 00:17:12 2000 Andrew Cagney <cagney@b1.cygnus.com>
412 * mi-cmd-disas.c, mi-cmds.h, mi-console.c, mi-console.h,
413 mi-main.c, mi-out.c, mi-out.h: Update to reflect rename of
414 gdb-file / GDB_FILE to ui-file / ``struct ui_file''.
416 Mon Jan 31 18:33:28 2000 Andrew Cagney <cagney@b1.cygnus.com>
418 * mi-main.c (mi_command_loop): Delete reference to
419 fputs_unfiltered_hook.
421 2000-01-27 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
423 * mi-cmds.c (mi_cmds): Update entries for
424 mi_cmd_data_list_register_names,
425 mi_cmd_data_list_changed_registers,
426 mi_cmd_data_list_register_values.
428 * mi-cmds.h (mi_cmd_data_list_register_names,
429 mi_cmd_data_list_changed_registers,
430 mi_cmd_data_list_register_values): Update to mi_cmd_argv_ftype.
432 * mi-main.c (mi_cmd_data_list_register_names,
433 mi_cmd_data_list_changed_registers,
434 mi_cmd_data_list_register_values): Update to use argc, argv
437 2000-01-27 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
439 * mi-main.c (mi_cmd_data_read_memory): Correct the computation of
442 2000-01-27 Fernando Nasser <fnasser@totem.to.cygnus.com>
444 * mi-cmd-var.c (mi_cmd_var_create): Test for NULL type.
445 (mi_cmd_var_set_format, mi_cmd_var_show_format,
446 mi_cmd_var_info_num_children, mi_cmd_var_list_children,
447 mi_cmd_var_info_type, mi_cmd_var_info_expression,
448 mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression,
449 mi_cmd_var_assign, mi_cmd_var_update): Prevent possibility of memory
452 2000-01-27 Fernando Nasser <fnasser@totem.to.cygnus.com>
454 * mi-out.c (mi_field_string): Test for NULL string pointer.
456 2000-01-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
458 * mi-cmd-stack.c (mi_cmd_stack_list_frames): Call
459 print_frmae_info() with the correct arguments.
461 * mi-main.c (mi_cmd_exec_return): Call
462 show_and_print_stack_frame() with LOC_AND_ADDRESS, so it does the
463 right thing. Update Copyright.
465 2000-01-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
467 * mi-main.c: Move disassemble commands from here.
469 * mi-cmd-disas.c: To here. New file.
471 2000-01-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
473 * mi-cmd-stack.c: Remove include of mi-out.h.
475 * mi-main.c (mi_cmd_disassemble): Update function to use argc/argv
482 2000-01-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
484 * gdbmi.texinfo: Update stack commands descriptions.
485 Add thread commands descriptions and examples.
487 * mi-main.c (mi_cmd_thread_list_ids): Fix typo.
489 2000-01-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
491 * mi-main.c (mi_cmd_thread_list_ids): New function, print a list
492 of currently known threads ids, and the total number of threads.
493 (mi_cmd_thread_select): New function. Switch current thread.
495 * mi-cmds.c (mi_cmds): Implement thread-list-ids by
496 mi_cmd_thread_list_ids, and thread-select by mi_cmd_thread_select.
498 * mi-cmds.h (mi_cmd_thread_select, mi_cmd_thread_list_ids): Export.
500 2000-01-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
502 * mi-main.c: Move stack commands from here.
504 * mi-cmd-stack.c: To here. New file.
506 2000-01-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
508 * mi-main.c (list_args_or_locals): Add a new paramter, the frame
509 for which to display args or locals. Don't use selected_frame
510 anymore, use the new parameter instead. Return void instead of
511 mi_cmd_result, let callers do so.
512 (mi_cmd_stack_list_args): Change interface. Now accept low and
513 high frame numbers to display args for a range of frames. Without
514 these two, display args for the whole stack.
515 (mi_cmd_stack_list_locals): Adapt to new interface for
518 2000-01-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
520 * mi-main.c (mi_cmd_stack_info_depth, mi_cmd_stack_list_args,
521 mi_cmd_stack_list_frames, mi_cmd_stack_list_locals,
522 mi_cmd_stack_select_frame): Change to use argv type of parameters.
524 * mi-cmds.c (mi_cmds): Change stack-info-depth,
525 stack-list-arguments, stack-list-frames, stack-list-locals,
526 stack-select-frame to use argv parameters.
528 * mi-cmds.h (mi_cmd_stack_info_depth, mi_cmd_stack_list_args,
529 mi_cmd_stack_list_frames, mi_cmd_stack_list_locals,
530 mi_cmd_stack_select_frame): Update definitions.
532 Tue Jan 4 12:38:54 2000 Andrew Cagney <cagney@b1.cygnus.com>
534 * mi-main.c (mi_command_loop): Force the MI interface to use seven
536 * gdbmi.texinfo: Make it clear that a quoted C string is seven
539 Thu Dec 30 14:15:22 1999 Andrew Cagney <cagney@b1.cygnus.com>
541 * mi-getopt.c (mi_getopt): Rewrite. Allow long options.
542 * mi-getopt.h (struct mi_opt): Declare.
545 * mi-main.c (mi_cmd_data_read_memory), mi-cmd-break.c
546 (mi_cmd_break_insert, mi_cmd_break_watch): Update.
548 Wed Dec 29 23:38:35 1999 Andrew Cagney <cagney@b1.cygnus.com>
550 * mi-cmd-break.c (mi_cmd_break_insert): Add support for -c
551 <condition>, -i <ignore-count> and -p <thread>.
552 (breakpoint_notify): New function.
553 (mi_cmd_break_insert): Wrap GDB call with callback hooks so that
554 MI is notified when ever a breakpoint is created.
556 * gdbmi.texinfo: Update.
558 Fri Dec 24 11:23:22 1999 Andrew Cagney <cagney@b1.cygnus.com>
560 * mi-main.c (gdb_do_disassemble): Strip out more useless #ifdef
563 1999-12-23 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
565 * mi-main.c (gdb_do_disassemble): Fix output. Lines that have no
566 assembly instructions must still be outputted, to keep the source
567 line numbering correct.
568 Remove #ifdef UI_OUT's, they are useless.
570 1999-12-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
572 * mi-main.c (gdb_do_disassemble): Don't print a new list in mixed
573 mode, every time. Just do it when we actually encounter a new
576 1999-12-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
578 * mi-cmd-var.c (mi_cmd_var_list_children): Add test for C++ pseudo
579 variable objects (private, public, protected) as these do not have
580 a type and the -var-list-children operation was dumping core.
582 Fri Dec 17 20:23:33 1999 Andrew Cagney <cagney@b1.cygnus.com>
584 * gdbmi.texinfo: Document recommended syntax for options.
586 * mi-main.c (mi_cmd_data_read_memory): Add support for ``-o
588 * gdbmi.texinfo: Document.
590 Wed Dec 15 17:43:08 1999 Andrew Cagney <cagney@b1.cygnus.com>
592 * mi-getopt.h (mi_getopt): Change optarg to a char pointer. Check
594 * mi-cmd-break.c (mi_cmd_break_insert): Update.
596 * mi-main.c (mi_cmd_data_read_memory): Add fields "next-row-addr",
597 "prev-row-addr", "next-page-addr", "prev-page-addr" and a per row
599 * gdbmi.texinfo: Update.
601 Wed Dec 15 01:05:40 1999 Andrew Cagney <cagney@b1.cygnus.com>
603 * mi-cmds.h (mi_cmd_result): Add MI_CMD_CAUGHT_ERROR for when the
606 * mi-main.c (captured_mi_execute_command): When
607 MI_CMD_CAUGHT_ERROR return 0 rethrowing the eror.
609 1999-12-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
611 * mi-cmd-break.c (mi_cmd_break_insert): Remove unused var.
613 * mi-cmd-var.c (mi_cmd_var_update): Remove unused variables.
615 Mon Dec 13 18:43:36 1999 Andrew Cagney <cagney@b1.cygnus.com>
617 * mi-parse.c (mi_parse): Quote the command when printing it.
618 (mi_parse_argv): Fix handling of quoted strings. Was not
620 (mi_parse_argv): Make static.
622 Mon Dec 13 18:30:03 1999 Andrew Cagney <cagney@b1.cygnus.com>
624 * mi-cmds.h (mi_cmd_break_insert, mi_cmd_break_watch): Change type
625 to mi_cmd_argv_ftype.
626 * mi-cmds.c (mi_cmds): Update.
627 * mi-cmd-break.c (mi_cmd_break_insert, mi_cmd_break_watch): Change
628 to new style of arguments with argc and argv. Parse arguments
631 * mi-cmd-break.c (mi_cmd_break_insert): Wrap body in #ifdef UI_OUT
632 to avoid non-ui compile problems.
634 Mon Dec 13 15:08:36 1999 Andrew Cagney <cagney@b1.cygnus.com>
636 * mi-getopt.h, mi-getopt.c: New files. Similar to getopt but with
637 well defined semantics.
639 Mon Dec 13 14:22:21 1999 Andrew Cagney <cagney@b1.cygnus.com>
641 * mi-main.c (mi_cmd_break_insert, mi_cmd_break_watch, enum
642 wp_type, enum bp_type): Move from here.
643 * mi-cmd-break.c: To here. New file.
644 (mi_cmd_break_insert, mi_cmd_break_insert, mi_cmd_break_watch):
645 Use error to report problems.
647 1999-12-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
649 * gdbmi.texinfo: Update description of exec-interrupt.
651 * mi-main.c (mi_cmd_exec_interrupt): If the program is not
652 executing, don't try to interrupt it, but error out instead. Make
653 sure previous_async_command is not null before duplicating it into
656 * gdbmi.texinfo: Add examples for data-evaluate-expression.
658 1999-12-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
660 * mi-cmd-var.c (mi_cmd_var_assign, mi_cmd_var_create,
661 mi_cmd_var_delete, mi_cmd_var_evaluate_expression,
662 mi_cmd_var_info_expression, mi_cmd_var_info_num_children,
663 mi_cmd_var_info_type, mi_cmd_var_list_children,
664 mi_cmd_var_set_format, mi_cmd_var_show_attributes,
665 mi_cmd_var_show_format, mi_cmd_var_update): Change to use new
666 style of arguments with argc and argv.
670 * mi-cmds.c (mi_cmds): Update entries for mi_cmd_var_assign,
671 mi_cmd_var_create, mi_cmd_var_delete,
672 mi_cmd_var_evaluate_expression, mi_cmd_var_info_expression,
673 mi_cmd_var_info_num_children, mi_cmd_var_info_type,
674 mi_cmd_var_list_children, mi_cmd_var_set_format,
675 mi_cmd_var_show_attributes, mi_cmd_var_show_format,
678 * mi-cmds.h (mi_cmd_var_assign, mi_cmd_var_create,
679 mi_cmd_var_delete, mi_cmd_var_evaluate_expression,
680 mi_cmd_var_info_expression, mi_cmd_var_info_num_children,
681 mi_cmd_var_info_type, mi_cmd_var_list_children,
682 mi_cmd_var_set_format, mi_cmd_var_show_attributes,
683 mi_cmd_var_show_format, mi_cmd_var_update): Update declarations.
685 1999-12-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
687 * gdbmi.texinfo: Comment out -data-assign command. * mi-main.c
688 (mi_cmd_data_assign): Do not use, comment out. * mi-cmds.h
689 (mi_cmd_data_assign): Remove. * mi-cmds.c: Remove -data-assign
690 command from MI interface.
692 1999-12-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
694 * mi-parse.c (mi_parse): Add '\n' at end of error messages, so
695 that prompt comes out on new line.
697 * gdbmi.texinfo: Update disassembly command output.
699 1999-12-06 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
701 * mi-main.c (gdb_do_disassemble): Update output for UI_OUT case.
703 1999-12-02 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
705 * gdbmi.texinfo: Update exec-until output, including the reason
708 Thu Dec 2 17:17:22 1999 Andrew Cagney <cagney@b1.cygnus.com>
710 * mi-cmds.c: Include <string.h> for memset.
712 1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
714 * mi-main.c (mi_cmd_exec_return): ifdef the references to
715 return_command_wrapper().
717 1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
719 * mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_interrupt,
720 mi_cmd_target_select, mi_execute_async_cli_command,
721 mi_exec_async_cli_cmd_continuation, mi_load_progress): Don't print
722 last_async_command if it is NULL.
723 (mi_cmd_exec_return):
725 1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
727 * mi-main.c (mi_cmd_exec_return): Reimplement using
728 return_command() instead of mi_execute_async_cli_command().
730 1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
732 * mi-cmds.h: Export mi_cmd_data_assign and
733 mi_cmd_data_evaluate_expression.
735 * mi-cmds.c (mi_cmds): Hook data-assign to mi_cmd_data_assign and
736 data-evaluate-expression to mi_cmd_data_evaluate_expression.
738 * mi-main.c (mi_cmd_data_assign): New function. Implement
740 (mi_cmd_data_evaluate_expression): New function. Implement
741 data-evaluate-expression command.
743 1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
745 * gdbmi.texinfo: Fix some texinfo formatting errors.
747 1999-12-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
749 * gdbmi.texinfo: Update data-list-register-values description.
751 * mi-cmds.h: Export mi_cmd_data_list_register_values.
753 * mi-cmds.c (mi_cmds): Hook data-list-register-values to
754 mi_cmd_data_list_register_values.
756 * mi-main.c (mi_cmd_data_list_register_values): New
757 function. Implements the -data-list-register-values command.
758 (get_register): New function. Output the contents of a given
761 Wed Dec 1 20:27:22 1999 Andrew Cagney <cagney@b1.cygnus.com>
763 * mi-main.c (mi_execute_async_cli_command): Append missing "\n"
764 for synchronous stopped message.
766 1999-11-30 James Ingham <jingham@leda.cygnus.com>
768 * gdbmi.texinfo: Fix obvious typo in @end statement.
770 Wed Dec 1 12:36:27 1999 Andrew Cagney <cagney@b1.cygnus.com>
772 * mi-cmd-var.c: Include "value.h".
773 * mi-console.c: Include <string.h>.
775 Wed Dec 1 00:21:03 1999 Andrew Cagney <cagney@b1.cygnus.com>
777 * mi-main.c (captured_mi_execute_command): For a CLI command, pass
778 "%s" to mi_execute_cli_command to stop core dumps.
779 (captured_mi_execute_command): Echo CLI commands on gdb_stdlog.
781 Wed Dec 1 00:10:07 1999 Andrew Cagney <cagney@b1.cygnus.com>
783 * gdbmi.texinfo: Explain NR-BYTES and ADDR.
785 Tue Nov 30 23:31:57 1999 Andrew Cagney <cagney@b1.cygnus.com>
787 * mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete,
788 mi_cmd_var_set_format, mi_cmd_var_show_format,
789 mi_cmd_var_info_num_children, mi_cmd_var_list_children,
790 mi_cmd_var_info_type, mi_cmd_var_info_expression,
791 mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression,
792 mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one, next_arg,
793 which_var): New file. Move varobj commands to here from
796 * mi-console.h, mi-console.c (mi_console_file_new,
797 mi_console_file_delete, mi_console_file_fputs,
798 mi_console_raw_packet, mi_console_file_flush): New files. Move
799 mi_console_file to here from mi-main.c.
801 Tue Nov 30 19:37:25 1999 Andrew Cagney <cagney@b1.cygnus.com>
803 * mi-main.c (captured_mi_execute_command): Use fputstr_unfiltered
804 when printing error messages.
805 (mi_cmd_execute): Ditto.
807 1999-11-29 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
809 * gdbmi.texinfo: Describe -data-list-changed-registers,
810 -data-list-register-names. Add examples for
811 -exec-next-instruction, exec-step-instruction, -exec-run,
812 -exec-until. Format examples for -data-read-memory.
813 update example for -target-download.
815 1999-11-29 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
817 * gdbmi.texinfo: Remove mentioning of inaccurate watchpoint hit
820 Mon Nov 29 19:28:55 1999 Andrew Cagney <cagney@b1.cygnus.com>
822 * mi-main.c (mi_execute_async_cli_command): Return ``enum
823 mi_cmd_cmd_result''. mi_cmd_exec_run, mi_cmd_exec_next,
824 mi_cmd_exec_step, mi_cmd_exec_step_instruction,
825 mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return,
826 mi_cmd_exec_continue): Update call.
827 (mi_execute_async_cli_command): When target is synchronous, fake
828 asynchronous behavour (ulgh). Allows tests to be run on built-in
829 simulator and native targets.
831 Mon Nov 29 15:15:16 1999 Andrew Cagney <cagney@b1.cygnus.com>
833 * mi-cmds.h (mi_cmd_gdb_exit), mi-cmds.c (mi_cmds), mi-main.c
834 (mi_cmd_gdb_exit): Change function signature to mi_cmd_argv_ftype.
836 1999-11-28 Andew Cagney <cagney@rat-in-a-hat.cygnus.com>
838 * mi-parse.c: Include <ctype.h> and <string.h>
840 1999-11-26 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
842 * gdbmi.texinfo: Added watchpoint command descriptions and
845 * mi-main.c (mi_load_progress): Add parameter for total sent so far.
848 Fri Nov 26 10:17:49 1999 Andrew Cagney <cagney@b1.cygnus.com>
850 * gdbmi.texinfo (section Output Syntax): For lists, the <string>
851 part of a <result> is optional. Clarify syntax.
852 (appendix Proposed v2.0 Output Syntax): New section. Provide
853 record of discussion of possible changes to syntax.
855 Wed Nov 24 19:41:35 1999 Andrew Cagney <cagney@b1.cygnus.com>
857 * mi-main.c (mi_cmd_data_read_memory): Simplify. Fix coredump
858 when arguments were bad.
859 (mi_cmd_execute): Change parameter to ``struct mi_parse''. Handle
860 case of argv_func as well as args_func.
861 (captured_mi_execute_command): Update.
863 * mi-cmds.c (struct mi_cmd): Add field for mi_cmd_argv_ftype.
864 (mi_cmds): Update mi_cmd_data_read_memory.
867 * mi-cmds.h (mi_cmd_args_ftype): Rename mi_cmd_ftype. Make all
868 functions of type this type.
869 (mi_cmd_argv_ftype): Declare.
870 (mi_cmd_data_read_memory): Change type to mi_cmd_argv_fytpe.
871 (struct mi_cmd): Move declaration to here from mi-cmds.c.
872 (mi_lookup): Return a pointer to ``struct mi_cmd''.
874 Wed Nov 24 15:03:34 1999 Andrew Cagney <cagney@b1.cygnus.com>
876 * mi-parse.c (mi_parse): Initialize TOKEN when a CLI command.
878 * gdbmi.texinfo: Allow a <token> before a CLI command.
880 * mi-parse.h (struct mi_parse): Declare.
881 (mi_parse): Change to return a ``struct mi_parse''.
882 (enum mi_command_type): Delete PARSE_ERROR.
884 * mi-main.c (struct mi_execute_command_context): Delete.
885 (captured_mi_execute_command): Update
886 (mi_execute_command): Update. Check for mi_parse returning NULL.
888 Wed Nov 24 12:57:14 1999 Andrew Cagney <cagney@b1.cygnus.com>
890 * mi-parse.h: Remove const, from cmd parameter. Causes cascading
893 Wed Nov 24 15:03:34 1999 Andrew Cagney <cagney@b1.cygnus.com>
895 * mi-parse.c (mi_parse): New function. Move parse code to here.
896 * mi-main.c (parse): From here. Delete.
898 Wed Nov 24 12:57:14 1999 Andrew Cagney <cagney@b1.cygnus.com>
900 * mi-parse.c, mi-parse.h: New files. Implement mi_parse_env.
902 Wed Nov 24 11:24:05 1999 Andrew Cagney <cagney@b1.cygnus.com>
904 * mi-out.c (mi_field_string): Make string parameter constant.
906 1999-11-23 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
908 * mi-cmds.h (mi_cmd_target_download): Export.
910 * mi-cmds.c (mi_cmds): Add mi_cmd_target_download.
912 * mi-main.c: Include <sys/time.h>.
913 (mi_cmd_target_download): New function, implement the
914 target-download command.
915 (mi_load_progress): New function. Called via the
916 show_load_progress hook. Prints updates every 0.5 secs.
917 (mi_command_loop): Initialize the show_load_progress hook.
919 1999-11-22 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
921 * mi-main.c (mi_cmd_exec_until): New function. Implement until
923 (mi_cmd_exec_step_instruction): New function. Implement stepi
925 (mi_cmd_exec_next_instruction): New function. Implement nexti
928 * mi-cmds.c (mi_cmds): Add mi_cmd_exec_step_instruction,
929 mi_cmd_exec_next_instruction, mi_cmd_exec_until.
931 * mi-cmds.h (mi_cmd_exec_step_instruction,
932 mi_cmd_exec_next_instruction, mi_cmd_exec_until): Export.
934 Tue Nov 23 00:30:37 1999 Andrew Cagney <cagney@b1.cygnus.com>
936 * mi/gdbmi.texinfo: Document -data-read-memory.
938 * mi-main.c (mi_cmd_data_read_memory): Fix off-by-one check of
940 (mi_cmd_data_read_memory): Label the output table with "memory".
942 Thu Nov 18 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com>
944 * mi-main.c (mi_cmd_exec_interrupt, mi_cmd_break_insert,
945 mi_cmd_break_watch, mi_cmd_disassemble, mi_cmd_execute): Replace
948 Thu Nov 18 20:50:09 1999 Andrew Cagney <cagney@b1.cygnus.com>
950 * mi-main.c (mi_cmd_data_read_memory): New function. Implement
953 * mi-cmds.h, mi-cmds.c: Add mi_cmd_data_read_memory.
954 * mi-cmds.c (mi_cmds): Ditto.
956 1999-11-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
958 * mi-cmds.h (mi_cmd_break_watch): Export.
960 * mi-cmds.c (mi_cmds): Hook up break-watch to function
963 * mi-main.c (wp_type): New enumeration for the possible types of
965 (mi_cmd_break_watch): New function, implements the break-watch
968 1999-11-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
970 * mi-main.c (mi_cmd_break_insert): Handle case in which the command is
971 just a -break-insert w/o args.
973 Fri Nov 12 00:01:52 1999 Andrew Cagney <cagney@b1.cygnus.com>
975 * mi-out.c (mi_field_string): Always quote the string.
977 1999-11-10 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
979 * mi-cmds.h(mi_cmd_data_list_changed_registers,
980 mi_cmd_data_list_register_names): Export.
982 * mi-cmds.c (mi_cmds): Hook up data-list-changed-registers to
983 mi_cmd_data_list_changed_registers and data-list-register-names to
984 mi_cmd_data_list_register_names.
986 * mi-main.c (mi_cmd_data_list_changed_registers): New function,
987 implements the data-list-changed-registers command.
988 (mi_cmd_data_list_register_names): New function, implements the
989 data-list-register-names command.
990 (register_changed_p): New function. Decide whether the register
991 contents have changed.
992 (setup_architecture_data): New function. Initialize registers
994 (_initialize_mi_main): Call setup_architecture_data(), and
995 register_gdbarch_swap().
997 Wed Nov 10 18:35:08 1999 Andrew Cagney <cagney@b1.cygnus.com>
999 * mi-main.c (mi_execute_command): Correctly quote error messages.
1001 Wed Nov 10 11:05:14 1999 Andrew Cagney <cagney@b1.cygnus.com>
1003 * mi/gdbmi.texinfo: Delete <stream-output>. Replaced by
1006 * mi-main.c (mi_console_raw_packet): Always quote console output.
1008 Tue Nov 9 17:53:05 1999 Andrew Cagney <cagney@b1.cygnus.com>
1010 * mi-main.c (mi_console_file_new), mi-out.c (mi_out_new): Replace
1011 the tui_file with a mem_file. Ya!
1013 * mi-out.c (do_write): New function, wrapper to gdb_file_write.
1014 (mi_out_put): Pass do_write to gdb_file_put.
1016 * mi-main.c (mi_console_file_flush): Rewrite. Use
1017 mi_console_raw_packet to send data to the console.
1018 (mi_console_raw_packet): New function. Correctly
1019 create quoted C string packets.
1021 1999-11-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1023 * mi-cmds.c (mi_cmds): Break-insert is now implemented by
1024 mi_cmd_break_insert.
1025 * mi-cmds.h (mi_cmd_break_insert): Export.
1026 * mi-main.c (bp_type): New enumeration.
1027 (mi_cmd_break_insert): New function. Implements all flavors of
1028 breakpoint insertion.
1030 Mon Nov 8 17:49:17 1999 Andrew Cagney <cagney@b1.cygnus.com>
1032 * mi-main.c (mi_console_file_flush): Replace gdb_file_get_strbuf
1033 with tui_file_get_strbuf.
1035 Fri Nov 5 17:06:07 1999 Andrew Cagney <cagney@b1.cygnus.com>
1037 * mi-main.c (mi_console_file_delete, mi_console_file_fputs,
1038 mi_console_file_flush): Call internal_error instead of error.
1040 Thu Nov 4 19:53:32 1999 Andrew Cagney <cagney@b1.cygnus.com>
1042 * mi-main.c (captured_mi_execute_command): New function.
1043 (mi_execute_command): Rewrite. Replace SET_TOP_LEVEL() with call
1044 to captured_mi_execute_command via catch_errors.
1046 Thu Nov 4 20:33:58 1999 Andrew Cagney <cagney@b1.cygnus.com>
1048 * mi-main.c (clean): Delete.
1049 (mi_command_loop): Delete extern declaration of
1052 1999-10-28 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1054 * mi-main.c (mi_cmd_stack_select_frame): Conditionalize the body
1055 on UI_OUT, because select_frame_command_wrapper is only defined if
1057 (mi_cmd_exec_interrupt): Conditionalize the body on UI_OUT,
1058 because interrupt_target_command_wrapper is only defined if UI_OUT is.
1060 * mi-cmds.c (mi_cmds): Implement command exec-interrupt by
1061 mi_cmd_exec_interrupt.
1063 * mi-main.c (mi_cmd_exec_interrupt): New function. Implements
1064 exec-interrupt command.
1065 (mi_cmd_execute): If the target is running save execution command
1066 token in previous_async_command. If the command is not 'interrupt'
1067 and the target is running, reject it.
1068 (clean): New function. Free the arg and reset it to NULL.
1070 * mi-cmds.h (mi_cmd_exec_interrupt):Export.
1072 1999-10-28 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1074 * mi-cmds.c (mi_cmds): Implement command stack-select-frame by
1075 mi_cmd_stack_select_frame.
1077 * mi-main.c (mi_cmd_stack_select_frame): New function. Implements
1078 stack-select-frame command.
1080 * mi-cmds.h (mi_cmd_select_frame):Export.
1082 1999-10-26 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1084 * mi-cmds.c (mi_cmds): Implement commands stack-list-locals and
1085 stack-list-arguments by mi_cmd_stack_list_locals and
1086 mi_cmd_stack_list_args.
1088 * mi-main.c (mi_cmd_stack_list_locals): New function. Implements
1089 stack-list-locals command.
1090 (mi_cmd_stack_list_args): New function. Implements
1091 stack-list-arguments command.
1092 (list_args_or_locals): New function. Do all the work for the
1093 listing of locals or arguments.
1095 * mi-cmds.h (mi_cmd_stack_list_args,mi_cmd_stack_list_locals) :
1098 1999-10-25 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1100 * mi-cmds.c (mi_cmds): Add new command stack-info-depth.
1102 * mi-main.c (mi_cmd_stack_info_depth): New function. Implements
1103 the stack-info-depth command.
1104 * mi-cmds.h (mi_cmd_stack_info_depth): Export.
1107 1999-10-22 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1109 * mi-main.c (mi_execute_command): Handle MI_CMD_ERROR case
1110 properly, for command that return error code and don't set
1113 * mi-cmds.c (mi_cmds): Hook stack-list-frames command to
1114 mi_cmd_stack_list_frames function.
1115 * mi-cmds.h (mi_cmd_stack_list_frames): Export.
1117 * mi-main.c (mi_execute_command): Deal with a return code of
1118 MI_CMD_ERROR from the execution of mi commands.
1119 (mi_error_message): Static string variable, to contain the error
1120 message from mi commands.
1121 (mi_cmd_stack_list_frames): New function. Prints a backtrace.
1123 1999-10-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1125 * mi-main.c (mi_cmd_disassemble): Handle the new command line
1126 parameter that specifies the number of disassembly lines to be
1128 (gdb_do_disassemble): Add new parameter. Count the number of lines
1129 that have been displayed, and stop when limit is reached.
1131 Wed Oct 13 18:04:13 1999 Andrew Cagney <cagney@b1.cygnus.com>
1133 * mi-main.c (mi_command_loop): Don't initialize ``flush_hook''.
1135 1999-10-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1137 * mi/gdbmi.texinfo: More reformatting of the grammars.
1139 1999-10-12 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1141 * mi/gdbmi.texinfo: More TeX formatting.
1143 1999-10-11 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1145 * mi/gdbmi.texinfo: First pass completed. All commands should have
1147 Escape '@' output special char.
1150 1999-10-08 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1152 * mi/gdbmi.texinfo: Filled in part of file command section, and
1155 1999-10-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1157 * mi/gdbmi.texinfo: Filled in some sections about execution
1160 Tue Oct 5 15:27:28 1999 Andrew Cagney <cagney@b1.cygnus.com>
1162 * mi-cmds.h: Sort table
1164 (MI_TABLE_SIZE): Increase to 251.
1166 1999-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com>
1168 * mi-main.c (mi_cmd_var_create, mi_cmd_var_delete): Add missing
1171 1999-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com>
1173 * mi-main.c (next_arg): Returns lenght as well.
1174 (which_var, mi_cmd_var_create, mi_cmd_var_delete,
1175 mi_cmd_var_set_format, mi_cmd_var_update): Do not modify the input
1176 string, use allocated storage instead.
1177 (mi_cmd_var_assign): Adjust call to next_arg() to include new
1180 1999-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com>
1182 * mi-main.c (mi_execute_command): Fix handling of errors.
1184 1999-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com>
1186 * mi-out.c (mi_out_new): Call tui_sfileopen() instead of
1187 deprecated gdb_file_init_astream().
1188 * mi-main.c (mi_console_file_new): Ditto.
1190 Mon Oct 4 15:17:29 1999 Andrew Cagney <cagney@b1.cygnus.com>
1192 * mi-cmds.h: Sort function declarations.
1193 (mi_lookup): Add extern.
1195 * mi-cmds.c (mi_lookup): Delete dead code.
1196 (build_table): Call internal_error instead of error.
1197 (build_table): Send trace output to gdb_stdlog.
1199 1999-10-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1201 * mi-main.c (mi_execute_async_cli_command): Don't do the cleanups
1202 if target_executing is null.
1204 1999-09-28 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1206 * mi-main.c (async_p): Change var name to event_loop_p.
1208 Mon Sep 27 15:11:00 1999 Andrew Cagney <cagney@b1.cygnus.com>
1210 * mi-main.c (mi_execute_async_cli_command, mi_execute_command):
1211 Replace target_has_async with function target_can_async_p.
1213 Sun Sep 26 00:12:52 1999 Andrew Cagney <cagney@b1.cygnus.com>
1215 * mi-main.c (mi_cmd_target_select_continuation): Delete function.
1216 (mi_cmd_target_select): Simplify. target-connect is guarenteed to
1219 Sun Sep 26 00:12:52 1999 Andrew Cagney <cagney@b1.cygnus.com>
1221 * mi-cmds.h (mi_cmd_ftype): Replace mi_impl_ftype.
1222 (enum mi_cmd_result): Define.
1223 * mi-cmds.c (struct mi_cmd): Update.
1224 (mi_lookup): Update.
1225 * mi-main.c (mi_cmd_execute): Update.
1227 * mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_run, mi_cmd_exec_next,
1228 mi_cmd_exec_step, mi_cmd_target_select, mi_cmd_exec_continue,
1229 mi_cmd_exec_return, mi_cmd_exec_finish, mi_cmd_disassemble,
1230 mi_cmd_var_create, mi_cmd_var_delete, mi_cmd_var_set_format,
1231 mi_cmd_var_show_format, mi_cmd_var_info_num_children,
1232 mi_cmd_var_list_children, mi_cmd_var_info_type,
1233 mi_cmd_var_info_expression, mi_cmd_var_show_attributes,
1234 mi_cmd_var_evaluate_expression, mi_cmd_var_update): Update.
1237 1999-09-22 Fernando Nasser <fnasser@totem.to.cygnus.com>
1239 * mi-main.c (mi_cmd_var_create): Use paddr() to format address
1242 1999-09-21 Fernando Nasser <fnasser@totem.to.cygnus.com>
1244 * mi-main.c (mi_cmd_var_create): Test for varobjdebug before
1245 printing trace and send it to gdb_stdlog.
1247 Mon Sep 20 13:41:04 1999 Andrew Cagney <cagney@b1.cygnus.com>
1249 * Makefile.in (mi-out.o): Add dependency list.
1250 * mi-out.c: Include "mi-out.h".
1252 1999-09-18 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1254 * mi-main.c (_initialize_mi_main): Events on stadin are now
1255 handled by stdin_event_handler.
1257 1999-09-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
1259 * mi-cmds.c (mi_cmds): Add var-* commands.
1261 1999-09-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
1263 * mi-main.c (mi_cmd_var_create, mi_cmd_var_delete,
1264 mi_cmd_var_set_format, mi_cmd_var_show_format,
1265 mi_cmd_var_info_num_children, mi_cmd_var_list_children,
1266 mi_cmd_var_info_type, mi_cmd_var_info_expression,
1267 mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression,
1268 mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one,
1269 which_var, next_arg): New functions. Implement the -var-*
1271 * mi-cmds.h: Add prototypes for the above.
1273 1999-09-14 Fernando Nasser <fnasser@totem.to.cygnus.com>
1275 * mi-cmds.c (mi_cmds): Add detach command.
1277 1999-09-09 Fernando Nasser <fnasser@totem.to.cygnus.com>
1279 * mi-cmds.c (lookup_table): Fix typo.
1281 1999-09-09 Fernando Nasser <fnasser@totem.to.cygnus.com>
1283 * mi-cmds.c (mi_cmds): Fix typo and missing command.
1285 1999-09-09 Fernando Nasser <fnasser@totem.to.cygnus.com>
1287 * mi-main.c: Properly align function prototypes.
1288 (mi_cmd_target_select): Proper check for NULL value.
1290 1999-09-09 Fernando Nasser <fnasser@totem.to.cygnus.com>
1292 * mi-main.c (mi_execute_async_cli_command): Fix for native targets
1293 that do not have async yet.
1295 1999-09-01 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1297 * mi-main.c (mi_cmd_disassemble): Remove unused var.
1298 (gdb_do_disassemble): Ditto.
1300 1999-08-30 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1302 * mi-main.c: Replace all the occurrences of 'asynch' in variable
1303 or function names with 'async' to make it consistent with the rest
1306 Mon Aug 30 18:16:39 1999 Andrew Cagney <cagney@b1.cygnus.com>
1308 * mi-main.c: #include <ctype.h> for isspace().
1310 1999-08-27 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1312 * mi-main.c (gdb_do_disassemble): This function returns void, not
1315 1999-08-26 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1317 * mi-main.c (mi_cmd_disassemble): Don't use atoi() on the high
1318 address string, just treat it same as address low.
1319 (gdb_do_disassemble): Parse high_address string before seeing if
1322 1999-08-25 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1324 * mi-main.c (mi_cmd_disassemble): New function to produce
1325 disassembly output for mi.
1326 (gdb_dis_asm_read_memory): New function. Read the disassembly from
1327 the executable file, instead of target memory.
1328 (compare_lines): New function. Compare order of disassembly lines.
1329 (gdb_do_disassemble): New function. Do the real job of getting the
1332 * mi-cmds.c (mi_cmds): Do data-disassemble mi command via the
1333 mi_cmd_disassemble function.
1335 * mi-cmds.h: Export new function mi_cmd_disassemble.
1337 Wed Aug 25 15:58:31 1999 Andrew Cagney <cagney@b1.cygnus.com>
1339 * mi-main.c (mi_command_loop): Remove references to ui-hooks.
1341 1999-08-21 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1343 * mi-main.c (mi_execute_asynch_cli_command): Fix the incorrect
1344 usage of strcat(): allocate enough space for the string.
1346 1999-08-13 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1348 From Christopher Faylor <cgf@cygnus.com>
1349 * mi-main.c (mi_execute_command): Make sure we flush all the
1350 output after each command.
1352 1999-08-10 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1354 * mi-main.c (_initialize_mi_main): Remove casting in call to
1357 Sun Aug 8 17:20:57 1999 Andrew Cagney <cagney@b1.cygnus.com>
1359 * mi-main.c (mi_cmd_target_select, mi_execute_asynch_cli_command):
1360 Replace call to fatal with call to internal_error.
1362 1999-07-26 Fernando Nasser <fnasser@totem.to.cygnus.com>
1364 * mi-main.c (mi_cmd_execute): Add return code.
1365 (mi_execute_command): Make appropriate changes when calling the
1366 function mentioned above.
1367 (mi_cmd_gdb_exit, mi_cmd_target_select,
1368 mi_cmd_target_select_continuation, mi_execute_command,
1369 mi_exec_asynch_cli_cmd, mi_exec_asynch_cli_cmd_continuation):
1370 Print token, prefix, class and output (if any) in one single group
1372 (mi_execute_command, mi_cmd_execute): Fix error prefix.
1373 (mi_cmd_execute): Use exec cleanup for token.
1374 * mi-out.c (mi_out_rewind): New function.
1375 * mi-out.h: Prototype for the above.
1377 1999-07-16 Fernando Nasser <fnasser@totem.to.cygnus.com>
1379 * mi-main.c (mi_cmd_gdb_exit): Use buffer for exit message.
1380 (mi_cmd_execute): Route error messages to correct file.
1381 (mi_execute_asynch_cli_command): Insert line feed after running
1384 1999-07-16 Fernando Nasser <fnasser@totem.to.cygnus.com>
1386 * mi-out.h (mi_out_buffered): Add extern declaration.
1387 * mi-out.c (mi_out_buffered): New function. Insert a string at the
1388 current buffer position.
1389 * mi-main.c (mi_cmd_target_select, mi_execute_command,
1390 mi_cmd_execute, mi_execute_asynch_cli_command): Use the above
1391 function instead of printing to raw_stdout.
1392 (mi_cmd_target_select, mi_cmd_target_select_continuation,
1393 mi_execute_command, mi_cmd_execute, mi_execute_cli_command,
1394 mi_exec_asynch_cli_cmd_continuation): Fix handling of token and
1396 (mi_execute_cli_command): Remove parameter no longer needed.
1398 1999-07-15 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1400 * mi-main.c (mi_cmd_target_select_continuation): Print the numeric
1401 token when we are connected.
1402 (mi_execute_command): Don't print the token now, do it later.
1403 (mi_execute_cli_command): Add a new parameter for the numeric
1404 token. Print the token, the prefix and the class after the
1405 command has executed, not before.
1406 (mi_execute_asynch_cli_command): Don't print an extra blank line.
1408 1999-07-15 Fernando Nasser <fnasser@totem.to.cygnus.com>
1410 * mi-main.c (mi_gdb_exit): Add \n at the end.
1412 1999-07-15 Fernando Nasser <fnasser@totem.to.cygnus.com>
1414 * mi-main.c (mi_cmd_execute): New function. Dispatch a mi operation.
1415 (mi_execute_command): Use the above.
1417 1999-07-15 Fernando Nasser <fnasser@totem.to.cygnus.com>
1419 * mi-main.c: Fix identation.
1421 1999-07-15 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1423 * mi-main.c: Include target.h and inferior.h.
1424 (mi_cmd_target_select): New function to execute the target-select
1426 (mi_cmd_target_select_continuation): New function. Continuation
1427 for the target-select operation.
1428 (mi_execute_command): In case of an MI command which requires
1429 asynchronous execution, do not try to display the result now. If
1430 the execution has to look synchronous don't display the "(gdb)"
1432 (mi_execute_asynch_cli_command): Invoke real asynchronous
1433 commands, set up exec_cleanups, and continuations.
1434 (mi_exec_asynch_cli_cmd_continuation): New function. Continuation
1435 for all the MI execution commands except 'target-select'.
1436 (mi_execute_command): Handle null commands by exiting gdb, instead
1439 * mi-cmds.c (mi_cmds): Hook up -target-select operation to new mi
1442 * mi-cmds.h (mi_cmd_target_select): Add extern declaration.
1444 Thu Jul 15 10:31:39 1999 Andrew Cagney <cagney@b1.cygnus.com>
1446 * mi-main.c (struct mi_console_file): Add field ``prefix''.
1447 (mi_console_file_new): Add argument prefix. Initialize prefix
1449 (mi_console_file_flush): Use ``prefix'' instead of "~" as the
1451 (mi_command_loop): Update stream output prefixes. gdb_stdout ==
1452 "~", gdb_stderr / gdb_stdlog == "&", gdb_stdtarg == "@".
1454 1999-07-13 Fernando Nasser <fnasser@totem.to.cygnus.com>
1456 * mi-main.c (ui_out_data): New field first_header. Fix output when
1457 no breakpoints are found.
1458 (mi_table_begin, mi_table_body, mi_table_header): Test for
1460 (mi_table_end): Test for supress_field_separator.
1461 (mi_message): Remove messages from MI output.
1463 1999-06-30 Fernando Nasser <fnasser@totem.to.cygnus.com>
1465 * mi-cmds.c (mi_cmds[]): Delete gdb-cli operation.
1466 * mi-main.c (parse): Remove ifdefs for cli commands parsing.
1467 (mi-execute-command): Ditto.
1469 Mon Jun 28 13:06:52 1999 Andrew Cagney <cagney@b1.cygnus.com>
1471 * mi-out.h: New file.
1472 (mi_out_new, mi_out_put): Move mi specific delcarations to here.
1473 * ui-out.h: From here.
1475 * mi-main.c: Include "mi-out.h".
1477 1999-06-25 Fernando Nasser <fnasser@totem.to.cygnus.com>
1479 * top.c (print_gdb_version): Add the word HEADLESS when output
1480 follows headless format.
1481 (print_command_lines): Fix typo.
1483 1999-06-25 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
1485 * event-loop.h: Export input_fd.
1486 * mi-main.c (mi_command_loop): Use the event loop if running
1488 (mi_execute_command_wrapper): New function.
1489 (_initialize_mi-main): Set things up for running asynchronously.
1491 1999-06-18 Fernando Nasser <fnasser@totem.to.cygnus.com>
1493 * mi-cmds.c (mi_lookup): Deleted.
1494 (lookup_table): New function. Replaces old mi_lookup() for local
1496 (mi_lookup): New function. External interface for command table
1498 (build_table): New definition.
1499 (mi_cmds[]): Add several command implementations and the gdb-cli
1501 (mi_cmd_execute): Deleted.
1502 * mi-cmds.h: Add type definition for command implementation
1503 function pointers, add declaration for new implementation
1504 functions and a declaration for mi_lookup().
1505 * mi-main.c (mi_execute_asynch_cli_command): New
1506 function. Captures code that was repeated for all asynch
1508 (mi_cmd_exec_*): Use the above new function.
1509 (mi_gdb_cmd_exit): Fix the output, printing something appropriate.
1510 (mi_cmd_exec_finish): New operation implementation function.
1511 (mi_cmd_exec_return): Ditto.
1512 (parse): Prepare to remove cli commands.
1513 (mi_execute_command): Fix the output and change the way mi-cmds is
1516 1999-06-18 Fernando Nasser <fnasser@totem.to.cygnus.com>
1518 * mi-out.c (mi_table_begin): Add missing field separator call.
1520 Thu Jun 17 21:05:40 1999 Fernando Nasser <fnasser@tofu.to.cygnus.com>
1522 * breakpoint.c (breakpoint_1): Remove space in breakpoint table
1524 (mention): Use ui_out for last new line (forgotten).
1526 1999-06-16 Fernando Nasser <fnasser@totem.to.cygnus.com>
1528 * mi-main.c (mi_console_file_flush): Prevent prefix printing when
1529 buffer empty; change prefix to '~'.
1530 (mi_cmd_exec_*): Prefix normal output with '^' instead of
1531 ','; remove unwanted new lines before "stopped".
1533 1999-06-16 Fernando Nasser <fnasser@totem.to.cygnus.com>
1535 * mi-cmds.c (struct mi_cmds): Updated entries for -exec-continue
1536 and exec-next operations.
1537 (mi_cmd_execute): New text for error messages.
1538 * mi-cmds.h: Add declaration for mi_cmd_exec_next and
1539 mi_cmd_exec_continue.
1540 * mi-main.c (mi_cmd_exec_next): New function. Implements exec-next
1542 (mi_cmd_exec_continue): New function. Implements exec-continue
1544 (mi_execute_comand): Add missing space to prompt.
1545 (mi_cmd_exec_run): Ditto.
1546 (mi_cmd_exec_step): Ditto.
1547 * mi-out.c (mi_out_new): Add flags argument to ui_out_new call.
1548 (ui_list_end): Reset supress_field_separator flag.
1550 Sat Jun 12 11:49:10 1999 Andrew Cagney <cagney@b1.cygnus.com>
1552 * mi-cmds.h. mi-cmds.c (exec step): Command implemented by
1553 mi_cmd_exec_step instead of cli call.
1554 * mi-main.c (mi_cmd_exec_step): New function.
1556 * mi-cmds.h. mi-cmds.c (exec run): Command implemented by
1557 mi_cmd_exec_run instead of cli call.
1558 * mi-main.c (mi_cmd_exec_run): New function.
1560 * mi-cmds.h. mi-cmds.c (gdb exit): Command implemented by
1561 mi_cmd_gdb_exit instead of quit_force.
1562 * mi-main.c (mi_cmd_gdb_exit): New function.
1564 Sat Jun 12 11:33:23 1999 Andrew Cagney <cagney@b1.cygnus.com>
1566 * mi-main.c (mi_command_loop): Pass mi_input to
1567 simplified_command_loop.
1568 (mi_input): New function. Calls gdb_readline with no prompt.
1570 Sat Jun 12 11:19:02 1999 Andrew Cagney <cagney@b1.cygnus.com>
1572 * mi-main.c (mi_console_file_fputs): Re-implement. Use a buffer
1573 to accumulate output.
1575 * mi-main.c (struct mi_console_file): Add a buffer.
1576 (mi_console_file_new): Create a buffer.
1577 (mi_console_file_flush): New function.
1579 Sat Jun 12 10:59:39 1999 Andrew Cagney <cagney@b1.cygnus.com>
1581 * mi-cmds.h (raw_stdout): Declare. Will be moved later.
1582 * mi-cmds.c (mi_cmd_execute): Send error messages to RAW stdout.
1583 (mi_cmds): Sort by class.
1585 * mi-main.c (raw_stdout): Make global.
1586 * mi-main.c: Remove #ifdef UI_OUT. File assumes UI_OUT is
1588 * mi-main.c: Include "gdb_string.h".
1589 (mi_out_put): Delete declaration.
1591 1999-06-11 Fernando Nasser <fnasser@totem.to.cygnus.com>
1593 * mi-main.c: Add pre-processor test for UI_OUT.
1594 (mi_execute_command): Add pre-processor test for UI_OUT.
1596 Fri Jun 11 23:11:41 1999 Andrew Cagney <cagney@b1.cygnus.com>
1598 * mi-main.c (raw_stdout): New variable.
1599 (mi_execute_command): Write mi-out direct to raw_stdout.
1600 (mi_command_loop): Create raw_stdout. Attach gdb_stdout to the
1602 (mi_console_file_fputs, mi_console_file_delete,
1603 mi_console_file_new): New functions.
1604 (struct mi_console_file): Declare.
1606 Fri Jun 11 18:34:33 1999 Andrew Cagney <cagney@b1.cygnus.com>
1608 * mi-main.c (mi_execute_command): Call mi_out_put to display the
1610 * mi-out.c (mi_out_put): New function.
1611 * ui-out.h (mi_out_put): Add declare. Will move later.
1612 * Makefile.in (mi-cmds.o, mi-main.o): Add dependency on ui-out.h.
1614 * mi-out.c (mi_field_string, mi_field_fmt, mi_message, mi_flush,
1615 out_field_fmt, list_open, list_close): Replace gdb_stdout with
1617 (field_separator, list_open, list_close): Add uiout parameter.
1618 (mi_table_begin, mi_table_body, mi_table_end, mi_list_begin,
1619 mi_list_end, mi_field_string, mi_field_fmt, out_field_fmt,
1620 out_field_fmt): Update.
1622 * mi-out.c (mi_out_new): Initialize supress_field_separator.
1623 (supress_field_separator): Move into mi-out local data object.
1624 (mi_table_begin, mi_list_begin, field_separator): Update.
1626 Fri Jun 11 16:08:37 1999 Andrew Cagney <cagney@b1.cygnus.com>
1628 * mi-out.c (mi_out_new): New function, replace init_mi_out.
1629 * mi-main.c (mi_command_loop): Call mi_out_new().
1631 * ui-out.h (mi_out_new): Add declaration. Will move later.
1632 (mi_ui_out_impl): Delete.
1634 Wed Jun 9 16:42:16 1999 Andrew Cagney <cagney@b1.cygnus.com>
1636 * mi-main.c: Include "ui-hooks.h".
1637 (mi_init_ui, mi_command_loop): New functions.
1638 (_initialize_mi_main): Install ``mi'' as the interpreter when
1641 Mon Jun 7 18:43:43 1999 Andrew Cagney <cagney@b1.cygnus.com>
1643 From Fernando Nasser <fnasser@totem.to.cygnus.com>
1644 * mi-cmds.c (build_table): Clean up error message.
1645 * mi-cmds.c (mi_cmd_execute), mi-main.c (mi_execute_command): Only
1646 print debug information when mi_debug_p.
1647 * mi-cmds.h (mi_debug_p), mi-main.c: Global, control debug messages.
1649 Thu Jun 3 00:44:52 1999 Andrew Cagney <cagney@b1.cygnus.com>
1651 From Fernando Nasser <fnasser@totem.to.cygnus.com>:
1652 * mi-cmds.c: Add CLI definitions for "exec-arguments",
1653 "exec-next", "gdb-exit", "break-list", "break-info", "exec-step"
1654 and "stack-list-frames" to mi_cmds.
1655 (struct mi_command): Add ``from_tty'' argument to func.
1656 * mi-cmds.h (quit_force): Declare.
1658 1999-05-31 Fernando Nasser <fnasser@totem.to.cygnus.com>
1660 * mi-out.c (mi_table_end): Remove unwanted "\n".
1662 Thu May 27 14:59:06 1999 Andrew Cagney <cagney@b1.cygnus.com>
1664 * top.c: Include "ui-hooks.h".
1665 (call_interp_loop): Tempoary. Pass mi_execute_command to
1666 simplified_command_loop. Initialize gdb_stdout & gdb_stderr to
1667 stdio gdb_file streams. Force all hooks to null.
1669 * mi-cmds.h, mi-main.c, mi-cmds.c: New files.
1670 * Makefile.in (SFILES): Add mi-main.c, mi-cmds.c
1671 (COMMON_OBS): Add mi-main.o, mi-cmds.o.
1672 (mi_cmds_h): Define.
1674 Wed May 26 12:39:49 1999 Andrew Cagney <cagney@b1.cygnus.com>
1676 * top.c (call_interp_loop): Hack. Add extern declaration for
1679 1999-05-25 Fernando Nasser <fnasser@totem.to.cygnus.com>
1681 * mi-out.c: New table syntax.
1683 Mon May 24 16:16:29 1999 Andrew Cagney <cagney@amy.cygnus.com>
1685 mi-out.c (_initialize_mi_out): Add external declaration.
1687 1999-05-21 Fernando Nasser <fnasser@totem.to.cygnus.com>
1689 * mi-out.c (mi_table_begin): Added missing parameter.
1691 1999-05-21 Fernando Nasser <fnasser@totem.to.cygnus.com>
1693 * mi-out.c: Changed table markers and added table id.
1695 1999-05-21 Fernando Nasser <fnasser@totem.to.cygnus.com>
1697 * mi-out.c: New file. Implements low-level ui-out primitives for
1698 CLI-based interaction.
1705 version-control: never