Commit 25241b4d authored by Stefan Monnier's avatar Stefan Monnier

* configure.in: Check for presence of cfmakeraw and cfsetspeed.

* sysdep.c (cfmakeraw): Provide fallback implementation.
(serial_configure): Provide fallback implementation of cfsetspeed.
parent fca64cc4
2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
* configure.in: Check for presence of cfmakeraw and cfsetspeed.
2008-06-15 Glenn Morris <rgm@gnu.org>
* info/dir: Add sasl.
......
......@@ -2300,7 +2300,8 @@ utimes setrlimit setpgid getcwd getwd shutdown getaddrinfo \
__fpending mblen mbrlen mbsinit strsignal setitimer ualarm index rindex \
sendto recvfrom getsockopt setsockopt getsockname getpeername \
gai_strerror mkstemp getline getdelim mremap memmove fsync sync bzero \
memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign)
memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \
cfmakeraw cfsetspeed)
AC_CHECK_HEADERS(sys/un.h)
......
2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
* sysdep.c (cfmakeraw): Provide fallback implementation.
(serial_configure): Provide fallback implementation of cfsetspeed.
2008-06-20 Kenichi Handa <handa@m17n.org>
* xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
......
......@@ -244,6 +244,10 @@ void hft_reset P_ ((struct tty_display_info *));
SIGMASKTYPE sigprocmask_set;
#if !defined (HAVE_CFMAKERAW)
void cfmakeraw(struct termios *);
#endif /* !defined (HAVE_CFMAKERAW */
#if !defined (HAVE_GET_CURRENT_DIR_NAME) || defined (BROKEN_GET_CURRENT_DIR_NAME)
......@@ -5447,7 +5451,12 @@ serial_configure (struct Lisp_Process *p,
else
tem = Fplist_get (p->childp, QCspeed);
CHECK_NUMBER (tem);
#ifdef HAVE_CFSETSPEED
err = cfsetspeed (&attr, XINT (tem));
#else
err = cfsetispeed(&attr, XINT (tem));
err = err + cfsetospeed(&attr, XINT (tem));
#endif
if (err != 0)
error ("cfsetspeed(%d) failed: %s", XINT (tem), emacs_strerror (errno));
childp2 = Fplist_put (childp2, QCspeed, tem);
......@@ -5577,6 +5586,18 @@ serial_configure (struct Lisp_Process *p,
p->childp = childp2;
}
#if !defined (HAVE_CFMAKERAW)
/* Workaround for targets which are missing cfmakeraw */
/* Pasted from man page; added in serial.c arbitrarily */
void cfmakeraw(struct termios *termios_p)
{
termios_p->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
termios_p->c_oflag &= ~OPOST;
termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
termios_p->c_cflag &= ~(CSIZE|PARENB);
termios_p->c_cflag |= CS8;
}
#endif /* !defined (HAVE_CFMAKERAW */
#endif /* TERMIOS */
/* arch-tag: edb43589-4e09-4544-b325-978b5b121dcf
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment