aboutsummaryrefslogtreecommitdiffstats
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* * ext/socket/mkconstants.rb (TCP_FASTOPEN): Defined for TCP fast open.akr2013-09-071-0/+1
| | | | | | | [ruby-core:57048] [Feature #8871] patch by Masaki Matsushita. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * common.mk: use RUNRUBY instead of MINIRUBY because MINIRUBY can'tglass2013-09-062-0/+569
| | | | | | | | | | | | | | | | | | | | | | | | require extension libraries. The patch is from nobu (Nobuyoshi Nakada). * ext/thread/extconf.rb: for build ext/thread/thread.c. * include/ruby/intern.h: ditto. * thread.c: ditto. * lib/thread.rb: removed and replaced by ext/thread/thread.c. * ext/thread/thread.c: Queue, SizedQueue and ConditionVariable implementations in C. This patch is based on patches from panaggio (Ricardo Panaggio) and funny_falcon (Yura Sokolov) and ko1 (Koichi Sasada). [ruby-core:31513] [Feature #3620] * test/thread/test_queue.rb (test_queue_thread_raise): add a test for ensuring that killed thread should be removed from waiting threads. It is based on a code by ko1 (Koichi Sasada). [ruby-core:45950] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * rational.c: Include gmp.h if GMP is used.akr2013-09-063-0/+46
| | | | | | | | | | | | | | | | | | (GMP_GCD_DIGITS): New macro. (rb_gcd_gmp): New function. (f_gcd_normal): Renamed from f_gcd. (rb_gcd_normal): New function. (f_gcd): Invoke rb_gcd_gmp or f_gcd_normal. * internal.h (rb_gcd_normal): Declared. (rb_gcd_gmp): Ditto. * ext/-test-/rational: New directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/psych/lib/psych/visitors/yaml_tree.rb: use double quotes whentenderlove2013-09-051-0/+2
| | | | | | | | | strings start with special characters. [Fixes GH-157] https://github.com/tenderlove/psych/issues/157 * test/psych/test_string.rb: test for change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (GMP_DIV_DIGITS): New macro.akr2013-09-041-0/+11
| | | | | | | | | | | | | | (bary_divmod_gmp): New function. (rb_big_divrem_gmp): Ditto. (bary_divmod_branch): Ditto. (bary_divmod): Use bary_divmod_branch. (bigdivrem): Ditto. * internal.h (rb_big_divrem_gmp): Declared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_divrem_normal): New function.akr2013-09-042-0/+26
| | | | | | | | | | | | * internal.h (rb_big_divrem_normal): Declared. * ext/-test-/bignum/div.c: New file. * test/-ext-/bignum/test_div.rb: New file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (GMP_STR2BIG_DIGITS): New macro.akr2013-09-031-0/+11
| | | | | | | | | | | | (str2big_gmp): New function. (rb_cstr_to_inum): Use str2big_gmp for big bignums. (rb_str2big_gmp): New function. * internal.h (rb_str2big_gmp): Declared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/win32/lib/win32/registry.rb (Win32::Registry#values): added.usa2013-09-031-0/+9
| | | | | | | [Feature #7763] [ruby-core:51783] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_str2big_poweroftwo): New function.akr2013-09-032-0/+29
| | | | | | | | | | | | | | | | | | | (rb_str2big_normal): Ditto. (rb_str2big_karatsuba): Ditto. * internal.h (rb_str2big_poweroftwo): Declared. (rb_str2big_normal): Ditto. (rb_str2big_karatsuba): Ditto. * ext/-test-/bignum/str2big.c: New file. * test/-ext-/bignum/test_str2big.rb: New file. * ext/-test-/bignum/depend: Add the dependency for str2big.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Reduce NUM2INT invocations.akr2013-09-031-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * NEWS: Add note about frozen string literalscharliesome2013-09-021-0/+3
| | | | | | | | | | | | | | | | | * compile.c (case_when_optimizable_literal): optimize NODE_LIT strings in when clauses of case statements * ext/ripper/eventids2.c: add tSTRING_SUFFIX * parse.y: add 'f' suffix on string literals for frozen strings * test/ripper/test_scanner_events.rb: add scanner tests * test/ruby/test_string.rb: add frozen string tests [Feature #8579] [ruby-core:55699] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix funciton name.akr2013-09-011-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (GMP_BIG2STR_DIGITS): New constant.akr2013-09-011-0/+14
| | | | | | | | | | | | | (big2str_gmp): New function. (rb_big2str1): Use big2str_gmp for big bignums. * internal.h (rb_big2str_gmp): Declared. * ext/-test-/bignum/big2str.c (big2str_gmp): New method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (big2str_base_poweroftwo): Renamed fromakr2013-09-012-0/+41
| | | | | | | | | | | | | | | | | | big2str_base_powerof2. (rb_big2str_poweroftwo): New function for test. (big2str_generic): Extracted from rb_big2str1. (rb_big2str_generic): New function for test. * internal.h (rb_big2str_poweroftwo): Declared. (rb_big2str_generic): Ditto. * ext/-test-/bignum/big2str.c: New file. * test/-ext-/bignum/test_big2str.rb: New file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c: Use GMP to accelerate big Bignum multiplication.akr2013-08-311-0/+11
| | | | | | | | | | | | (bary_mul_gmp): New function. (bary_mul): Use bary_mul_gmp. (bigsq): Use different threshold with GMP. * configure.in: Detect GMP. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/zlib/zlib.c (zstream_run): Fix handling of deflate streams thatdrbrain2013-08-281-5/+7
| | | | | | | | | | need a dictionary but are being decompressed by Zlib::Inflate.inflate (which has no option to set a dictionary). Now Zlib::NeedDict is raised instead of crashing. [ruby-trunk - Bug #8829] * test/zlib/test_zlib.rb (TestZlibInflate): Test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/psych/lib/psych/scalar_scanner.rb: invalid floats should betenderlove2013-08-281-1/+1
| | | | | | | | | treated as strings. [Fixes GH-156] https://github.com/tenderlove/psych/issues/156 * test/psych/test_string.rb: test for change git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl_ssl.c (ossl_ssl_read): Replace duplicatedrbrain2013-08-271-1/+1
| | | | | | | wait_writable with wait_readable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/stringio/stringio.c (strio_read_nonblock): declare localko12013-08-271-2/+2
| | | | | | | | variables at the first of function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_read_nonblock): support non-blocking reads without raisingtenderlove2013-08-263-15/+89
| | | | | | | | | | | | | | | | exceptions. As in: `io.read_nonblock(size, exception: false)` [ruby-core:38666] [Feature #5138] * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): ditto * ext/stringio/stringio.c (strio_sysread): ditto * io.c (rb_io_write_nonblock): support non-blocking writes without raising an exception. * ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): ditto * test/openssl/test_pair.rb (class OpenSSL): tests * test/ruby/test_io.rb (class TestIO): ditto * test/socket/test_nonblock.rb (class TestSocketNonblock): ditto * test/stringio/test_stringio.rb (class TestStringIO): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_splice): use RARRAY_PTR_USE() without WB becauseko12013-08-261-2/+2
| | | | | | | | | | | | | there are not new relations. * enum.c (enum_sort_by): ditto. * struct.c (setup_struct): use RARRAY_RAWPTR(). * vm_eval.c (yield_under): ditto. * ext/pathname/pathname.c (path_entries): use RARRAY_AREF(). * ext/pathname/pathname.c (path_s_glob): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole.c: ID overflownobu2013-08-231-4/+7
| | | | | | | | | | * ext/win32ole/win32ole.c (GetIDsOfNames): check ID overflow against DISPID, aka LONG, which is always 4 bytes. * ext/win32ole/win32ole.c (Invoke): use ID for method name to get rid of losing upper bits. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole.c: store directlynobu2013-08-231-8/+27
| | | | | | | * ext/win32ole/win32ole.c (ole_wc2vstr): store converted multibyte string to string value directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole.c: suppress a warningnobu2013-08-231-1/+1
| | | | | | | * ext/win32ole/win32ole.c (ole_vstr2wc): downcast to suppress a warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole.c: check method name lengthnobu2013-08-231-3/+8
| | | | | | | * ext/win32ole/win32ole.c (fole_missing): reject too long method name, as Ruby string length is limited to long. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole.c: suppress warningsnobu2013-08-231-2/+3
| | | | | | | * ext/win32ole/win32ole.c (ole_excepinfo2msg, ole_wc2vstr): get rid of size_t with rb_enc_str_new() to suppress warnings on x64-mswin32. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole.c: no copy stringnobu2013-08-231-2/+2
| | | | | | | | * ext/win32ole/win32ole.c (foletypelib_name, foletypelib_path): WC2VSTR() returns a string in cWIN32OLE_enc, no need to copy another string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32ole.c: fix typenobu2013-08-231-2/+2
| | | | | | * ext/win32ole/win32ole.c (ole_method_docinfo_from_type): fix return type. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/unixserver.c: [DOC] Document #acceptzzak2013-08-194-17/+19
| | | | | | | | | | * ext/socket/tcpserver.c: ditto * ext/socket/udpsocket.c: [DOC] Fix indentation of documentation * ext/socket/socket.c: ditto Patches by David Rodríguez [ruby-core:56734] [Bug #8802] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c, object.c, ext/readline/README.ja: [DOC] $SAFE=4 is obsolete.ktsj2013-08-181-51/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dbm/extconf.rb: [DOC] Hide from RDoczzak2013-08-121-0/+2
| | | | | | | | | Some libraries might want to document extconf.rb so RDoc treats it like any other ruby program. However, DBM users shouldn't care about these methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/dbm/dbm.c: [DOC] Reformat headings of DBM classzzak2013-08-121-4/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix r42527 again; [Bug #8760] [ruby-dev:47608] [ruby-dev:47609]naruse2013-08-121-7/+2
| | | | | | | | | Remove check rl_instream != ifp->stdio_file. rl_instream is made from duped fd and we cannnot compare. This fix seems still buggy when rl_instream is manually changed from other extension libraries. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* refix r42525 set stdio_file only if stdionaruse2013-08-121-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c (readline_s_set_input): on OS X with editline,naruse2013-08-111-0/+2
| | | | | | | | | | | Readline.readline doesn't work because readline_get doesn't use rl_getc. The difference is introduced by r42402 [ruby-dev:47509] [Bug #8644]. Before it rb_io_stdio_file set ifp->stdio_file. Therefore add manually setting the value. * ext/readline/readline.c (readline_s_set_onput): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r42502 "ext/-test-/*/depend: TEST_INIT_FUNCS"nobu2013-08-114-4/+0
| | | | | | Makefiles should be re-configured by extract_makefile. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/-test-/*/depend: TEST_INIT_FUNCSnobu2013-08-104-0/+4
| | | | | | | * ext/-test-/{bignum,debug,exception,string}/depend: TEST_INIT_FUNCS is created by globbing in extconf.rb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * file.c (rb_str_normalize_ospath):naruse2013-08-103-0/+20
| | | | | | | | | | | HFS Plus (Mac OS Extended) uses a variant of Normal Form D in which U+2000 through U+2FFF, U+F900 through U+FAFF, and U+2F800 through U+2FAFF are not decomposed (this avoids problems with round trip conversions from old Mac text encodings). http://developer.apple.com/library/mac/qa/qa1173/_index.html Therefore fix r42457 to exclude the range. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c (insert_ignore_escape): suppressktsj2013-08-091-1/+1
| | | | | | logical-op-parentheses warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io-console.gemspec: drop 1.9nobu2013-08-091-1/+1
| | | | | | | * ext/io/console/io-console.gemspec: drop 1.9 support since rb_cloexec_open() is mandatory now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/io/console/console.c: delete redefinition of rb_cloexec_open.charliesome2013-08-091-17/+0
| | | | | | | This function is always defined by io.c and is declared as non-static in a header file, so this declaration causes a compilation error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/ossl_hmac.c: [DOC] Documentation for OpenSSL::HMACzzak2013-08-061-2/+96
| | | | | | | | based on a patch by @repah documenting-ruby/ruby#14 https://github.com/documenting-ruby/ruby/pull/14 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c (readline_s_delete_text): removekouji2013-08-061-71/+12
| | | | | | | | | checking "$SAFE == 4". * ext/readline/readline.c: fix rdoc, remove "Raises SecurityError" and add "Raises NotImplementedError". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c, test/readline/test_readline.rb: fixkouji2013-08-061-271/+271
| | | | | | indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c (readline_s_set_point, Init_readline):kouji2013-08-061-0/+19
| | | | | | | add Readline.point=(pos). Patched by naruse. [ruby-dev:47535] [Feature #8675] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* json/add/range.rb: use Range#endnobu2013-08-061-1/+1
| | | | | | | | * ext/json/lib/json/add/range.rb (Range#as_json): use Range#end instead of Range#last which can be affected by Range#exclusive?. ref [Bug #8739] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/readline/readline.c (Init_readline, readline_s_set_output)kouji2013-08-061-20/+111
| | | | | | | | | (clear_rl_outstream, readline_s_set_input, clear_rl_instream) (readline_readline): fix causing SEGV if closed IO object that is set Readline.input or Readline.output. Patched by akr [ruby-dev:47509] [Bug #8644] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/extconf.rb: Don't add "-ltk -ltcl" for MacOSX frameworks, because ↵nagai2013-08-041-1/+0
| | | | | | they may link improper libraries. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/stringio/stringio.c (strio_substr): Trivial fix for invalidheadius2013-08-031-0/+1
| | | | | | pointer when len = 0 and pos outside of string. Bug #8728. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* etc.c: encodingsnobu2013-08-031-8/+22
| | | | | | | * ext/etc/etc.c (setup_passwd, setup_group): set proper encodings to string members. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e