diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-06-11 06:26:19 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-06-11 06:26:19 +0000 |
commit | f2184b2024ffae23462e8e0fec009f4cd9c95c00 (patch) | |
tree | 2851c1e3de6cdfdf28617f1b0c2a3df585d136e6 | |
parent | 528c61b5b7b0ff3a40a004d3fba6582791250a0f (diff) |
* hash.c (ruby_setenv): readline library leaves their environment
strings uncopied. "free" check revised.
* st.c (numhash): should shuffle bits by dividing by prime number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 23 | ||||
-rw-r--r-- | doc/NEWS | 4 | ||||
-rw-r--r-- | eval.c | 21 | ||||
-rw-r--r-- | gc.c | 2 | ||||
-rw-r--r-- | hash.c | 8 | ||||
-rw-r--r-- | st.c | 2 | ||||
-rw-r--r-- | version.h | 4 |
7 files changed, 47 insertions, 17 deletions
@@ -2,6 +2,29 @@ Mon Jun 11 14:29:41 2001 WATANABE Hirofumi <eban@ruby-lang.org> * confgure.in: add RUBY_CANONICAL_BUILD. +Sat Jun 9 17:04:30 2001 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp> + + * hash.c (ruby_setenv): readline library leaves their environment + strings uncopied. "free" check revised. + +Fri Jun 8 18:14:12 2001 Yukihiro Matsumoto <matz@ruby-lang.org> + + * st.c (numhash): should shuffle bits by dividing by prime number. + +Fri Jun 8 22:37:40 2001 Yukihiro Matsumoto <matz@ruby-lang.org> + + * gc.c (Init_stack): avoid __builtin_frame_address(2) to retrieve + stack bottom line. + +Fri Jun 8 18:14:12 2001 Yukihiro Matsumoto <matz@ruby-lang.org> + + * st.c (numhash): should shuffle bits by dividing by prime number. + +Fri Jun 8 15:25:09 2001 Yukihiro Matsumoto <matz@ruby-lang.org> + + * eval.c (rb_f_require): should set SCOPE_PUBLIC before calling + dln_load(). + Wed Jun 6 16:11:06 2001 Yukihiro Matsumoto <matz@ruby-lang.org> * eval.c (rb_load): should check if tainted even when wrap is @@ -116,7 +116,7 @@ Summary of the changes since 1.6.3: : $SAFE / alias - Fixed so aliasing global valiables is disallowed under $SAFE == 4. + Fixed so aliasing global variables is disallowed under $SAFE == 4. ((<ruby-dev:13287>)) : Open3::popen3 @@ -166,7 +166,7 @@ Summary of the changes since 1.6.3: : irb & irb-tools - irb and irb-tolls are updated to 0.7.4 and 0.7.1, respectively. + irb and irb-tools are updated to 0.7.4 and 0.7.1, respectively. : Daylight saving time @@ -5400,17 +5400,22 @@ rb_f_require(obj, fname) load_dyna: rb_provide(feature); + { + int old_vmode = scope_vmode; - PUSH_TAG(PROT_NONE); - if ((state = EXEC_TAG()) == 0) { - void *handle; + PUSH_TAG(PROT_NONE); + if ((state = EXEC_TAG()) == 0) { + void *handle; - load = rb_str_new2(file); - file = RSTRING(load)->ptr; - handle = dln_load(file); - rb_ary_push(ruby_dln_librefs, INT2NUM((long)handle)); + SCOPE_SET(SCOPE_PUBLIC); + load = rb_str_new2(file); + file = RSTRING(load)->ptr; + handle = dln_load(file); + rb_ary_push(ruby_dln_librefs, INT2NUM((long)handle)); + } + POP_TAG(); + SCOPE_SET(old_vmode); } - POP_TAG(); if (state) JUMP_TAG(state); return Qtrue; @@ -1023,8 +1023,6 @@ Init_stack(addr) #if defined(__human68k__) extern void *_SEND; rb_gc_stack_start = _SEND; -#elif defined(__GNUC__) && (defined(__i386__) || defined(__m68k__)) - rb_gc_stack_start = __builtin_frame_address(2); #else VALUE start; @@ -1063,8 +1063,12 @@ ruby_setenv(name, value) environ = tmpenv; /* tell exec where it is now */ } if (!value) { - if (environ[i] != origenviron[i]) - free(environ[i]); + if (environ != origenviron) { + char **envp = origenviron; + while (*envp && *envp != environ[i]) envp++; + if (!*envp) + free(environ[i]); + } while (environ[i]) { environ[i] = environ[i+1]; i++; @@ -555,5 +555,5 @@ static int numhash(n) long n; { - return n; + return n/7; } @@ -1,4 +1,4 @@ #define RUBY_VERSION "1.6.4" -#define RUBY_RELEASE_DATE "2001-06-06" +#define RUBY_RELEASE_DATE "2001-06-11" #define RUBY_VERSION_CODE 164 -#define RUBY_RELEASE_CODE 20010606 +#define RUBY_RELEASE_CODE 20010611 |