X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/c3ff76c42adaaa6a51a82d9573108b0a8d5dfa6d..660872b63b75b61d11b09471b5a254e1e5db3c1c:/src/systty.h diff --git a/src/systty.h b/src/systty.h index 4814c913b0..6aeb2f65a4 100644 --- a/src/systty.h +++ b/src/systty.h @@ -63,12 +63,12 @@ Boston, MA 02111-1307, USA. */ #if defined(_AIX) && defined(_I386) #include /* termios.h needs to be before termio.h */ #include -#else /* not HAVE_TERMIOS */ +#else /* not (_AIX && _I386) */ #ifndef NO_TERMIO #include #endif #include -#endif /* _AIX && _I386 */ +#endif /* not (_AIX && _I386) */ #define INCLUDED_FCNTL #include #else /* neither HAVE_TERMIO nor HAVE_TERMIOS */ @@ -292,13 +292,26 @@ static struct sensemode { #endif -/* EMACS_GETPGRP (arg) returns the process group of the terminal. */ +/* EMACS_GETPGRP (arg) returns the process group of the process. */ +#ifdef __GNU_LIBRARY__ +/* GNU libc by default defines getpgrp with no args on all systems. */ +#if __GLIBC__ >= 2 +/* glibc-2.1 adds the BSD compatibility getpgrp function + if you use _BSD_SOURCE, which Emacs does on GNU/Linux systems. */ +#if __GLIBC_MINOR__ < 1 || ! defined (__FAVOR_BSD) +#define GETPGRP_NO_ARG +#endif +#else /* __GLIBC__ < 2 */ +#define GETPGRP_NO_ARG +#endif /* __GLIBC__ < 2 */ +#else /* not __GNU_LIBRARY__ */ #if defined (USG) && !defined (GETPGRP_NEEDS_ARG) # if !defined (GETPGRP_NO_ARG) # define GETPGRP_NO_ARG # endif #endif +#endif /* not __GNU_LIBRARY__ */ #if defined (GETPGRP_NO_ARG) # define EMACS_GETPGRP(x) getpgrp() @@ -379,6 +392,10 @@ struct emacs_tty { expression, so we moved them out to their own functions in sysdep.c. */ #define EMACS_GET_TTY(fd, p) (emacs_get_tty ((fd), (p))) #define EMACS_SET_TTY(fd, p, waitp) (emacs_set_tty ((fd), (p), (waitp))) +#ifdef P_ /* Unfortunately this file is sometimes included before lisp.h */ +extern int emacs_get_tty P_ ((int, struct emacs_tty *)); +extern int emacs_set_tty P_ ((int, struct emacs_tty *, int)); +#endif /* Define EMACS_TTY_TABS_OK. */