summaryrefslogtreecommitdiffstats
path: root/include/ruby/intern.h
Commit message (Collapse)AuthorAgeFilesLines
...
* * load.c (rb_get_load_path): returns the load path withoutnobu2008-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@20531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* move the previous comment.akr2008-12-021-26/+0
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add comment for select behavior on file descriptors over FD_SETSIZE.akr2008-12-021-0/+26
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_{external,locale}_str_new_cstr): optimizednobu2008-11-111-0/+12
| | | | | | | versions for literal strings. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (rb_require_safe): destroys barrier after successfullynobu2008-11-111-0/+1
| | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@20223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_mutex_synchronize): fixed prototype.nobu2008-11-031-1/+1
| | | | | | | * thread.c (rb_mutex_synchronize): fixed function name. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_external_str_new_with_enc): no implicit strlen call.matz2008-10-221-0/+2
| | | | | | | | | | | | | | | | | | [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: http://svn.ruby-lang.org/repos/ruby/trunk@19885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c, include/ruby/intern.h (rb_io_ascii8bit_binmode): externed.shugo2008-10-211-0/+1
| | | | | | | | * ext/socket/socket.c (init_sock): use rb_io_ascii8bit_binmode() instead of rb_io_binmode(). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_locale_str_new): new function to convert stringmatz2008-10-201-0/+1
| | | | | | from locale to internal encoding. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_external_str_new): a new function to convert frommatz2008-10-181-0/+1
| | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@19834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sprintf.c (rb_str_format): add %<name>s style named argumentmatz2008-09-301-0/+1
| | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@19641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c, include/ruby/intern.h (rb_thread_interrupted): added.ko12008-09-231-0/+1
| | | | | | | | * io.c: use VALUE of thead instead of rb_tread_t to check interrupts. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/io.h (rb_io_mode_modenum): moved fromakr2008-09-051-1/+0
| | | | | | | | include/ruby/intern.h. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_file_open_str): declared.akr2008-09-041-0/+1
| | | | | | | | | | | * 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: http://svn.ruby-lang.org/repos/ruby/trunk@19137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h: rename RB_UBF_DFL toko12008-08-311-1/+2
| | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@18985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_file_s_absolute_path),nobu2008-08-291-0/+2
| | | | | | | (rb_file_absolute_path): prototyped. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_io_ungetbyte): added prototype.nobu2008-08-251-0/+1
| | | | | | | | | * io.c (rb_io_gets): use rb_io_getline_1 for unget buffer. * ruby.c (load_file): use rb_io_ungetbyte. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (nucomp_div): now behaves as quo.tadf2008-08-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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: http://svn.ruby-lang.org/repos/ruby/trunk@18778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_check_ints): added. please note thatko12008-08-131-0/+1
| | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@18572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_drop_bytes): new function to drop first bytes.nobu2008-08-121-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_drop): new function to drop first bytes.nobu2008-08-121-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu2008-08-121-8/+23
| | | | | | | | rb_usascii_str_new2): use with-length versions with strlen to optimize strlen, if optimized. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (STACK_LEVEL_MAX, ruby_stack_length): returns size_t.nobu2008-08-091-1/+1
| | | | | | | [ruby-core:18207] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_sort_bang): respect overridden <=> for String andnobu2008-08-041-0/+1
| | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@18360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_tmp_new): added.nobu2008-08-041-0/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h, sprintf.c (rb_str_catf, rb_str_vcatf): newnobu2008-07-221-0/+3
| | | | | | | | | functions. [ruby-dev:35597] * string.c (rb_str_capacity): new function to return the capacity. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_buf_new2): optimization for literals.nobu2008-07-211-0/+7
| | | | | | | * string.c (str_buf_cat): returns VALUE. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_buf_cat2, rb_str_cat2): optimizationnobu2008-07-211-20/+32
| | | | | | | for literals. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (HAVE_RUBY_RUBY_H): defines macros so thatnobu2008-07-121-1/+1
| | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@18039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rename rb_pipe_internal to rb_pipe.akr2008-07-051-0/+1
| | | | | | | use rb_pipe in pipe_nocrash. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h: remove prototypes about coverage.mame2008-07-031-2/+0
| | | | | | | | | | | | | | | | | | | * 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: http://svn.ruby-lang.org/repos/ruby/trunk@17859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/coverage/coverage.c, ext/coverage/extconf.rb: eliminatemame2008-07-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@17857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: add rb_during_gc(). based on a patch from arton <artonx ATsuke2008-07-021-0/+1
| | | | | | | | | yahoo.co.jp> at [ruby-dev:35313]. * include/ruby/intern.h: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (rb_intern): prefix __extnsion__ forshyouhei2008-07-011-3/+3
| | | | | | | | | | | | | 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
* * include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu2008-06-281-4/+19
| | | | | | | | rb_usascii_str_new2): use inline versions only for constant literals. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu2008-06-281-1/+1
| | | | | | | rb_usascii_str_new2): use inline versions for gcc 4 or lator. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu2008-06-271-1/+1
| | | | | | | | rb_usascii_str_new2): use with-length versions with strlen to optimize strlen, if optimized. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,nobu2008-06-271-0/+5
| | | | | | | | rb_usascii_str_new2): use with-length versions with strlen to optimize strlen. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_memhash): randomize hash to avoid algorithmicakr2008-06-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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: http://svn.ruby-lang.org/repos/ruby/trunk@17465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * complex.c (string_to_c, nucomp_s_convert): preserve the currenttadf2008-06-131-0/+1
| | | | | | | | | | | | backref. * rational.c (string_to_r, nurat_s_convert): ditto. * include/ruby/intern.h (rb_match_busy): added a declaration. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h, proc.c: revert rb_proc_call() andko12008-06-101-1/+2
| | | | | | | | | | 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/intern.h (rb_obj_instance_exec, rb_mod_module_exec):nobu2008-06-101-0/+2
| | | | | | | added prototypes. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h, vm_core.h: add a type rb_blockptr.mame2008-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | * 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/intern.h (Init_stack): make to call ruby_init_stack.nobu2008-06-091-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * suppress warnings with -Wwrite-string.nobu2008-05-311-1/+1
| | | | git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c, eval_intern.h, include/ruby/intern.h, include/ruby/ruby.h,ko12008-05-221-4/+4
| | | | | | | | 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-4/+4
| | | | | | | | 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
* * process.c, include/ruby/intern.h (rb_run_exec_options): externed.usa2008-05-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | * process.c (save_redirect_fd, save_env_i, save_env, run_exec_dup2, run_exec_open, run_exec_pgroup, run_exec_rlimit, rb_run_exec_options): save parent's process environments. !!!remark!!! these are not thread-safe. * process.c (rb_spawn_internal): remove calling run_exec_options() because cannot restore after spawn. we'll fix this later. * io.c (pipe_open): ditto. * test/ruby/test_process.rb (test_execopts_env): upcase environment variable name for case insensitive platforms. * win32/win32.c (init_env): set USER environment variable only when USERNAME is available. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_cleanup_func_before_exec): extracted fromakr2008-05-111-0/+1
| | | | | | | | | | | | | | | | | | | | | thread_cleanup_func not to touch pthread data. pthread_cond_destroy in forked process may cause deadlock on Debian GNU/Linux Etch on x86, x86-64 and IA64. this doesn't cause resource leak because the process will exec soon. (terminate_atfork_before_exec_i): defined. (rb_thread_atfork_before_exec): defined. * include/ruby/intern.h (rb_thread_atfork_before_exec): declared. * process.c (rb_exec_atfork): call rb_thread_atfork_before_exec instead of rb_thread_atfork. * io.c (popen_exec): call rb_thread_atfork_before_exec instead of rb_thread_atfork. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (check_exec_redirect_fd): prohibit duplex IO.akr2008-04-301-1/+1
| | | | | | | | | (check_exec_fds): record maxhint even if close_others is not specified. (rb_exec_arg_fixup): renamed from rb_exec_arg_fix. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e