diff --git a/scsh/tty1.c b/scsh/tty1.c index a67da9b..aaf16a8 100644 --- a/scsh/tty1.c +++ b/scsh/tty1.c @@ -120,16 +120,16 @@ s48_value scheme_tcsetattr(s48_value sch_fd, s48_value sch_option, ** in raw mode. Ah, Unix. */ - if( (VMIN != VEOF && VTIME != VEOL) || !(t.c_lflag & ICANON) ) { - t.c_cc[VMIN] = s48_extract_fixnum (sch_min); - t.c_cc[VTIME] = s48_extract_integer (sch_time); - } - t.c_iflag = s48_extract_integer (sch_iflag); t.c_oflag = s48_extract_integer (sch_oflag); t.c_cflag = s48_extract_integer (sch_cflag); t.c_lflag = s48_extract_integer (sch_lflag); + if( (VMIN != VEOF && VTIME != VEOL) || !(t.c_lflag & ICANON) ) { + t.c_cc[VMIN] = s48_extract_fixnum (sch_min); + t.c_cc[VTIME] = s48_extract_integer (sch_time); + } + cfsetispeed(&t, s48_extract_integer (sch_ispeed)); cfsetospeed(&t, s48_extract_integer (sch_ospeed));