summaryrefslogtreecommitdiff
path: root/include/ruby/intern.h
AgeCommit message (Collapse)Author
2009-10-28merges r24684 from trunk into ruby_1_9_1.yugui
-- * vm_method.c (rb_remove_method_id): exported. * numeric.c (num_sadded): fix for non-ascii method name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@25547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-25merges r24513,r24514 and r24515 from trunk into ruby_1_9_1.yugui
-- * class.c (rb_define_class_id_under, rb_define_module_id_under): new functions to define a nested class/module with non-ascii name. * struct.c (make_struct): use name with encoding. * struct.c (inspect_struct): ditto. [ruby-core:24849] -- * test/ruby/test_marshal.rb (test_class_nonascii): test for non-ascii name class. -- * class.c (rb_define_module_id_under): fix the name. * class.c (rb_define_module_under): fix for prevvious changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@25479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-25merges r24488, r24489 and r24493 from trunk into ruby_1_9_1.yugui
-- * marshal.c (class2path, w_unique, w_extended, w_class, w_uclass): deal with non-ascii class path. [ruby-core:24790] * marshal.c (r_unique, path2class, path2module, obj_alloc_by_path), (r_object0): ditto. * variable.c (rb_path_to_class): new encoding-aware function to get a class from its name. -- * marshal.c (must_not_be_anonymous): fixed silly miss. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@25474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-08merges r24321 from trunk into ruby_1_9_1.yugui
-- * insns.def (defineclass): preserve encoding of class/module names. [ruby-core:24600] * variable.c (rb_set_class_path_string): set class path with a string value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@24450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-13merges r24013 from trunk into ruby_1_9_1.yugui
-- * include/ruby/ruby.h (rb_obj_{untrust,untrusted,trust}): added prototypes. [ruby-dev:38756] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@24078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-12merges r23916 from trunk into ruby_1_9_1.yugui
-- * re.c (reg_match_pos): adjust offset based on characters, not bytes. [ruby-dev:38722] * string.c (rb_str_offset): new function. * string.c (rb_str_index_m): no call to rb_reg_adjust_startpos(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@24049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-20merges r23557 and r23563 from trunk into ruby_1_9_1.yugui
-- * thread.c (rb_exec_recursive_paired): new function for proper handling of recursive arrays. [EXPERIMENTAL] [ruby-core:23402] * array.c (rb_ary_equal, rb_ary_eql, rb_ary_cmp): use above. * hash.c (hash_equal): ditto. -- * test/ruby/test_hash.rb (TestHash::test_equal2): recursive hashes are handled properly now. ref: [ruby-core:23402] * test/ruby/test_m17n.rb (TestM17N#test_sprintf_p): test fixed git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-04merges r23134 from trunk into ruby_1_9_1.yugui
-- * include/ruby/intern.h (RB_NUM_COERCE_FUNCS_NEED_OPID): macro to check compatibility. [ruby-dev:38162] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-22merges r22255 from trunk into ruby_1_9_1.yugui
* compile.c (compile_array_, defined_expr, iseq_compile_each): hide and freeze internal literal objects, to prevent from modifying. [ruby-dev:37959] * iseq.c (insn_operand_intern): copy internal literal objects. * insns.def (putstring, duparray): ditto. * string.c (rb_str_replace): exported. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@22532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-17merges r21179 from trunk into ruby_1_9_1.yugui
* pack.c (pack_pack): template f should not accept non float values. [ruby-dev:37656] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-15merges r21487 from trunk into ruby_1_9_1.yugui
* include/ruby/intern.h, thread.c, win32/Makefile.sub (rb_fdset_t, rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr, rb_fd_isset, rb_fd_select, rb_fd_ptr, rb_fd_max, HAVE_RB_FD_INIT): new type, functions, and macros for Windows. * win32/win32.c (extract_fd, rb_w32_select): use rb_fdset_t to expand fd_array if needed. [ruby-core:19946] * win32/win32.c (copy_fd): new funcion for rb_w32_select(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-19merges r20870 from trunk into ruby_1_9_1.yugui
* io.c (rb_io_extract_encoding_option): "internal_encoding: nil" to specify no-transcoding. and other corner case fixed. [ruby-dev:37496] * hash.c (rb_hash_lookup2): new function to look-up hash with default value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05merges r20531 from trunk into ruby_1_9_1.yugui
* load.c (rb_get_load_path): returns the load path without touching. * load.c (rb_feature_provided): new function to return the loading path in addition to rb_provided(). * load.c (search_required): sets path if loading. * variable.c (autoload_provided): load paths are expanded to check if loading. * variable.c (autoload_node): keeps autoload mark while loading. [ruby-core:20235] * variable.c (rb_const_get_0): loops while autoload mark is set. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-18merges r20224 from trunk into ruby_1_9_1yugui
* include/ruby/intern.h (rb_{external,locale}_str_new_cstr): optimized versions for literal strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-18merges r20223 from trunk into ruby_1_9_1.yugui
* load.c (rb_require_safe): destroys barrier after successfully loaded, to get rid of loading same library again. [ruby-core:19798] * thread.c (rb_barrier_wait): can not wait destroyed barrier. * thread.c (rb_barrier_destroy): destroys barrier so that no longer waited. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-04merges r20102 from trunk into ruby_1_9_1.yugui
* include/ruby/intern.h (rb_mutex_synchronize): fixed prototype. * thread.c (rb_mutex_synchronize): fixed function name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-22* string.c (rb_external_str_new_with_enc): no implicit strlen call.matz
[ruby-dev:36854] * string.c (rb_external_str_new_cstr): new function to create string from external NUL terminated C string. * string.c (rb_locale_str_new_cstr): ditto. * ext/readline/readline.c: now use rb_locale_str_new_cstr(). * test/sdbm/test_sdbm.rb (TestSDBM#test_delete_with_block): deleted key to the block may be a copy of specified key. * test/dbm/test_dbm.rb (TestDBM#test_delete_with_block): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-21* io.c, include/ruby/intern.h (rb_io_ascii8bit_binmode): externed.shugo
* ext/socket/socket.c (init_sock): use rb_io_ascii8bit_binmode() instead of rb_io_binmode(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-20* string.c (rb_locale_str_new): new function to convert stringmatz
from locale to internal encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-18* string.c (rb_external_str_new): a new function to convert frommatz
external encoding to internal encoding. if something went wrong, it returns a string with the external encoding. * string.c (rb_external_str_new_with_enc): same as above besides you can specify the source encoding. * ruby.c (ruby_set_argv): use rb_external_str_new() * ruby.c (set_arg0, ruby_script): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30* sprintf.c (rb_str_format): add %<name>s style named argumentmatz
support. a patch from Yusuke Endoh <mame at tsg.ne.jp> in [ruby-dev:35851]. * sprintf.c (rb_str_format): add gettext style named format (%{name}) support. inspired by [ruby-dev:35852]. * sprintf.c (GETNAMEARG): should raise KeyError exception when no named argument found. * hash.c (rb_hash_fetch): export fetch function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23* thread.c, include/ruby/intern.h (rb_thread_interrupted): added.ko1
* io.c: use VALUE of thead instead of rb_tread_t to check interrupts. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05* include/ruby/io.h (rb_io_mode_modenum): moved fromakr
include/ruby/intern.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04* include/ruby/intern.h (rb_file_open_str): declared.akr
* io.c (rb_file_open_str): defined. * ext/zlib/zlib.c (gzfile_s_open): use rb_file_open_str instead of rb_file_open. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31* include/ruby/intern.h: rename RB_UBF_DFL toko1
RUBY_UBF_IO and RUBY_UBF_PROCESS. Because there is no default (universal) unblocking function. * ext/socket/socket.c, file.c, io.c, process.c, thread.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-29* include/ruby/intern.h (rb_file_s_absolute_path),nobu
(rb_file_absolute_path): prototyped. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25* include/ruby/intern.h (rb_io_ungetbyte): added prototype.nobu
* io.c (rb_io_gets): use rb_io_getline_1 for unget buffer. * ruby.c (load_file): use rb_io_ungetbyte. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 * complex.c (nucomp_div): now behaves as quo.tadf
* complex.c (nucomp_s_generic_p): has been removed. * complex.c (nucomp_to_s): adopts new form. * complex.c (nucomp_inspect): ditto. * complex.c (string_to_c_internal): ditto and supports polar form. * complex.c (rb_complex_polar): new. * rational.c (nurat_to_s): did not canonicalize. * rational.c (nurat_inspect): adopts new form. * rational.c (string_to_r_internal): ditto. * include/ruby/intern.h: added a declaration. * lib/complex.rb: added an obsolate class method. * lib/cmath.rb: use scalar? instead of generic?. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-13* thread.c (rb_thread_check_ints): added. please note thatko1
this function may cause ruby's thread switching. * include/ruby/intern.h: ditto. * regint.h: use rb_thread_check_ints() instead of RUBY_CHECK_INTS() directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-12* string.c (rb_str_drop_bytes): new function to drop first bytes.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-12* string.c (rb_str_drop): new function to drop first bytes.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-12* include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu
rb_usascii_str_new2): use with-length versions with strlen to optimize strlen, if optimized. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-09* gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t.nobu
[ruby-core:18207] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-04* array.c (rb_ary_sort_bang): respect overridden <=> for String andnobu
Fixnum. [ruby-core:17708] * include/ruby/node.h (NOEX_BASIC): basic definition method flag. * include/ruby/intern.h, vm_method.c (rb_method_basic_definition_p): new function to check if the method is not redefined after the initialization. * vm_method.c (rb_obj_respond_to): use rb_method_basic_definition_p. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-04* array.c (rb_ary_tmp_new): added.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-22* include/ruby/intern.h, sprintf.c (rb_str_catf, rb_str_vcatf): newnobu
functions. [ruby-dev:35597] * string.c (rb_str_capacity): new function to return the capacity. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-21* include/ruby/intern.h (rb_str_buf_new2): optimization for literals.nobu
* string.c (str_buf_cat): returns VALUE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-21* include/ruby/intern.h (rb_str_buf_cat2, rb_str_cat2): optimizationnobu
for literals. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-12* include/ruby/intern.h (HAVE_RUBY_RUBY_H): defines macros so thatnobu
extconf.rb do not need to check if headers exist under separated directory. [ruby-dev:35437] * include/{ruby,rubyio,rubysig}.h, include/ruby/intern.h: use "ruby/..." instead of <ruby/...>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-05rename rb_pipe_internal to rb_pipe.akr
use rb_pipe in pipe_nocrash. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-03* include/ruby/intern.h: remove prototypes about coverage.mame
* iseq.c (prepare_iseq_build): add prototype. * parse.y (coverage): ditto. * thread.c (clear_coverage): ditto. * thread.c (update_coverage): use rb_sourceline. * thread.c (rb_get_coverages): rename and move to vm.c. * vm.c (rb_vm_get_coverages): ditto. * ext/coverage/coverage.c: add rdoc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-03* ext/coverage/coverage.c, ext/coverage/extconf.rb: eliminatemame
COVERAGE__ and introduce coverage.so instead. How to measure coverage: (1) require "coverage.so", (2) require or load Ruby source file, and (3) Coverage.result will return the same hash as COVERAGE__. [ruby-dev:35324] * thread.c (rb_enable_coverages): start coverage measurement by using rb_add_event_hook. * thread.c (rb_get_coverages): returns current results of coverage measurement. * include/ruby/intern.h: add prototype for above two functions. * vm_core.h, vm.c: add field of coverages to rb_vm_t. * insns.def (trace): remove special handling for COVERAGE__. * iseq.c (prepare_iseq_build): switch COVERAGE__ to rb_get_coverages(). * parse.y (coverage): ditto. * thread.c (clear_coverage): ditto. * lib/coverage.rb: use coverage.so instead of COVERAGE__. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-02* gc.c: add rb_during_gc(). based on a patch from arton <artonx ATsuke
yahoo.co.jp> at [ruby-dev:35313]. * include/ruby/intern.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 * include/ruby/ruby.h (rb_intern): prefix __extnsion__ forshyouhei
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: svn+ssh://ci.ruby-lang.org/ruby/trunk@17763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-28* include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu
rb_usascii_str_new2): use inline versions only for constant literals. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-28* include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu
rb_usascii_str_new2): use inline versions for gcc 4 or lator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-27* include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu
rb_usascii_str_new2): use with-length versions with strlen to optimize strlen, if optimized. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-27* include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu
rb_usascii_str_new2): use with-length versions with strlen to optimize strlen. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-20* string.c (rb_memhash): randomize hash to avoid algorithmicakr
complexity attacks. (rb_str_hash): use rb_memhash. * include/ruby/intern.h (rb_reset_random_seed): declared. * thread.c (rb_thread_atfork): call rb_reset_random_seed. * inits.c (rb_call_inits): call Init_RandomSeed at first. * random.c (seed_initialized): defined. (fill_random_seed): extracted from random_seed. (make_seed_value): extracted from random_seed. (rb_f_rand): initialize random seed at first. (initial_seed): defined. (Init_RandomSeed): defined. (Init_RandomSeed2): defined. (rb_reset_random_seed): defined. (Init_Random): call Init_RandomSeed2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-13 * complex.c (string_to_c, nucomp_s_convert): preserve the currenttadf
backref. * rational.c (string_to_r, nurat_s_convert): ditto. * include/ruby/intern.h (rb_match_busy): added a declaration. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e