summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorPaolo Bosetti <[email protected]>2012-05-31 18:52:33 -0700
committerPaolo Bosetti <[email protected]>2012-05-31 18:52:33 -0700
commit9c0bfd343679fcd84090b7611ed582ae31e0e3b9 (patch)
tree75e6ac394862821a0e466ccfee361655c40ae749 /include
parent6dbba7b799e0cf1a86ec86f347bbc1b40420d372 (diff)
parent8180fee1808c56048b9fa18a8dd16014e694e48e (diff)
downloadmruby-9c0bfd343679fcd84090b7611ed582ae31e0e3b9.tar.gz
mruby-9c0bfd343679fcd84090b7611ed582ae31e0e3b9.zip
Merge branch 'master' of git://github.com/mruby/mruby into XCode
Diffstat (limited to 'include')
-rw-r--r--include/mrbconf.h4
-rw-r--r--include/mruby.h95
-rw-r--r--include/mruby/array.h2
-rw-r--r--include/mruby/class.h2
-rw-r--r--include/mruby/string.h57
5 files changed, 15 insertions, 145 deletions
diff --git a/include/mrbconf.h b/include/mrbconf.h
index 9155575a9..e90b685bb 100644
--- a/include/mrbconf.h
+++ b/include/mrbconf.h
@@ -22,10 +22,10 @@ typedef intptr_t mrb_sym;
#define readint(p,base) strtol((p),NULL,(base))
#undef INCLUDE_ENCODING /* not use encoding classes (ascii only) */
-#define INCLUDE_ENCODING /* use UTF-8 encoding classes */
+//#define INCLUDE_ENCODING /* use UTF-8 encoding classes */
#undef INCLUDE_REGEXP /* not use regular expression classes */
-#define INCLUDE_REGEXP /* use regular expression classes */
+//#define INCLUDE_REGEXP /* use regular expression classes */
#ifdef INCLUDE_REGEXP
# define INCLUDE_ENCODING /* Regexp depends Encoding */
diff --git a/include/mruby.h b/include/mruby.h
index c86c3b478..3bbc6e6cc 100644
--- a/include/mruby.h
+++ b/include/mruby.h
@@ -341,8 +341,9 @@ void *mrb_realloc(mrb_state*, void*, size_t);
struct RBasic *mrb_obj_alloc(mrb_state*, enum mrb_vtype, struct RClass*);
void *mrb_free(mrb_state*, void*);
-mrb_value mrb_str_new(mrb_state *mrb, const char *p, size_t len); /* mrb_str_new */
+mrb_value mrb_str_new(mrb_state *mrb, const char *p, int len); /* mrb_str_new */
mrb_value mrb_str_new_cstr(mrb_state*, const char*);
+mrb_value mrb_str_new2(mrb_state *mrb, const char *p);
mrb_state* mrb_open(void);
mrb_state* mrb_open_allocf(mrb_allocf);
@@ -415,9 +416,6 @@ mrb_value mrb_check_funcall(mrb_state *mrb, mrb_value recv, mrb_sym mid, int arg
#define ISXDIGIT(c) (ISASCII(c) && isxdigit((int)(unsigned char)(c)))
#endif
-extern mrb_value mrb_rs;
-extern mrb_value mrb_default_rs;
-
int mrb_block_given_p(void);
void mrb_raise(mrb_state *mrb, struct RClass *c, const char *fmt, ...);
void rb_raise(struct RClass *c, const char *fmt, ...);
@@ -447,16 +445,6 @@ void mrb_bug(const char *fmt, ...);
#define SYM2ID(x) ((x).value.sym)
-#define CONST_ID_CACHE(mrb, result, str) \
- { \
- static mrb_sym mrb_intern_id_cache;\
- if (!mrb_intern_id_cache) \
- mrb_intern_id_cache = mrb_intern(mrb, str); \
- result mrb_intern_id_cache; \
- }
-#define CONST_ID(mrb, var, str) \
- do CONST_ID_CACHE(mrb, var =, str) while (0)
-
#define NUM2CHR_internal(x) (((mrb_type(x) == MRB_TT_STRING)&&(RSTRING_LEN(x)>=1))?\
RSTRING_PTR(x)[0]:(char)(mrb_fixnum_number(x)&0xff))
#ifdef __GNUC__
@@ -471,24 +459,6 @@ NUM2CHR(mrb_value x)
*/
#define NUM2CHR(x) NUM2CHR_internal(x)
#endif
-mrb_value mrb_io_gets(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_getbyte(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_ungetc(mrb_state *, mrb_value, mrb_value);
-mrb_value mrb_io_ungetbyte(mrb_state *mrb, mrb_value, mrb_value);
-mrb_value mrb_io_close(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_flush(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_eof(mrb_value);
-mrb_value mrb_io_binmode(mrb_state *mrb, mrb_value);
-mrb_value mrb_io_ascii8bit_binmode(mrb_value);
-mrb_value mrb_io_addstr(mrb_state *mrb, mrb_value, mrb_value);
-mrb_value mrb_io_printf(mrb_state *mrb, int, mrb_value*, mrb_value);
-mrb_value mrb_io_print(mrb_state *mrb, int, mrb_value*, mrb_value);
-mrb_value mrb_io_puts(mrb_state *mrb, /*int argc, mrb_value *argv,*/ mrb_value);
-mrb_value mrb_io_fdopen(int, int, const char*);
-mrb_value mrb_io_get_io(mrb_state *mrb, mrb_value);
-mrb_value mrb_file_open(mrb_state *mrb, const char*, const char*);
-mrb_value mrb_file_open_str(mrb_value, const char*);
-mrb_value mrb_gets(mrb_state *mrb);
mrb_value mrb_yield(mrb_state *mrb, mrb_value v, mrb_value blk);
mrb_value mrb_yield_argv(mrb_state *mrb, mrb_value b, int argc, mrb_value *argv);
@@ -505,61 +475,11 @@ mrb_value mrb_exec_recursive(mrb_state *mrb, mrb_value(*)(mrb_state *, mrb_value
#define xfree free
#endif
-void mrb_gc(void);
-#define thread_debug if(0)printf
-
-#define RUBY_VM 1 /* YARV */
-#define HAVE_NATIVETHREAD
-int ruby_native_thread_p(void);
-
-#define RUBY_EVENT_NONE 0x0000
-#define RUBY_EVENT_LINE 0x0001
-#define RUBY_EVENT_CLASS 0x0002
-#define RUBY_EVENT_END 0x0004
-#define RUBY_EVENT_CALL 0x0008
-#define RUBY_EVENT_RETURN 0x0010
-#define RUBY_EVENT_C_CALL 0x0020
-#define RUBY_EVENT_C_RETURN 0x0040
-#define RUBY_EVENT_RAISE 0x0080
-#define RUBY_EVENT_ALL 0xffff
-#define RUBY_EVENT_VM 0x10000
-#define RUBY_EVENT_SWITCH 0x20000
-#define RUBY_EVENT_COVERAGE 0x40000
-
-typedef unsigned int mrb_event_flag_t;
-typedef void (*mrb_event_hook_func_t)(mrb_state *mrb, mrb_event_flag_t, mrb_value data, mrb_value, mrb_sym, mrb_value klass);
-
-typedef struct mrb_event_hook_struct {
- mrb_event_flag_t flag;
- mrb_event_hook_func_t func;
- mrb_value data;
- struct mrb_event_hook_struct *next;
-} mrb_event_hook_t;
-
-#define RB_EVENT_HOOKS_HAVE_CALLBACK_DATA 1
-void mrb_add_event_hook(mrb_state *mrb, mrb_event_hook_func_t func, mrb_event_flag_t events,
- mrb_value data);
-int mrb_remove_event_hook(mrb_event_hook_func_t func);
+void mrb_garbage_collect(mrb_state *mrb);
+void mrb_gc_protect(mrb_state *mrb, mrb_value obj);
mrb_value mrb_to_int(mrb_state *mrb, mrb_value val);
void mrb_check_type(mrb_state *mrb, mrb_value x, enum mrb_vtype t);
-//#define RUBY_SETJMP(env) ${setjmp_prefix}setjmp(env${setjmp_sigmask+,0})
-//#define RUBY_LONGJMP(env,val) ${setjmp_prefix}longjmp(env,val)
-//#define RUBY_JMP_BUF ${setjmp_sigmask+${setjmp_prefix}}jmp_buf
-#define RUBY_SETJMP(env) __builtin_setjmp(env)
-#define RUBY_LONGJMP(env,val) __builtin_longjmp(env,1)//(env,val)
-//#define RUBY_JMP_BUF ${setjmp_sigmask+${setjmp_prefix}}jmp_buf
-#define select(n, r, w, e, t) select_large_fdset(n, r, w, e, t)
-
-//int RUBY_SETJMP(mrb_jmpbuf_t env); /* add kusuda */
-#define ruby_setjmp(env) RUBY_SETJMP(env)
-#define ruby_longjmp(env,val) RUBY_LONGJMP(env,val)
-
-#define KHASH 0
-#define STHASH 1
-#define BASICHASH 2
-#define HASH_CLASS_METHOD BASICHASH
-
typedef enum call_type {
CALL_PUBLIC,
CALL_FCALL,
@@ -571,8 +491,6 @@ typedef enum call_type {
void mrb_cmperr(mrb_state *mrb, mrb_value x, mrb_value y);
int mrb_cmpint(mrb_state *mrb, mrb_value val, mrb_value a, mrb_value b);
-#define REALLOC_N(mrb,var,type,n) (var)=(type*)mrb_realloc(mrb, (char*)(var), sizeof(type)*(n))
-
#ifndef ANYARGS
# ifdef __cplusplus
# define ANYARGS ...
@@ -585,10 +503,11 @@ const char *mrb_class_name(mrb_state *mrb, struct RClass* klass);
void mrb_define_global_const(mrb_state *mrb, const char *name, mrb_value val);
mrb_value mrb_block_proc(void);
-int mrb_sourceline(void);
-void ruby_default_signal(int sig);
mrb_value mrb_attr_get(mrb_state *mrb, mrb_value obj, mrb_sym id);
+int mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid);
+int mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c);
+
/* memory pool implementation */
typedef struct mrb_pool mrb_pool;
struct mrb_pool* mrb_pool_open(mrb_state*);
diff --git a/include/mruby/array.h b/include/mruby/array.h
index 5c3098ebe..e2acee535 100644
--- a/include/mruby/array.h
+++ b/include/mruby/array.h
@@ -32,7 +32,7 @@ void mrb_ary_concat(mrb_state*, mrb_value, mrb_value);
mrb_value mrb_ary_splat(mrb_state*, mrb_value);
void mrb_ary_push(mrb_state*, mrb_value, mrb_value);
mrb_value mrb_ary_pop(mrb_state *mrb, mrb_value ary);
-mrb_value mrb_ary_new_from_values(mrb_state *mrb, mrb_value *vals, size_t size);
+mrb_value mrb_ary_new_from_values(mrb_state *mrb, size_t size, mrb_value *vals);
mrb_value mrb_ary_aget(mrb_state *mrb, mrb_value self);
mrb_value mrb_ary_ref(mrb_state *mrb, mrb_value ary, mrb_int n);
void mrb_ary_set(mrb_state *mrb, mrb_value ary, mrb_int n, mrb_value val);
diff --git a/include/mruby/class.h b/include/mruby/class.h
index 1d316c980..0afd331b0 100644
--- a/include/mruby/class.h
+++ b/include/mruby/class.h
@@ -74,8 +74,6 @@ struct RClass *mrb_class_outer_module(mrb_state*, struct RClass *);
struct RProc *mrb_method_search_vm(mrb_state*, struct RClass**, mrb_sym);
struct RProc *mrb_method_search(mrb_state*, struct RClass*, mrb_sym);
-int mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid);
-int mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c);
struct RClass* mrb_class_real(struct RClass* cl);
void mrb_obj_call_init(mrb_state *mrb, mrb_value obj, int argc, mrb_value *argv);
diff --git a/include/mruby/string.h b/include/mruby/string.h
index 08dd306e8..39f119ae8 100644
--- a/include/mruby/string.h
+++ b/include/mruby/string.h
@@ -21,8 +21,6 @@ extern "C" {
#define IS_EVSTR(p,e) ((p) < (e) && (*(p) == '$' || *(p) == '@' || *(p) == '{'))
-#define mrb_str_new4 mrb_str_new_frozen
-
#define STR_BUF_MIN_SIZE 128
extern const char mrb_digitmap[];
@@ -37,27 +35,11 @@ struct RString {
char *buf;
};
-extern struct SCOPE {
- struct RBasic super;
- mrb_sym *local_tbl;
- mrb_value *local_vars;
- int flags;
-} *ruby_scope;
-
-struct RVarmap {
- struct RBasic super;
- mrb_sym id;
- mrb_value val;
- struct RVarmap *next;
-};
-extern struct RVarmap *ruby_dyna_vars;
-
#define mrb_str_ptr(s) ((struct RString*)((s).value.p))
#define RSTRING(s) ((struct RString*)((s).value.p))
#define RSTRING_PTR(s) (RSTRING(s)->buf)
#define RSTRING_LEN(s) (RSTRING(s)->len)
#define RSTRING_CAPA(s) (RSTRING(s)->aux.capa)
-#define RSTRING_SHARED(s) (RSTRING(s)->aux.shared)
#define RSTRING_END(s) (RSTRING(s)->buf + RSTRING(s)->len)
#define MRB_STR_SHARED 256
@@ -73,64 +55,35 @@ void mrb_str_concat(mrb_state*, mrb_value, mrb_value);
mrb_value mrb_obj_to_str(mrb_state*, mrb_value);
mrb_value mrb_str_plus(mrb_state*, mrb_value, mrb_value);
mrb_value mrb_obj_as_string(mrb_state *mrb, mrb_value obj);
-mrb_value mrb_str_resize(mrb_state *mrb, mrb_value str, size_t len); /* mrb_str_resize */
+mrb_value mrb_str_resize(mrb_state *mrb, mrb_value str, int len); /* mrb_str_resize */
mrb_value mrb_string_value(mrb_state *mrb, mrb_value *ptr); /* StringValue */
mrb_value mrb_str_substr(mrb_state *mrb, mrb_value str, mrb_int beg, int len);
mrb_value mrb_check_string_type(mrb_state *mrb, mrb_value str);
-mrb_value mrb_str_buf_new(mrb_state *mrb, size_t capa);
-mrb_value mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len);
-mrb_value str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len);
+mrb_value mrb_str_buf_new(mrb_state *mrb, int capa);
+mrb_value mrb_str_buf_cat(mrb_state *mrb, mrb_value str, const char *ptr, int len);
char *mrb_string_value_cstr(mrb_state *mrb, mrb_value *ptr);
char *mrb_string_value_ptr(mrb_state *mrb, mrb_value ptr);
-mrb_value mrb_str_subseq(mrb_state *mrb, mrb_value str, long beg, long len);
-size_t mrb_str_sublen(mrb_state *mrb, mrb_value str, long pos);
-mrb_value mrb_str_size(mrb_state *mrb, mrb_value self);
-long mrb_str_offset(mrb_state *mrb, mrb_value str, long pos);
-mrb_value mrb_str_new2(mrb_state *mrb, const char *p);
+int mrb_str_sublen(mrb_state *mrb, mrb_value str, int pos);
+int mrb_str_offset(mrb_state *mrb, mrb_value str, int pos);
mrb_value mrb_str_dup(mrb_state *mrb, mrb_value str); /* mrb_str_dup */
-mrb_value mrb_str_new_frozen(mrb_state *mrb, mrb_value orig);
-mrb_value mrb_lastline_get(mrb_state *mrb);
-mrb_value mrb_usascii_str_new(mrb_state *mrb, const char *ptr, long len);
-void mrb_lastline_set(mrb_value val);
-mrb_value mrb_str_buf_cat_ascii(mrb_state *mrb, mrb_value str, const char *ptr);
-void mrb_str_modify(mrb_state *mrb, mrb_value str);
-void mrb_str_set_len(mrb_state *mrb, mrb_value str, long len);
mrb_value mrb_str_intern(mrb_state *mrb, mrb_value self);
-void mrb_str_shared_replace(mrb_state *mrb, mrb_value str, mrb_value str2);
mrb_value mrb_str_cat2(mrb_state *mrb, mrb_value str, const char *ptr);
mrb_value mrb_str_catf(mrb_state *mrb, mrb_value str, const char *format, ...);
mrb_value mrb_str_to_inum(mrb_state *mrb, mrb_value str, int base, int badcheck);
double mrb_str_to_dbl(mrb_state *mrb, mrb_value str, int badcheck);
mrb_value mrb_str_to_str(mrb_state *mrb, mrb_value str);
-mrb_value mrb_locale_str_new(mrb_state *mrb, const char *ptr, long len);
-mrb_value mrb_filesystem_str_new_cstr(mrb_state *mrb, const char *ptr);
mrb_int mrb_str_hash(mrb_state *mrb, mrb_value str);
int mrb_str_hash_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2);
-mrb_value str_new3(mrb_state *mrb, struct RClass* klass, mrb_value str);
mrb_value mrb_str_buf_append(mrb_state *mrb, mrb_value str, mrb_value str2);
-void mrb_str_setter(mrb_state *mrb, mrb_value val, mrb_sym id, mrb_value *var);
-int mrb_str_is_ascii_only_p(mrb_state *mrb, mrb_value str);
mrb_value mrb_str_inspect(mrb_state *mrb, mrb_value str);
int mrb_str_equal(mrb_state *mrb, mrb_value str1, mrb_value str2);
-mrb_value str_new4(mrb_state *mrb, mrb_value str);
mrb_value * mrb_svar(mrb_int cnt);
mrb_value mrb_str_drop_bytes(mrb_state *mrb, mrb_value str, long len);
mrb_value mrb_str_dump(mrb_state *mrb, mrb_value str);
mrb_value mrb_str_cat(mrb_state *mrb, mrb_value str, const char *ptr, long len);
mrb_value mrb_str_append(mrb_state *mrb, mrb_value str, mrb_value str2);
-size_t mrb_str_capacity(mrb_value str);
-
-#ifdef INCLUDE_ENCODING
-int sym_printable(mrb_state *mrb, const char *s, const char *send, mrb_encoding *enc);
-mrb_value mrb_str_conv_enc(mrb_state *mrb, mrb_value str, mrb_encoding *from, mrb_encoding *to);
-mrb_value mrb_str_conv_enc_opts(mrb_state *mrb, mrb_value str, mrb_encoding *from, mrb_encoding *to, int ecflags, mrb_value ecopts);
-mrb_value mrb_enc_str_new(mrb_state *mrb, const char *ptr, long len, mrb_encoding *enc);
-#else
-int mrb_symname_p(const char *name);
-#endif
-mrb_value mrb_tainted_str_new(mrb_state *mrb, const char *ptr, long len);
int mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2);
#if defined(__cplusplus)