[08/21] gdb: pass ui down to gdb_setup_readline and gdb_disable_readline

Message ID 20230908190227.96319-9-simon.marchi@efficios.com
State New
Headers
Series ui / interp cleansup |

Commit Message

Simon Marchi Sept. 8, 2023, 6:23 p.m. UTC
  This is useful for the upcoming patches that make interps use m_ui
instead of current_ui.

Change-Id: I27a3e586a7e1063050b84714fe408e57953ec108
---
 gdb/cli/cli-interp.c | 4 ++--
 gdb/event-top.c      | 8 ++------
 gdb/event-top.h      | 4 ++--
 gdb/mi/mi-interp.c   | 4 ++--
 gdb/top.c            | 2 +-
 gdb/tui/tui-interp.c | 4 ++--
 6 files changed, 11 insertions(+), 15 deletions(-)
  

Patch

diff --git a/gdb/cli/cli-interp.c b/gdb/cli/cli-interp.c
index 374d379ec7a3..f0fa26919e76 100644
--- a/gdb/cli/cli-interp.c
+++ b/gdb/cli/cli-interp.c
@@ -206,7 +206,7 @@  cli_interp::resume ()
       stream = NULL;
     }
 
-  gdb_setup_readline (1);
+  gdb_setup_readline (ui, 1);
 
   ui->input_handler = command_line_handler;
 
@@ -217,7 +217,7 @@  cli_interp::resume ()
 void
 cli_interp::suspend ()
 {
-  gdb_disable_readline ();
+  gdb_disable_readline (current_ui);
 }
 
 void
diff --git a/gdb/event-top.c b/gdb/event-top.c
index d1be23bcbe9b..54f199d2e393 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -1275,10 +1275,8 @@  async_sigtstp_handler (gdb_client_data arg)
    loop.  */
 
 void
-gdb_setup_readline (int editing)
+gdb_setup_readline (ui *ui, int editing)
 {
-  struct ui *ui = current_ui;
-
   /* If the input stream is connected to a terminal, turn on editing.
      However, that is only allowed on the main UI, as we can only have
      one instance of readline.  Also, INSTREAM might be nullptr when
@@ -1316,10 +1314,8 @@  gdb_setup_readline (int editing)
    interface, like the cli & the mi.  */
 
 void
-gdb_disable_readline (void)
+gdb_disable_readline (ui *ui)
 {
-  struct ui *ui = current_ui;
-
   if (ui->command_editing)
     gdb_rl_callback_handler_remove ();
   ui->unregister_file_handler ();
diff --git a/gdb/event-top.h b/gdb/event-top.h
index f7247f5c4f23..ab78f95a9f62 100644
--- a/gdb/event-top.h
+++ b/gdb/event-top.h
@@ -30,8 +30,8 @@  struct cmd_list_element;
    FIXME: these should really go into top.h.  */
 
 extern void display_gdb_prompt (const char *new_prompt);
-extern void gdb_setup_readline (int);
-extern void gdb_disable_readline (void);
+extern void gdb_setup_readline (ui *ui, int editing);
+extern void gdb_disable_readline (ui *ui);
 extern void gdb_init_signals (void);
 extern void change_line_handler (int);
 
diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c
index be9dacaf9304..3095301b2f11 100644
--- a/gdb/mi/mi-interp.c
+++ b/gdb/mi/mi-interp.c
@@ -122,7 +122,7 @@  mi_interp::resume ()
 
   /* As per hack note in mi_interpreter_init, swap in the output
      channels... */
-  gdb_setup_readline (0);
+  gdb_setup_readline (ui, 0);
 
   ui->call_readline = gdb_readline_no_editing_callback;
   ui->input_handler = mi_execute_command_input_handler;
@@ -142,7 +142,7 @@  mi_interp::resume ()
 void
 mi_interp::suspend ()
 {
-  gdb_disable_readline ();
+  gdb_disable_readline (current_ui);
 }
 
 void
diff --git a/gdb/top.c b/gdb/top.c
index 483e201140e7..a1ef328242c8 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1714,7 +1714,7 @@  undo_terminal_modifications_before_exit (void)
 #if defined(TUI)
   tui_disable ();
 #endif
-  gdb_disable_readline ();
+  gdb_disable_readline (current_ui);
 
   current_ui = saved_top_level;
 }
diff --git a/gdb/tui/tui-interp.c b/gdb/tui/tui-interp.c
index 227b37f374dc..af99501ac69f 100644
--- a/gdb/tui/tui-interp.c
+++ b/gdb/tui/tui-interp.c
@@ -121,7 +121,7 @@  tui_interp::resume ()
       stream = NULL;
     }
 
-  gdb_setup_readline (1);
+  gdb_setup_readline (ui, 1);
 
   ui->input_handler = tui_command_line_handler;
 
@@ -135,7 +135,7 @@  tui_interp::resume ()
 void
 tui_interp::suspend ()
 {
-  gdb_disable_readline ();
+  gdb_disable_readline (current_ui);
   tui_start_enabled = tui_active;
   tui_disable ();
 }