summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog57
-rw-r--r--MANIFEST1
-rw-r--r--array.c1
-rw-r--r--bignum.c22
-rw-r--r--configure42
-rw-r--r--configure.in6
-rw-r--r--dln.c2
-rw-r--r--ext/pty/pty.c4
-rw-r--r--ext/readline/extconf.rb8
-rw-r--r--gc.c44
-rw-r--r--intern.h10
-rw-r--r--io.c4
-rw-r--r--lib/mkmf.rb2
-rw-r--r--marshal.c4
-rw-r--r--node.h6
-rw-r--r--parse.y2
-rw-r--r--re.h2
-rw-r--r--regex.h9
-rw-r--r--ruby.h7
-rw-r--r--version.h4
-rw-r--r--win32/config.h2
-rw-r--r--win32/config.status6
-rw-r--r--win32/ruby.def36
23 files changed, 216 insertions, 65 deletions
diff --git a/ChangeLog b/ChangeLog
index befa710607..f5af2b6773 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,6 +28,32 @@ Wed May 31 04:06:41 2000 Wakou Aoyama <wakou@fsinet.or.jp>
* lib/cgi.rb: change: CGI#out() if "HEAD" == REQUEST_METHOD
then output only HTTP header.
+Tue May 30 23:33:41 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * lib/mkmf.rb (create_makefile): add $(TARGET).ilk and *.pdb
+ to cleanup files for mswin32.
+
+Mon May 29 21:48:24 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * win32/config.status: set LDFLAGS and LIBRUBYARG for eruby.
+
+Thu May 25 22:01:32 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * re.h: mswin32: use EXTERN instead of extern.
+
+ * regex.h: mswin32: export re_mbctab properly.
+
+ * win32/win32.def: add ruby_ignorecase and regex.c's exports.
+
+Wed May 24 23:17:50 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * win32/Makefile: remove unnecessary mv and rm command call.
+
+Wed May 24 21:01:04 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * ext/pty/pty.c: use "" instead of <> to include ruby.h and rubyio.h
+ for BeOS (PowerPC).
+
Wed May 24 16:03:06 2000 Wakou Aoyama <wakou@fsinet.or.jp>
* lib/cgi.rb: bug fix: CGI::escape(), CGI::Cookie::new()
@@ -47,6 +73,29 @@ Sun May 21 20:58:08 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
* pack.c: fix OFF16 and OFF32 definitions for Alpha and IRIX64.
+Thu May 18 23:55:26 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * dln.c (search_undef): st_lookup()'s 3rd parameter should be
+ a pointer of the variable which has the same size and alignment
+ as `char *'.
+
+ * marshal.c (w_symbol, w_object): ditto.
+
+ * parse.y (rb_intern): ditto.
+
+Thu May 18 09:01:25 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * io.c: fix READ_DATA_PENDING definition for BeOS (PowerPC).
+
+Wed May 17 23:17:38 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * intern.h: use EXTERN instead of extern.
+
+ * win32/ruby.def: add rb_defout, rb_stdout, ruby_errinfo,
+ ruby_sourceline, ruby_sourcefile to work with eruby
+ reported by Hiroshi Saito <HiroshiSaito@pob.org>.
+ Export both ruby_xmalloc and xmalloc etc.
+
Wed May 17 02:22:03 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
* parse.y (expr): avoid calling value_expr() twice.
@@ -74,6 +123,14 @@ Wed May 10 12:51:18 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
* parse.y (parse_regx): should parse backslash escape like `\c['
here to avoid causing `unterminated regexp' error.
+Wed May 10 00:19:53 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * MANIFEST, beos/GNUmakefile.in, configure.in: no longer need
+ beos/GNUmakefile.in to support BeOS R4.5.2 (Intel) as a result
+ of eban's Makefile.in change.
+
+ * io.c: NOFILE is already defined on BeOS R4.5 (Intel) or later.
+
Mon May 8 23:17:36 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
* dln.c (dln_init): remove possible buffer overrun. This is
diff --git a/MANIFEST b/MANIFEST
index 47c909c77b..8df9d576d9 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -75,7 +75,6 @@ util.c
variable.c
version.c
version.h
-beos/GNUmakefile.in
cygwin/GNUmakefile.in
ext/Setup
ext/Setup.dj
diff --git a/array.c b/array.c
index 8264e07892..80e8e6ad17 100644
--- a/array.c
+++ b/array.c
@@ -1474,6 +1474,7 @@ Init_Array()
rb_define_method(rb_cArray, "delete_if", rb_ary_delete_if, 0);
rb_define_method(rb_cArray, "reject!", rb_ary_delete_if, 0);
rb_define_method(rb_cArray, "filter", rb_ary_filter, 0);
+ rb_define_method(rb_cArray, "collect!", rb_ary_filter, 0);
rb_define_method(rb_cArray, "replace", rb_ary_replace_method, 1);
rb_define_method(rb_cArray, "clear", rb_ary_clear, 0);
rb_define_method(rb_cArray, "fill", rb_ary_fill, -1);
diff --git a/bignum.c b/bignum.c
index c4f181fc70..fb0dafb142 100644
--- a/bignum.c
+++ b/bignum.c
@@ -459,6 +459,10 @@ rb_big_cmp(x, y)
y = rb_int2big(FIX2LONG(y));
break;
+ case T_FLOAT:
+ y = rb_dbl2big(RFLOAT(y)->value);
+ break;
+
case T_BIGNUM:
break;
@@ -484,8 +488,22 @@ static VALUE
rb_big_eq(x, y)
VALUE x, y;
{
- if (rb_big_cmp(x, y) == INT2FIX(0)) return Qtrue;
- return Qfalse;
+ switch (TYPE(y)) {
+ case T_FIXNUM:
+ y = rb_int2big(FIX2LONG(y));
+ break;
+ case T_BIGNUM:
+ break;
+ case T_FLOAT:
+ y = rb_dbl2big(RFLOAT(y)->value);
+ break;
+ default:
+ return Qfalse;
+ }
+ if (RBIGNUM(x)->sign != RBIGNUM(y)->sign) return Qfalse;
+ if (RBIGNUM(x)->len != RBIGNUM(y)->len) return Qfalse;
+ if (memcmp(BDIGITS(x),BDIGITS(y),RBIGNUM(y)->len) != 0) return Qfalse;
+ return Qtrue;
}
static VALUE
diff --git a/configure b/configure
index 453b77e795..713eb91b40 100644
--- a/configure
+++ b/configure
@@ -4069,6 +4069,7 @@ echo "configure:4060: checking whether OS depend dynamic link works" >&5
netbsd*) CCDLFLAGS=-fpic
case "$host_cpu" in
mips*) CCDLFLAGS=-fPIC ;;
+ sparc) CCDLFLAGS=-fPIC ;;
*) ;;
esac ;;
*) CCDLFLAGS=-fPIC;;
@@ -4076,7 +4077,7 @@ echo "configure:4060: checking whether OS depend dynamic link works" >&5
else
case "$host_os" in
hpux*) CCDLFLAGS='+z';;
- solaris*|irix*) CCDLFLAGS='-K PIC' ;;
+ solaris*|irix*) CCDLFLAGS='-KPIC' ;;
sunos*) CCDLFLAGS='-PIC' ;;
esix*|uxpds*) CCDLFLAGS='-KPIC' ;;
*) CCDLFLAGS='' ;;
@@ -4097,7 +4098,7 @@ echo "configure:4060: checking whether OS depend dynamic link works" >&5
rb_cv_dlopen=yes;;
sunos*) LDSHARED='ld -assert nodefinitions'
rb_cv_dlopen=yes;;
- irix*) LDSHARED='ld -ignore_unresolved'
+ irix*) LDSHARED='ld -shared'
rb_cv_dlopen=yes;;
sysv4*) LDSHARED='ld -G'
rb_cv_dlopen=yes;;
@@ -4180,12 +4181,12 @@ if test "$ac_cv_header_a_out_h" = yes; then
if test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown; then
cat confdefs.h > config.h
echo $ac_n "checking whether matz's dln works""... $ac_c" 1>&6
-echo "configure:4184: checking whether matz's dln works" >&5
+echo "configure:4185: checking whether matz's dln works" >&5
if eval "test \"`echo '$''{'rb_cv_dln_a_out'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4189 "configure"
+#line 4190 "configure"
#include "confdefs.h"
#define USE_DLN_A_OUT
@@ -4195,7 +4196,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:4199: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4200: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
rb_cv_dln_a_out=yes
else
@@ -4309,7 +4310,7 @@ fi
case "$host_os" in
human*)
echo $ac_n "checking for _harderr in -lsignal""... $ac_c" 1>&6
-echo "configure:4313: checking for _harderr in -lsignal" >&5
+echo "configure:4314: checking for _harderr in -lsignal" >&5
ac_lib_var=`echo signal'_'_harderr | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4317,7 +4318,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsignal $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4321 "configure"
+#line 4322 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4328,7 +4329,7 @@ int main() {
_harderr()
; return 0; }
EOF
-if { (eval echo configure:4332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4356,7 +4357,7 @@ else
fi
echo $ac_n "checking for hmemset in -lhmem""... $ac_c" 1>&6
-echo "configure:4360: checking for hmemset in -lhmem" >&5
+echo "configure:4361: checking for hmemset in -lhmem" >&5
ac_lib_var=`echo hmem'_'hmemset | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -4364,7 +4365,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lhmem $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4368 "configure"
+#line 4369 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -4375,7 +4376,7 @@ int main() {
hmemset()
; return 0; }
EOF
-if { (eval echo configure:4379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -4405,12 +4406,12 @@ fi
for ac_func in select gettimeofday
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4409: checking for $ac_func" >&5
+echo "configure:4410: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4414 "configure"
+#line 4415 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -4433,7 +4434,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:4437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -4458,7 +4459,7 @@ fi
done
echo $ac_n "checking whether PD libc _dtos18 fail to convert big number""... $ac_c" 1>&6
-echo "configure:4462: checking whether PD libc _dtos18 fail to convert big number" >&5
+echo "configure:4463: checking whether PD libc _dtos18 fail to convert big number" >&5
if eval "test \"`echo '$''{'rb_cv_missing__dtos18'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4466,7 +4467,7 @@ else
rb_cv_missing__dtos18=no
else
cat > conftest.$ac_ext <<EOF
-#line 4470 "configure"
+#line 4471 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -4478,7 +4479,7 @@ main ()
}
EOF
-if { (eval echo configure:4482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
rb_cv_missing__dtos18=yes
else
@@ -4500,7 +4501,7 @@ EOF
fi
echo $ac_n "checking whether PD libc fconvert fail to round""... $ac_c" 1>&6
-echo "configure:4504: checking whether PD libc fconvert fail to round" >&5
+echo "configure:4505: checking whether PD libc fconvert fail to round" >&5
if eval "test \"`echo '$''{'rb_cv_missing_fconvert'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -4508,7 +4509,7 @@ else
rb_cv_missing_fconvert=no
else
cat > conftest.$ac_ext <<EOF
-#line 4512 "configure"
+#line 4513 "configure"
#include "confdefs.h"
#include <stdio.h>
@@ -4521,7 +4522,7 @@ main ()
}
EOF
-if { (eval echo configure:4525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
rb_cv_missing_fconvert=yes
else
@@ -4587,7 +4588,6 @@ if test "$host_os" = "beos"; then
;;
i586*)
LDFLAGS="$LDFLAGS -L."
- FIRSTMAKEFILE=GNUmakefile:beos/GNUmakefile.in
;;
*)
echo EXPORTS > ruby.def
diff --git a/configure.in b/configure.in
index 88172cfcae..e4dde170fd 100644
--- a/configure.in
+++ b/configure.in
@@ -408,6 +408,7 @@ if test "$with_dln_a_out" != yes; then
netbsd*) CCDLFLAGS=-fpic
case "$host_cpu" in
mips*) CCDLFLAGS=-fPIC ;;
+ sparc) CCDLFLAGS=-fPIC ;;
*) ;;
esac ;;
*) CCDLFLAGS=-fPIC;;
@@ -415,7 +416,7 @@ if test "$with_dln_a_out" != yes; then
else
case "$host_os" in
hpux*) CCDLFLAGS='+z';;
- solaris*|irix*) CCDLFLAGS='-K PIC' ;;
+ solaris*|irix*) CCDLFLAGS='-KPIC' ;;
sunos*) CCDLFLAGS='-PIC' ;;
esix*|uxpds*) CCDLFLAGS='-KPIC' ;;
*) CCDLFLAGS='' ;;
@@ -436,7 +437,7 @@ if test "$with_dln_a_out" != yes; then
rb_cv_dlopen=yes;;
sunos*) LDSHARED='ld -assert nodefinitions'
rb_cv_dlopen=yes;;
- irix*) LDSHARED='ld -ignore_unresolved'
+ irix*) LDSHARED='ld -shared'
rb_cv_dlopen=yes;;
sysv4*) LDSHARED='ld -G'
rb_cv_dlopen=yes;;
@@ -681,7 +682,6 @@ if test "$host_os" = "beos"; then
;;
i586*)
LDFLAGS="$LDFLAGS -L."
- FIRSTMAKEFILE=GNUmakefile:beos/GNUmakefile.in
;;
*)
echo EXPORTS > ruby.def
diff --git a/dln.c b/dln.c
index 30891c62e9..f6d9ff7631 100644
--- a/dln.c
+++ b/dln.c
@@ -884,7 +884,7 @@ search_undef(key, value, lib_tbl)
int value;
st_table *lib_tbl;
{
- int offset;
+ long offset;
if (st_lookup(lib_tbl, key, &offset) == 0) return ST_CONTINUE;
target_offset = offset;
diff --git a/ext/pty/pty.c b/ext/pty/pty.c
index b8c4e9acae..333d569d85 100644
--- a/ext/pty/pty.c
+++ b/ext/pty/pty.c
@@ -15,8 +15,8 @@
#endif
#include <ctype.h>
-#include <ruby.h>
-#include <rubyio.h>
+#include "ruby.h"
+#include "rubyio.h"
#include <signal.h>
#ifdef HAVE_SYS_STROPTS_H
diff --git a/ext/readline/extconf.rb b/ext/readline/extconf.rb
index 3dd9c0fc1e..7db62745f3 100644
--- a/ext/readline/extconf.rb
+++ b/ext/readline/extconf.rb
@@ -1,9 +1,11 @@
require "mkmf"
dir_config("readline")
-have_library("user32", nil) if /cygwin/ === PLATFORM
-have_library("termcap", "tgetnum")
-have_library("curses", "tgetnum")
+have_library("user32", nil) if /cygwin/ === RUBY_PLATFORM
+have_library("ncurses", "tgetnum") or
+ have_library("termcap", "tgetnum") or
+ have_library("curses", "tgetnum")
+
if have_header("readline/readline.h") and
have_header("readline/history.h") and
have_library("readline", "readline")
diff --git a/gc.c b/gc.c
index e54639eca4..cb53573a77 100644
--- a/gc.c
+++ b/gc.c
@@ -51,9 +51,8 @@ static unsigned long alloc_objects = 0;
static int malloc_called = 0;
-#ifndef xmalloc
void *
-xmalloc(size)
+ruby_xmalloc(size)
size_t size;
{
void *mem;
@@ -79,7 +78,7 @@ xmalloc(size)
}
void *
-xcalloc(n, size)
+ruby_xcalloc(n, size)
size_t n, size;
{
void *mem;
@@ -91,7 +90,7 @@ xcalloc(n, size)
}
void *
-xrealloc(ptr, size)
+ruby_xrealloc(ptr, size)
void *ptr;
size_t size;
{
@@ -115,12 +114,11 @@ xrealloc(ptr, size)
}
void
-xfree(x)
+ruby_xfree(x)
void *x;
{
if (x) free(x);
}
-#endif
/* The way of garbage collecting which allows use of the cstack is due to */
/* Scheme In One Defun, but in C this time.
@@ -1203,3 +1201,37 @@ Init_GC()
rb_global_variable(&finalizers);
finalizers = rb_ary_new();
}
+
+#undef xmalloc
+#undef xcalloc
+#undef xrealloc
+#undef xfree
+
+void*
+xmalloc(size)
+ size_t size;
+{
+ return ruby_xmalloc(size);
+}
+
+void*
+xcalloc(n,size)
+ size_t n,size;
+{
+ return ruby_xcalloc(n, size);
+}
+
+void*
+xrealloc(ptr,size)
+ void *ptr;
+ size_t size;
+{
+ return ruby_xrealloc(ptr, size);
+}
+
+void
+xfree(ptr)
+ void *ptr;
+{
+ ruby_xfree(ptr);
+}
diff --git a/intern.h b/intern.h
index 56968bf478..a87bc7b937 100644
--- a/intern.h
+++ b/intern.h
@@ -169,11 +169,11 @@ VALUE rb_hash_aset _((VALUE, VALUE, VALUE));
int rb_path_check _((char *));
int rb_env_path_tainted _((void));
/* io.c */
-extern VALUE rb_fs;
-extern VALUE rb_output_fs;
-extern VALUE rb_rs;
-extern VALUE rb_default_rs;
-extern VALUE rb_output_rs;
+EXTERN VALUE rb_fs;
+EXTERN VALUE rb_output_fs;
+EXTERN VALUE rb_rs;
+EXTERN VALUE rb_default_rs;
+EXTERN VALUE rb_output_rs;
VALUE rb_io_write _((VALUE, VALUE));
VALUE rb_io_gets _((VALUE));
VALUE rb_io_getc _((VALUE));
diff --git a/io.c b/io.c
index f727c008ab..0a8b36a0ab 100644
--- a/io.c
+++ b/io.c
@@ -67,7 +67,7 @@ char *strdup();
extern void Init_File _((void));
#ifdef __BEOS__
-# ifdef _X86_
+# ifndef NOFILE
# define NOFILE (OPEN_MAX)
# endif
#include <net/socket.h>
@@ -110,7 +110,7 @@ static VALUE lineno;
#elif defined(FILE_COUNT)
# define READ_DATA_PENDING(fp) ((fp)->FILE_COUNT > 0)
#elif defined(__BEOS__)
-# define ReadDataPending(fp) (fp->_state._eof == 0)
+# define READ_DATA_PENDING(fp) (fp->_state._eof == 0)
#elif defined(USE_CWGUSI)
# define READ_DATA_PENDING(fp) (fp->state.eof == 0)
#else
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 5b060a3308..377d9f8318 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -397,7 +397,7 @@ EXEEXT = #{CONFIG["EXEEXT"]}
all: $(DLLIB)
clean:; @rm -f *.#{$OBJEXT} *.so *.sl *.a $(DLLIB)
- @rm -f $(TARGET).lib $(TARGET).exp
+ @rm -f $(TARGET).lib $(TARGET).exp $(TARGET).ilk *.pdb
@rm -f Makefile extconf.h conftest.*
@rm -f core ruby$(EXEEXT) *~
diff --git a/marshal.c b/marshal.c
index e1fc79f5a5..803e44151b 100644
--- a/marshal.c
+++ b/marshal.c
@@ -146,7 +146,7 @@ w_symbol(id, arg)
struct dump_arg *arg;
{
char *sym = rb_id2name(id);
- int num;
+ long num;
if (st_lookup(arg->symbol, id, &num)) {
w_byte(TYPE_SYMLINK, arg);
@@ -254,7 +254,7 @@ w_object(obj, arg, limit)
#endif
}
else {
- int num;
+ long num;
limit--;
c_arg.limit = limit;
diff --git a/node.h b/node.h
index e251e4e535..3923b7a07b 100644
--- a/node.h
+++ b/node.h
@@ -128,15 +128,15 @@ typedef struct RNode {
union {
struct RNode *node;
ID id;
- int argc;
+ long argc;
VALUE value;
} u2;
union {
struct RNode *node;
ID id;
- int state;
+ long state;
struct global_entry *entry;
- int cnt;
+ long cnt;
VALUE value;
} u3;
} NODE;
diff --git a/parse.y b/parse.y
index 92b8f02a19..33b2d7b466 100644
--- a/parse.y
+++ b/parse.y
@@ -4467,7 +4467,7 @@ rb_intern(name)
const char *name;
{
static ID last_id = LAST_TOKEN;
- int id;
+ ID id;
int last;
if (st_lookup(sym_tbl, name, &id))
diff --git a/re.h b/re.h
index a9800af26b..da1fbb5c86 100644
--- a/re.h
+++ b/re.h
@@ -35,7 +35,7 @@ VALUE rb_reg_regsub _((VALUE, VALUE, struct re_registers *));
int rb_kcode _((void));
-extern int ruby_ignorecase;
+EXTERN int ruby_ignorecase;
int rb_mbclen2 _((unsigned int, VALUE));
#define mbclen2(c,re) rb_mbclen2((c),(re))
diff --git a/regex.h b/regex.h
index 8ce80d472b..f5b34843c0 100644
--- a/regex.h
+++ b/regex.h
@@ -84,7 +84,14 @@
#define MBCTYPE_SJIS 2
#define MBCTYPE_UTF8 3
-extern const unsigned char *re_mbctab;
+#if defined IMPORT
+extern __declspec(dllimport)
+#elif defined EXPORT
+extern __declspec(dllexport)
+#else
+extern
+#endif
+const unsigned char *re_mbctab;
#if defined(__STDC__)
void re_mbcinit (int);
#else
diff --git a/ruby.h b/ruby.h
index b0c07e5e1e..a3170a8ed9 100644
--- a/ruby.h
+++ b/ruby.h
@@ -344,9 +344,16 @@ struct RBignum {
#define OBJ_TAINTED(x) FL_TEST((x), FL_TAINT)
#define OBJ_TAINT(x) FL_SET((x), FL_TAINT)
+#define xmalloc ruby_xmalloc
+#define xcalloc ruby_xcalloc
+#define xrealloc ruby_xrealloc
+#define xfree ruby_xfree
+
void *xmalloc _((size_t));
void *xcalloc _((size_t,size_t));
void *xrealloc _((void*,size_t));
+void xfree _((void*));
+
#define ALLOC_N(type,n) (type*)xmalloc(sizeof(type)*(n))
#define ALLOC(type) (type*)xmalloc(sizeof(type))
#define REALLOC_N(var,type,n) (var)=(type*)xrealloc((char*)(var),sizeof(type)*(n))
diff --git a/version.h b/version.h
index e0cd709daf..07ac7595f1 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
#define RUBY_VERSION "1.4.4"
-#define RUBY_RELEASE_DATE "2000-06-01"
+#define RUBY_RELEASE_DATE "2000-06-05"
#define RUBY_VERSION_CODE 144
-#define RUBY_RELEASE_CODE 20000601
+#define RUBY_RELEASE_CODE 20000605
diff --git a/win32/config.h b/win32/config.h
index 5c8d3dd8c0..2956624184 100644
--- a/win32/config.h
+++ b/win32/config.h
@@ -5,7 +5,7 @@
/* #define HAVE_UNISTD_H 1 */
#define HAVE_STDLIB_H 1
#define HAVE_LIMITS_H 1
-#define HAVE_SYS_FILE_H 1
+/* #define HAVE_SYS_FILE_H 1 */
#define HAVE_FCNTL_H 1
/* #define HAVE_PWD_H 1 */
/* #define HAVE_SYS_TIME_H 1 */
diff --git a/win32/config.status b/win32/config.status
index 150e2f3b85..5e98e32c95 100644
--- a/win32/config.status
+++ b/win32/config.status
@@ -5,8 +5,8 @@ s%@CPPFLAGS@%%g
s%@CXXFLAGS@%%g
s%@FFLAGS@%%g
s%@DEFS@%
- -DUSE_THREAD -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF_LONG=4 -DSIZEOF_VOIDP=4 -DSIZEOF_FLOAT=4 -DSIZEOF_DOUBLE=8 -DHAVE_PROTOTYPES=1 -DHAVE_STDARG_PROTOTYPES=1 -DHAVE_STDLIB_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_FILE_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ST_RDEV=1 -DGETGROUPS_T=int -DRETSIGTYPE=void -DHAVE_ALLOCA=1 -DHAVE_FMOD=1 -DHAVE_WAITPID=1 -DHAVE_GETCWD=1 -DHAVE_CHSIZE=1 -DHAVE_GETGROUPS=1 -DHAVE_GETLOGIN=1 -DRSHIFT=\(x,y\)\ \(\(x\)\>\>y\) -DFILE_COUNT=_cnt -DDLEXT=\".dll\" -DRUBY_PLATFORM=\"i386-mswin32\" %g
-s%@LDFLAGS@%%g
+ -DUSE_THREAD -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF_LONG=4 -DSIZEOF_VOIDP=4 -DSIZEOF_FLOAT=4 -DSIZEOF_DOUBLE=8 -DHAVE_PROTOTYPES=1 -DHAVE_STDARG_PROTOTYPES=1 -DHAVE_STDLIB_H=1 -DHAVE_LIMITS_H=1 -DHAVE_FCNTL_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ST_RDEV=1 -DGETGROUPS_T=int -DRETSIGTYPE=void -DHAVE_ALLOCA=1 -DHAVE_FMOD=1 -DHAVE_WAITPID=1 -DHAVE_GETCWD=1 -DHAVE_CHSIZE=1 -DHAVE_GETGROUPS=1 -DHAVE_GETLOGIN=1 -DRSHIFT=\(x,y\)\ \(\(x\)\>\>y\) -DFILE_COUNT=_cnt -DDLEXT=\".dll\" -DRUBY_PLATFORM=\"i386-mswin32\" %g
+s%@LDFLAGS@%-nologo -Ox%g
s%@LIBS@%user32.lib advapi32.lib wsock32.lib%g
s%@exec_prefix@%${prefix}%g
s%@prefix@%/usr/local%g
@@ -56,7 +56,7 @@ s%@LIBRUBY_A@%lib$(RUBY_INSTALL_NAME).lib%g
s%@LIBRUBY_SO@%%g
s%@LIBRUBY_ALIASES@%%g
s%@LIBRUBY@%libruby.lib%g
-s%@LIBRUBYARG@%libruby.lib%g
+s%@LIBRUBYARG@%$(topdir)/rubymw.lib%g
s%@SOLIBS@%%g
s%@arch@%i386-mswin32%g
s%@sitedir@%${prefix}/lib/ruby/site_ruby%g
diff --git a/win32/ruby.def b/win32/ruby.def
index 8ed6e2a8b6..ae4b9d6889 100644
--- a/win32/ruby.def
+++ b/win32/ruby.def
@@ -34,6 +34,7 @@ EXPORTS
ruby_nerrs
;eval.c
rb_cProc
+ ruby_errinfo
ruby_frame
rb_cThread
rb_thread_tick
@@ -49,6 +50,15 @@ EXPORTS
rb_cIO
rb_eEOFError
rb_eIOError
+ rb_stdin
+ rb_stdout
+ rb_stderr
+ rb_defout
+ rb_fs
+ rb_output_fs
+ rb_rs
+ rb_output_rs
+ rb_default_rs
;math.c
rb_mMath
;numeric.c
@@ -66,6 +76,9 @@ EXPORTS
rb_cNilClass
rb_cTrueClass
rb_cFalseClass
+;parse.c
+ ruby_sourcefile
+ ruby_sourceline
;prec.c
rb_mPrecision
;process.c
@@ -73,6 +86,7 @@ EXPORTS
;range.c
rb_cRange
;re.c
+ ruby_ignorecase
rb_cRegexp
;regex.c
re_mbctab
@@ -326,10 +340,10 @@ EXPORTS
eaccess
rb_file_s_expand_path
;gc.c
- xmalloc
- xfree
- xcalloc
- xrealloc
+ ruby_xmalloc
+ ruby_xcalloc
+ ruby_xrealloc
+ ruby_xfree
rb_global_variable
rb_newobj
rb_data_object_alloc
@@ -342,6 +356,10 @@ EXPORTS
rb_gc_mark_frame
rb_gc
rb_gc_call_finalizer_at_exit
+ xmalloc
+ xcalloc
+ xrealloc
+ xfree
;hash.c
rb_hash_freeze
rb_hash
@@ -452,6 +470,16 @@ EXPORTS
rb_reg_regsub
rb_get_kcode
rb_set_kcode
+;regex.c
+ ruby_re_set_casetable
+ ruby_re_compile_pattern
+ ruby_re_free_pattern
+ ruby_re_compile_fastmap
+ ruby_re_search
+ ruby_re_match
+ ruby_re_copy_registers
+ ruby_re_free_registers
+ ruby_re_mbcinit
;ruby.c
ruby_require_libraries
rb_load_file