diff --git a/NEWS b/NEWS index 6f5bec05..5b3377db 100644 --- a/NEWS +++ b/NEWS @@ -29,6 +29,8 @@ To be released as 0.11.4. * bug 712: GnuTLS works on https://www-s.uiuc.edu/[] * fix active and passive FTP over IPv6 * bug 978: Python's webbrowser.open_new_tab(URL) works since now +* minor bug 54, Debian bug 338402: don't force the terminal to 8 bits + with no parity * minor bug 951 in user SMJS: garbage-collect SMJS objects on 'File -> Flush all caches' to work around their holding cache entries busy * minor bug 396: never show empty filename in the what-to-do dialog diff --git a/configure.in b/configure.in index c3112a17..9b5503cf 100644 --- a/configure.in +++ b/configure.in @@ -253,7 +253,7 @@ AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP AC_FUNC_MMAP AC_FUNC_STRFTIME -AC_CHECK_FUNCS(cfmakeraw gethostbyaddr herror strerror) +AC_CHECK_FUNCS(gethostbyaddr herror strerror) AC_CHECK_FUNCS(popen uname access chmod alarm timegm mremap) AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr) AC_CHECK_FUNCS(memmove bcopy stpcpy strdup index isdigit mempcpy memrchr) diff --git a/src/osdep/osdep.c b/src/osdep/osdep.c index 9e1af280..55570262 100644 --- a/src/osdep/osdep.c +++ b/src/osdep/osdep.c @@ -745,20 +745,16 @@ unblock_stdin(void) void elinks_cfmakeraw(struct termios *t) { -#ifdef HAVE_CFMAKERAW - cfmakeraw(t); -#ifdef VMIN - t->c_cc[VMIN] = 1; /* cfmakeraw() is broken on AIX --mikulas */ -#endif -#else + /* Bug 54: Do not alter the character-size and parity bits in + * t->c_cflag. If they have unusual values, the terminal + * probably requires those and won't work if ELinks changes + * the flags. The cfmakeraw function would set 8-bit characters + * and no parity, so don't use that. */ t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); t->c_oflag &= ~OPOST; t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); - t->c_cflag &= ~(CSIZE|PARENB); - t->c_cflag |= CS8; t->c_cc[VMIN] = 1; t->c_cc[VTIME] = 0; -#endif } #if !defined(CONFIG_MOUSE) || (!defined(CONFIG_GPM) && !defined(CONFIG_SYSMOUSE) && !defined(OS2_MOUSE))