summaryrefslogtreecommitdiff
path: root/gdb/event-top.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2000-03-19 12:30:38 +0000
committerEli Zaretskii <eliz@gnu.org>2000-03-19 12:30:38 +0000
commit9c2fc1c35c65690df226fec6e999f018f70f9d16 (patch)
tree123245fc46bd798f6123e6e13ba53d31b66662c0 /gdb/event-top.c
parent45fe45889762f0471d8240aa2df6b15002ce9f8a (diff)
downloadgdb-9c2fc1c35c65690df226fec6e999f018f70f9d16.tar.gz
* event-top.c (_initialize_event_loop): If instream is not
connected to a terminal device, turn editing off.
Diffstat (limited to 'gdb/event-top.c')
-rw-r--r--gdb/event-top.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/gdb/event-top.c b/gdb/event-top.c
index 6122cba8458..d9a0a7c0efb 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -1133,9 +1133,25 @@ _initialize_event_loop (void)
{
if (event_loop_p)
{
- /* When a character is detected on instream by select or poll,
- readline will be invoked via this callback function. */
- call_readline = rl_callback_read_char_wrapper;
+ /* If the input stream is connected to a terminal, turn on
+ editing. */
+ if (ISATTY (instream))
+ {
+ /* Tell gdb that we will be using the readline library. This
+ could be overwritten by a command in .gdbinit like 'set
+ editing on' or 'off'. */
+ async_command_editing_p = 1;
+
+ /* When a character is detected on instream by select or
+ poll, readline will be invoked via this callback
+ function. */
+ call_readline = rl_callback_read_char_wrapper;
+ }
+ else
+ {
+ async_command_editing_p = 0;
+ call_readline = gdb_readline2;
+ }
/* When readline has read an end-of-line character, it passes
the complete line to gdb for processing. command_line_handler
@@ -1160,10 +1176,5 @@ _initialize_event_loop (void)
only when it actually exists (I.e. after we say 'run' or
after we connect to a remote target. */
add_file_handler (input_fd, stdin_event_handler, 0);
-
- /* Tell gdb that we will be using the readline library. This
- could be overwritten by a command in .gdbinit like 'set
- editing on' or 'off'. */
- async_command_editing_p = 1;
}
}