Age | Commit message (Collapse) | Author |
|
* string.c (rb_enc_str_new_cstr): new function to create a string from
the C-string pointer with the specified encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/encoding.h (rb_{ascii8bit,utf8,usascii}_encindex): get
rid of conflict with macros defined in internal.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This function is similar to rb_define_class_under() against
rb_define_class().
* include/ruby/intern.h: add a declaration of this function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* vm_eval.c (rb_check_funcall, rb_check_funcall_with_hook): constify
argv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
i586-mingw32msvc-gcc of gcc-mingw32 package on Debian squeeze.
ruby/missing.h should be included before include/ruby/win32.h
because struct timespec, used in the clock_gettime declaration in
include/ruby/win32.h, is defined in ruby/missing.h instead of
system headers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* win32/win32.c: removed duplicated declarations.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(clock_gettime): [experimental] emulates clock_gettime(2) of posix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
should be sufficient to represent all the encodings Ruby supports.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This macro name is obsolete because it is renamed to
RUBY_INTERNAL_EVENT_SWITCH, but it has compatibility problem
using this macro name like ruby-prof.
I want to remove this macro after ruby 2.1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* proc.c (rb_proc_call_with_block): constifiy argv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ENCODING_MASK for better greppability
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* struct.c (rb_struct_define_under): new function to define Struct
under the given namespace, not under Struct. [Feature #8264]
* ext/etc/etc.c: use rb_struct_define_under.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
to rationalize a Float instance with a precision.
* rational.c (rb_flt_rationalize): new public C function to
rationalize a Float instance. A precision is calculated from
the given float number.
* include/ruby/intern.h: Add rb_flt_rationalize_with_prec and
rb_flt_rationalize.
* parse.y: implement number literal suffixes, 'r' and 'i'.
[ruby-core:55096] [Feature #8430]
* bootstraptest/test_literal_suffix.rb: add tests for parser to scan
number literals with the above tsuffixes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
internal.h to calculate required buffer size to pack integers.
(rb_absint_numwords): Ditto.
(rb_absint_singlebit_p): Ditto.
[ruby-core:42813] [Feature #6065]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
internal.h.
(rb_integer_unpack): Ditto.
[ruby-core:42813] [Feature #6065]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* load.c (rb_load_internal): use rb_load_file_str() to keep path
encoding.
* load.c (rb_require_safe): search in OS path encoding for Windows.
* ruby.c (rb_load_file_str): load file with keeping path encoding.
* win32/file.c (rb_file_load_ok): use WCHAR type API assuming incoming
path is encoded in UTF-8. [ruby-core:56136] [Bug #8676]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_gc_unprotect_logging() which is general version
* include/ruby/ruby.h: add USE_RGENGC_LOGGING_WB_UNPROTECT
to enable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* encoding.c (rb_enc_code_to_mbclen): add new function which returns
mbclen from codepoint like as rb_enc_codelen() but 0 for invalid
char.
* include/ruby/encoding.h (rb_enc_code_to_mbclen): declaration and
shortcut macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): make only
rb_set_safe_level(4) an error always but make rb_secure(4) an error
only in the core. [ruby-dev:47517] [Bug #8652]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h (ruby_safe_level_4): get rid of special
character. [ruby-dev:47512] [misc #8646]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(st_strncasecmp): Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(st_locale_insensitive_strncasecmp): Renamed from st_strncasecmp.
* include/ruby/st.h: Follow above changes.
* include/ruby/ruby.h: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h: ditto.
* st.c (st_strcasecmp): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/ruby.h: use strcasecmp() as st_strcasecmp() if it
exists.
* st.c (st_strcasecmp): define the function only if strcasecmp()
doesn't exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* bignum.c (rb_big2str1): Renamed from rb_big2str0.
(rb_big2str0): Deprecated wrapper for rb_big2str1.
(rb_big2str): Invoke rb_big2str1 instead of rb_big2str0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* string.c (rb_str_subpos): make public function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
revert unexpected commit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* win32/win32.c (rb_w32_pow): move from win32.h and disable strict
ANSI mode macro to let _controlfp() stuff defined.
[ruby-core:55312] [Bug #8495]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
https://bugs.ruby-lang.org/issues/8583
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* encoding.c (rb_enc_set_index, rb_enc_associate_index): validate
argument encoding index.
* include/ruby/encoding.h (ENCODING_SET): use rb_enc_set_index()
instead of setting inlined bits directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* win32/win32.c (w32_spawn): extract codepage aware code from
rb_w32_spawn().
* win32/win32.c (rb_w32_uspawn): add UTF-8 version function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* win32/win32.c (w32_aspawn_flags): extract codepage aware code from
rb_w32_aspawn_flags().
* win32/win32.c (rb_w32_uaspawn_flags, rb_w32_uaspawn_flags): add
UTF-8 version functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/intern.h (rb_enumeratorize_with_size): cast for
backward compatibility.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/intern.h (rb_enumerator_size_func): define strict
function declaration for rb_enumeratorize_with_size().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
yet. This eases tests and debug.
(SIZEOF_BDIGITS): Ditto.
(BDIGIT_DBL): Ditto.
(BDIGIT_DBL_SIGNED): Ditto.
(PRI_BDIGIT_PREFIX): Ditto.
(PRI_BDIGIT_DBL_PREFIX): Ditto.
(PRIdBDIGIT): Define it only if PRI_BDIGIT_PREFIX is defined.
(PRIiBDIGIT): Ditto.
(PRIoBDIGIT): Ditto.
(PRIuBDIGIT): Ditto.
(PRIxBDIGIT): Ditto.
(PRIXBDIGIT): Ditto.
(PRIdBDIGIT_DBL): Ditto.
(PRIiBDIGIT_DBL): Ditto.
(PRIoBDIGIT_DBL): Ditto.
(PRIuBDIGIT_DBL): Ditto.
(PRIxBDIGIT_DBL): Ditto.
(PRIXBDIGIT_DBL): Ditto.
* include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Define it only if it is
not defined yet.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
OBJ_WB_GIVEUP() -> OBJ_WB_UNPROTECT(),
rb_obj_wb_giveup() -> rb_obj_wb_unprotect(),
rb_gc_giveup_promoted_writebarrier() ->
rb_gc_writebarrier_unprotect_promoted(),
* class.c, eval.c, hash.c: use OBJ_WB_UNPROTECT().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_big2ulong_pack and rb_big2ull.
* include/ruby/intern.h (rb_big2ulong_pack): Deprecated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parameter `slot'. You don't need to write a cast (VALUE *) any more.
* class.c, compile.c, hash.c, iseq.c, proc.c, re.c, variable.c,
vm.c, vm_method.c: remove cast expressions for OBJ_WRITE().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Use RARRAY_ASET() or RARRAY_PTR_USE() to modify Array objects.
* array.c, gc.c: catch up above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Introduce the following C APIs:
* RSTRUCT_RAWPTR(st) returns pointer (do WB on your risk).
The type of returned pointer is (const VALUE *).
* RSTRUCT_GET(st, idx) returns idx-th value of struct.
* RSTRUCT_SET(st, idx, v) set idx-th value by v with WB.
And
* RSTRUCT_PTR(st) returns pointer with shady operation.
The type of returned pointer is (VALUE *).
* struct.c, re.c, gc.c, marshal.c: rewrite with above APIs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_data_type_struct::flags. Now, this flags is passed
at T_DATA object creation. You can specify FL_WB_PROTECTED
on this flag.
* iseq.c: making non-shady iseq objects.
* class.c, compile.c, proc.c, vm.c: add WB for iseq objects.
* vm_core.h, iseq.h: constify fields to detect WB insertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* include/ruby/defines.h (BDIGIT_DBL): Use uint128_t if it is available.
(BDIGIT): Use uint64_t if uint128_t is available.
(SIZEOF_BDIGITS): Defined for above case.
(BDIGIT_DBL_SIGNED): Ditto.
(PRI_BDIGIT_PREFIX): Ditto.
* include/ruby/ruby.h (PRI_64_PREFIX): Defined.
* bignum.c (rb_big_pow): Don't use BITSPERDIG for the condition which
rb_big_pow returns Float or Bignum.
[ruby-dev:47413] [Feature #8509]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
new function to invoke a method with a block passed
as an argument.
* string.c (sym_call): use the above function to avoid
a block sharing. [ruby-dev:47438] [Bug #8531]
* vm_insnhelper.c (vm_yield_with_cfunc): don't set block
in the frame.
* test/ruby/test_symbol.rb (TestSymbol#test_block_given_to_proc):
run related tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
new function to invoke a Method object with a block passed
as an argument.
* proc.c (bmcall): use the above function to avoid a block sharing.
[ruby-core:54626] [Bug #8341]
* test/ruby/test_proc.rb (TestProc#test_block_persist_between_calls):
run related tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
T_MODULE, T_ICLASS.
* constant.h: constify rb_const_entry_t::value and file to detect
assignment.
* variable.c, internal.h (rb_st_insert_id_and_value, rb_st_copy):
added. update table with write barrier.
* method.h: constify some variables to detect assignment.
* object.c (init_copy): add WBs.
* variable.c: ditto.
* vm_method.c (rb_add_method): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|