This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 03/10] gdb_readline2 -> gdb_readline_callback_no_editing
- From: Sergio Durigan Junior <sergiodj at redhat dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Thu, 18 Feb 2016 16:59:37 -0500
- Subject: Re: [PATCH 03/10] gdb_readline2 -> gdb_readline_callback_no_editing
- Authentication-results: sourceware.org; auth=none
- References: <1455817236-13642-1-git-send-email-palves at redhat dot com> <1455817236-13642-4-git-send-email-palves at redhat dot com>
On Thursday, February 18 2016, Pedro Alves wrote:
> The "2" in "gdb_readline2" doesn't really convey much. Rename for clarity.
Any reason to put the "callback" in the middle of the name? I usually
prefer to put it in the end. "gdb_readline_no_editing_callback" seems
better to me.
Other than that, LGTM.
> gdb/ChangeLog:
> 2016-02-18 Pedro Alves <palves@redhat.com>
>
> * event-top.c (gdb_readline2): Rename to ...
> (gdb_readline_callback_no_editing): ... this.
> (change_line_handler, stdin_event_handler)
> (gdb_setup_readline): Adjust.
> * event-top.h (gdb_readline2): Rename to ...
> (gdb_readline_callback_no_editing): ... this, and move closer to
> other readline-related declarations.
> * mi/mi-interp.c (mi_interpreter_resume): Adjust.
> ---
> gdb/event-top.c | 36 ++++++++++++++++++------------------
> gdb/event-top.h | 2 +-
> gdb/mi/mi-interp.c | 2 +-
> 3 files changed, 20 insertions(+), 20 deletions(-)
>
> diff --git a/gdb/event-top.c b/gdb/event-top.c
> index 2309cce..35830119 100644
> --- a/gdb/event-top.c
> +++ b/gdb/event-top.c
> @@ -189,9 +189,9 @@ cli_command_loop (void *data)
> /* Change the function to be invoked every time there is a character
> ready on stdin. This is used when the user sets the editing off,
> therefore bypassing readline, and letting gdb handle the input
> - itself, via gdb_readline2. Also it is used in the opposite case in
> - which the user sets editing on again, by restoring readline
> - handling of the input. */
> + itself, via gdb_readline_callback_no_editing. Also it is used in
> + the opposite case in which the user sets editing on again, by
> + restoring readline handling of the input. */
> static void
> change_line_handler (void)
> {
> @@ -209,9 +209,9 @@ change_line_handler (void)
> }
> else
> {
> - /* Turn off editing by using gdb_readline2. */
> + /* Turn off editing by using gdb_readline_callback_no_editing. */
> gdb_rl_callback_handler_remove ();
> - call_readline = gdb_readline2;
> + call_readline = gdb_readline_callback_no_editing;
>
> /* Set up the command handler as well, in case we are called as
> first thing from .gdbinit. */
> @@ -410,8 +410,9 @@ top_level_prompt (void)
>
> /* When there is an event ready on the stdin file desriptor, instead
> of calling readline directly throught the callback function, or
> - instead of calling gdb_readline2, give gdb a chance to detect
> - errors and do something. */
> + instead of calling gdb_readline_callback_no_editing, give gdb a
> + chance to detect errors and do something. */
> +
> void
> stdin_event_handler (int error, gdb_client_data client_data)
> {
> @@ -699,13 +700,11 @@ command_line_handler (char *rl)
> }
>
> /* Does reading of input from terminal w/o the editing features
> - provided by the readline library. */
> + provided by the readline library. Calls the line input handler
> + once we have a whole input line. */
>
> -/* NOTE: 1999-04-30 Asynchronous version of gdb_readline; gdb_readline
> - will become obsolete when the event loop is made the default
> - execution for gdb. */
> void
> -gdb_readline2 (gdb_client_data client_data)
> +gdb_readline_callback_no_editing (gdb_client_data client_data)
> {
> int c;
> char *result;
> @@ -728,11 +727,12 @@ gdb_readline2 (gdb_client_data client_data)
> result = (char *) xmalloc (result_size);
>
> /* We still need the while loop here, even though it would seem
> - obvious to invoke gdb_readline2 at every character entered. If
> - not using the readline library, the terminal is in cooked mode,
> - which sends the characters all at once. Poll will notice that the
> - input fd has changed state only after enter is pressed. At this
> - point we still need to fetch all the chars entered. */
> + obvious to invoke gdb_readline_callback_no_editing at every
> + character entered. If not using the readline library, the
> + terminal is in cooked mode, which sends the characters all at
> + once. Poll will notice that the input fd has changed state only
> + after enter is pressed. At this point we still need to fetch all
> + the chars entered. */
>
> while (1)
> {
> @@ -1055,7 +1055,7 @@ gdb_setup_readline (void)
> else
> {
> async_command_editing_p = 0;
> - call_readline = gdb_readline2;
> + call_readline = gdb_readline_callback_no_editing;
> }
>
> /* When readline has read an end-of-line character, it passes the
> diff --git a/gdb/event-top.h b/gdb/event-top.h
> index 4f20770..64c6fdf 100644
> --- a/gdb/event-top.h
> +++ b/gdb/event-top.h
> @@ -44,7 +44,6 @@ extern void handle_stop_sig (int sig);
> #endif
> extern void handle_sigint (int sig);
> extern void handle_sigterm (int sig);
> -extern void gdb_readline2 (void *client_data);
> extern void async_request_quit (void *arg);
> extern void stdin_event_handler (int error, void *client_data);
> extern void async_disable_stdin (void);
> @@ -62,6 +61,7 @@ extern void (*input_handler) (char *);
> extern int input_fd;
> extern void (*after_char_processing_hook) (void);
> extern int call_stdin_event_handler_again_p;
> +extern void gdb_readline_callback_no_editing (void *client_data);
>
> /* Wrappers for rl_callback_handler_remove and
> rl_callback_handler_install that keep track of whether the callback
> diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c
> index 7f42367..80c8259 100644
> --- a/gdb/mi/mi-interp.c
> +++ b/gdb/mi/mi-interp.c
> @@ -181,7 +181,7 @@ mi_interpreter_resume (void *data)
>
> /* These overwrite some of the initialization done in
> _intialize_event_loop. */
> - call_readline = gdb_readline2;
> + call_readline = gdb_readline_callback_no_editing;
> input_handler = mi_execute_command_input_handler;
> async_command_editing_p = 0;
> /* FIXME: This is a total hack for now. PB's use of the MI
> --
> 1.9.3
Thanks,
--
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/