Fixed backspace and delete so they work properly again -- broken
since 0.44.
-Erik
diff --git a/Changelog b/Changelog
index 9813243..f9d3856 100644
--- a/Changelog
+++ b/Changelog
@@ -29,6 +29,9 @@
Matt Kraai <kraai@alumni.carnegiemellon.edu>.
* Reorganized signal names in kill.c for better architecture support
-- patch thanks to simon wood <simon@mungewell.uklinux.net>
+ * 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 c960fe3..0f6a9bc 100644
--- a/init.c
+++ b/init.c
@@ -224,7 +224,7 @@
}
}
-#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 @@
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 c960fe3..0f6a9bc 100644
--- a/init/init.c
+++ b/init/init.c
@@ -224,7 +224,7 @@
}
}
-#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 @@
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;