summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-06-11 06:26:19 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-06-11 06:26:19 +0000
commitf2184b2024ffae23462e8e0fec009f4cd9c95c00 (patch)
tree2851c1e3de6cdfdf28617f1b0c2a3df585d136e6
parent528c61b5b7b0ff3a40a004d3fba6582791250a0f (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--ChangeLog23
-rw-r--r--doc/NEWS4
-rw-r--r--eval.c21
-rw-r--r--gc.c2
-rw-r--r--hash.c8
-rw-r--r--st.c2
-rw-r--r--version.h4
7 files changed, 47 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 3f535c882f..b827ff8add 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/doc/NEWS b/doc/NEWS
index 1428842977..f5f7174abb 100644
--- a/doc/NEWS
+++ b/doc/NEWS
@@ -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
diff --git a/eval.c b/eval.c
index 6756111f1c..ad0de6a38d 100644
--- a/eval.c
+++ b/eval.c
@@ -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;
diff --git a/gc.c b/gc.c
index 1df6d8ede8..000ae335cf 100644
--- a/gc.c
+++ b/gc.c
@@ -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;
diff --git a/hash.c b/hash.c
index 1b007526da..43c1526a14 100644
--- a/hash.c
+++ b/hash.c
@@ -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++;
diff --git a/st.c b/st.c
index e40c6e1017..1908b6a48d 100644
--- a/st.c
+++ b/st.c
@@ -555,5 +555,5 @@ static int
numhash(n)
long n;
{
- return n;
+ return n/7;
}
diff --git a/version.h b/version.h
index 538f448ea2..4b76e8d2b9 100644
--- a/version.h
+++ b/version.h
@@ -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