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
@ -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>
|
Mon Aug 28 18:43:54 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
* eval.c (is_defined): now handles class variables.
|
* 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.
|
* parse.y (gettable): ditto.
|
||||||
|
|
||||||
* regex.c (PUSH_FAILURE_COUNT): push/pop interval count on failure
|
* 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>
|
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
|
* Ruby module -- Ruby::Version, Ruby::Interpreter
|
||||||
* introduce Boolean class; super of TrueClass, FalseClass
|
* introduce Boolean class; super of TrueClass, FalseClass
|
||||||
* Process::waitall [ruby-talk:4557]
|
* Process::waitall [ruby-talk:4557]
|
||||||
|
* synchronized method - synchronized{...}, synchronized :foo, :bar
|
||||||
|
|
||||||
Extension Libraries
|
Extension Libraries
|
||||||
|
|
||||||
@ -114,9 +115,3 @@ Misc
|
|||||||
|
|
||||||
- publish Ruby books
|
- publish Ruby books
|
||||||
* publish Ruby books in English
|
* 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_GASGN:
|
||||||
case NODE_CDECL:
|
case NODE_CDECL:
|
||||||
case NODE_CVDECL:
|
case NODE_CVDECL:
|
||||||
case NODE_CVASGN:
|
|
||||||
case NODE_CVASGN2:
|
case NODE_CVASGN2:
|
||||||
case NODE_CVASGN3:
|
case NODE_CVASGN3:
|
||||||
return "assignment";
|
return "assignment";
|
||||||
@ -2583,14 +2582,6 @@ rb_eval(self, n)
|
|||||||
rb_const_set(ruby_class, node->nd_vid, result);
|
rb_const_set(ruby_class, node->nd_vid, result);
|
||||||
break;
|
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:
|
case NODE_CVASGN2:
|
||||||
result = rb_eval(self, node->nd_value);
|
result = rb_eval(self, node->nd_value);
|
||||||
rb_cvar_set(CLASS_OF(self), node->nd_vid, result);
|
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);
|
rb_cvar_declare(ruby_cbase, lhs->nd_vid, val);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NODE_CVASGN:
|
|
||||||
rb_cvar_set(ruby_cbase, lhs->nd_vid, val);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NODE_CVASGN2:
|
case NODE_CVASGN2:
|
||||||
rb_cvar_set(CLASS_OF(self), lhs->nd_vid, val);
|
rb_cvar_set(CLASS_OF(self), lhs->nd_vid, val);
|
||||||
break;
|
break;
|
||||||
@ -5058,7 +5045,7 @@ rb_f_require(obj, fname)
|
|||||||
volatile int safe = ruby_safe_level;
|
volatile int safe = ruby_safe_level;
|
||||||
|
|
||||||
Check_SafeStr(fname);
|
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, '.');
|
ext = strrchr(RSTRING(fname)->ptr, '.');
|
||||||
if (ext) {
|
if (ext) {
|
||||||
|
@ -337,7 +337,12 @@ end
|
|||||||
|
|
||||||
def create_makefile(target)
|
def create_makefile(target)
|
||||||
$target = target
|
$target = target
|
||||||
|
if target.rindex(%r!/!)
|
||||||
|
target = $'
|
||||||
|
target_prefix = "/"+$`
|
||||||
|
else
|
||||||
|
target_prefix = ""
|
||||||
|
end
|
||||||
rm_f "conftest*"
|
rm_f "conftest*"
|
||||||
if "@DLEXT@" == $OBJEXT
|
if "@DLEXT@" == $OBJEXT
|
||||||
libs = $libs.split
|
libs = $libs.split
|
||||||
|
1
gc.c
1
gc.c
@ -483,7 +483,6 @@ rb_gc_mark(ptr)
|
|||||||
case NODE_IASGN:
|
case NODE_IASGN:
|
||||||
case NODE_CDECL:
|
case NODE_CDECL:
|
||||||
case NODE_CVDECL:
|
case NODE_CVDECL:
|
||||||
case NODE_CVASGN:
|
|
||||||
case NODE_CVASGN2:
|
case NODE_CVASGN2:
|
||||||
case NODE_CVASGN3:
|
case NODE_CVASGN3:
|
||||||
case NODE_MODULE:
|
case NODE_MODULE:
|
||||||
|
14
lib/mkmf.rb
14
lib/mkmf.rb
@ -341,6 +341,12 @@ def create_makefile(target)
|
|||||||
print "creating Makefile\n"
|
print "creating Makefile\n"
|
||||||
rm_f "conftest*"
|
rm_f "conftest*"
|
||||||
STDOUT.flush
|
STDOUT.flush
|
||||||
|
if target.rindex(%r!/!)
|
||||||
|
target = $'
|
||||||
|
target_prefix = "/"+$`
|
||||||
|
else
|
||||||
|
target_prefix = ""
|
||||||
|
end
|
||||||
if CONFIG["DLEXT"] == $OBJEXT
|
if CONFIG["DLEXT"] == $OBJEXT
|
||||||
libs = $libs.split
|
libs = $libs.split
|
||||||
for lib in libs
|
for lib in libs
|
||||||
@ -402,10 +408,10 @@ RUBY_SO_NAME = #{CONFIG["RUBY_SO_NAME"]}
|
|||||||
DESTDIR =
|
DESTDIR =
|
||||||
prefix = $(DESTDIR)#{CONFIG["prefix"]}
|
prefix = $(DESTDIR)#{CONFIG["prefix"]}
|
||||||
exec_prefix = $(DESTDIR)#{CONFIG["exec_prefix"]}
|
exec_prefix = $(DESTDIR)#{CONFIG["exec_prefix"]}
|
||||||
libdir = $(DESTDIR)#{$libdir}
|
libdir = $(DESTDIR)#{$libdir}#{target_prefix}
|
||||||
archdir = $(DESTDIR)#{$archdir}
|
archdir = $(DESTDIR)#{$archdir}#{target_prefix}
|
||||||
sitelibdir = $(DESTDIR)#{$sitelibdir}
|
sitelibdir = $(DESTDIR)#{$sitelibdir}#{target_prefix}
|
||||||
sitearchdir = $(DESTDIR)#{$sitearchdir}
|
sitearchdir = $(DESTDIR)#{$sitearchdir}#{target_prefix}
|
||||||
|
|
||||||
#### End of system configuration section. ####
|
#### End of system configuration section. ####
|
||||||
|
|
||||||
|
2
node.h
2
node.h
@ -49,7 +49,6 @@ enum node_type {
|
|||||||
NODE_GASGN,
|
NODE_GASGN,
|
||||||
NODE_IASGN,
|
NODE_IASGN,
|
||||||
NODE_CDECL,
|
NODE_CDECL,
|
||||||
NODE_CVASGN,
|
|
||||||
NODE_CVASGN2,
|
NODE_CVASGN2,
|
||||||
NODE_CVASGN3,
|
NODE_CVASGN3,
|
||||||
NODE_CVDECL,
|
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_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_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_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_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_CVASGN3(v,val) rb_node_newnode(NODE_CVASGN3,v,val,0)
|
||||||
#define NEW_CVDECL(v,val) rb_node_newnode(NODE_CVDECL,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)) {
|
else if (is_class_id(id)) {
|
||||||
if (in_single) return NEW_CVAR3(id);
|
if (in_single) return NEW_CVAR3(id);
|
||||||
if (class_nest ==0 && cur_mid)
|
if (cur_mid) return NEW_CVAR2(id);
|
||||||
return NEW_CVAR2(id);
|
return NEW_CVAR(id);
|
||||||
else return NEW_CVAR(id);
|
|
||||||
}
|
}
|
||||||
rb_bug("invalid id for gettable");
|
rb_bug("invalid id for gettable");
|
||||||
return 0;
|
return 0;
|
||||||
@ -4005,11 +4004,7 @@ assignable(id, val)
|
|||||||
}
|
}
|
||||||
else if (is_class_id(id)) {
|
else if (is_class_id(id)) {
|
||||||
if (in_single) return NEW_CVASGN3(id, val);
|
if (in_single) return NEW_CVASGN3(id, val);
|
||||||
if (cur_mid) {
|
if (cur_mid) return NEW_CVASGN2(id, val);
|
||||||
if (class_nest == 0)
|
|
||||||
return NEW_CVASGN2(id, val);
|
|
||||||
return NEW_CVASGN(id, val);
|
|
||||||
}
|
|
||||||
return NEW_CVDECL(id, val);
|
return NEW_CVDECL(id, val);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -4098,7 +4093,6 @@ node_assign(lhs, rhs)
|
|||||||
case NODE_DASGN_CURR:
|
case NODE_DASGN_CURR:
|
||||||
case NODE_MASGN:
|
case NODE_MASGN:
|
||||||
case NODE_CDECL:
|
case NODE_CDECL:
|
||||||
case NODE_CVASGN:
|
|
||||||
case NODE_CVDECL:
|
case NODE_CVDECL:
|
||||||
lhs->nd_value = rhs;
|
lhs->nd_value = rhs;
|
||||||
break;
|
break;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#define RUBY_VERSION "1.6.0"
|
#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_VERSION_CODE 160
|
||||||
#define RUBY_RELEASE_CODE 20000828
|
#define RUBY_RELEASE_CODE 20000829
|
||||||
|
Loading…
x
Reference in New Issue
Block a user