(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.
+2005-01-22 Steven Tamm <steventamm@mac.com>
+
+ * 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.
+
2005-01-22 Kim F. Storm <storm@cua.dk>
* window.c (auto_window_vscroll_p): New boolean.
#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;
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
#define BSD_SYSTEM
/* #define VMS */
+#ifndef DARWIN
+#define DARWIN 1
+#endif
+
/* MAC_OS is used to conditionally compile code common to both MAC_OS8
and MAC_OSX. */
#ifdef MAC_OSX
/*
* Define HAVE_PTYS if the system supports pty devices.
+ * Note: PTYs are broken on darwin <6. Use at your own risk.
*/
#define HAVE_PTYS
-
-/*
- * PTYs only work correctly on Darwin 7 or higher. So make PTY_ITERATION
- * Test the operating system release and only allow PTYs if it is greater
- * than 7.
+/**
+ * PTYs only work correctly on Darwin 7 or higher. So make the
+ * default for process-connection-type dependent on the kernel
+ * version.
*/
#define MIN_PTY_KERNEL_VERSION '7'
-#define PTY_ITERATION \
- char *release = get_operating_system_release(); \
- if (!release || !release[0] || (release[0] < MIN_PTY_KERNEL_VERSION \
- && release[1] == '.')) \
- return -1; \
- for (c = FIRST_PTY_LETTER; c <= 'z'; c++) \
- for (i = 0; i < 16; i++)
-
/*
* Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate