diff --git a/Changelog b/Changelog index 981324308..f9d385622 100644 --- a/Changelog +++ b/Changelog @@ -29,6 +29,9 @@ Matt Kraai . * Reorganized signal names in kill.c for better architecture support -- patch thanks to simon wood + * In 0.43, backspace and delete worked properly, but with 0.45, + it just echoed a ^? for backspace, and ^H for control-h. This + was due to a broken macro in init.c, that is now fixed. -Erik Andersen diff --git a/init.c b/init.c index c960fe333..0f6a9bc9b 100644 --- a/init.c +++ b/init.c @@ -224,7 +224,7 @@ static void message(int device, char *fmt, ...) } } -#define CTRLCHAR(ch) ((ch)&0x1f) +#define CTRLCHAR(ch) ((ch)-0x40) /* Set terminal settings to reasonable defaults */ void set_term(int fd) @@ -242,7 +242,7 @@ void set_term(int fd) tty.c_cc[VSTART] = CTRLCHAR('Q'); /* Ctrl-Q */ tty.c_cc[VSTOP] = CTRLCHAR('S'); /* Ctrl-S */ tty.c_cc[VSUSP] = CTRLCHAR('Z'); /* Ctrl-Z */ - + /* use line dicipline 0 */ tty.c_line = 0; diff --git a/init/init.c b/init/init.c index c960fe333..0f6a9bc9b 100644 --- a/init/init.c +++ b/init/init.c @@ -224,7 +224,7 @@ static void message(int device, char *fmt, ...) } } -#define CTRLCHAR(ch) ((ch)&0x1f) +#define CTRLCHAR(ch) ((ch)-0x40) /* Set terminal settings to reasonable defaults */ void set_term(int fd) @@ -242,7 +242,7 @@ void set_term(int fd) tty.c_cc[VSTART] = CTRLCHAR('Q'); /* Ctrl-Q */ tty.c_cc[VSTOP] = CTRLCHAR('S'); /* Ctrl-S */ tty.c_cc[VSUSP] = CTRLCHAR('Z'); /* Ctrl-Z */ - + /* use line dicipline 0 */ tty.c_line = 0;