From: nobu.nakada@... Date: 2001-12-17T16:20:02+09:00 Subject: [ruby-dev:15472] Re: exported symbol なかだです。 At Fri, 14 Dec 2001 19:00:44 +0900, Nobuyoshi-Nakada wrote: > > あれ?まだ入ってなかったんですね。 > > rb_defoutもあったかな。 > > > > その他に拡張ライブラリを書いてて > > EXTERN VALUE hogehoge; > > してしまった変数があったら検討しましょう。 > > ヘッダにないグローバル変数・関数と、参照してるソースです。+を付 > けたのは入れといてもよさそうもの、-を付けたのは逆にstaticにした > ほうがよさそうなものです。?はヘッダに入れるべきかstaticにすべき > かやや悩ましいもの。 とりあえずこんなところでどうかと思うのですが。 それとrubyio.hのガードはIO_HよりもRUBYIO_Hの方がいいのでは。 Index: array.c =================================================================== RCS file: /cvs/ruby/src/ruby/array.c,v retrieving revision 1.70 diff -u -2 -p -r1.70 array.c --- array.c 2001/12/13 08:19:07 1.70 +++ array.c 2001/12/17 06:55:19 @@ -925,5 +925,5 @@ struct inspect_arg { }; -VALUE +static VALUE inspect_call(arg) struct inspect_arg *arg; Index: eval.c =================================================================== RCS file: /cvs/ruby/src/ruby/eval.c,v retrieving revision 1.233 diff -u -2 -p -r1.233 eval.c --- eval.c 2001/11/29 15:57:25 1.233 +++ eval.c 2001/12/17 06:56:13 @@ -700,5 +700,5 @@ dvar_asgn_internal(id, value, curr) } -void +static void dvar_asgn(id, value) ID id; Index: intern.h =================================================================== RCS file: /cvs/ruby/src/ruby/intern.h,v retrieving revision 1.73 diff -u -2 -p -r1.73 intern.h --- intern.h 2001/11/29 15:57:25 1.73 +++ intern.h 2001/12/17 07:09:29 @@ -200,4 +200,7 @@ void rb_gc_force_recycle _((VALUE)); void rb_gc _((void)); void rb_gc_call_finalizer_at_exit _((void)); +VALUE rb_gc_enable _((void)); +VALUE rb_gc_disable _((void)); +VALUE rb_gc_start _((void)); /* hash.c */ VALUE rb_hash _((VALUE)); @@ -332,10 +335,15 @@ VALUE rb_str_new2 _((const char*)); VALUE rb_str_new3 _((VALUE)); VALUE rb_str_new4 _((VALUE)); +VALUE rb_str_new5 _((VALUE, const char *, long)); VALUE rb_tainted_str_new _((const char*, long)); VALUE rb_tainted_str_new2 _((const char*)); VALUE rb_str_buf_new _((long)); VALUE rb_str_buf_new2 _((const char*)); +VALUE rb_str_buf_append _((VALUE, VALUE)); +VALUE rb_str_buf_cat _((VALUE, const char *, long)); +VALUE rb_str_buf_cat2 _((VALUE, const char *)); VALUE rb_obj_as_string _((VALUE)); VALUE rb_str_dup _((VALUE)); +VALUE rb_str_dup_frozen _((VALUE)); VALUE rb_str_plus _((VALUE, VALUE)); VALUE rb_str_times _((VALUE, VALUE)); Index: io.c =================================================================== RCS file: /cvs/ruby/src/ruby/io.c,v retrieving revision 1.101 diff -u -2 -p -r1.101 io.c --- io.c 2001/12/10 07:18:12 1.101 +++ io.c 2001/12/17 06:59:25 @@ -1140,5 +1140,5 @@ rb_io_closed(io) } -VALUE +static VALUE rb_io_close_read(io) VALUE io; Index: lex.c =================================================================== RCS file: /cvs/ruby/src/ruby/lex.c,v retrieving revision 1.7 diff -u -2 -p -r1.7 lex.c --- lex.c 2001/08/20 04:29:56 1.7 +++ lex.c 2001/12/17 06:54:32 @@ -66,4 +66,5 @@ hash (str, len) } +static #ifdef __GNUC__ __inline Index: ruby.c =================================================================== RCS file: /cvs/ruby/src/ruby/ruby.c,v retrieving revision 1.54 diff -u -2 -p -r1.54 ruby.c --- ruby.c 2001/10/02 04:31:19 1.54 +++ ruby.c 2001/12/17 06:54:00 @@ -287,6 +287,6 @@ struct req_list { char *name; struct req_list *next; -} req_list_head; -struct req_list *req_list_last = &req_list_head; +}; +static struct req_list req_list_head, *req_list_last = &req_list_head; static void @@ -306,5 +306,5 @@ add_modules(mod) extern void Init_ext _((void)); -void +static void require_libraries() { Index: ruby.h =================================================================== RCS file: /cvs/ruby/src/ruby/ruby.h,v retrieving revision 1.55 diff -u -2 -p -r1.55 ruby.h --- ruby.h 2001/12/10 07:23:58 1.55 +++ ruby.h 2001/12/17 06:51:50 @@ -580,4 +580,6 @@ EXTERN VALUE rb_eSyntaxError; EXTERN VALUE rb_eLoadError; +EXTERN VALUE rb_defout, rb_stdin, rb_stdout, rb_stderr, ruby_errinfo; + static inline VALUE #if defined(__cplusplus) Index: rubyio.h =================================================================== RCS file: /cvs/ruby/src/ruby/rubyio.h,v retrieving revision 1.12 diff -u -2 -p -r1.12 rubyio.h --- rubyio.h 2001/10/03 07:19:10 1.12 +++ rubyio.h 2001/12/17 07:06:42 @@ -11,6 +11,6 @@ **********************************************************************/ -#ifndef IO_H -#define IO_H +#ifndef RUBYIO_H +#define RUBYIO_H #include -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦