summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-05-22 07:29:50 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-05-22 07:29:50 +0000
commitb8f39362b29f3b2f4a34d3b4b24c05edc9612854 (patch)
treec912f7e56e53ea692fae294f5f87d997cb3b44fb
parente4e5edd5c30ea8b3b0f85e1469e0379e2b67e21e (diff)
/p is back for transit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--parse.y15
-rw-r--r--re.c14
2 files changed, 15 insertions, 14 deletions
diff --git a/parse.y b/parse.y
index 9603ec9..8c63488 100644
--- a/parse.y
+++ b/parse.y
@@ -1434,7 +1434,7 @@ cases : opt_else
exc_list : args
| none
-exc_var : kIN lhs
+exc_var : ':' lhs
{
$$ = $2;
}
@@ -2257,7 +2257,8 @@ parse_regx(term, paren)
options |= RE_OPTION_EXTENDED;
break;
case 'p': /* /p is obsolete, works as /m */
- yyerror("/p option is obsolete; use /m\n\tnote: /m does not change ^, $ behavior");
+ rb_warn("/p option is obsolete; use /m\n\tnote: /m does not change ^, $ behavior");
+ options |= RE_OPTION_POSIXLINE;
break;
case 'm':
options |= RE_OPTION_MULTILINE;
@@ -2266,16 +2267,16 @@ parse_regx(term, paren)
once = 1;
break;
case 'n':
- kcode = 8;
+ kcode = 16;
break;
case 'e':
- kcode = 16;
+ kcode = 32;
break;
case 's':
- kcode = 24;
+ kcode = 48;
break;
case 'u':
- kcode = 32;
+ kcode = 64;
break;
default:
pushback(c);
@@ -4654,7 +4655,7 @@ rb_intern(name)
const char *name;
{
static ID last_id = LAST_TOKEN;
- int id;
+ ID id;
int last;
if (st_lookup(sym_tbl, name, &id))
diff --git a/re.c b/re.c
index 1295ef2..ef1614d 100644
--- a/re.c
+++ b/re.c
@@ -791,33 +791,33 @@ rb_reg_initialize(obj, s, len, options)
default:
FL_SET(re, reg_kcode);
break;
- case 8:
+ case 16:
kcode_none(re);
break;
- case 16:
+ case 32:
kcode_euc(re);
break;
- case 24:
+ case 48:
kcode_sjis(re);
break;
- case 32:
+ case 64:
kcode_utf8(re);
break;
}
- if (options & ~0x7) {
+ if (options & ~0xf) {
kcode_set_option((VALUE)re);
}
if (ruby_ignorecase) {
options |= RE_OPTION_IGNORECASE;
FL_SET(re, REG_CASESTATE);
}
- re->ptr = make_regexp(s, len, options & 0x7);
+ re->ptr = make_regexp(s, len, options & 0xf);
re->str = ALLOC_N(char, len+1);
memcpy(re->str, s, len);
re->str[len] = '\0';
re->len = len;
- if (options & ~0x7) {
+ if (options & ~0xf) {
kcode_reset_option();
}
}