2000-05-01 05:42:38 -04:00
|
|
|
/**********************************************************************
|
|
|
|
|
|
|
|
intern.h -
|
|
|
|
|
|
|
|
$Author$
|
|
|
|
$Date$
|
|
|
|
created at: Thu Jun 10 14:22:17 JST 1993
|
|
|
|
|
2003-01-16 02:34:03 -05:00
|
|
|
Copyright (C) 1993-2003 Yukihiro Matsumoto
|
2000-05-01 05:42:38 -04:00
|
|
|
Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
|
2000-05-09 00:53:16 -04:00
|
|
|
Copyright (C) 2000 Information-technology Promotion Agency, Japan
|
2000-05-01 05:42:38 -04:00
|
|
|
|
|
|
|
**********************************************************************/
|
|
|
|
|
2004-02-16 01:45:32 -05:00
|
|
|
#ifndef RUBY_INTERN_H
|
|
|
|
#define RUBY_INTERN_H 1
|
|
|
|
|
2005-07-22 21:02:18 -04:00
|
|
|
#ifdef HAVE_STDARG_PROTOTYPES
|
|
|
|
# include <stdarg.h>
|
|
|
|
#else
|
|
|
|
# include <varargs.h>
|
|
|
|
#endif
|
|
|
|
|
2000-05-01 05:42:38 -04:00
|
|
|
/*
|
|
|
|
* Functions and variables that are used by more than one source file of
|
|
|
|
* the kernel.
|
1998-01-16 07:19:09 -05:00
|
|
|
*/
|
|
|
|
|
2003-01-08 01:59:38 -05:00
|
|
|
#define ID_ALLOCATOR 1
|
2002-12-20 03:33:17 -05:00
|
|
|
|
1998-01-16 07:19:09 -05:00
|
|
|
/* array.c */
|
2000-11-20 02:31:55 -05:00
|
|
|
void rb_mem_clear _((register VALUE*, register long));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_assoc_new _((VALUE, VALUE));
|
2003-01-06 06:47:53 -05:00
|
|
|
VALUE rb_check_array_type _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_ary_new _((void));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_ary_new2 _((long));
|
|
|
|
VALUE rb_ary_new3 __((long,...));
|
2002-04-18 04:46:18 -04:00
|
|
|
VALUE rb_ary_new4 _((long, const VALUE *));
|
2004-04-06 22:51:05 -04:00
|
|
|
VALUE rb_values_new __((long,...));
|
|
|
|
VALUE rb_values_new2 _((long, const VALUE *));
|
2004-05-07 04:44:24 -04:00
|
|
|
VALUE rb_values_from_ary _((VALUE));
|
|
|
|
VALUE rb_ary_from_values _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_ary_freeze _((VALUE));
|
|
|
|
VALUE rb_ary_aref _((int, VALUE*, VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_ary_store _((VALUE, long, VALUE));
|
2001-07-14 11:17:19 -04:00
|
|
|
VALUE rb_ary_dup _((VALUE));
|
2001-06-19 00:35:17 -04:00
|
|
|
VALUE rb_ary_to_ary _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_ary_to_s _((VALUE));
|
|
|
|
VALUE rb_ary_push _((VALUE, VALUE));
|
|
|
|
VALUE rb_ary_pop _((VALUE));
|
|
|
|
VALUE rb_ary_shift _((VALUE));
|
|
|
|
VALUE rb_ary_unshift _((VALUE, VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_ary_entry _((VALUE, long));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_ary_each _((VALUE));
|
|
|
|
VALUE rb_ary_join _((VALUE, VALUE));
|
|
|
|
VALUE rb_ary_print_on _((VALUE, VALUE));
|
|
|
|
VALUE rb_ary_reverse _((VALUE));
|
|
|
|
VALUE rb_ary_sort _((VALUE));
|
|
|
|
VALUE rb_ary_sort_bang _((VALUE));
|
|
|
|
VALUE rb_ary_delete _((VALUE, VALUE));
|
2000-01-04 23:41:21 -05:00
|
|
|
VALUE rb_ary_delete_at _((VALUE, long));
|
2001-03-13 00:45:13 -05:00
|
|
|
VALUE rb_ary_clear _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_ary_plus _((VALUE, VALUE));
|
|
|
|
VALUE rb_ary_concat _((VALUE, VALUE));
|
|
|
|
VALUE rb_ary_assoc _((VALUE, VALUE));
|
|
|
|
VALUE rb_ary_rassoc _((VALUE, VALUE));
|
|
|
|
VALUE rb_ary_includes _((VALUE, VALUE));
|
2001-08-23 02:02:15 -04:00
|
|
|
VALUE rb_ary_cmp _((VALUE, VALUE));
|
2002-12-19 04:20:20 -05:00
|
|
|
VALUE rb_check_array_value _((VALUE));
|
2004-04-06 22:51:05 -04:00
|
|
|
VALUE rb_get_values_at _((VALUE, long, int, VALUE*, VALUE(*) _((VALUE,long))));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* bignum.c */
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_big_clone _((VALUE));
|
|
|
|
void rb_big_2comp _((VALUE));
|
|
|
|
VALUE rb_big_norm _((VALUE));
|
|
|
|
VALUE rb_uint2big _((unsigned long));
|
|
|
|
VALUE rb_int2big _((long));
|
|
|
|
VALUE rb_uint2inum _((unsigned long));
|
|
|
|
VALUE rb_int2inum _((long));
|
2002-02-01 05:23:22 -05:00
|
|
|
VALUE rb_cstr_to_inum _((const char*, int, int));
|
|
|
|
VALUE rb_str_to_inum _((VALUE, int, int));
|
2000-01-04 23:41:21 -05:00
|
|
|
VALUE rb_cstr2inum _((const char*, int));
|
|
|
|
VALUE rb_str2inum _((VALUE, int));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_big2str _((VALUE, int));
|
|
|
|
long rb_big2long _((VALUE));
|
|
|
|
#define rb_big2int(x) rb_big2long(x)
|
|
|
|
unsigned long rb_big2ulong _((VALUE));
|
|
|
|
#define rb_big2uint(x) rb_big2ulong(x)
|
2002-03-14 01:23:46 -05:00
|
|
|
#if HAVE_LONG_LONG
|
* bignum.c, intern.h (rb_ull2big, rb_ll2big, rb_ull2inum, rb_ll2inum,
big2ull, rb_big2ull, rb_big2ll): use LONG_LONG macro instead of
long long.
* numeric.c, intern.h, ruby.h (rb_num2ll, rb_num2ull): ditto.
* ruby.h: use _I64_MAX and _I64_MIN if they are defined (for VC++).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-03-15 03:51:31 -05:00
|
|
|
VALUE rb_ll2inum _((LONG_LONG));
|
|
|
|
VALUE rb_ull2inum _((unsigned LONG_LONG));
|
|
|
|
LONG_LONG rb_big2ll _((VALUE));
|
|
|
|
unsigned LONG_LONG rb_big2ull _((VALUE));
|
2002-03-14 01:23:46 -05:00
|
|
|
#endif /* HAVE_LONG_LONG */
|
2002-02-13 04:01:11 -05:00
|
|
|
void rb_quad_pack _((char*,VALUE));
|
|
|
|
VALUE rb_quad_unpack _((const char*,int));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_dbl2big _((double));
|
|
|
|
double rb_big2dbl _((VALUE));
|
2005-08-12 04:13:28 -04:00
|
|
|
VALUE rb_big_cmp _((VALUE, VALUE));
|
|
|
|
VALUE rb_big_eq _((VALUE, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_big_plus _((VALUE, VALUE));
|
|
|
|
VALUE rb_big_minus _((VALUE, VALUE));
|
|
|
|
VALUE rb_big_mul _((VALUE, VALUE));
|
2005-08-03 03:09:48 -04:00
|
|
|
VALUE rb_big_div _((VALUE, VALUE));
|
|
|
|
VALUE rb_big_modulo _((VALUE, VALUE));
|
2000-05-12 05:07:57 -04:00
|
|
|
VALUE rb_big_divmod _((VALUE, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_big_pow _((VALUE, VALUE));
|
|
|
|
VALUE rb_big_and _((VALUE, VALUE));
|
|
|
|
VALUE rb_big_or _((VALUE, VALUE));
|
|
|
|
VALUE rb_big_xor _((VALUE, VALUE));
|
|
|
|
VALUE rb_big_lshift _((VALUE, VALUE));
|
2002-07-26 02:12:39 -04:00
|
|
|
VALUE rb_big_rand _((VALUE, double*));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* class.c */
|
2001-07-18 01:56:05 -04:00
|
|
|
VALUE rb_class_boot _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_class_new _((VALUE));
|
2003-08-06 17:50:06 -04:00
|
|
|
VALUE rb_mod_init_copy _((VALUE, VALUE));
|
|
|
|
VALUE rb_class_init_copy _((VALUE, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_singleton_class_clone _((VALUE));
|
|
|
|
void rb_singleton_class_attached _((VALUE,VALUE));
|
2002-01-10 15:18:39 -05:00
|
|
|
VALUE rb_make_metaclass _((VALUE, VALUE));
|
2003-12-21 03:29:06 -05:00
|
|
|
void rb_check_inheritable _((VALUE));
|
2002-01-10 15:18:39 -05:00
|
|
|
VALUE rb_class_inherited _((VALUE, VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
VALUE rb_define_class_id _((ID, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_module_new _((void));
|
1998-01-16 07:19:09 -05:00
|
|
|
VALUE rb_define_module_id _((ID));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_mod_included_modules _((VALUE));
|
2001-07-24 05:07:33 -04:00
|
|
|
VALUE rb_mod_include_p _((VALUE, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_mod_ancestors _((VALUE));
|
|
|
|
VALUE rb_class_instance_methods _((int, VALUE*, VALUE));
|
2002-10-30 03:04:32 -05:00
|
|
|
VALUE rb_class_public_instance_methods _((int, VALUE*, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_class_protected_instance_methods _((int, VALUE*, VALUE));
|
|
|
|
VALUE rb_class_private_instance_methods _((int, VALUE*, VALUE));
|
2001-05-30 05:12:34 -04:00
|
|
|
VALUE rb_obj_singleton_methods _((int, VALUE*, VALUE));
|
2001-05-02 00:22:21 -04:00
|
|
|
void rb_define_method_id _((VALUE, ID, VALUE (*)(ANYARGS), int));
|
2000-12-18 04:46:21 -05:00
|
|
|
void rb_frozen_class_p _((VALUE));
|
|
|
|
void rb_undef _((VALUE, ID));
|
2001-05-02 00:22:21 -04:00
|
|
|
void rb_define_protected_method _((VALUE, const char*, VALUE (*)(ANYARGS), int));
|
|
|
|
void rb_define_private_method _((VALUE, const char*, VALUE (*)(ANYARGS), int));
|
|
|
|
void rb_define_singleton_method _((VALUE, const char*, VALUE(*)(ANYARGS), int));
|
1998-01-16 07:19:09 -05:00
|
|
|
VALUE rb_singleton_class _((VALUE));
|
2002-11-22 04:14:24 -05:00
|
|
|
/* compar.c */
|
2003-05-19 11:45:46 -04:00
|
|
|
int rb_cmpint _((VALUE, VALUE, VALUE));
|
2003-05-07 23:56:12 -04:00
|
|
|
NORETURN(void rb_cmperr _((VALUE, VALUE)));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* enum.c */
|
2005-07-14 11:15:22 -04:00
|
|
|
/* enumerator.c */
|
|
|
|
VALUE rb_enumeratorize _((VALUE, VALUE, int, VALUE *));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* error.c */
|
2003-03-04 09:12:19 -05:00
|
|
|
RUBY_EXTERN int ruby_nerrs;
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_exc_new _((VALUE, const char*, long));
|
|
|
|
VALUE rb_exc_new2 _((VALUE, const char*));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_exc_new3 _((VALUE, VALUE));
|
2001-01-10 02:30:18 -05:00
|
|
|
NORETURN(void rb_loaderror __((const char*, ...)));
|
2002-09-03 06:00:45 -04:00
|
|
|
NORETURN(void rb_name_error __((ID, const char*, ...)));
|
2002-01-04 09:15:33 -05:00
|
|
|
NORETURN(void rb_invalid_str _((const char*, const char*)));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_compile_error __((const char*, ...));
|
|
|
|
void rb_compile_error_append __((const char*, ...));
|
2004-07-23 03:52:38 -04:00
|
|
|
NORETURN(void rb_load_fail _((const char*)));
|
|
|
|
NORETURN(void rb_error_frozen _((const char*)));
|
2002-09-03 06:00:45 -04:00
|
|
|
void rb_check_frozen _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* eval.c */
|
2005-06-03 10:23:17 -04:00
|
|
|
#ifdef NFDBITS
|
|
|
|
typedef struct {
|
|
|
|
int maxfd;
|
|
|
|
fd_set *fdset;
|
|
|
|
} rb_fdset_t;
|
|
|
|
|
|
|
|
#define HAVE_RB_FD_INIT 1
|
|
|
|
|
|
|
|
void rb_fd_init _((volatile rb_fdset_t *));
|
|
|
|
void rb_fd_term _((rb_fdset_t *));
|
|
|
|
void rb_fd_zero _((rb_fdset_t *));
|
|
|
|
void rb_fd_set _((int, rb_fdset_t *));
|
|
|
|
void rb_fd_clr _((int, rb_fdset_t *));
|
|
|
|
int rb_fd_isset _((int, const rb_fdset_t *));
|
|
|
|
void rb_fd_copy _((rb_fdset_t *, const fd_set *, int));
|
2005-07-22 22:46:41 -04:00
|
|
|
int rb_fd_select _((int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *));
|
2005-06-03 10:23:17 -04:00
|
|
|
|
|
|
|
#define rb_fd_ptr(f) ((f)->fdset)
|
|
|
|
#define rb_fd_max(f) ((f)->maxfd)
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
typedef fd_set rb_fdset_t;
|
|
|
|
#define rb_fd_zero(f) FD_ZERO(f)
|
|
|
|
#define rb_fd_set(n, f) FD_SET(n, f)
|
|
|
|
#define rb_fd_clr(n, f) FD_CLR(n, f)
|
|
|
|
#define rb_fd_isset(n, f) FD_ISSET(n, f)
|
|
|
|
#define rb_fd_copy(d, s, n) (*(d) = *(s))
|
|
|
|
#define rb_fd_ptr(f) (f)
|
|
|
|
#define rb_fd_init(f) FD_ZERO(f)
|
|
|
|
#define rb_fd_term(f) (f)
|
|
|
|
#define rb_fd_max(f) FD_SETSIZE
|
2005-07-22 22:46:41 -04:00
|
|
|
#define rb_fd_select(n, rfds, wfds, efds, timeout) select(n, rfds, wfds, efds, timeout)
|
2005-06-03 10:23:17 -04:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2003-03-04 09:12:19 -05:00
|
|
|
RUBY_EXTERN struct RNode *ruby_current_node;
|
2002-08-15 07:49:40 -04:00
|
|
|
void ruby_set_current_source _((void));
|
2001-01-10 02:30:18 -05:00
|
|
|
NORETURN(void rb_exc_raise _((VALUE)));
|
|
|
|
NORETURN(void rb_exc_fatal _((VALUE)));
|
2002-12-10 01:23:44 -05:00
|
|
|
VALUE rb_f_exit _((int,VALUE*));
|
|
|
|
VALUE rb_f_abort _((int,VALUE*));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_remove_method _((VALUE, const char*));
|
2003-09-11 23:30:45 -04:00
|
|
|
#define rb_disable_super(klass, name) ((void)0)
|
|
|
|
#define rb_enable_super(klass, name) ((void)0)
|
2003-02-09 01:16:08 -05:00
|
|
|
#define HAVE_RB_DEFINE_ALLOC_FUNC 1
|
2002-12-20 03:33:17 -05:00
|
|
|
void rb_define_alloc_func _((VALUE, VALUE (*)(VALUE)));
|
|
|
|
void rb_undef_alloc_func _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
void rb_clear_cache _((void));
|
2003-07-07 04:28:19 -04:00
|
|
|
void rb_clear_cache_by_class _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
void rb_alias _((VALUE, ID, ID));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_attr _((VALUE,ID,int,int,int));
|
1998-01-16 07:19:09 -05:00
|
|
|
int rb_method_boundp _((VALUE, ID, int));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_dvar_defined _((ID));
|
2000-01-31 22:12:21 -05:00
|
|
|
VALUE rb_dvar_curr _((ID));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_dvar_ref _((ID));
|
|
|
|
void rb_dvar_asgn _((ID, VALUE));
|
|
|
|
void rb_dvar_push _((ID, VALUE));
|
2001-09-20 02:23:50 -04:00
|
|
|
VALUE *rb_svar _((int));
|
2001-11-13 03:19:52 -05:00
|
|
|
VALUE rb_eval_cmd _((VALUE, VALUE, int));
|
1998-01-16 07:19:09 -05:00
|
|
|
int rb_respond_to _((VALUE, ID));
|
|
|
|
void rb_interrupt _((void));
|
|
|
|
VALUE rb_apply _((VALUE, ID, VALUE));
|
|
|
|
void rb_backtrace _((void));
|
* array.c: replace rb_protect_inspect() and rb_inspecting_p() by
rb_exec_recursive() in eval.c.
* eval.c (rb_exec_recursive): new function.
* array.c (rb_ary_join): use rb_exec_recursive().
* array.c (rb_ary_inspect, rb_ary_hash): ditto.
* file.c (rb_file_join): ditto.
* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.
* io.c (rb_io_puts): ditto.
* object.c (rb_obj_inspect): ditto
* struct.c (rb_struct_inspect): ditto.
* lib/set.rb (SortedSet::setup): a hack to shut up warning.
[ruby-talk:132866]
* lib/time.rb (Time::strptime): add new function. inspired by
[ruby-talk:132815].
* lib/parsedate.rb (ParseDate::strptime): ditto.
* regparse.c: move st_*_strend() functions from st.c. fixed some
potential memory leaks.
* exception error messages updated. [ruby-core:04497]
* ext/socket/socket.c (Init_socket): add bunch of Socket
constants. Patch from Sam Roberts <sroberts@uniserve.com>.
[ruby-core:04409]
* array.c (rb_ary_s_create): no need for negative argc check.
[ruby-core:04463]
* array.c (rb_ary_unshift_m): ditto.
* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
of StandardError class, not Exception class. [ruby-core:04429]
* parse.y (fcall_gen): lvar(arg) will be evaluated as
lvar.call(arg) when lvar is a defined local variable. [new]
* object.c (rb_class_initialize): call inherited method before
calling initializing block.
* eval.c (rb_thread_start_1): initialize newly pushed frame.
* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
fixed: [ruby-core:04444]
* eval.c (is_defined): NODE_IASGN is an assignment.
* ext/readline/readline.c (Readline.readline): use rl_outstream
and rl_instream. [ruby-dev:25699]
* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check
[ruby-dev:25675]
* misc/ruby-mode.el: [ruby-core:04415]
* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]
* lib/rdoc/generators/ri_generator.rb: ditto.
* struct.c (make_struct): fixed: [ruby-core:04402]
* ext/curses/curses.c (window_color_set): [ruby-core:04393]
* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
[ruby-talk:130092]
* object.c: [ruby-doc:818]
* parse.y (open_args): fix too verbose warnings for the space
before argument parentheses. [ruby-dev:25492]
* parse.y (parser_yylex): ditto.
* parse.y (parser_yylex): the first expression in the parentheses
should not be a command. [ruby-dev:25492]
* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]
* object.c (Init_Object): remove Object#type. [ruby-core:04335]
* st.c (st_foreach): report success/failure by return value.
[ruby-Bugs-1396]
* parse.y: forgot to initialize parser struct. [ruby-dev:25492]
* parse.y (parser_yylex): no tLABEL on EXPR_BEG.
[ruby-talk:127711]
* document updates - [ruby-core:04296], [ruby-core:04301],
[ruby-core:04302], [ruby-core:04307]
* dir.c (rb_push_glob): should work for NUL delimited patterns.
* dir.c (rb_glob2): should aware of offset in the pattern.
* string.c (rb_str_new4): should propagate taintedness.
* env.h: rename member names in struct FRAME; last_func -> callee,
orig_func -> this_func, last_class -> this_class.
* struct.c (rb_struct_set): use original method name, not callee
name, to retrieve member slot. [ruby-core:04268]
* time.c (time_strftime): protect from format modification from GC
finalizers.
* object.c (Init_Object): remove rb_obj_id_obsolete()
* eval.c (rb_mod_define_method): incomplete subclass check.
[ruby-dev:25464]
* gc.c (rb_data_object_alloc): klass may be NULL.
[ruby-list:40498]
* bignum.c (rb_big_rand): should return positive random number.
[ruby-dev:25401]
* bignum.c (rb_big_rand): do not use rb_big_modulo to generate
random bignums. [ruby-dev:25396]
* variable.c (rb_autoload): [ruby-dev:25373]
* eval.c (svalue_to_avalue): [ruby-dev:25366]
* string.c (rb_str_justify): [ruby-dev:25367]
* io.c (rb_f_select): [ruby-dev:25312]
* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]
* struct.c (make_struct): [ruby-dev:25249]
* dir.c (dir_open_dir): new function. [ruby-dev:25242]
* io.c (rb_f_open): add type check for return value from to_open.
* lib/pstore.rb (PStore#transaction): Use the empty content when a
file is not found. [ruby-dev:24561]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 01:47:45 -05:00
|
|
|
ID rb_frame_this_func _((void));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_obj_instance_eval _((int, VALUE*, VALUE));
|
2001-10-10 04:21:13 -04:00
|
|
|
VALUE rb_mod_module_eval _((int, VALUE*, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_load _((VALUE, int));
|
|
|
|
void rb_load_protect _((VALUE, int, int*));
|
2001-01-10 02:30:18 -05:00
|
|
|
NORETURN(void rb_jump_tag _((int)));
|
2000-09-22 14:15:52 -04:00
|
|
|
int rb_provided _((const char*));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_provide _((const char*));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_f_require _((VALUE, VALUE));
|
2003-10-13 10:57:36 -04:00
|
|
|
VALUE rb_require_safe _((VALUE, int));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_obj_call_init _((VALUE, int, VALUE*));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_class_new_instance _((int, VALUE*, VALUE));
|
2003-06-16 03:14:50 -04:00
|
|
|
VALUE rb_block_proc _((void));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_f_lambda _((void));
|
2002-04-25 20:40:28 -04:00
|
|
|
VALUE rb_proc_new _((VALUE (*)(ANYARGS/* VALUE yieldarg[, VALUE procarg] */), VALUE));
|
2005-07-11 10:50:42 -04:00
|
|
|
VALUE rb_proc_call _((VALUE, VALUE));
|
2004-12-16 10:01:49 -05:00
|
|
|
int rb_proc_arity _((VALUE));
|
2005-07-11 10:50:42 -04:00
|
|
|
VALUE rb_obj_method _((VALUE, VALUE));
|
|
|
|
VALUE rb_method_call _((int, VALUE*, VALUE));
|
2004-12-16 10:01:49 -05:00
|
|
|
int rb_mod_method_arity _((VALUE, ID));
|
|
|
|
int rb_obj_method_arity _((VALUE, ID));
|
2001-05-02 00:22:21 -04:00
|
|
|
VALUE rb_protect _((VALUE (*)(VALUE), VALUE, int*));
|
2001-05-06 11:06:00 -04:00
|
|
|
void rb_set_end_proc _((void (*)(VALUE), VALUE));
|
1999-11-26 04:07:26 -05:00
|
|
|
void rb_mark_end_proc _((void));
|
2000-12-06 00:29:05 -05:00
|
|
|
void rb_exec_end_proc _((void));
|
2000-11-27 04:23:38 -05:00
|
|
|
void ruby_finalize _((void));
|
2003-10-13 22:53:53 -04:00
|
|
|
NORETURN(void ruby_stop _((int)));
|
2002-10-29 14:11:17 -05:00
|
|
|
int ruby_cleanup _((int));
|
|
|
|
int ruby_exec _((void));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_gc_mark_threads _((void));
|
|
|
|
void rb_thread_start_timer _((void));
|
|
|
|
void rb_thread_stop_timer _((void));
|
|
|
|
void rb_thread_schedule _((void));
|
|
|
|
void rb_thread_wait_fd _((int));
|
1999-08-13 01:45:20 -04:00
|
|
|
int rb_thread_fd_writable _((int));
|
|
|
|
void rb_thread_fd_close _((int));
|
1999-01-19 23:59:39 -05:00
|
|
|
int rb_thread_alone _((void));
|
2000-05-17 00:38:19 -04:00
|
|
|
void rb_thread_polling _((void));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_thread_sleep _((int));
|
|
|
|
void rb_thread_sleep_forever _((void));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_thread_stop _((void));
|
|
|
|
VALUE rb_thread_wakeup _((VALUE));
|
|
|
|
VALUE rb_thread_run _((VALUE));
|
2003-03-07 00:59:42 -05:00
|
|
|
VALUE rb_thread_kill _((VALUE));
|
2001-05-02 00:22:21 -04:00
|
|
|
VALUE rb_thread_create _((VALUE (*)(ANYARGS), void*));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_thread_interrupt _((void));
|
2004-06-28 21:31:37 -04:00
|
|
|
void rb_thread_trap_eval _((VALUE, int, int));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_thread_signal_raise _((char*));
|
2005-06-12 12:56:06 -04:00
|
|
|
void rb_thread_signal_exit _((void));
|
2004-03-30 22:05:22 -05:00
|
|
|
int rb_thread_select _((int, fd_set *, fd_set *, fd_set *, struct timeval *));
|
2004-05-10 04:23:13 -04:00
|
|
|
void rb_thread_wait_for _((struct timeval));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_thread_current _((void));
|
|
|
|
VALUE rb_thread_main _((void));
|
|
|
|
VALUE rb_thread_local_aref _((VALUE, ID));
|
|
|
|
VALUE rb_thread_local_aset _((VALUE, ID, VALUE));
|
2000-11-27 04:23:38 -05:00
|
|
|
void rb_thread_atfork _((void));
|
* array.c: replace rb_protect_inspect() and rb_inspecting_p() by
rb_exec_recursive() in eval.c.
* eval.c (rb_exec_recursive): new function.
* array.c (rb_ary_join): use rb_exec_recursive().
* array.c (rb_ary_inspect, rb_ary_hash): ditto.
* file.c (rb_file_join): ditto.
* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.
* io.c (rb_io_puts): ditto.
* object.c (rb_obj_inspect): ditto
* struct.c (rb_struct_inspect): ditto.
* lib/set.rb (SortedSet::setup): a hack to shut up warning.
[ruby-talk:132866]
* lib/time.rb (Time::strptime): add new function. inspired by
[ruby-talk:132815].
* lib/parsedate.rb (ParseDate::strptime): ditto.
* regparse.c: move st_*_strend() functions from st.c. fixed some
potential memory leaks.
* exception error messages updated. [ruby-core:04497]
* ext/socket/socket.c (Init_socket): add bunch of Socket
constants. Patch from Sam Roberts <sroberts@uniserve.com>.
[ruby-core:04409]
* array.c (rb_ary_s_create): no need for negative argc check.
[ruby-core:04463]
* array.c (rb_ary_unshift_m): ditto.
* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass
of StandardError class, not Exception class. [ruby-core:04429]
* parse.y (fcall_gen): lvar(arg) will be evaluated as
lvar.call(arg) when lvar is a defined local variable. [new]
* object.c (rb_class_initialize): call inherited method before
calling initializing block.
* eval.c (rb_thread_start_1): initialize newly pushed frame.
* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.
fixed: [ruby-core:04444]
* eval.c (is_defined): NODE_IASGN is an assignment.
* ext/readline/readline.c (Readline.readline): use rl_outstream
and rl_instream. [ruby-dev:25699]
* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check
[ruby-dev:25675]
* misc/ruby-mode.el: [ruby-core:04415]
* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]
* lib/rdoc/generators/ri_generator.rb: ditto.
* struct.c (make_struct): fixed: [ruby-core:04402]
* ext/curses/curses.c (window_color_set): [ruby-core:04393]
* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.
[ruby-talk:130092]
* object.c: [ruby-doc:818]
* parse.y (open_args): fix too verbose warnings for the space
before argument parentheses. [ruby-dev:25492]
* parse.y (parser_yylex): ditto.
* parse.y (parser_yylex): the first expression in the parentheses
should not be a command. [ruby-dev:25492]
* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]
* object.c (Init_Object): remove Object#type. [ruby-core:04335]
* st.c (st_foreach): report success/failure by return value.
[ruby-Bugs-1396]
* parse.y: forgot to initialize parser struct. [ruby-dev:25492]
* parse.y (parser_yylex): no tLABEL on EXPR_BEG.
[ruby-talk:127711]
* document updates - [ruby-core:04296], [ruby-core:04301],
[ruby-core:04302], [ruby-core:04307]
* dir.c (rb_push_glob): should work for NUL delimited patterns.
* dir.c (rb_glob2): should aware of offset in the pattern.
* string.c (rb_str_new4): should propagate taintedness.
* env.h: rename member names in struct FRAME; last_func -> callee,
orig_func -> this_func, last_class -> this_class.
* struct.c (rb_struct_set): use original method name, not callee
name, to retrieve member slot. [ruby-core:04268]
* time.c (time_strftime): protect from format modification from GC
finalizers.
* object.c (Init_Object): remove rb_obj_id_obsolete()
* eval.c (rb_mod_define_method): incomplete subclass check.
[ruby-dev:25464]
* gc.c (rb_data_object_alloc): klass may be NULL.
[ruby-list:40498]
* bignum.c (rb_big_rand): should return positive random number.
[ruby-dev:25401]
* bignum.c (rb_big_rand): do not use rb_big_modulo to generate
random bignums. [ruby-dev:25396]
* variable.c (rb_autoload): [ruby-dev:25373]
* eval.c (svalue_to_avalue): [ruby-dev:25366]
* string.c (rb_str_justify): [ruby-dev:25367]
* io.c (rb_f_select): [ruby-dev:25312]
* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]
* struct.c (make_struct): [ruby-dev:25249]
* dir.c (dir_open_dir): new function. [ruby-dev:25242]
* io.c (rb_f_open): add type check for return value from to_open.
* lib/pstore.rb (PStore#transaction): Use the empty content when a
file is not found. [ruby-dev:24561]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 01:47:45 -05:00
|
|
|
VALUE rb_exec_recursive _((VALUE(*)(ANYARGS),VALUE,VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* file.c */
|
1999-08-13 01:45:20 -04:00
|
|
|
int eaccess _((const char*, int));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_file_s_expand_path _((int, VALUE *));
|
2005-04-19 10:02:48 -04:00
|
|
|
VALUE rb_file_expand_path _((VALUE, VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_file_const _((const char*, VALUE));
|
2001-09-05 18:31:07 -04:00
|
|
|
int rb_find_file_ext _((VALUE*, const char* const*));
|
2001-07-14 11:17:19 -04:00
|
|
|
VALUE rb_find_file _((VALUE));
|
2003-12-14 23:07:03 -05:00
|
|
|
char *rb_path_next _((const char *));
|
|
|
|
char *rb_path_skip_prefix _((const char *));
|
|
|
|
char *rb_path_last_separator _((const char *));
|
|
|
|
char *rb_path_end _((const char *));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* gc.c */
|
2004-10-27 05:29:26 -04:00
|
|
|
void ruby_set_stack_size _((size_t));
|
2002-04-24 00:54:16 -04:00
|
|
|
NORETURN(void rb_memerror __((void)));
|
2001-11-21 10:42:12 -05:00
|
|
|
int ruby_stack_check _((void));
|
2001-11-19 00:03:03 -05:00
|
|
|
int ruby_stack_length _((VALUE**));
|
2002-04-18 04:46:18 -04:00
|
|
|
char *rb_source_filename _((const char*));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_gc_mark_locations _((VALUE*, VALUE*));
|
|
|
|
void rb_mark_tbl _((struct st_table*));
|
|
|
|
void rb_mark_hash _((struct st_table*));
|
2001-03-18 22:20:24 -05:00
|
|
|
void rb_gc_mark_maybe _((VALUE));
|
|
|
|
void rb_gc_mark _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_gc_force_recycle _((VALUE));
|
|
|
|
void rb_gc _((void));
|
2002-12-04 02:39:32 -05:00
|
|
|
void rb_gc_copy_finalizer _((VALUE,VALUE));
|
2004-09-27 08:25:21 -04:00
|
|
|
void rb_gc_finalize_deferred _((void));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_gc_call_finalizer_at_exit _((void));
|
* intern.h: add prototypes.
rb_gc_enable(), rb_gc_disable(), rb_gc_start(), rb_str_new5()
rb_str_buf_append(), rb_str_buf_cat(), rb_str_buf_cat2(),
rb_str_dup_frozen()
* ruby.h: added declaration.
rb_defout, rb_stdin, rb_stdout, rb_stderr, ruby_errinfo
* rubyio.h: changed double include guard macro to RUBYIO_H.
* array.c (inspect_call): make static.
* eval.c (dvar_asgn): ditto.
* io.c (rb_io_close_read): ditto.
* lex.c (rb_reserved_word): ditto.
* ruby.c: (req_list_head, req_list_last): ditto.
* ruby.c (require_libraries): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-17 02:52:35 -05:00
|
|
|
VALUE rb_gc_enable _((void));
|
|
|
|
VALUE rb_gc_disable _((void));
|
|
|
|
VALUE rb_gc_start _((void));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* hash.c */
|
2004-12-02 22:25:29 -05:00
|
|
|
void st_foreach_safe _((struct st_table *, int (*)(ANYARGS), unsigned long));
|
|
|
|
void rb_hash_foreach _((VALUE, int (*)(ANYARGS), VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
VALUE rb_hash _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_hash_new _((void));
|
|
|
|
VALUE rb_hash_freeze _((VALUE));
|
|
|
|
VALUE rb_hash_aref _((VALUE, VALUE));
|
|
|
|
VALUE rb_hash_aset _((VALUE, VALUE, VALUE));
|
2000-07-04 03:04:42 -04:00
|
|
|
VALUE rb_hash_delete_if _((VALUE));
|
2001-07-24 05:07:33 -04:00
|
|
|
VALUE rb_hash_delete _((VALUE,VALUE));
|
2002-04-18 04:46:18 -04:00
|
|
|
int rb_path_check _((char*));
|
1999-01-19 23:59:39 -05:00
|
|
|
int rb_env_path_tainted _((void));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* io.c */
|
2003-07-29 03:52:55 -04:00
|
|
|
#define rb_defout rb_stdout
|
2003-03-04 09:12:19 -05:00
|
|
|
RUBY_EXTERN VALUE rb_fs;
|
|
|
|
RUBY_EXTERN VALUE rb_output_fs;
|
|
|
|
RUBY_EXTERN VALUE rb_rs;
|
|
|
|
RUBY_EXTERN VALUE rb_default_rs;
|
|
|
|
RUBY_EXTERN VALUE rb_output_rs;
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_io_write _((VALUE, VALUE));
|
|
|
|
VALUE rb_io_gets _((VALUE));
|
|
|
|
VALUE rb_io_getc _((VALUE));
|
|
|
|
VALUE rb_io_ungetc _((VALUE, VALUE));
|
|
|
|
VALUE rb_io_close _((VALUE));
|
* rubyio.h, intern.h, io.c, file.c, process.c, ext/socket/socket.c,
ext/pty/pty.c, ext/io/wait/wait.c, ext/openssl/ossl_ssl.c:
Use own buffering mechanism instead of stdio.
* io.c, ext/stringio/stringio.c, test/ruby/ut_eof.rb:
EOF flag removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-06 03:40:30 -05:00
|
|
|
VALUE rb_io_flush _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_io_eof _((VALUE));
|
|
|
|
VALUE rb_io_binmode _((VALUE));
|
2002-02-20 01:35:37 -05:00
|
|
|
VALUE rb_io_addstr _((VALUE, VALUE));
|
|
|
|
VALUE rb_io_printf _((int, VALUE*, VALUE));
|
|
|
|
VALUE rb_io_print _((int, VALUE*, VALUE));
|
|
|
|
VALUE rb_io_puts _((int, VALUE*, VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_file_open _((const char*, const char*));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_gets _((void));
|
2003-07-31 04:42:44 -04:00
|
|
|
void rb_write_error _((const char*));
|
|
|
|
void rb_write_error2 _((const char*, long));
|
2001-07-03 03:29:00 -04:00
|
|
|
/* marshal.c */
|
|
|
|
VALUE rb_marshal_dump _((VALUE, VALUE));
|
|
|
|
VALUE rb_marshal_load _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* numeric.c */
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_num_zerodiv _((void));
|
|
|
|
VALUE rb_num_coerce_bin _((VALUE, VALUE));
|
2002-12-19 04:20:20 -05:00
|
|
|
VALUE rb_num_coerce_cmp _((VALUE, VALUE));
|
2003-07-31 04:42:44 -04:00
|
|
|
VALUE rb_num_coerce_relop _((VALUE, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_float_new _((double));
|
|
|
|
VALUE rb_num2fix _((VALUE));
|
|
|
|
VALUE rb_fix2str _((VALUE, int));
|
2002-08-19 01:56:09 -04:00
|
|
|
VALUE rb_dbl_cmp _((double, double));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* object.c */
|
|
|
|
int rb_eql _((VALUE, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_any_to_s _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
VALUE rb_inspect _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_obj_is_instance_of _((VALUE, VALUE));
|
|
|
|
VALUE rb_obj_is_kind_of _((VALUE, VALUE));
|
|
|
|
VALUE rb_obj_alloc _((VALUE));
|
|
|
|
VALUE rb_obj_clone _((VALUE));
|
2000-07-17 05:38:10 -04:00
|
|
|
VALUE rb_obj_dup _((VALUE));
|
2003-07-15 03:35:14 -04:00
|
|
|
VALUE rb_obj_init_copy _((VALUE,VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_obj_taint _((VALUE));
|
|
|
|
VALUE rb_obj_tainted _((VALUE));
|
|
|
|
VALUE rb_obj_untaint _((VALUE));
|
2000-05-12 05:07:57 -04:00
|
|
|
VALUE rb_obj_freeze _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_obj_id _((VALUE));
|
2001-08-20 00:29:58 -04:00
|
|
|
VALUE rb_obj_class _((VALUE));
|
2001-07-14 11:17:19 -04:00
|
|
|
VALUE rb_class_real _((VALUE));
|
2004-02-10 06:49:14 -05:00
|
|
|
VALUE rb_class_inherited_p _((VALUE, VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_convert_type _((VALUE,int,const char*,const char*));
|
2001-11-29 10:57:25 -05:00
|
|
|
VALUE rb_check_convert_type _((VALUE,int,const char*,const char*));
|
2005-08-14 18:25:09 -04:00
|
|
|
VALUE rb_check_to_integer _((VALUE, const char *));
|
2000-11-13 00:39:35 -05:00
|
|
|
VALUE rb_to_int _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
VALUE rb_Integer _((VALUE));
|
|
|
|
VALUE rb_Float _((VALUE));
|
|
|
|
VALUE rb_String _((VALUE));
|
|
|
|
VALUE rb_Array _((VALUE));
|
2002-04-18 04:46:18 -04:00
|
|
|
double rb_cstr_to_dbl _((const char*, int));
|
2002-02-01 05:23:22 -05:00
|
|
|
double rb_str_to_dbl _((VALUE, int));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* parse.y */
|
2003-03-04 09:12:19 -05:00
|
|
|
RUBY_EXTERN int ruby_sourceline;
|
|
|
|
RUBY_EXTERN char *ruby_sourcefile;
|
1999-01-19 23:59:39 -05:00
|
|
|
ID rb_id_attrset _((ID));
|
2002-09-05 16:00:52 -04:00
|
|
|
void rb_gc_mark_parser _((void));
|
1999-12-14 01:50:43 -05:00
|
|
|
int rb_is_const_id _((ID));
|
1998-01-16 07:19:09 -05:00
|
|
|
int rb_is_instance_id _((ID));
|
2000-05-12 05:07:57 -04:00
|
|
|
int rb_is_class_id _((ID));
|
2001-09-20 02:23:50 -04:00
|
|
|
int rb_is_local_id _((ID));
|
2002-10-23 06:17:30 -04:00
|
|
|
int rb_is_junk_id _((ID));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_backref_get _((void));
|
|
|
|
void rb_backref_set _((VALUE));
|
|
|
|
VALUE rb_lastline_get _((void));
|
|
|
|
void rb_lastline_set _((VALUE));
|
2001-05-02 00:22:21 -04:00
|
|
|
VALUE rb_sym_all_symbols _((void));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* process.c */
|
2004-02-16 01:45:32 -05:00
|
|
|
struct rb_exec_arg {
|
|
|
|
int argc;
|
|
|
|
VALUE *argv;
|
|
|
|
const char *prog;
|
|
|
|
};
|
|
|
|
int rb_proc_exec_n _((int, VALUE*, const char*));
|
1999-08-13 01:45:20 -04:00
|
|
|
int rb_proc_exec _((const char*));
|
2004-02-16 01:45:32 -05:00
|
|
|
VALUE rb_check_argv _((int, VALUE*));
|
|
|
|
int rb_exec _((const struct rb_exec_arg*));
|
|
|
|
int rb_fork _((int*, int (*)_((void*)), void*));
|
2001-11-19 00:03:03 -05:00
|
|
|
VALUE rb_f_exec _((int,VALUE*));
|
2001-08-05 23:05:23 -04:00
|
|
|
int rb_waitpid _((int,int*,int));
|
1998-01-16 07:19:09 -05:00
|
|
|
void rb_syswait _((int));
|
2004-02-16 01:45:32 -05:00
|
|
|
int rb_spawn _((int, VALUE*));
|
2001-02-16 02:53:21 -05:00
|
|
|
VALUE rb_proc_times _((VALUE));
|
2003-07-25 22:26:08 -04:00
|
|
|
VALUE rb_detach_process _((int));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* range.c */
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_range_new _((VALUE, VALUE, int));
|
|
|
|
VALUE rb_range_beg_len _((VALUE, long*, long*, long, int));
|
1999-12-07 04:25:55 -05:00
|
|
|
VALUE rb_length_by_each _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* re.c */
|
2000-11-20 02:31:55 -05:00
|
|
|
int rb_memcmp _((char*,char*,long));
|
2001-07-24 05:07:33 -04:00
|
|
|
int rb_memcicmp _((char*,char*,long));
|
2003-02-07 01:35:26 -05:00
|
|
|
long rb_memsearch _((char*,long,char*,long));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_reg_nth_defined _((int, VALUE));
|
|
|
|
VALUE rb_reg_nth_match _((int, VALUE));
|
|
|
|
VALUE rb_reg_last_match _((VALUE));
|
|
|
|
VALUE rb_reg_match_pre _((VALUE));
|
|
|
|
VALUE rb_reg_match_post _((VALUE));
|
|
|
|
VALUE rb_reg_match_last _((VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_reg_new _((const char*, long, int));
|
2004-09-24 01:53:43 -04:00
|
|
|
VALUE rb_reg_compile _((const char*, long, int));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_reg_match _((VALUE, VALUE));
|
|
|
|
VALUE rb_reg_match2 _((VALUE));
|
|
|
|
int rb_reg_options _((VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_set_kcode _((const char*));
|
2000-02-08 03:54:01 -05:00
|
|
|
const char* rb_get_kcode _((void));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* ruby.c */
|
2003-03-04 09:12:19 -05:00
|
|
|
RUBY_EXTERN VALUE rb_argv;
|
|
|
|
RUBY_EXTERN VALUE rb_argv0;
|
2004-07-23 03:52:38 -04:00
|
|
|
void rb_load_file _((const char*));
|
|
|
|
void ruby_script _((const char*));
|
1998-01-16 07:19:09 -05:00
|
|
|
void ruby_prog_init _((void));
|
1999-01-19 23:59:39 -05:00
|
|
|
void ruby_set_argv _((int, char**));
|
|
|
|
void ruby_process_options _((int, char**));
|
|
|
|
void ruby_load_script _((void));
|
2000-08-02 05:22:27 -04:00
|
|
|
void ruby_init_loadpath _((void));
|
|
|
|
void ruby_incpush _((const char*));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* signal.c */
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_f_kill _((int, VALUE*));
|
|
|
|
void rb_gc_mark_trap_list _((void));
|
|
|
|
#ifdef POSIX_SIGNAL
|
|
|
|
#define posix_signal ruby_posix_signal
|
2001-05-02 00:22:21 -04:00
|
|
|
void posix_signal _((int, RETSIGTYPE (*)(int)));
|
2005-02-21 04:33:34 -05:00
|
|
|
#ifdef HAVE_NATIVETHREAD
|
|
|
|
#define posix_nativethread_signal ruby_posix_nativethread_signal
|
|
|
|
void posix_nativethread_signal _((int, RETSIGTYPE (*)(int)));
|
|
|
|
#endif
|
1999-01-19 23:59:39 -05:00
|
|
|
#endif
|
1998-01-16 07:19:09 -05:00
|
|
|
void rb_trap_exit _((void));
|
|
|
|
void rb_trap_exec _((void));
|
2003-10-01 09:41:35 -04:00
|
|
|
const char *ruby_signal_name _((int));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* sprintf.c */
|
2005-07-22 21:02:18 -04:00
|
|
|
VALUE rb_f_sprintf _((int, const VALUE*));
|
|
|
|
VALUE rb_sprintf __((const char*, ...))
|
|
|
|
#ifdef __GNUC__
|
|
|
|
__attribute__((format(printf,1,2)))
|
|
|
|
#endif
|
|
|
|
;
|
|
|
|
VALUE rb_vsprintf _((const char*, va_list));
|
|
|
|
VALUE rb_str_format _((int, const VALUE *, VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* string.c */
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_str_new _((const char*, long));
|
|
|
|
VALUE rb_str_new2 _((const char*));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_str_new3 _((VALUE));
|
|
|
|
VALUE rb_str_new4 _((VALUE));
|
2002-04-18 04:46:18 -04:00
|
|
|
VALUE rb_str_new5 _((VALUE, const char*, long));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_tainted_str_new _((const char*, long));
|
|
|
|
VALUE rb_tainted_str_new2 _((const char*));
|
2001-05-30 05:12:34 -04:00
|
|
|
VALUE rb_str_buf_new _((long));
|
|
|
|
VALUE rb_str_buf_new2 _((const char*));
|
* intern.h: add prototypes.
rb_gc_enable(), rb_gc_disable(), rb_gc_start(), rb_str_new5()
rb_str_buf_append(), rb_str_buf_cat(), rb_str_buf_cat2(),
rb_str_dup_frozen()
* ruby.h: added declaration.
rb_defout, rb_stdin, rb_stdout, rb_stderr, ruby_errinfo
* rubyio.h: changed double include guard macro to RUBYIO_H.
* array.c (inspect_call): make static.
* eval.c (dvar_asgn): ditto.
* io.c (rb_io_close_read): ditto.
* lex.c (rb_reserved_word): ditto.
* ruby.c: (req_list_head, req_list_last): ditto.
* ruby.c (require_libraries): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-17 02:52:35 -05:00
|
|
|
VALUE rb_str_buf_append _((VALUE, VALUE));
|
2002-04-18 04:46:18 -04:00
|
|
|
VALUE rb_str_buf_cat _((VALUE, const char*, long));
|
|
|
|
VALUE rb_str_buf_cat2 _((VALUE, const char*));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_obj_as_string _((VALUE));
|
2002-12-19 04:20:20 -05:00
|
|
|
VALUE rb_check_string_type _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_str_dup _((VALUE));
|
2004-10-31 12:37:52 -05:00
|
|
|
VALUE rb_str_locktmp _((VALUE));
|
|
|
|
VALUE rb_str_unlocktmp _((VALUE));
|
* intern.h: add prototypes.
rb_gc_enable(), rb_gc_disable(), rb_gc_start(), rb_str_new5()
rb_str_buf_append(), rb_str_buf_cat(), rb_str_buf_cat2(),
rb_str_dup_frozen()
* ruby.h: added declaration.
rb_defout, rb_stdin, rb_stdout, rb_stderr, ruby_errinfo
* rubyio.h: changed double include guard macro to RUBYIO_H.
* array.c (inspect_call): make static.
* eval.c (dvar_asgn): ditto.
* io.c (rb_io_close_read): ditto.
* lex.c (rb_reserved_word): ditto.
* ruby.c: (req_list_head, req_list_last): ditto.
* ruby.c (require_libraries): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-17 02:52:35 -05:00
|
|
|
VALUE rb_str_dup_frozen _((VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_str_plus _((VALUE, VALUE));
|
|
|
|
VALUE rb_str_times _((VALUE, VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_str_substr _((VALUE, long, long));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_str_modify _((VALUE));
|
|
|
|
VALUE rb_str_freeze _((VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_str_resize _((VALUE, long));
|
|
|
|
VALUE rb_str_cat _((VALUE, const char*, long));
|
2000-04-10 01:48:43 -04:00
|
|
|
VALUE rb_str_cat2 _((VALUE, const char*));
|
|
|
|
VALUE rb_str_append _((VALUE, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_str_concat _((VALUE, VALUE));
|
|
|
|
int rb_str_hash _((VALUE));
|
|
|
|
int rb_str_cmp _((VALUE, VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_str_upto _((VALUE, VALUE, int));
|
2001-05-16 05:05:54 -04:00
|
|
|
void rb_str_update _((VALUE, long, long, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_str_inspect _((VALUE));
|
2002-10-23 06:17:30 -04:00
|
|
|
VALUE rb_str_dump _((VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_str_split _((VALUE, const char*));
|
2000-03-17 03:58:21 -05:00
|
|
|
void rb_str_associate _((VALUE, VALUE));
|
2001-01-15 02:01:00 -05:00
|
|
|
VALUE rb_str_associated _((VALUE));
|
2000-08-25 04:26:06 -04:00
|
|
|
void rb_str_setter _((VALUE, ID, VALUE*));
|
2002-10-23 06:17:30 -04:00
|
|
|
VALUE rb_str_intern _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* struct.c */
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_struct_new __((VALUE, ...));
|
1999-08-13 01:45:20 -04:00
|
|
|
VALUE rb_struct_define __((const char*, ...));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_struct_alloc _((VALUE, VALUE));
|
|
|
|
VALUE rb_struct_aref _((VALUE, VALUE));
|
|
|
|
VALUE rb_struct_aset _((VALUE, VALUE, VALUE));
|
|
|
|
VALUE rb_struct_getmember _((VALUE, ID));
|
2001-08-29 02:28:51 -04:00
|
|
|
VALUE rb_struct_iv_get _((VALUE, char*));
|
2004-09-27 00:46:54 -04:00
|
|
|
VALUE rb_struct_s_members _((VALUE));
|
|
|
|
VALUE rb_struct_members _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* time.c */
|
2004-03-30 22:05:22 -05:00
|
|
|
VALUE rb_time_new _((time_t, time_t));
|
1998-01-16 07:19:09 -05:00
|
|
|
/* variable.c */
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_mod_name _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
VALUE rb_class_path _((VALUE));
|
1999-08-13 01:45:20 -04:00
|
|
|
void rb_set_class_path _((VALUE, VALUE, const char*));
|
|
|
|
VALUE rb_path2class _((const char*));
|
1998-01-16 07:19:09 -05:00
|
|
|
void rb_name_class _((VALUE, ID));
|
2004-01-19 04:19:31 -05:00
|
|
|
VALUE rb_class_name _((VALUE));
|
* eval.c (ev_const_defined, ev_const_get), variable.c
(rb_const_get_at, rb_const_get, rb_mod_remove_const): use Qundef
as autoload marker. [ruby-dev:18103], [ruby-dev:18184]
* eval.c (rb_mod_autoload, rb_mod_autoload_p): new method;
Module#autoload, Module#autoload?.
* variable.c (rb_autoload, rb_autoload_load, rb_autoload_p):
manage autoload constants per classes/modules.
* variable.c (rb_const_defined_at, rb_const_defined): return false
for autoloading constants.
* class.c (rb_define_class, rb_define_module), eval.c (rb_eval),
variable.c (rb_mod_const_at, rb_const_assign): removed autoload
stuff.
* intern.h: prototypes; rb_autoload, rb_autoload_load,
rb_autoload_p.
* lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):
do not treat unmatched argument as an option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-28 20:11:11 -04:00
|
|
|
void rb_autoload _((VALUE, ID, const char*));
|
|
|
|
void rb_autoload_load _((VALUE, ID));
|
|
|
|
VALUE rb_autoload_p _((VALUE, ID));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_gc_mark_global_tbl _((void));
|
|
|
|
VALUE rb_f_trace_var _((int, VALUE*));
|
|
|
|
VALUE rb_f_untrace_var _((int, VALUE*));
|
|
|
|
VALUE rb_f_global_variables _((void));
|
1998-01-16 07:19:09 -05:00
|
|
|
void rb_alias_variable _((ID, ID));
|
2000-01-04 23:41:21 -05:00
|
|
|
struct st_table* rb_generic_ivar_table _((VALUE));
|
2001-07-14 11:17:19 -04:00
|
|
|
void rb_copy_generic_ivar _((VALUE,VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
void rb_mark_generic_ivar _((VALUE));
|
|
|
|
void rb_mark_generic_ivar_tbl _((void));
|
|
|
|
void rb_free_generic_ivar _((VALUE));
|
1998-01-16 07:19:09 -05:00
|
|
|
VALUE rb_ivar_get _((VALUE, ID));
|
|
|
|
VALUE rb_ivar_set _((VALUE, ID, VALUE));
|
|
|
|
VALUE rb_ivar_defined _((VALUE, ID));
|
2002-04-18 04:46:18 -04:00
|
|
|
VALUE rb_iv_set _((VALUE, const char*, VALUE));
|
|
|
|
VALUE rb_iv_get _((VALUE, const char*));
|
2003-02-18 09:30:17 -05:00
|
|
|
VALUE rb_attr_get _((VALUE, ID));
|
1999-01-19 23:59:39 -05:00
|
|
|
VALUE rb_obj_instance_variables _((VALUE));
|
|
|
|
VALUE rb_obj_remove_instance_variable _((VALUE, VALUE));
|
2001-06-05 03:19:39 -04:00
|
|
|
void *rb_mod_const_at _((VALUE, void*));
|
|
|
|
void *rb_mod_const_of _((VALUE, void*));
|
|
|
|
VALUE rb_const_list _((void*));
|
1999-12-14 01:50:43 -05:00
|
|
|
VALUE rb_mod_constants _((VALUE));
|
|
|
|
VALUE rb_mod_remove_const _((VALUE, VALUE));
|
|
|
|
int rb_const_defined _((VALUE, ID));
|
2003-06-20 03:11:44 -04:00
|
|
|
int rb_const_defined_at _((VALUE, ID));
|
|
|
|
int rb_const_defined_from _((VALUE, ID));
|
1999-12-14 01:50:43 -05:00
|
|
|
VALUE rb_const_get _((VALUE, ID));
|
|
|
|
VALUE rb_const_get_at _((VALUE, ID));
|
2003-06-20 03:11:44 -04:00
|
|
|
VALUE rb_const_get_from _((VALUE, ID));
|
1999-12-14 01:50:43 -05:00
|
|
|
void rb_const_set _((VALUE, ID, VALUE));
|
|
|
|
VALUE rb_mod_constants _((VALUE));
|
2003-07-22 04:42:47 -04:00
|
|
|
VALUE rb_mod_const_missing _((VALUE,VALUE));
|
2000-12-08 02:10:38 -05:00
|
|
|
VALUE rb_cvar_defined _((VALUE, ID));
|
2003-02-09 01:16:08 -05:00
|
|
|
#define RB_CVAR_SET_4ARGS 1
|
2002-02-15 01:14:26 -05:00
|
|
|
void rb_cvar_set _((VALUE, ID, VALUE, int));
|
2000-08-28 05:53:42 -04:00
|
|
|
VALUE rb_cvar_get _((VALUE, ID));
|
2002-04-18 04:46:18 -04:00
|
|
|
void rb_cv_set _((VALUE, const char*, VALUE));
|
|
|
|
VALUE rb_cv_get _((VALUE, const char*));
|
|
|
|
void rb_define_class_variable _((VALUE, const char*, VALUE));
|
2000-09-15 02:00:30 -04:00
|
|
|
VALUE rb_mod_class_variables _((VALUE));
|
2000-12-08 02:10:38 -05:00
|
|
|
VALUE rb_mod_remove_cvar _((VALUE, VALUE));
|
1999-01-19 23:59:39 -05:00
|
|
|
/* version.c */
|
|
|
|
void ruby_show_version _((void));
|
|
|
|
void ruby_show_copyright _((void));
|
2004-02-16 01:45:32 -05:00
|
|
|
|
|
|
|
#endif /* RUBY_INTERN_H */
|