From f90e36f2318f2a9f3ffd439840615bfe554109de Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Sun, 20 Nov 2022 22:52:41 +0100 Subject: [PATCH] Add a workaround for issue #1173 The readline compat layer for libedit which otherwise provides native readline functionality in NetBSD and MacOS appears to have a bug that causes subsequent prompts to be delayed until another line is being processed. Re-installing the callback over and over again works around that, and does not seem to harm with GNU libreadline. --- src/term.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/term.c b/src/term.c index bd4e57b1..ef9b8f57 100644 --- a/src/term.c +++ b/src/term.c @@ -1290,6 +1290,15 @@ void term_gotline(char *cmdstr) { term_running = 0; } free(cmdstr); + /* + * This is a workaround for a bug apparently present in the + * readline compat layer of libedit which is natively present in + * NetBSD and MacOS. + * + * see https://github.com/avrdudes/avrdude/issues/1173 + */ + rl_callback_handler_remove(); + rl_callback_handler_install("avrdude> ", term_gotline); } else { // call quit at end of file or terminal ^D term_out("\n");