From d9e7c622607bc74214ad5f9aa0eaa64d7a4eba55 Mon Sep 17 00:00:00 2001 From: Steven Tamm Date: Sat, 22 Jan 2005 15:54:04 +0000 Subject: * s/darwin.h: Removed PTY_ITERATION from here. (DARWIN): Defined. * process.c (init_process): Default process-connection-type to nil on darwin 6 or less, t if it is 7 or higher. This way the broken pty behavior is still allowed on darwin 6 for interactive processes for people that know what they are doing. --- src/process.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/process.c') diff --git a/src/process.c b/src/process.c index 6134d3131bc..9b8b086ec7e 100644 --- a/src/process.c +++ b/src/process.c @@ -187,6 +187,7 @@ extern Lisp_Object QCfilter; #include "syswait.h" extern void set_waiting_for_input P_ ((EMACS_TIME *)); +extern char *get_operating_system_release (); #ifndef USE_CRT_DLL extern int errno; @@ -6704,6 +6705,19 @@ init_process () Fprovide (intern ("make-network-process"), subfeatures); } #endif /* HAVE_SOCKETS */ + +#ifdef DARWIN + /* PTYs are broken on Darwin < 6, but are sometimes useful for interactive + processes. As such, we only change the default value. */ + if (initialized) + { + char *release = get_operating_system_release(); + if (!release || !release[0] || (release[0] < MIN_PTY_KERNEL_VERSION + && release[1] == '.')) { + Vprocess_connection_type = Qnil; + } + } +#endif } void -- cgit v1.2.3