summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y4
-rw-r--r--version.h8
3 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 4bbec4a..8c6e793 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jan 6 09:03:35 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (yylex): 8 and 9 in octal integer should cause compile
+ error. [ruby-dev:35729]
+
Mon Jan 5 11:14:39 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_thread_schedule): runs deferred finalizers.
diff --git a/parse.y b/parse.y
index 08c0323..452d209 100644
--- a/parse.y
+++ b/parse.y
@@ -3969,7 +3969,8 @@ yylex()
nondigit = c;
continue;
}
- if (c < '0' || c > '7') break;
+ if (c < '0' || c > '9') break;
+ if (c > '7') goto invalid_octal;
nondigit = 0;
tokadd(c);
} while ((c = nextc()) != -1);
@@ -3986,6 +3987,7 @@ yylex()
}
}
if (c > '7' && c <= '9') {
+ invalid_octal:
yyerror("Illegal octal digit");
}
else if (c == '.' || c == 'e' || c == 'E') {
diff --git a/version.h b/version.h
index 8e889ad..4535dd4 100644
--- a/version.h
+++ b/version.h
@@ -1,15 +1,15 @@
#define RUBY_VERSION "1.8.7"
-#define RUBY_RELEASE_DATE "2009-01-05"
+#define RUBY_RELEASE_DATE "2009-01-06"
#define RUBY_VERSION_CODE 187
-#define RUBY_RELEASE_CODE 20090105
-#define RUBY_PATCHLEVEL 77
+#define RUBY_RELEASE_CODE 20090106
+#define RUBY_PATCHLEVEL 78
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8
#define RUBY_VERSION_TEENY 7
#define RUBY_RELEASE_YEAR 2009
#define RUBY_RELEASE_MONTH 1
-#define RUBY_RELEASE_DAY 5
+#define RUBY_RELEASE_DAY 6
#ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[];