binutils-gdb/gdb/cli
Simon Marchi 80a65e9b8f Error out immediatly when using if command without args in command list
When using "if" (or while) without args directly on gdb's command line,
you get this:

  (gdb) if
  if/while commands require arguments

When doing the same when entering a command list, you only get an error
when the command is executed, when parse_exp_in_context_1 fails to
evaluate the expression.

  (gdb) define foo
  Type commands for definition of "foo".
  End with a line saying just "end".
  >if
   >end
  >end
  (gdb) foo
  Argument required (expression to compute).

I think it would make more sense to error out when inputting the command
list directly:

  (gdb) define foo
  Type commands for definition of "foo".
  End with a line saying just "end".
  >if
  if/while commands require arguments.

The only required change is to check whether args is an empty string in
build_command_line.

gdb/ChangeLog:

	* cli/cli-script.c (build_command_line): For if/while commands,
	check whether args is empty.

gdb/testsuite/ChangeLog:

	* gdb.base/commands.exp: Call new procedure.
	(define_if_without_arg_test): New procedure.
2017-09-04 19:13:48 +02:00
..
cli-cmds.c Kill init_sal 2017-09-04 17:11:45 +01:00
cli-cmds.h Change return type of find_and_open_script 2017-08-03 07:58:53 -06:00
cli-decode.c Introduce class completion_tracker & rewrite completion<->readline interaction 2017-07-17 14:45:59 +01:00
cli-decode.h Clean up "completer_handle_brkchars" callback handling 2017-07-17 12:05:03 +01:00
cli-dump.c Use gdb::unique_xmalloc_ptr when calling tilde_expand 2017-08-05 15:52:49 -06:00
cli-interp.c C++-fy struct interp/cli_interp/tui_interp/mi_interp 2017-02-03 16:30:04 +00:00
cli-interp.h C++-fy struct interp/cli_interp/tui_interp/mi_interp 2017-02-03 16:30:04 +00:00
cli-logging.c Move "tee" building down to interpreter::set_logging_proc 2017-02-02 22:00:43 +00:00
cli-script.c Error out immediatly when using if command without args in command list 2017-09-04 19:13:48 +02:00
cli-script.h Move command lines types/declarations to cli-script.h 2017-09-04 19:09:12 +02:00
cli-setshow.c Use std::string in do_set_command 2017-09-03 13:03:07 -06:00
cli-setshow.h update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
cli-utils.c -Wwrite-strings: Some constification in gdb/breakpoint.c 2017-04-05 19:21:36 +01:00
cli-utils.h -Wwrite-strings: Some constification in gdb/breakpoint.c 2017-04-05 19:21:36 +01:00