43 lines
1.1 KiB
Diff
43 lines
1.1 KiB
Diff
|
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=215816
|
||
|
|
||
|
|
||
|
Index: ./readline/readline.c
|
||
|
===================================================================
|
||
|
RCS file: /cvs/src/src/readline/readline.c,v
|
||
|
retrieving revision 1.10
|
||
|
diff -u -p -r1.10 readline.c
|
||
|
--- ./readline/readline.c 5 May 2006 18:26:12 -0000 1.10
|
||
|
+++ ./readline/readline.c 22 Nov 2006 19:40:17 -0000
|
||
|
@@ -295,6 +295,7 @@ readline (prompt)
|
||
|
const char *prompt;
|
||
|
{
|
||
|
char *value;
|
||
|
+ int in_callback;
|
||
|
|
||
|
/* If we are at EOF return a NULL string. */
|
||
|
if (rl_pending_input == EOF)
|
||
|
@@ -303,6 +304,13 @@ readline (prompt)
|
||
|
return ((char *)NULL);
|
||
|
}
|
||
|
|
||
|
+ /* When we call readline, we have to make sure that readline isn't in
|
||
|
+ the callback state. Otherwise, it will get really confused.
|
||
|
+ PR gdb tui/2173. */
|
||
|
+ in_callback = RL_ISSTATE (RL_STATE_CALLBACK);
|
||
|
+ if (in_callback)
|
||
|
+ RL_UNSETSTATE (RL_STATE_CALLBACK);
|
||
|
+
|
||
|
rl_set_prompt (prompt);
|
||
|
|
||
|
rl_initialize ();
|
||
|
@@ -321,6 +329,9 @@ readline (prompt)
|
||
|
rl_clear_signals ();
|
||
|
#endif
|
||
|
|
||
|
+ if (in_callback)
|
||
|
+ RL_SETSTATE (RL_STATE_CALLBACK);
|
||
|
+
|
||
|
return (value);
|
||
|
}
|
||
|
|