From: Katsuyuki Komatsu Date: 2000-06-01T23:32:39+09:00 Subject: [ruby-dev:9950] [PATCH] merge 1.5 change into 1.4.4 小松です。 Ruby 1.5.4の変更分でRuby 1.4.4にマージを希望する項目です。 1.[ruby-dev:9652], [ruby-dev:9661], [ruby-dev:9704] MANIFEST, configure.in: Makefile.inの変更により不要となった beos/GNUmakefile.inの削除 io.c: BeOS R4.5以降のIntel版用にNOFILEのチェックを変更 2.[ruby-dev:9678], [ruby-dev:9713]の一部 win32/config.h: HAVE_SYS_FILE_Hをコメントアウト win32/config.status: @DEFS@を同様に変更 3.[ruby-dev:9686], [ruby-dev:9693], [ruby-dev:9715] gc.c, ruby.h: xmalloc等をruby_xmalloc等に変更 win32/ruby.def: xmalloc関係をexport 4.[ruby-dev:9723], [ruby-dev:9730], [ruby-dev:9746] ext/readline/extconf.rb: ライブラリのチェックの順番の変更 5.[ruby-dev:9745] io.c: BeOS (PowerPC)用にREAD_DATA_PENDINGの定義を修正 6.[ruby-dev:9747], [ruby-list:22559] intern.h: eruby用にexternをEXTERNに変更 win32/ruby.def: erubyに必要なexportを追加 7.[ruby-dev:9761], [ruby-dev:9766] dln.c, marshal.c, parse.y: st_lookup()の第3引数の型を修正 node.h: struct RNodeの中のintをすべてlongに変更 8.[ruby-dev:9810] ext/pty/pty.c: ruby.hとrubyio.hの#include <>を#include ""に変更 9.[ruby-dev:9854] re.h: ruby_ignorecaseのexternをEXTERNに変更 regex.h: re_mbctabのexternに__declspec(dllimport)等を追加 win32/ruby.def: strscan.so用にruby_ignorecaseとregex.cの関数をexport 10.[ruby-dev:9897], [ruby-dev:9917] win32/config.status: eruby用にLDFLAGSとLIBRUBYARGを修正 11.[ruby-dev:9921]の一部 lib/mkmf.rb: $(TARGET).ilkと*.pdbの削除を追加 diff -ru1p ruby-1.4.4.dist/ChangeLog ruby-1.4.4/ChangeLog --- ruby-1.4.4.dist/ChangeLog Thu Jun 1 01:40:58 2000 +++ ruby-1.4.4/ChangeLog Thu Jun 1 23:16:16 2000 @@ -9,2 +9,28 @@ Wed May 31 04:06:41 2000 Wakou Aoyama < +Tue May 30 23:33:41 2000 Katsuyuki Komatsu + + * lib/mkmf.rb (create_makefile): add $(TARGET).ilk and *.pdb + to cleanup files for mswin32. + +Mon May 29 21:48:24 2000 Katsuyuki Komatsu + + * win32/config.status: set LDFLAGS and LIBRUBYARG for eruby. + +Thu May 25 22:01:32 2000 Katsuyuki Komatsu + + * 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 + + * win32/Makefile: remove unnecessary mv and rm command call. + +Wed May 24 21:01:04 2000 Katsuyuki Komatsu + + * 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 @@ -28,2 +54,25 @@ Sun May 21 20:58:08 2000 Katsuyuki Koma +Thu May 18 23:55:26 2000 Katsuyuki Komatsu + + * 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 + + * io.c: fix READ_DATA_PENDING definition for BeOS (PowerPC). + +Wed May 17 23:17:38 2000 Katsuyuki Komatsu + + * 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 . + Export both ruby_xmalloc and xmalloc etc. + Wed May 17 02:22:03 2000 Yukihiro Matsumoto @@ -54,2 +103,10 @@ Wed May 10 12:51:18 2000 Yukihiro Matsu here to avoid causing `unterminated regexp' error. + +Wed May 10 00:19:53 2000 Katsuyuki Komatsu + + * 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. diff -ru1p ruby-1.4.4.dist/MANIFEST ruby-1.4.4/MANIFEST --- ruby-1.4.4.dist/MANIFEST Fri Apr 14 23:35:40 2000 +++ ruby-1.4.4/MANIFEST Thu Jun 1 23:16:16 2000 @@ -77,3 +77,2 @@ version.c version.h -beos/GNUmakefile.in cygwin/GNUmakefile.in diff -ru1p ruby-1.4.4.dist/configure.in ruby-1.4.4/configure.in --- ruby-1.4.4.dist/configure.in Mon May 1 18:42:21 2000 +++ ruby-1.4.4/configure.in Thu Jun 1 23:16:16 2000 @@ -683,3 +683,2 @@ if test "$host_os" = "beos"; then LDFLAGS="$LDFLAGS -L." - FIRSTMAKEFILE=GNUmakefile:beos/GNUmakefile.in ;; diff -ru1p ruby-1.4.4.dist/dln.c ruby-1.4.4/dln.c --- ruby-1.4.4.dist/dln.c Tue May 9 13:50:06 2000 +++ ruby-1.4.4/dln.c Thu Jun 1 23:16:16 2000 @@ -886,3 +886,3 @@ search_undef(key, value, lib_tbl) { - int offset; + long offset; diff -ru1p ruby-1.4.4.dist/ext/pty/pty.c ruby-1.4.4/ext/pty/pty.c --- ruby-1.4.4.dist/ext/pty/pty.c Tue Feb 8 17:53:59 2000 +++ ruby-1.4.4/ext/pty/pty.c Thu Jun 1 23:16:16 2000 @@ -17,4 +17,4 @@ -#include -#include +#include "ruby.h" +#include "rubyio.h" diff -ru1p ruby-1.4.4.dist/ext/readline/extconf.rb ruby-1.4.4/ext/readline/extconf.rb --- ruby-1.4.4.dist/ext/readline/extconf.rb Fri Aug 13 14:37:50 1999 +++ ruby-1.4.4/ext/readline/extconf.rb Thu Jun 1 23:16:16 2000 @@ -3,5 +3,7 @@ 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 diff -ru1p ruby-1.4.4.dist/gc.c ruby-1.4.4/gc.c --- ruby-1.4.4.dist/gc.c Mon Apr 10 14:48:32 2000 +++ ruby-1.4.4/gc.c Thu Jun 1 23:16:16 2000 @@ -53,5 +53,4 @@ static int malloc_called = 0; -#ifndef xmalloc void * -xmalloc(size) +ruby_xmalloc(size) size_t size; @@ -81,3 +80,3 @@ xmalloc(size) void * -xcalloc(n, size) +ruby_xcalloc(n, size) size_t n, size; @@ -93,3 +92,3 @@ xcalloc(n, size) void * -xrealloc(ptr, size) +ruby_xrealloc(ptr, size) void *ptr; @@ -117,3 +116,3 @@ xrealloc(ptr, size) void -xfree(x) +ruby_xfree(x) void *x; @@ -122,3 +121,2 @@ xfree(x) } -#endif @@ -1204,2 +1202,36 @@ Init_GC() 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 -ru1p ruby-1.4.4.dist/intern.h ruby-1.4.4/intern.h --- ruby-1.4.4.dist/intern.h Tue May 30 13:21:04 2000 +++ ruby-1.4.4/intern.h Thu Jun 1 23:16:16 2000 @@ -171,7 +171,7 @@ 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)); diff -ru1p ruby-1.4.4.dist/io.c ruby-1.4.4/io.c --- ruby-1.4.4.dist/io.c Mon May 1 18:42:26 2000 +++ ruby-1.4.4/io.c Thu Jun 1 23:16:16 2000 @@ -69,3 +69,3 @@ extern void Init_File _((void)); #ifdef __BEOS__ -# ifdef _X86_ +# ifndef NOFILE # define NOFILE (OPEN_MAX) @@ -112,3 +112,3 @@ static VALUE lineno; #elif defined(__BEOS__) -# define ReadDataPending(fp) (fp->_state._eof == 0) +# define READ_DATA_PENDING(fp) (fp->_state._eof == 0) #elif defined(USE_CWGUSI) diff -ru1p ruby-1.4.4.dist/lib/mkmf.rb ruby-1.4.4/lib/mkmf.rb --- ruby-1.4.4.dist/lib/mkmf.rb Tue May 9 13:50:19 2000 +++ ruby-1.4.4/lib/mkmf.rb Thu Jun 1 23:16:16 2000 @@ -399,3 +399,3 @@ 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.* diff -ru1p ruby-1.4.4.dist/marshal.c ruby-1.4.4/marshal.c --- ruby-1.4.4.dist/marshal.c Fri Apr 14 23:35:44 2000 +++ ruby-1.4.4/marshal.c Thu Jun 1 23:16:16 2000 @@ -148,3 +148,3 @@ w_symbol(id, arg) char *sym = rb_id2name(id); - int num; + long num; @@ -256,3 +256,3 @@ w_object(obj, arg, limit) else { - int num; + long num; diff -ru1p ruby-1.4.4.dist/node.h ruby-1.4.4/node.h --- ruby-1.4.4.dist/node.h Thu Mar 23 13:14:19 2000 +++ ruby-1.4.4/node.h Thu Jun 1 23:16:16 2000 @@ -130,3 +130,3 @@ typedef struct RNode { ID id; - int argc; + long argc; VALUE value; @@ -136,5 +136,5 @@ typedef struct RNode { ID id; - int state; + long state; struct global_entry *entry; - int cnt; + long cnt; VALUE value; diff -ru1p ruby-1.4.4.dist/parse.y ruby-1.4.4/parse.y --- ruby-1.4.4.dist/parse.y Tue May 30 13:21:08 2000 +++ ruby-1.4.4/parse.y Thu Jun 1 23:16:16 2000 @@ -4469,3 +4469,3 @@ rb_intern(name) static ID last_id = LAST_TOKEN; - int id; + ID id; int last; diff -ru1p ruby-1.4.4.dist/re.h ruby-1.4.4/re.h --- ruby-1.4.4.dist/re.h Mon May 1 18:42:31 2000 +++ ruby-1.4.4/re.h Thu Jun 1 23:16:16 2000 @@ -37,3 +37,3 @@ int rb_kcode _((void)); -extern int ruby_ignorecase; +EXTERN int ruby_ignorecase; diff -ru1p ruby-1.4.4.dist/regex.h ruby-1.4.4/regex.h --- ruby-1.4.4.dist/regex.h Tue Aug 24 17:21:54 1999 +++ ruby-1.4.4/regex.h Thu Jun 1 23:16:16 2000 @@ -86,3 +86,10 @@ -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__) diff -ru1p ruby-1.4.4.dist/ruby.h ruby-1.4.4/ruby.h --- ruby-1.4.4.dist/ruby.h Tue May 30 13:21:25 2000 +++ ruby-1.4.4/ruby.h Thu Jun 1 23:16:16 2000 @@ -346,2 +346,7 @@ struct RBignum { +#define xmalloc ruby_xmalloc +#define xcalloc ruby_xcalloc +#define xrealloc ruby_xrealloc +#define xfree ruby_xfree + void *xmalloc _((size_t)); @@ -349,2 +354,4 @@ void *xcalloc _((size_t,size_t)); void *xrealloc _((void*,size_t)); +void xfree _((void*)); + #define ALLOC_N(type,n) (type*)xmalloc(sizeof(type)*(n)) diff -ru1p ruby-1.4.4.dist/win32/config.h ruby-1.4.4/win32/config.h --- ruby-1.4.4.dist/win32/config.h Tue Mar 14 15:56:34 2000 +++ ruby-1.4.4/win32/config.h Thu Jun 1 23:16:16 2000 @@ -7,3 +7,3 @@ #define HAVE_LIMITS_H 1 -#define HAVE_SYS_FILE_H 1 +/* #define HAVE_SYS_FILE_H 1 */ #define HAVE_FCNTL_H 1 diff -ru1p ruby-1.4.4.dist/win32/config.status ruby-1.4.4/win32/config.status --- ruby-1.4.4.dist/win32/config.status Fri Apr 14 23:35:50 2000 +++ ruby-1.4.4/win32/config.status Thu Jun 1 23:16:16 2000 @@ -7,4 +7,4 @@ 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 @@ -58,3 +58,3 @@ s%@LIBRUBY_ALIASES@%%g s%@LIBRUBY@%libruby.lib%g -s%@LIBRUBYARG@%libruby.lib%g +s%@LIBRUBYARG@%$(topdir)/rubymw.lib%g s%@SOLIBS@%%g diff -ru1p ruby-1.4.4.dist/win32/ruby.def ruby-1.4.4/win32/ruby.def --- ruby-1.4.4.dist/win32/ruby.def Thu Mar 23 17:42:46 2000 +++ ruby-1.4.4/win32/ruby.def Thu Jun 1 23:16:16 2000 @@ -36,2 +36,3 @@ EXPORTS rb_cProc + ruby_errinfo ruby_frame @@ -51,2 +52,11 @@ EXPORTS 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 @@ -68,2 +78,5 @@ EXPORTS rb_cFalseClass +;parse.c + ruby_sourcefile + ruby_sourceline ;prec.c @@ -75,2 +88,3 @@ EXPORTS ;re.c + ruby_ignorecase rb_cRegexp @@ -328,6 +342,6 @@ EXPORTS ;gc.c - xmalloc - xfree - xcalloc - xrealloc + ruby_xmalloc + ruby_xcalloc + ruby_xrealloc + ruby_xfree rb_global_variable @@ -344,2 +358,6 @@ EXPORTS rb_gc_call_finalizer_at_exit + xmalloc + xcalloc + xrealloc + xfree ;hash.c @@ -454,2 +472,12 @@ EXPORTS 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 -- 小松克行 / Katsuyuki Komatsu