summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--ext/date/date_parse.c10
2 files changed, 9 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 1db6c476d8..a5439e935b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sat Nov 3 14:46:15 2012 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * ext/date/date_parse.c (date__parse): revised the tight parser.
+
Sat Nov 3 14:43:42 2012 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/xmldecl.rb (REXML::XMLDecl#content): Add missing \A
diff --git a/ext/date/date_parse.c b/ext/date/date_parse.c
index 7ac9e79836..f431252e9a 100644
--- a/ext/date/date_parse.c
+++ b/ext/date/date_parse.c
@@ -224,9 +224,9 @@ s3e(VALUE hash, VALUE y, VALUE m, VALUE d, int bc)
#define ABBR_MONTHS "jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec"
#ifdef TIGHT_PARSER
-#define VALID_DAYS "(?:" DAYS ")\\b" "|(?:tues|wednes|thur|thurs|" ABBR_DAYS ")\\b\\.?"
-#define VALID_MONTHS "(?:" MONTHS ")\\b" "|(?:sept|" ABBR_MONTHS ")\\b\\.?"
-#define DOTLESS_VALID_MONTHS "(?:" MONTHS ")\\b" "|(?:sept|" ABBR_MONTHS ")\\b"
+#define VALID_DAYS "(?:" DAYS ")" "|(?:tues|wednes|thurs|thur|" ABBR_DAYS ")\\.?"
+#define VALID_MONTHS "(?:" MONTHS ")" "|(?:sept|" ABBR_MONTHS ")\\.?"
+#define DOTLESS_VALID_MONTHS "(?:" MONTHS ")" "|(?:sept|" ABBR_MONTHS ")"
#define BOS "\\A\\s*"
#define FPW "\\027"
#define FPT "\\024"
@@ -804,7 +804,7 @@ parse_eu(VALUE str, VALUE hash)
#ifndef TIGHT_PARSER
"'?(\\d+)[^-\\d\\s]*"
#else
- "(\\d+)(?:st|nd|rd|th)?\\b"
+ "(\\d+)(?:(?:st|nd|rd|th)\\b)?"
#endif
"\\s*"
#ifndef TIGHT_PARSER
@@ -881,7 +881,7 @@ parse_us(VALUE str, VALUE hash)
#ifndef TIGHT_PARSER
"('?\\d+)[^-\\d\\s']*"
#else
- "(\\d+)(?:st|nd|rd|th)?\\b"
+ "(\\d+)(?:(?:st|nd|rd|th)\\b)?"
COM_FPT
#endif
"(?:"