summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--configure.in4
-rw-r--r--defines.h2
-rw-r--r--parse.y9
4 files changed, 25 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0420ebd9e9..bd5546e2fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -40,6 +40,17 @@ Tue Dec 2 21:31:42 2003 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
* test/runner.rb: exit with the test result.
+Tue Dec 2 20:18:48 2003 Eric Sunshine <sunshine@sunshineco.com>
+
+ * configure.in (AC_PROG_YACC): AC_DEFINE(OLD_YACC) if Yacc is found
+ instead of Bison or byacc.
+
+ * parse.y: If OLD_YACC is defined, ensure that YYMAXDEPTH is at least
+ 10000 (Bison's default) since some old versions of Yacc define it as
+ low as 150 by default, which is too low for Ruby to parse some files,
+ such as date/format.rb. Among other issues, the parse problem causes
+ "make test" to fail.
+
Tue Dec 2 20:03:20 2003 Minero Aoki <aamine@loveruby.net>
* test/fileutils/test_fileutils.rb: check if Pathnames are usable
diff --git a/configure.in b/configure.in
index a23831c5a5..23149915e4 100644
--- a/configure.in
+++ b/configure.in
@@ -157,6 +157,10 @@ AC_SUBST(OUTFLAG)
RUBY_MINGW32
AC_PROG_YACC
+if test "$YACC" = "yacc"; then
+ AC_DEFINE([OLD_YACC])
+fi
+
AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_CHECK_TOOL(AR, ar)
if test -z "$AR"; then
diff --git a/defines.h b/defines.h
index ca7cd8e1e1..6d9a7013c8 100644
--- a/defines.h
+++ b/defines.h
@@ -180,7 +180,7 @@ flush_register_windows(void)
#define PATH_ENV "PATH"
#endif
-#if defined(DOSISH) && !defined(__human68k__)
+#if defined(DOSISH) && !defined(__human68k__) && !defined(__EMX__)
#define ENV_IGNORECASE
#endif
diff --git a/parse.y b/parse.y
index 79bdc15db1..a2c21aa25d 100644
--- a/parse.y
+++ b/parse.y
@@ -177,6 +177,15 @@ static void top_local_setup();
#define nd_paren(node) (char)((node)->u2.id >> CHAR_BIT*2)
#define nd_nest u3.id
+/* Older versions of Yacc set YYMAXDEPTH to a very low value by default (150,
+ for instance). This is too low for Ruby to parse some files, such as
+ date/format.rb, therefore bump the value up to at least Bison's default. */
+#ifdef OLD_YACC
+#ifndef YYMAXDEPTH
+#define YYMAXDEPTH 10000
+#endif
+#endif
+
%}
%union {