summaryrefslogtreecommitdiff
path: root/include/ruby/intern.h
AgeCommit message (Collapse)Author
2014-01-29merge revision(s) 43208: [Backport #9003]usa
* compar.c (cmp_eq): fail if recursion. [ruby-core:57736] [Bug #9003] * thread.c (rb_exec_recursive_paired_outer): new function which is combinnation of paired and outer variants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@44742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-10* include/ruby/intern.h (rb_path_next, rb_path_skip_prefix,usa
rb_path_last_separator, rb_path_end, ruby_find_basename, ruby_find_extname): restore the declarations of these functions for backword compatibility. * filc.c (rb_path_next, rb_path_skip_prefix, rb_path_last_separator, rb_path_end, ruby_find_basename, ruby_find_extname): implements these functions as the wrapper of rb_enc_*(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-10* include/ruby/intern.h (rb_f_lambda): mark as deprecated.usa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-10* include/ruby/intern.h (rb_f_lambda): restore the declaration ofusa
rb_f_lambda() for backword compatibility. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-26merge revision(s) 41342,41359,41361: [Backport #8341]usa
test/ruby/test_proc.rb: tests for [Bug #8341] * include/ruby/intern.h, proc.c (rb_method_call_with_block): 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. * test/ruby/test_proc.rb (TestProc#test_block_given_method_to_proc): run test for r41359. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-26merge revision(s) 40525,40526,40528,40530: [Backport #8345]usa
proc.c: remove unnecessary static function * proc.c (proc_lambda): remove and use rb_block_lambda directly instead. * include/ruby/intern.h (rb_block_lambda): add declaration instead of deprecated rb_f_lambda. * proc.c (mproc, mlambda): use frozen core methods instead of plain global methods, so that methods cannot be overridden. [ruby-core:54687] [Bug #8345] * vm.c (Init_VM): define proc and lambda on the frozen core object. * defs/id.def (predefined): add "idProc". * proc.c (mnew, mproc, mlambda): use predefined IDs. * vm.c (Init_VM): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-26merge revision(s) 40913: [Backport #8434]usa
* intern.h: remove dangling rb_class_init_copy declaration [ruby-core:55120] [Bug #8434] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@41646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14* include/ruby/intern.h: should include sys/time.h for struct timevalusa
if it exists. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@40746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-28merge revision(s) 39772,39773,39774,39775,39777,39779,39781,39783: [Backport ↵usa
#8080] * configure.in: check struct timeval exist or not. * include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL properly. and don't include sys/time.h if struct timeval exist. * file.c: include sys/time.h explicitly. * random.c: ditto. * thread_pthread.c: ditto. * time.c: ditto. * ext/date/date_strftime.c: ditto. * include/ruby/missing.h (struct timespec): include <sys/time.h> * include/ruby/missing.h (__syscall): moved to... * io.c: here. because __syscall() is only used from io.c. * include/ruby/missing.h: move "#include <sys/type.h>" to .... * include/ruby/intern.h: here. because it was introduced for fixing NFDBITS issue. [ruby-core:05179]. * thread.c: disabled _FORTIFY_SOURCE for avoid to hit glibc bug. [Bug #8080] [ruby-core:53349] * test/ruby/test_io.rb (TestIO#test_io_select_with_many_files): test for the above. * include/ruby/missing.h: removed __linux__. it's unnecessary. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-25merge revision(s) 38595,38596: [Backport #7607]usa
* bignum.c, include/ruby/intern.h (rb_big_eql): exported. * thread.c (recursive_check): object_id maybe a Bignum, not Fixnum on LLP64. see also r38493 and r38548. reported by Heesob Park at [ruby-core:51083] [Bug #7607], and patched by shirosaki at [ruby-core:51095] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-26merge revision(s) 32826,34732: [Backport #6681]usa
* file.c (rb_enc_path_next, rb_enc_path_skip_prefix) (rb_enc_path_last_separator, rb_enc_path_end) (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware path handling functions. * file.c (rb_home_dir, file_expand_path, rb_realpath_internal) (rb_file_s_basename, rb_file_dirname, rb_file_s_extname) (rb_file_join): should respect the encodings of arguments than file system encoding. [ruby-dev:45145] [Bug #5919] * dir.c (check_dirname, ruby_glob0): ditto. * ext/pathname/pathname.c (path_sub_ext): ditto. * util.c, include/ruby/util.h (ruby_add_suffix): remove the function. [Bug #5153] [ruby-core:38736] * io.c (argf_next_argv): remove the call of above function. * ext/-test-/add_suffix, test/-ext-/test_add_suffix.rb: remove the test extension module because this is only for testsing ruby_add_suffix(). * LEGAL: remove the mention about a part of util.c, because now we removed the part. * io.c (argf_next_argv): now the new filename is not guranteed to use, so should check the return value of rename(2). * test/ruby/test_argf.rb (TestArgf#test_inplace_rename_impossible): now we expect same result with other platforms on no_safe_rename platforms (=Windows). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@37330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-27merge revision(s) 36454:naruse
* include/ruby/intern.h (rb_num_zerodiv): Added NORETURN. Patched by Xi Wang. [Bug #6736] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@36552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-03Revert r36279; it breaks C API compatibility.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@36291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-03merge revision(s) 34372:naruse
* file.c (rb_enc_path_next, rb_enc_path_skip_prefix) (rb_enc_path_last_separator, rb_enc_path_end) (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware path handling functions. * file.c (rb_home_dir, file_expand_path, rb_realpath_internal) (rb_file_s_basename, rb_file_dirname, rb_file_s_extname) (rb_file_join): should respect the encodings of arguments than file system encoding. [ruby-dev:45145] [Bug #5919] * dir.c (check_dirname, ruby_glob0): ditto. * ext/pathname/pathname.c (path_sub_ext): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@36279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-08* string.c (rb_str_modify_expand): fix memory leak.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@34492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-30merge revision(s) 33128:kosaki
* win32/win32.c, include/ruby/intern.h (rb_w32_fd_copy): implement for rb_thread_select() in thread.c. the use of rb_fd_copy() is introduced in r33117. [Bug #5229] [ruby-core:39102] * thread.c (rb_thread_select): must call rb_fd_init() before using rb_fdset_t. see the implementations of rb_fd_init()s if you want to know the reason. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@33134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-20* backport r32579, r32581, r32587 by akr and r32588 by kazu.akr
r32579: * io.c (rb_update_max_fd): new function. * internal.h (rb_update_max_fd): declare rb_update_max_fd. * thread_pthread.c (rb_thread_create_timer_thread): update max fd when timer thread pipe is created. r32581: * io.c (UPDATE_MAXFD): removed. r32587: * include/ruby/intern.h (rb_update_max_fd): declaration moved from internal.h. * file.c: ditto. * io.c: call rb_update_max_fd for each new fds. * process.c: ditto. * random.c: ditto. * ruby.c: ditto. * ext/io/console/console.c: ditto. * ext/openssl/ossl_bio.c: ditto. * ext/pty/pty.c: ditto. * ext/socket/init.c: ditto. * ext/socket/socket.c: ditto. * ext/socket/ancdata.c: ditto. * ext/socket/unixsocket.c: ditto. r32588: * io.c (rb_update_max_fd): remove parentheses. they are not in macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@32591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-03* include/ruby/intern.h, thread_pthread.c (rb_reserved_fd_p,ko1
RB_RESERVED_FD_P): added. This C API is to limit to access fds which are used by RubyVM internal. In this version of CRuby, return 1 if fd is communication pipe. If your application needs to close all file descriptors to preent resource leak, skip internal fds using this C API. We also define a macro RB_RESERVED_FD_P(fd). So you can write #ifndef RB_RESERVED_FD_P #define RB_RESERVED_FD_P(fd) 0 #endif for Ruby 1.9.2 or previous version to write compatible extensions. See [ruby-core:37727] * thread_win32.c (rb_reserved_fd_p): added (return 0 for any fds). * io.c (rb_io_initialize): raise ArgumentError if given fd is reserved by Ruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-21* internal.h: move rb_thread_io_blocking_region() declarationkosaki
from intern.h to internal.h. It's still experimental API and need more discussion. [ruby-dev:43698] * include/ruby/intern.h: ditto. * ext/socket/rubysocket.h: include internal.h. * ext/socket/depend: add internal.h dependency. * ext/socket/extconf.rb: add $INCFLAGS to topdir. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-21revert r32183kosaki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-21* internal.h: move rb_thread_io_blocking_region() declarationkosaki
from intern.h to internal.h. It's still experimental API and need more discussion. * include/ruby/intern.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-18* include/ruby/backward/classext.h: for evil gems. fixed #4803nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-18* internal.h: add for internal use only.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15* include/ruby/intern.h: resurrect old rb_fd_copy().kosaki
* thread.c (rb_fd_copy): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15* include/ruby/intern.h: remove rb_fd_copy() to rb_fd_dup() andkosaki
rb_w32_fdcopy() to rb_w32_fd_dup(). * win32/win32.c: ditto. * thread.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-07* thread.c (rb_fd_init): remove volatile qualifier.kosaki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-07* thread.c (rb_fd_init_copy): new internal api. It provide efficientkosaki
copy constructor semantics. * thread.c (do_select): use rb_fd_init_copy(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-02* include/ruby/intern.h (rb_w32_fdcopy): add prototype. fixesnobu
#4640 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-30* win32/win32.c (rb_w32_fdcopy): New. This can copy even thoughkosaki
fdset size exceed FD_SETSIZE. * include/ruby/intern.h (rb_fd_copy): use rb_w32_fdcopy() git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-30* thread.c (rb_fd_copy): Change function argument. Nowkosaki
rb_fd_copy() has fully copy semantics. * include/ruby/intern.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-30* include/ruby/intern.h (rb_thread_select): mark as deprecated.kosaki
* ext/io/wait/wait.c (wait_readable): use rb_thread_fd_select instead of rb_thread_select. * ext/socket/init.c (wait_connectable0): ditto. * ext/readline/readline.c (readline_event): ditto. * io.c (rb_io_wait_readable, wait_readable, rb_io_wait_writable, wait_writable): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-23* include/ruby/intern.h: pcc can't use __builtin_constant_p.naruse
* vm_exec.c: change condition. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-06* include/ruby/intern.h: parenthesize macro arguments.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-22* numeric.c (flo_round): fix inaccurate results.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07* gc.c (rb_gc_set_params): allow GC parameter configuration bymatz
environment variables. based on a patch from funny-falcon at https://gist.github.com/856296, but honors safe level. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-05 * include/ruby/intern.h: fix a typo of prototype declaration.nagachika
rb_mutex_try_lock -> rb_mutex_trylock [ruby-dev:43213] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-12* thread.c (rb_thread_io_blocking_region): new function to runnobu
blocking region with GIL released, for fd. * thread.c (rb_thread_fd_close): implement. [ruby-core:35203] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-30* string.c (rb_str_ellipsize): new function to ellipsize a string.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05* array.c (rb_ary_modify): export.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-05* array.c (rb_ary_resize): new utility function. [ruby-dev:42912]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-01 * intern.h (VALUE rb_ary_join): I have never seen this functionnobu
anywhere. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-28 * re.c (rb_reg_expr_str): need to escape if the coderage is invalid.usa
* error.c, include/ruby/intern.h (rb_compile_error_with_enc): new function to raise syntax error, with source encoding'ed message. * parse.y (compile_error): use above function. [ruby-core:33951] (#4217) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-07* transcode.c (transcode_loop): call default handler of the givennobu
hash, method, proc or [] method as fallback. [ruby-dev:42692] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-04* hash.c (rb_hash_update_by): new API for Hash#update.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-24* include/ruby/intern.h (rb_check_frozen): optimize.nobu
[ruby-core:32878] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-11* include/ruby/intern.h (rb_set_kcode, rb_get_kcode): removednobu
zombie prototype declarations. a patch from Eric Hodel at [ruby-core:32305]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-10* random.c (rb_genrand_ulong_limited): renamed fromnaruse
rb_rand_internal and now this is public API. * include/ruby/ruby.h (rb_genrand_ulong_limited): added. * bignum.c (big_sparse_p): use rb_genrand_ulong_limited. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14* thread.c (rb_gc_mark_threads): deprecated.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14* include/ruby/intern.h (rb_time_interval): used in io/wait.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14* include/ruby/intern.h (rb_make_backtrace, rb_make_exception):nobu
used in ripper. * node.h (rb_parser_{malloc,realloc,calloc,free}): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e