mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
bba6ae3137
commit
4e560cffd6
9 changed files with 31 additions and 40 deletions
|
@ -1,3 +1,9 @@
|
|||
Tue Aug 29 02:02:14 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* lib/mkmf.rb (create_makefile): handles create_makefile("a/b").
|
||||
|
||||
* ext/extmk.rb.in (create_makefile): ditto
|
||||
|
||||
Mon Aug 28 18:43:54 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* eval.c (is_defined): now handles class variables.
|
||||
|
@ -9,7 +15,8 @@ Mon Aug 28 18:43:54 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
|||
* parse.y (gettable): ditto.
|
||||
|
||||
* regex.c (PUSH_FAILURE_COUNT): push/pop interval count on failure
|
||||
stack.
|
||||
stack. this fix is inspired by the Emacs21 patch from Stefan
|
||||
Monnier <monnier@cs.yale.edu>.
|
||||
|
||||
Fri Aug 25 15:24:39 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
|
|
7
ToDo
7
ToDo
|
@ -90,6 +90,7 @@ Standard Libraries
|
|||
* Ruby module -- Ruby::Version, Ruby::Interpreter
|
||||
* introduce Boolean class; super of TrueClass, FalseClass
|
||||
* Process::waitall [ruby-talk:4557]
|
||||
* synchronized method - synchronized{...}, synchronized :foo, :bar
|
||||
|
||||
Extension Libraries
|
||||
|
||||
|
@ -114,9 +115,3 @@ Misc
|
|||
|
||||
- publish Ruby books
|
||||
* publish Ruby books in English
|
||||
|
||||
Things To Do Before 1.6
|
||||
|
||||
* fix spec. for the following:
|
||||
|
||||
* mkmf.rb - create_makefile("net/socket")
|
||||
|
|
15
eval.c
15
eval.c
|
@ -1719,7 +1719,6 @@ is_defined(self, node, buf)
|
|||
case NODE_GASGN:
|
||||
case NODE_CDECL:
|
||||
case NODE_CVDECL:
|
||||
case NODE_CVASGN:
|
||||
case NODE_CVASGN2:
|
||||
case NODE_CVASGN3:
|
||||
return "assignment";
|
||||
|
@ -2583,14 +2582,6 @@ rb_eval(self, n)
|
|||
rb_const_set(ruby_class, node->nd_vid, result);
|
||||
break;
|
||||
|
||||
case NODE_CVASGN:
|
||||
if (NIL_P(ruby_cbase)) {
|
||||
rb_raise(rb_eTypeError, "no class/module to define class variable");
|
||||
}
|
||||
result = rb_eval(self, node->nd_value);
|
||||
rb_cvar_set(ruby_cbase, node->nd_vid, result);
|
||||
break;
|
||||
|
||||
case NODE_CVASGN2:
|
||||
result = rb_eval(self, node->nd_value);
|
||||
rb_cvar_set(CLASS_OF(self), node->nd_vid, result);
|
||||
|
@ -3620,10 +3611,6 @@ assign(self, lhs, val, check)
|
|||
rb_cvar_declare(ruby_cbase, lhs->nd_vid, val);
|
||||
break;
|
||||
|
||||
case NODE_CVASGN:
|
||||
rb_cvar_set(ruby_cbase, lhs->nd_vid, val);
|
||||
break;
|
||||
|
||||
case NODE_CVASGN2:
|
||||
rb_cvar_set(CLASS_OF(self), lhs->nd_vid, val);
|
||||
break;
|
||||
|
@ -5058,7 +5045,7 @@ rb_f_require(obj, fname)
|
|||
volatile int safe = ruby_safe_level;
|
||||
|
||||
Check_SafeStr(fname);
|
||||
if (rb_thread_loading(RSTRING(fname)->ptr)) return Qfalse;
|
||||
if (rb_provided(RSTRING(fname)->ptr)) return Qfalse;
|
||||
|
||||
ext = strrchr(RSTRING(fname)->ptr, '.');
|
||||
if (ext) {
|
||||
|
|
|
@ -337,7 +337,12 @@ end
|
|||
|
||||
def create_makefile(target)
|
||||
$target = target
|
||||
|
||||
if target.rindex(%r!/!)
|
||||
target = $'
|
||||
target_prefix = "/"+$`
|
||||
else
|
||||
target_prefix = ""
|
||||
end
|
||||
rm_f "conftest*"
|
||||
if "@DLEXT@" == $OBJEXT
|
||||
libs = $libs.split
|
||||
|
|
1
gc.c
1
gc.c
|
@ -483,7 +483,6 @@ rb_gc_mark(ptr)
|
|||
case NODE_IASGN:
|
||||
case NODE_CDECL:
|
||||
case NODE_CVDECL:
|
||||
case NODE_CVASGN:
|
||||
case NODE_CVASGN2:
|
||||
case NODE_CVASGN3:
|
||||
case NODE_MODULE:
|
||||
|
|
14
lib/mkmf.rb
14
lib/mkmf.rb
|
@ -341,6 +341,12 @@ def create_makefile(target)
|
|||
print "creating Makefile\n"
|
||||
rm_f "conftest*"
|
||||
STDOUT.flush
|
||||
if target.rindex(%r!/!)
|
||||
target = $'
|
||||
target_prefix = "/"+$`
|
||||
else
|
||||
target_prefix = ""
|
||||
end
|
||||
if CONFIG["DLEXT"] == $OBJEXT
|
||||
libs = $libs.split
|
||||
for lib in libs
|
||||
|
@ -402,10 +408,10 @@ RUBY_SO_NAME = #{CONFIG["RUBY_SO_NAME"]}
|
|||
DESTDIR =
|
||||
prefix = $(DESTDIR)#{CONFIG["prefix"]}
|
||||
exec_prefix = $(DESTDIR)#{CONFIG["exec_prefix"]}
|
||||
libdir = $(DESTDIR)#{$libdir}
|
||||
archdir = $(DESTDIR)#{$archdir}
|
||||
sitelibdir = $(DESTDIR)#{$sitelibdir}
|
||||
sitearchdir = $(DESTDIR)#{$sitearchdir}
|
||||
libdir = $(DESTDIR)#{$libdir}#{target_prefix}
|
||||
archdir = $(DESTDIR)#{$archdir}#{target_prefix}
|
||||
sitelibdir = $(DESTDIR)#{$sitelibdir}#{target_prefix}
|
||||
sitearchdir = $(DESTDIR)#{$sitearchdir}#{target_prefix}
|
||||
|
||||
#### End of system configuration section. ####
|
||||
|
||||
|
|
2
node.h
2
node.h
|
@ -49,7 +49,6 @@ enum node_type {
|
|||
NODE_GASGN,
|
||||
NODE_IASGN,
|
||||
NODE_CDECL,
|
||||
NODE_CVASGN,
|
||||
NODE_CVASGN2,
|
||||
NODE_CVASGN3,
|
||||
NODE_CVDECL,
|
||||
|
@ -270,7 +269,6 @@ typedef struct RNode {
|
|||
#define NEW_DASGN_CURR(v,val) rb_node_newnode(NODE_DASGN_CURR,v,val,0);
|
||||
#define NEW_IASGN(v,val) rb_node_newnode(NODE_IASGN,v,val,0)
|
||||
#define NEW_CDECL(v,val) rb_node_newnode(NODE_CDECL,v,val,0)
|
||||
#define NEW_CVASGN(v,val) rb_node_newnode(NODE_CVASGN,v,val,0)
|
||||
#define NEW_CVASGN2(v,val) rb_node_newnode(NODE_CVASGN2,v,val,0)
|
||||
#define NEW_CVASGN3(v,val) rb_node_newnode(NODE_CVASGN3,v,val,0)
|
||||
#define NEW_CVDECL(v,val) rb_node_newnode(NODE_CVDECL,v,val,0)
|
||||
|
|
12
parse.y
12
parse.y
|
@ -3945,9 +3945,8 @@ gettable(id)
|
|||
}
|
||||
else if (is_class_id(id)) {
|
||||
if (in_single) return NEW_CVAR3(id);
|
||||
if (class_nest ==0 && cur_mid)
|
||||
return NEW_CVAR2(id);
|
||||
else return NEW_CVAR(id);
|
||||
if (cur_mid) return NEW_CVAR2(id);
|
||||
return NEW_CVAR(id);
|
||||
}
|
||||
rb_bug("invalid id for gettable");
|
||||
return 0;
|
||||
|
@ -4005,11 +4004,7 @@ assignable(id, val)
|
|||
}
|
||||
else if (is_class_id(id)) {
|
||||
if (in_single) return NEW_CVASGN3(id, val);
|
||||
if (cur_mid) {
|
||||
if (class_nest == 0)
|
||||
return NEW_CVASGN2(id, val);
|
||||
return NEW_CVASGN(id, val);
|
||||
}
|
||||
if (cur_mid) return NEW_CVASGN2(id, val);
|
||||
return NEW_CVDECL(id, val);
|
||||
}
|
||||
else {
|
||||
|
@ -4098,7 +4093,6 @@ node_assign(lhs, rhs)
|
|||
case NODE_DASGN_CURR:
|
||||
case NODE_MASGN:
|
||||
case NODE_CDECL:
|
||||
case NODE_CVASGN:
|
||||
case NODE_CVDECL:
|
||||
lhs->nd_value = rhs;
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#define RUBY_VERSION "1.6.0"
|
||||
#define RUBY_RELEASE_DATE "2000-08-28"
|
||||
#define RUBY_RELEASE_DATE "2000-08-29"
|
||||
#define RUBY_VERSION_CODE 160
|
||||
#define RUBY_RELEASE_CODE 20000828
|
||||
#define RUBY_RELEASE_CODE 20000829
|
||||
|
|
Loading…
Reference in a new issue