summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorYukihiro Matsumoto <matz@ruby-lang.org>1994-12-08 14:17:29 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-17 22:09:30 +0900
commit00e36aa09f54925c2f9c30524b48f4f54a9adb23 (patch)
tree57bf15576109b53406796c66b29d5e11d9fd99c0 /parse.y
parent4dfd93c72a9a221c5575c5888483f2fb55c82117 (diff)
version 0.60v0_60
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.60.tar.gz Thu Dec 8 14:17:29 1994 Yukihiro Matsumoto (matz@ix-02) * 0.60 released - alpha test baseline.
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y18
1 files changed, 12 insertions, 6 deletions
diff --git a/parse.y b/parse.y
index 1e3e3a9d5b..5fc35a5041 100644
--- a/parse.y
+++ b/parse.y
@@ -3,7 +3,7 @@
parse.y -
$Author: matz $
- $Date: 1994/11/22 01:22:38 $
+ $Date: 1994/12/06 09:30:09 $
created at: Fri May 28 18:02:42 JST 1993
Copyright (C) 1994 Yukihiro Matsumoto
@@ -1283,8 +1283,10 @@ parse_string(term)
tokadd(c);
}
else {
+ int flags = EXPAND_B;
+ if (term != '"') flags |= LEAVE_BS;
pushback();
- read_escape(LEAVE_BS | EXPAND_B);
+ read_escape(flags);
}
continue;
}
@@ -1364,9 +1366,9 @@ yylex()
retry:
switch (c = nextc()) {
- case '\0':
- case '\004':
- case '\032':
+ case '\0': /* NUL */
+ case '\004': /* ^D */
+ case '\032': /* ^Z */
case -1: /* end of script. */
return 0;
@@ -2983,10 +2985,14 @@ rb_class2name(class)
Fail("0x%x is not a class/module", class);
}
- while (FL_TEST(class, FL_SINGLE)) {
+ if (FL_TEST(class, FL_SINGLE)) {
class = (struct RClass*)class->super;
}
+ while (TYPE(class) == T_ICLASS) {
+ class = (struct RClass*)class->super;
+ }
+
st_foreach(rb_class_tbl, id_find, class);
if (find_ok) {
return rb_id2name((ID)find_ok);