summaryrefslogtreecommitdiffstats
path: root/include/ruby/ruby.h
Commit message (Collapse)AuthorAgeFilesLines
* * include/ruby/ruby.h (VALUE): use unsigned long or long longnobu2009-01-161-3/+6
| | | | | | | instead of uintptr_t, since many %lx and so on are still used. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (PRI_PTRDIFF_PREFIX): must define as string.usa2009-01-161-1/+1
| | | | | | | | | | | if not, cause compile error in using PRI?VALUE. * win32/Makefile.sub (config.h): add SIZEOF_INTPTR_T and SIZEOF_UINTPTR_T for SIZEOF_VALUE. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (RUBY_REPLACE_TYPE): does not define rb_ prefixednobu2009-01-161-3/+26
| | | | | | | | | | | | | | name if no default type is given. * configure.in (RUBY_DEFINT): checks size. * include/ruby/ruby.h (VALUE): use uintptr_t if available. * include/ruby/ruby.h (PRI_PTRDIFF_PREFIX, PRI_SIZE_PREFIX): assumes usable if PRIdPTR is defined. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/curses/curses.c: curses encoding should obey locale.matz2008-11-071-0/+1
| | | | | | | | * ext/curses/curses.c (curses_getch): 1.9 getch should return one character string for single byte string. wchar_t support may follow in the future. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (ExportStringValue): new macro to convertmatz2008-10-201-0/+6
| | | | | | | | | | | | | string in internal encoding to external to export. * string.c (rb_str_export): new function to do conversion to external encoding. * ext/sdbm/init.c: encoding conversion support. * ext/dbm/dbm.c: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (Init_IO): $FILENAME and $* must be read-only. [ruby-dev:36698]nobu2008-10-141-0/+20
| | | | | | | | | * variable.c (*_getter, *_setter, *_marker): made public. * include/ruby/ruby.h (rb_gvar_*_{getter,setter,marker}): declared. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: embeds the elements of an array into itsyugui2008-10-091-8/+25
| | | | | | | | | | | | | | | | | | struct RArray for # of elements <= 3. * array.c: ditto. * gc.c (gc_mark_children): following the change of struct RArray. * ext/tk/tcltklib.c (ip_ruby_cmp): ditto. * parse.y (coverage): ditto. * proc.c (curry): ditto. * .gdbinit: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dln.c: Ruby no longer supports VMS.yugui2008-10-041-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * error.c: ditto. * eval.c: ditto. * eval_intern.h: ditto. * include/ruby/defines.h: ditto. * include/ruby/ruby.h: ditto. * io.c: ditto. * process.c: ditto. * ruby.c: ditto. * vms/config.h: removed. * vms/vms.h: ditto. * vms/vmsruby_private.c: ditto. * vms/vmsruby_private.h: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (rb_mPrecision): removed.yugui2008-09-261-1/+0
| | | | | | Precision module was temporarily removed at r19430. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c (Init_Exception): introduce EncodingError which is amatz2008-09-261-0/+1
| | | | | | | | | superclass for all encoding related exception classes, e.g. Encoding::CompatibilityError. [ruby-dev:36371] * transcode.c (Init_transcode): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c: an instance method image has been removed andtadf2008-09-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | uses "imag" instead of "image". * complex.c: two instance method re and im are removed. * rational.c: follows the above changes. * include/ruby/ruby.h: ditto. * gc.c: ditto. * lib/cmath.rb: ditto. * lib/mathn.rb: ditto. * lib/complex.rb: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * transcode.c: add "Error" suffix for Encoding exception classes.matz2008-09-181-0/+1
| | | | | | | | | | a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp> in [ruby-dev:36346]. * encoding.c (Init_Encoding): rename EncodingCompatibilityError to Encoding::CompatibilityError. [ruby-dev:36366] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c, include/ruby/ruby.h: rename rb_register_mark_object()ko12008-09-151-1/+1
| | | | | | | | | | | | | | to rb_gc_register_mark_object(). * eval.c, vm.c: initialize vm->mark_object_ary at Init_top_self(). * bignum.c, complex.c, encoding.c, ext/win32ole/win32ole.c, io.c, load.c, marshal.c, rational.c, ruby.c, vm.c: use rb_gc_register_mark_object() instead of rb_global_variable() or rb_gc_register_address(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos.akr2008-09-091-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (DBL2NUM): renamed from DOUBLE2NUM.matz2008-09-051-1/+1
| | | | | | | a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp> in [ruby-dev:36102]. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c, include/ruby/ruby.h: rename T_DEFERRED to T_ZOMBIE.ko12008-08-291-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (INT2NUM): just use a simple macro on LP64.akr2008-08-211-10/+15
| | | | | | | (UINT2NUM): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix previsous change again.akr2008-08-211-4/+6
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: fix previous change for LP64.akr2008-08-211-2/+6
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (NUM2LONG): make it inline function to evalueteakr2008-08-211-7/+44
| | | | | | | | | | | | | | | the argument only once. `t = Object.new; def t.*(x) p x; 0 end; p Time.at(0, t)' did print x twice. (NUM2INT): ditto. (NUM2LL): ditto. (INT2NUM): make it inline function. (LONG2NUM): ditto. (UINT2NUM): ditto. (ULONG2NUM): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (rb_intern_const): tiny optimization.nobu2008-08-161-0/+6
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: commit miss.nobu2008-08-161-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (SSIZET2NUM, NUM2SSIZET, SSIZE_MAX, SSIZE_MIN):nobu2008-08-151-0/+20
| | | | | | | macros for ssize_t. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_obj_untrusted): new method Object#untrusted?.shugo2008-08-131-7/+9
| | | | | | | | | | | | | | | (rb_obj_untrust): new method Object#untrust. (rb_obj_trust): new method Object#trust. * array.c, debug.c, time.c, include/ruby/ruby.h, re.c, variable.c, string.c, io.c, dir.c, vm_method.c, struct.c, class.c, hash.c, ruby.c, marshal.c: fixes for Object#untrusted?. * test/ruby/test_module.rb, test/ruby/test_array.rb, test/ruby/test_object.rb, test/ruby/test_string.rb, test/ruby/test_marshal.rb, test/ruby/test_hash.rb: added tests for Object#untrusted?. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c (rb_eEncCompatError): add Exception.naruse2008-08-121-0/+1
| | | | | | | | | | | | | | | | * include/ruby/ruby.h: ditto. * encoding.c (rb_enc_check): use rb_eEncCompatError. * string.c (rb_enc_cr_str_buf_cat): ditto. * string.c (rb_str_sub_bang): ditto. * string.c (rb_str_hex): ditto. * string.c (rb_str_oct): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (struct RString): size of ary must bemame2008-07-311-1/+1
| | | | | | | RSTRING_EMBED_LEN_MAX + 1. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: add a type T_DEFERRED.ko12008-07-271-0/+2
| | | | | | | | | | | | | | * gc.c: fix deferred finalizer system. finalize processes of T_DATA and T_FILE are executed after gc process. And fix to use BUILTIN_TYPE() instead of seeing flag. * thread.c, vm_core.h: add RUBY_VM_SET_FINALIZER_INTERRUPT() and check intterupt_flag at rb_thread_execute_interrupts(). * thread.c (mutex_mark): fix to mark next_mutex. * vm.c (rb_thread_mark): fix to mark keeping_mutexes. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (PRI_PTRDIFF_PREFIX, PRI_SIZE_PREFIX): typo.usa2008-07-121-2/+2
| | | | | | | | * {bcc32,win32}/Makefile.sub: (SIZEOF_SIZE_T, SIZEOF_PTRDIFF_T): added. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (PRI_PTRDIFF_PREFIX, PRI_SIZE_PREFIX): fixed typo.nobu2008-07-121-6/+6
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (sizeof ptrdiff_t): check for size of ptrdiff_t.nobu2008-07-121-13/+36
| | | | | | | | | | | | | * include/ruby/ruby.h (PRI?PTRDIFF, PRI?SIZE): printf conversion specifiers for ptrdiff_t and size_t/ssize_t. * insns.def (leave), marshal.c (long_toobig), transcode.c (str_transcode), vm_dump.c (control_frame_dump, stack_dump_each), (debug_print_register, debug_print_pre): t and z length modifiers are C99. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c: shoudn't use ruby object in globbing, because glob serviceusa2008-07-081-2/+2
| | | | | | | | | routines are called before initializing ruby on some platforms (ex. windows). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c: preserve encoding of strings in glob and fnmatch.naruse2008-07-071-3/+2
| | | | | | * include/ruby/ruby.h: related changes. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (NUM2INT): cast to int.akr2008-07-051-4/+4
| | | | | | | | | (FIX2INT): ditto. (NUM2UINT): cast to unsigned int. (FIX2UINT): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.h, insns.def: reduce insn operand of "trace".ko12008-07-011-12/+13
| | | | | | | | * include/ruby/ruby.h: add RUBY_EVENT_COVERAGE event. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (enum ruby_special_consts): ISO C forbidsshyouhei2008-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | comma at end of enumerator list * include/ruby/ruby.h (enum ruby_value_type): ditto. * eval_intern.h (enum): ditto. * vm_core.h (enum rb_thread_status): ditto. * parse.y (enum lex_state_e): ditto. * parse.y (enum string_type): ditto. * process.c (enum): ditto. * ruby.c (enum dump_flag_bits): ditto. * ruby.c (enum disable_flag_bits): ditto. * compile.c (iseq_link_element): ditto * debug.c (union): ditto. * cont.c (enum context_type): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (rb_intern): prefix __extnsion__ forshyouhei2008-07-011-1/+1
| | | | | | | | | | | | | braced-groups within expressions. * include/ruby/intern.h (rb_usascii_str_new2): ditto. * include/ruby/intern.h (rb_tainted_str_new2): ditto. * include/ruby/intern.h (rb_str_new2): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c, vm_core.h,vm_core.h, vm_dump.c, iseq.c: rename class nameko12008-06-291-3/+0
| | | | | | | | | | | | VM -> RubyVM, and rename rb_cVM -> rb_cRubyVM. "VM" is too short name for class. * test/ruby/test_method.rb, test/ruby/test_settracefunc.rb: ditto. * include/ruby/ruby.h: rb_cRubyVM, rb_cEnv, rb_cISeq should not be exposed. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (struct RRegexp): new field usecnt. replaceakr2008-06-281-2/+5
| | | | | | | | | | | | | | | | | | | | | str and len by src. * gc.c (gc_mark_children): mark src field of regexp. (obj_free): don't free str field. * re.c (REG_BUSY): removed. (rb_reg_initialize): prohibit re-initialize regexp. (rb_reg_search): use usecnt to prevent freeing regexp currently using. this prevents SEGV by: r = /\A((a.)*(a.)*)*b/ r =~ "ab" + "\xc2\xa1".force_encoding("euc-jp") t = Thread.new { r =~ "ab"*8 + "\xc2\xa1".force_encoding("utf-8")} sleep 0.2 r =~ "ab"*8 + "\xc2\xa1".force_encoding("euc-jp") git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (rb_intern): use rb_intern2 with strlen forakr2008-06-121-1/+1
| | | | | | | constant symbols to optimize strlen. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h, proc.c: revert rb_proc_call() andko12008-06-101-2/+0
| | | | | | | | | | create rb_proc_call_with_block() instaed. * include/ruby/ruby.h, eval_jump.c, thread.c, vm_insnhelper.c: rb_blockptr should not be exposed. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (CONST_ID_CACHE): fixed statement expression.nobu2008-06-101-4/+4
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h, vm_core.h: add a type rb_blockptr.mame2008-06-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | * vm_insnhelper.c (vm_yield_with_cfunc): vm_yield_with_cfunc receives blockptr and passes it to iterating block. * proc.c (rb_proc_call), include/ruby/intern.h: rb_proc_call receives blockptr. "rb_proc_call(self, args, blockptr)" in C corresponds to "self.call(*args, &block)" in Ruby. * proc.c (proc_call): pass blockptr to block that is written in C. * proc.c (curry): receive blockptr and pass it to original proc. [ruby-core:15551] * vm.c (invoke_block_from_c): fix for change of vm_yield_with_cfunc. * thread.c (call_trace_proc), eval_jump.c (rb_call_end_proc): fix for change of rb_proc_call. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (CONST_ID): constant ID cache for non-gcc.nobu2008-06-091-6/+10
| | | | | | | * *.c: no cache in init functions. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h (struct rb_vm_struct): moved ruby_debug, ruby_verbose, andnobu2008-06-091-1/+4
| | | | | | | | | | | rb_progname. * ruby.c (rb_argv0): no longer used. * vm.c: getters/setters for ruby_{debug,verbose}. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * suppress warnings with -Wwrite-string.nobu2008-05-311-2/+2
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: renamed include guard.nobu2008-05-311-5/+7
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c, eval_intern.h, include/ruby/intern.h, include/ruby/ruby.h,ko12008-05-221-10/+10
| | | | | | | | vm.c, vm_core.h, vm_insnhelper.c: remove pointless "const". git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval_intern.h, vm_core.h, include/ruby/intern.h, include/ruby/ruby.h,usa2008-05-221-10/+10
| | | | | | | | vm.c: need to add const to prototypes, of course. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (PRI[diouxX]VALUE): printf format for VALUE.nobu2008-05-201-0/+12
| | | | | | | * gc.c (assign_heap_slot): suppress a warning. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c, insns.def, eval.c, vm_insnhelper.c: fix CREF handling.ko12008-05-191-10/+0
| | | | | | | | | | | | | | VM value stack frame of block contains cref information. (dfp[-1] points CREF) * compile.c, eval_intern.h, eval_method.c, load.c, proc.c, vm_dump.h, vm_core.h: ditto. * include/ruby/ruby.h, gc.c: remove T_VALUES because of above changes. * bootstraptest/test_eval.rb, test_knownbug.rb: move solved test. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e