Remove user_call_depth
This changes execute_user_command to remove user_call_depth, using the size of user_args_stack instead. This avoids a cleanup. ChangeLog 2017-08-03 Tom Tromey <tom@tromey.com> * cli/cli-script.c (do_restore_user_call_depth): Remove. (execute_user_command): Remove user_call_depth; use user_args_stack's size instead.
This commit is contained in:
parent
898e0c8e87
commit
ac991630ca
2 changed files with 8 additions and 15 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2017-08-03 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* cli/cli-script.c (do_restore_user_call_depth): Remove.
|
||||||
|
(execute_user_command): Remove user_call_depth; use
|
||||||
|
user_args_stack's size instead.
|
||||||
|
|
||||||
2017-08-03 Tom Tromey <tom@tromey.com>
|
2017-08-03 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* top.h (in_user_command): Remove.
|
* top.h (in_user_command): Remove.
|
||||||
|
|
|
@ -372,16 +372,6 @@ execute_cmd_post_hook (struct cmd_list_element *c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Execute the command in CMD. */
|
|
||||||
static void
|
|
||||||
do_restore_user_call_depth (void * call_depth)
|
|
||||||
{
|
|
||||||
int *depth = (int *) call_depth;
|
|
||||||
|
|
||||||
(*depth)--;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
execute_user_command (struct cmd_list_element *c, char *args)
|
execute_user_command (struct cmd_list_element *c, char *args)
|
||||||
{
|
{
|
||||||
|
@ -389,7 +379,6 @@ execute_user_command (struct cmd_list_element *c, char *args)
|
||||||
struct command_line *cmdlines;
|
struct command_line *cmdlines;
|
||||||
struct cleanup *old_chain;
|
struct cleanup *old_chain;
|
||||||
enum command_control_type ret;
|
enum command_control_type ret;
|
||||||
static int user_call_depth = 0;
|
|
||||||
extern unsigned int max_user_call_depth;
|
extern unsigned int max_user_call_depth;
|
||||||
|
|
||||||
cmdlines = c->user_commands;
|
cmdlines = c->user_commands;
|
||||||
|
@ -399,14 +388,12 @@ execute_user_command (struct cmd_list_element *c, char *args)
|
||||||
|
|
||||||
scoped_user_args_level push_user_args (args);
|
scoped_user_args_level push_user_args (args);
|
||||||
|
|
||||||
if (++user_call_depth > max_user_call_depth)
|
if (user_args_stack.size () > max_user_call_depth)
|
||||||
error (_("Max user call depth exceeded -- command aborted."));
|
error (_("Max user call depth exceeded -- command aborted."));
|
||||||
|
|
||||||
old_chain = make_cleanup (do_restore_user_call_depth, &user_call_depth);
|
|
||||||
|
|
||||||
/* Set the instream to 0, indicating execution of a
|
/* Set the instream to 0, indicating execution of a
|
||||||
user-defined function. */
|
user-defined function. */
|
||||||
make_cleanup (do_restore_instream_cleanup, ui->instream);
|
old_chain = make_cleanup (do_restore_instream_cleanup, ui->instream);
|
||||||
ui->instream = NULL;
|
ui->instream = NULL;
|
||||||
|
|
||||||
scoped_restore save_async = make_scoped_restore (¤t_ui->async, 0);
|
scoped_restore save_async = make_scoped_restore (¤t_ui->async, 0);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue