summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l19
1 files changed, 18 insertions, 1 deletions
diff --git a/parser.l b/parser.l
index 8bcb53ba..7c8b3842 100644
--- a/parser.l
+++ b/parser.l
@@ -46,11 +46,28 @@
#include "parser.h"
#include "txr.h"
+#define VER(MAJ, MIN, SUB) ((MAJ) * 100000 + (MIN) * 1000 + SUB)
+
+#define FLEX_VER VER(YY_FLEX_MAJOR_VERSION, \
+ YY_FLEX_MINOR_VERSION, \
+ YY_FLEX_SUBMINOR_VERSION)
+
#define YY_NO_UNISTD_H
-/* Defeat flex's calls to isatty, which happene even in batch mode */
+/* Defeat flex's calls to isatty, which happens even in batch mode */
+
#undef isatty
+
+/*
+ * Until 2.5.36, the Flex skeleton contained "extern int isatty(int)",
+ * requiring special handling.
+ */
+#if FLEX_VER <= VER(2, 5, 36)
+#define isatty(x) no_isatty
+int no_isatty = 0;
+#else
#define isatty(x) 0
+#endif
#define YY_INPUT(buf, result, max_size) \
do { \