From c96bbfcd7a16d7024ea55df115e632172a28f61e Mon Sep 17 00:00:00 2001 From: Rene Richarz Date: Thu, 7 May 2026 03:14:21 +0200 Subject: [PATCH] configure local sh for Tektronix-style line editing --- src/tube.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/tube.c b/src/tube.c index 9095249..d384b0a 100755 --- a/src/tube.c +++ b/src/tube.c @@ -421,8 +421,6 @@ void tube_init(int argc, char* argv[]) // printf("argc=%d firstArg=%d argPty=%d\n", argc, firstArg, argPty); fflush(stdout); -// ****************************** forkpty code ********************** - { char *str = NULL; pid_t pid; @@ -473,6 +471,18 @@ void tube_init(int argc, char* argv[]) setenv("TERM", "tek4014", 1); if (argPty) { + + // configure local sh for Tektronix-style line editing + struct termios tio; + if (tcgetattr(STDIN_FILENO, &tio) == 0) { + #ifdef ECHOCTL + tio.c_lflag &= ~ECHOCTL; + #endif + tio.c_lflag |= ECHOE; + tio.c_cc[VERASE] = 0x08; + tcsetattr(STDIN_FILENO, TCSANOW, &tio); + } + // setenv("PS1", "tek4010$ ", 1); execl("/bin/sh", "sh", "-i", (char *) NULL); }