diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2024-12-17 03:28:12 +0100 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2024-12-17 03:31:00 +0100 |
commit | 509cb9f4dd0cee094a51b436a7a278d404b750e7 (patch) | |
tree | d747fb882b5d6bb199f800637de5dc95ff5df0d2 /xC.c | |
parent | b3684c4d9fdf92b9bbabb95f31cd936713c63267 (diff) | |
download | xK-509cb9f4dd0cee094a51b436a7a278d404b750e7.tar.gz xK-509cb9f4dd0cee094a51b436a7a278d404b750e7.tar.xz xK-509cb9f4dd0cee094a51b436a7a278d404b750e7.zip |
xC: fix newer Readline, allow stdin streaming
Also update NEWS.
Diffstat (limited to 'xC.c')
-rw-r--r-- | xC.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -474,6 +474,10 @@ input_rl_start (void *input, const char *program_name) // autofilter, and we don't generally want alphabetic ordering at all rl_sort_completion_matches = false; + // Readline >= 8.0 otherwise prints spurious newlines on EOF. + if (RL_VERSION_MAJOR >= 8) + rl_variable_bind ("enable-bracketed-paste", "off"); + hard_assert (self->prompt != NULL); // The inputrc is read before any callbacks are called, so we need to // register all functions that our user may want to map up front @@ -14603,21 +14607,23 @@ on_readline_input (char *line) if (*line) add_history (line); - // readline always erases the input line after returning from here, + // Readline always erases the input line after returning from here, // but we don't want that to happen if the command to be executed // would switch the buffer (we'd keep the already executed command in // the old buffer and delete any input restored from the new buffer) strv_append_owned (&ctx->pending_input, line); poller_idle_set (&ctx->input_event); } - else + else if (isatty (STDIN_FILENO)) { - // Prevent readline from showing the prompt twice for w/e reason + // Prevent Readline from showing the prompt twice for w/e reason CALL (ctx->input, hide); input_rl__restore (self); CALL (ctx->input, ding); } + else + request_quit (ctx, NULL); if (self->active) // Readline automatically redisplays it |