Граф коммитов

778 Коммитов

Автор SHA1 Сообщение Дата
kazu 0a2b471d38 fix indent [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-08 15:05:37 +00:00
kazu 122ee7d4c2 Add ticket numbers [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-08 15:05:13 +00:00
kazu 99c89fa56a fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-08 14:03:44 +00:00
ko1 3dbb390180 * introduce new ISeq binary format serializer/de-serializer
and a pre-compilation/runtime loader sample.
  [Feature #11788]

* iseq.c: add new methods:
  * RubyVM::InstructionSequence#to_binary_format(extra_data = nil)
  * RubyVM::InstructionSequence.from_binary_format(binary)
  * RubyVM::InstructionSequence.from_binary_format_extra_data(binary)

* compile.c: implement body of this new feature.

* load.c (rb_load_internal0), iseq.c (rb_iseq_load_iseq):
  call RubyVM::InstructionSequence.load_iseq(fname) with
  loading script name if this method is defined.

  We can return any ISeq object as a result value.
  Otherwise loading will be continue as usual.

  This interface is not matured and is not extensible.
  So that we don't guarantee the future compatibility of this method.
  Basically, you should'nt use this method.

* iseq.h: move ISEQ_MAJOR/MINOR_VERSION (and some definitions)
  from iseq.c.

* encoding.c (rb_data_is_encoding), internal.h: added.

* vm_core.h: add several supports for lazy load.
  * add USE_LAZY_LOAD macro to specify enable or disable of
    this feature.
  * add several fields to rb_iseq_t.
  * introduce new macro rb_iseq_check().

* insns.def: some check for lazy loading feature.

* vm_insnhelper.c: ditto.

* proc.c: ditto.

* vm.c: ditto.

* test/lib/iseq_loader_checker.rb: enabled iff suitable
  environment variables are provided.

* test/runner.rb: enable lib/iseq_loader_checker.rb.

* sample/iseq_loader.rb: add sample compiler and loader.

    $ ruby sample/iseq_loader.rb [dir]

  will compile all ruby scripts in [dir].
  With default setting, this compile creates *.rb.yarb files
  in same directory of target .rb scripts.

    $ ruby -r sample/iseq_loader.rb [app]

  will run with enable to load compiled binary data.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-08 13:58:50 +00:00
kazu dc331ca5c0 mention about Enumerator::Lazy#grep_v in NEWS
* NEWS: mention about Enumerator::Lazy#grep_v.
  [ruby-core:71845] [Feature #11773]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-08 12:31:28 +00:00
nobu 10952d16e6 NEWS: indented heredoc [ci skip]
* NEWS: mention about indented here document.  [Feature #9098]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-08 03:08:33 +00:00
ko1 56367e25ee add a NEWS entry for r52917
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-07 16:30:31 +00:00
normal a2e025a7d0 introduce rb_autoload_str to replace rb_autoload
rb_autoload_str may be safer by preventing premature GC.  It
can also be more efficient by passing a pre-frozen string that
can be deduped using rb_fstring.  Common autoload callers (e.g.
rubygems, rdoc) already use string literals as the file
argument.

There seems to be no reason to expose rb_autoload_str to the
public C API since autoload is not performance-critical.
Applications may declare autoloads in Ruby code or via
rb_funcall; so merely deprecate rb_autoload without exposing
rb_autoload_str to new users.

Running: valgrind -v ruby -rrdoc -rubygems -e exit
shows a minor memory reduction (32-bit userspace)

before:

  in use at exit: 1,600,621 bytes in 28,819 blocks
total heap usage: 55,786 allocs, 26,967 frees, 6,693,790 bytes allocated

after:

  in use at exit: 1,599,778 bytes in 28,789 blocks
total heap usage: 55,739 allocs, 26,950 frees, 6,692,973 bytes allocated

* include/ruby/intern.h (rb_autoload): deprecate
* internal.h (rb_autoload_str): declare
* load.c (rb_mod_autoload): use rb_autoload_str
* variable.c (rb_autoload): become compatibility wrapper
  (rb_autoload_str): hoisted out from old rb_autoload
  [ruby-core:71369] [Feature #11664]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-06 12:28:09 +00:00
ko1 9b7d4d4709 add NEWS entry about --debug=frozen-string-literal
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-25 07:39:14 +00:00
nobu 13a935b0ba Drop support for BeOS
* beos: Drop support for BeOS now that Haiku is stable.
  [Fix GH-1112]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-24 00:17:11 +00:00
nobu abd52f7d69 Fix Struct#dig issue number [ci skip]
* NEWS: Fix the issue number of `Struct#dig`, which should be
  [Feature #11688].  [Fix GH-1110]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-23 23:30:09 +00:00
nobu e29c109d2a Haiku now best effort support
* configure.in: remove obsolete workarounds for Haiku.
* dln.c, file.c, io.c: remove obsolete Haiku workarounds.
* thread_pthread.c: add stack bounds detection for Haiku.
* signal.c: get stack pointer from signal context on Haiku.
  [ruby-core:67923] [Bug #10811] [Fix GH-1109]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-23 03:54:42 +00:00
ko1 628d9057e4 add to NEWS about Queue#close
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-21 00:46:53 +00:00
kazu 37509b4eba Logger is Stdlib instead of Core classes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 15:25:07 +00:00
sonots 398abe4c51 * lib/logger.rb: support symbol and string log level setting
[fix GH-1101]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 14:15:25 +00:00
sonots f952570bdd lib/logger.rb: Add Logger#reopen
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 13:58:57 +00:00
duerst ec217619b6 NEWS: Added update from Unicode 7.0.0 to 8.0.0 [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 06:34:52 +00:00
duerst 8e465f9c99 NEWS: Small grammatical fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 02:22:29 +00:00
nobu 20690026a7 struct.c: dig
* object.c (rb_obj_dig): dig in nested structs too.
* struct.c (rb_struct_dig): new method Struct#dig.
  [Feature #11688]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-16 09:21:56 +00:00
kazu 4a59524099 add ticket numbers
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-11 13:28:33 +00:00
shugo 58af10ecbd * lib/net/ftp.rb (initialize): Connections are in passive mode per
default now.  The default mode can be changed by
  Net::FTP.default_passive=.

* lib/net/ftp.rb (default_passive=, default_passive): new methods.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-11 03:48:45 +00:00
nobu fbe967ec02 hash.c: to_proc
* hash.c (rb_hash_to_proc): new method Hash#to_proc.
  [Feature #11653]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10 07:57:17 +00:00
nobu d68c3ecf98 hash.c: compare methods
* hash.c (rb_hash_{le,lt,ge,gt}): new methods, Hash#<=, Hash#<,
  Hash#>=, Hash#>, to test if all elements of a hash are also
  included in another hash, and vice versa.
  [ruby-core:68561] [Feature #10984]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10 05:02:02 +00:00
naruse f1df08e76d * time.c (rb_timespec_now): added.
* time.c (rb_time_timespec_new): added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10 02:59:47 +00:00
nobu 29862685c0 dig
* array.c (rb_ary_dig): new method Array#dig.
* hash.c (rb_hash_dig): new method Hash#dig.
* object.c (rb_obj_dig): dig in nested arrays/hashes.
  [Feature #11643]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-09 12:27:26 +00:00
glass bdc2876597 * NEWS: describe addition of File::TMPFILE
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-08 07:27:25 +00:00
naruse 52e1c3b0ab * lib/net/http.rb (Net::HTTP#initialize):
default value of Net::HTTP#open_timeout is now 60 (was nil).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-07 16:48:49 +00:00
naruse e48bf65db3 Revert r52469
"* lib/cmath.rb: methods which has suffix '!' are now deprecated."
It breaks rubyspec:
http://rubyci.s3.amazonaws.com/ubuntu1510/ruby-trunk/log/20151106T153002Z.fail.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-06 16:19:08 +00:00
gogotanaka 74ae4ae291 * lib/cmath.rb: methods which has suffix '!' are now deprecated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-06 15:11:39 +00:00
nobu 837babd564 change DOTQ
* defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ
  from ".?" to "&.".  [ruby-core:71363] [Feature #11537]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-06 03:39:23 +00:00
kazu 6c2afd62f5 add ticket number [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-27 13:01:19 +00:00
knu 1b5dce5a4e * NEWS: [DOC] In the new safe call syntax, arguments are evaluated
only if a call is made.

* doc/syntax/calling_methods.rdoc: Fix a typo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 16:53:41 +00:00
nobu 418fa65d1a NEWS: add a space
* NEWS: fix wording, "Active Support" has a space in between the
  words, not ActiveSupport.
  https://github.com/ruby/ruby/commit/a356fe1#commitcomment-13936198

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 23:42:51 +00:00
normal d737d5765d NEWS: fix typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 20:36:08 +00:00
knu f4c487173c Kernel#loop returns the result value of a finished iterator
* vm_eval.c (rb_f_loop): When a loop is stopped by a StopIteration
  exception, return what the enumerator has returned instead of
  nil. [ruby-core:71133] [Feature #11498]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 09:58:01 +00:00
nobu a356fe1c35 Safe navigation operator
* compile.c (iseq_peephole_optimize): peephole optimization for
  branchnil jumps.
* compile.c (iseq_compile_each): generate save navigation operator
  code.
* insns.def (branchnil): new opcode to pop the tos and branch if
  it is nil.
* parse.y (NEW_QCALL, call_op, parser_yylex): parse token '.?'.
  [Feature #11537]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 06:30:12 +00:00
svn 5b9f32c29a * append newline at EOF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 02:11:23 +00:00
kosaki 3a48e12607 * numeric.c: Good-by Borland-C.
* include/ruby/backward/rubyio.h: ditto.
* include/ruby/backward/st.h: ditto.
* include/ruby/backward/util.h: ditto.
* include/ruby/backward/rubysig.h: ditto.
* include/ruby/backward/classext.h: ditto.
* dln.c: ditto.
* gc.c: ditto.
* win32/resource.rb: ditto.
* win32/dir.h: ditto.
* ext/tk/tcltklib.c: ditto.
* NEWS: announce that Borland-C is no longer supported.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 02:10:34 +00:00
svn 64a08a5421 * append newline at EOF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 01:18:55 +00:00
kosaki 4ad2057f27 * ChangeLog: Good-bye OS/2.
* common.mk: ditto.
* configure.in: ditto.
* dln_find.c: ditto.
* ext/Setup.emx: ditto.
* ext/extmk.rb: ditto.
* ext/socket/extconf.rb: ditto.
* ext/zlib/extconf.rb: ditto.
* file.c: ditto.
* include/ruby/defines.h: ditto.
* io.c: ditto.
* lib/mkmf.rb: ditto.
* missing/os2.c: ditto.
* process.c: ditto.
* ruby.c: ditto.
* NEWS: announce OS/2 is no longer supported.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 01:18:34 +00:00
sorah e2d79c46c8 * ext/openssl/lib/openssl/ssl.rb: Revert r52082 because it was
dropping TLS v1.1 support too. Supporting only TLS v1.2 is too
  early, because many popular websites still don't support it.

  For instance, Servers where aws-sdk connects to still don't support
  TLS v1.2 and it became broken.

  We should consider more carefully about this.

  [Fix GH-873] [Feature #11524]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-09 05:20:50 +00:00
zzak 4b395bb4ce * ext/openssl/lib/openssl/ssl.rb: Default to TLSv1.2 and drop TLS v1
Patch provided by @claudijd [Fixes GH-873] [Feature #11524]:
  https://github.com/ruby/ruby/pull/873


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-08 05:26:44 +00:00
ko1 0018a71184 * proc.c: enable optimization of Proc#call.
[Feature #11569]
* NEWS: write about this optimization and incompatibilities.
* test/ruby/test_backtrace.rb: catch up this fix.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-05 21:34:24 +00:00
nobu 832c74f428 ruby.c: frozen-string-literal option
* ruby.c (process_options): add an option to enable/disable
  frozen-string-literal.  [Feature #8976]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-27 06:47:00 +00:00
nobu 859337b17b fronzen-string-literal pragma
* compile.c (iseq_compile_each): override compile option by option
  given by pragma.
* iseq.c (rb_iseq_make_compile_option): extract a function to
  overwrite rb_compile_option_t.
* parse.y (parser_set_compile_option_flag): introduce pragma to
  override compile options.
* parse.y (magic_comments): new pragma "fronzen-string-literal".
  [Feature #8976]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-27 06:44:02 +00:00
nobu 9289515562 file.c: File.mkfifo
* file.c (rb_file_s_mkfifo): implement File.mkfifo.
  [Feature #11536]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-18 11:11:14 +00:00
shugo 30f9177d5d * NEWS: add Net::FTP#mlst and Net::FTP#mlsd.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-18 07:56:57 +00:00
ko1 885d781abc * ext/objspace/objspace.c: add a new method ObjectSpace.count_symbols.
[Feature #11158]
* symbol.c (rb_sym_immortal_count): added to count immortal symbols.
* symbol.h: ditto.
* test/objspace/test_objspace.rb: add a test for this method.
* NEWS: describe about this method.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-21 11:30:24 +00:00
nobu 84bf320bea io.c: raise at incomplete char
* io.c (rb_io_each_codepoint): raise an exception at incomplete
  character before EOF when conversion takes place.  [Bug #11444]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-17 02:57:39 +00:00
nobu 83cd51e3fe variable.c: Module#deprecate_constant
* variable.c (rb_const_get_0): warn deprecated constant reference.
* variable.c (rb_mod_deprecate_constant): mark constants to be
  warned as deprecated.  [Feature #11398]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30 04:20:00 +00:00
nobu c3f6e4ea07 NEWS: sort alphabetically
* NEWS (Core classes updates): sort classes/modules in
  alphabetical order.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-30 03:32:46 +00:00
naruse 6a5dda00d8 * io.c (rb_io_extract_modeenc): add option parameter `flags'
to append extra oflags to normal mode.
  [Feature #11253] [ruby-core:69539]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-29 01:39:14 +00:00
normal d4454d0123 io.c (argf_read_nonblock): support `exception: false'
This is a preparation for [ruby-core:69892]
("io.c: avoid kwarg parsing in C API")
since I noticed ARGF.read_nonblock did not properly catch up to
the `exception: false' change.

* io.c (argf_read_nonblock): support `exception: false'
  (io_nonblock_eof): new function
  (io_read_nonblock): use io_nonblock_eof
  (argf_getpartial): accept kwargs hash for `exception: false'
* test/ruby/test_argf.rb (test_read_nonblock): new test
  [ruby-core:70000] [Feature #11358]
* NEWS: add item for ARGF.read_nonblock

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-17 18:02:53 +00:00
nobu fa474e56cd timeout.rb: warn deprecated method
* lib/timeout.rb (timeout): warn as deprecated for a long time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-13 10:11:38 +00:00
nobu a13ab237c7 class.c: TypeError when superclass mismatch
* class.c (rb_define_class_id_under): raise TypeError exception
  same as ruby level class definition when superclass mismatch.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-28 03:07:37 +00:00
kazu 2431ad55b6 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-21 14:55:59 +00:00
kazu 68f4385d27 * NEWS: mention Array#bsearch_index and Hash#fetch_values. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-21 14:53:28 +00:00
kazu b86b36242c * NEWS: add a reference to a ticket. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-21 14:48:48 +00:00
kazu c0f571e09b fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-21 14:48:35 +00:00
kazu eabd221781 * NEWS: mention about $SAFE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-19 16:24:33 +00:00
nobu e77f9fcb13 proc.c: ArgumentError if no block
* proc.c (rb_mod_define_method): now requires a block direct to
  this method call.  [ruby-core:69655] [Bug #11283]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-19 05:53:41 +00:00
nobu fac04ba965 NEWS: NameError#receiver [Feature #10881]
[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-18 04:50:33 +00:00
normal d51065b011 NEWS: update for socket API changes [ci skip]
[Feature #11242] [Feature #11229]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-15 21:28:00 +00:00
akr 8bb581f8dd * ext/pathname/lib/pathname.rb (descend): Blockless form supported.
(ascend): Ditto.
  [ruby-core:68820] [Feature #11052] Patch by Piotr Szotkowski.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14 15:14:46 +00:00
akr 11aa7c9604 * enum.c (enum_chunk_while): New method Enumerable#chunk_while.
[ruby-core:67738] [Feature #10769] proposed by Tsuyoshi Sawada.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14 08:54:19 +00:00
akr 07736e3d7d Add ticket numbers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14 08:53:27 +00:00
naruse 180ca79e25 On Windows File::Stat#ino always returned 0, but
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13 12:02:17 +00:00
naruse f660681ade move a new feature to correct section
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13 11:53:14 +00:00
naruse 0a550264a1 add news about inode for Windows [Feature #11216]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13 11:50:21 +00:00
naruse e2a930c73a add Thread.name and Thread.name= docs Feature #11251 [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-13 10:58:14 +00:00
usa dc0d502b71 * pack.c (pack_{un,}pack): new template character `j` and `J`, pointer
with signed and unsigned integers.

* NEWS: mention bout this featre.
  [Feature #11215] [ruby-dev:49015]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-12 12:22:36 +00:00
usa 2bc2802096 * file.c (File::SHARE_DELETE): new flag to be able to delete opened file
on Windows.

* include/win32/win32.c (O_SHARE_DELETE): new pseudo file mode flag.

* win32/win32.c (rb_w32_{w,}open): support above flag.  [EXPERIMENTAL]

* NEWS: mention about this feature.
  [Feature #11218] [ruby-dev:49022]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-12 12:14:06 +00:00
ko1 6abf7938bf * ext/objspace/objspace.c: add two methods to debug internals.
* ObjectSpace.internal_class_of: return RBASIC_CLASS(obj).
  * ObjectSpace.internal_super_of: return RCLASS_SUPER(cls).
* NEWS: add information about both methods.
* test/objspace/test_objspace.rb: add tests for both methods.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-28 19:40:04 +00:00
hsbt 224172757e * NEWS: added news for net-telnet and rake
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-22 07:48:39 +00:00
nobu 932e916b9e numeric.c: Numeric#positive? and Numeric#negative?
* numeric.c (num_positive_p, num_negative_p): add methods
  Numeric#positive? and Numeric#negative?.
  [ruby-core:69173] [Feature #11151]
* numeric.c (flo_positive_p, flo_negative_p): specialiazed
  functions for Float.
* complex.c (Init_Complex): Complex do not have positive? and
  negative? methods

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-17 06:01:47 +00:00
kazu 508c67a8e5 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-16 10:45:03 +00:00
sorah 71588d17e5 * enum.c (enum_grep_v, grep_i, grep_iter_i, Init_enum):
Implement Enumerable#grep_v.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-14 10:42:42 +00:00
normal 962909f0ef NEWS: note IO#wait_readable change in r50263
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-15 20:17:19 +00:00
normal c18df6d87c connect_nonblock supports "exception: false"
This is for consistency with accept_nonblock arguments and gives a
minor speedup from avoiding exceptions.
[ruby-core:68838] [Feature #11024]

* ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock):
  support `exception: false'
* (get_no_exception): move function location
* ext/socket/socket.c (sock_connect_nonblock):
  support `exception: false'
* test/openssl/test_pair.rb (test_connect_accept_nonblock_no_exception):
  test `exception: false' on connect,
  rename from `test_accept_nonblock_no_exception'
* test/socket/test_nonblock.rb (test_connect_nonblock_no_exception):
  new test

Benchmark results:

default            0.050000   0.100000   0.150000 (  0.151307)
exception: false   0.030000   0.080000   0.110000 (  0.108840)

----------------------------8<-----------------------
require 'socket'
require 'benchmark'
require 'io/wait'
require 'tmpdir'

host = '127.0.0.1'
serv = TCPServer.new(host, 0) # UNIX sockets may not hit EINPROGRESS

nr = 5000 # few iterations to avoid running out of ports

addr = serv.getsockname
pid = fork do
  begin
    serv.accept.close
  rescue => e
    warn "#$$: #{e.message} (#{e.class})"
  end while true
end
at_exit { Process.kill(:TERM, pid) }
serv.close

Benchmark.bmbm do |x|
  x.report("default") do
    nr.times do
      s = Socket.new(:INET, :STREAM)
      s.setsockopt(:SOL_SOCKET, :SO_REUSEADDR, 1)
      begin
        s.connect_nonblock(addr)
      rescue IO::WaitWritable
        s.wait_writable
      end
      s.close
    end
  end
  x.report("exception: false") do
    nr.times do
      s = Socket.new(:INET, :STREAM)
      s.setsockopt(:SOL_SOCKET, :SO_REUSEADDR, 1)
      case s.connect_nonblock(addr, exception: false)
      when :wait_writable
        s.wait_writable
      end
      s.close
    end
  end
end

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-12 01:41:51 +00:00
ko1 7f75a1a810 * ext/objspace/objspace.c: add ObjectSpace.count_imemo_objects method
to count imemo objects for each type.
* test/objspace/test_objspace.rb: add a test.
* NEWS: describe about this addition.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-10 10:38:13 +00:00
akr 774f682952 * enum.c: Enumerable#chunk and Enumerable#slice_before no longer takes
the initial_state argument.  [Feature #10958]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-06 13:53:24 +00:00
normal aaf2d070a8 accept_nonblock supports "exception: false"
This is analogous to functionality found in IO#read_nonblock and
IO#wait_nonblock.  Raising exceptions for common failures on
non-blocking servers is expensive and makes $DEBUG too noisy.

Benchmark results:
                                    user     system      total        real
default                         2.790000   0.870000   3.660000 (  3.671597)
exception: false                1.120000   0.800000   1.920000 (  1.922032)
exception: false (cached arg)   0.820000   0.770000   1.590000 (  1.589267)
--------------------- benchmark script ------------------------
require 'socket'
require 'benchmark'
require 'tmpdir'
nr = 1000000
Dir.mktmpdir('nb_bench') do |path|
  sock_path = "#{path}/test.sock"
  s = UNIXServer.new(sock_path)
  Benchmark.bmbm do |x|
    x.report("default") do
      nr.times do
        begin
          s.accept_nonblock
        rescue IO::WaitReadable
        end
      end
    end
    x.report("exception: false") do
      nr.times do
        begin
          s.accept_nonblock(exception: false)
        rescue IO::WaitReadable
          abort "should not raise"
        end
      end
    end
    x.report("exception: false (cached arg)") do
      arg = { exception: false }
      nr.times do
        begin
          s.accept_nonblock(arg)
        rescue IO::WaitReadable
          abort "should not raise"
        end
      end
    end
  end
end

* ext/socket/init.c (rsock_s_accept_nonblock):
  support exception: false
  [ruby-core:66385] [Feature #10532]
* ext/socket/init.c (rsock_init_socket_init): define new symbols
* ext/socket/rubysocket.h: adjust prototype
* ext/socket/socket.c (sock_accept_nonblock): support exception: false
* ext/openssl/ossl_ssl.c (ossl_ssl_accept_nonblock): ditto
* ext/socket/socket.c (Init_socket): adjust accept_nonblock definition
* ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto
* ext/socket/tcpserver.c (rsock_init_tcpserver): ditto
* ext/socket/unixserver.c (rsock_init_unixserver): ditto
* ext/socket/tcpserver.c (tcp_accept_nonblock): adjust
  rsock_s_accept_nonblock call
* ext/socket/unixserver.c (unix_accept_nonblock): ditto
* ext/openssl/ossl_ssl.c (ossl_start_ssl): support no_exception
* ext/openssl/ossl_ssl.c (ossl_ssl_connect): adjust ossl_start_ssl call
* ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): ditto
* ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto
* test/socket/test_nonblock.rb (test_accept_nonblock): test for
  "exception :false"
* test/socket/test_tcp.rb (test_accept_nonblock): new test
* test/socket/test_unix.rb (test_accept_nonblock): ditto
* test/openssl/test_pair.rb (test_accept_nonblock_no_exception): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-12 03:03:04 +00:00
marcandre b81950f480 * lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens.
[Fixes GH-802]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 23:45:42 +00:00
tenderlove a86eacf552 * ext/coverage/coverage.c: Add Coverage.peek_result. Allows you to
capture coverage information without stopping the coverage tool.
  [ruby-core:67940] [Feature #10816]

* test/coverage/test_coverage.rb: test for change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-13 15:53:47 +00:00
mame 6b6680945e * lib/base64.rb: make urlsafe mode user-friendly.
* lib/base64.rb (Base64.urlsafe_encode64): a new option "padding" to
  suppress the padding character ("=").

* lib/base64.rb (Base64.urlsafe_decode64): now it accepts not only
  correctly-padded input but also unpadded input.
  [Feature #10740][ruby-core:67570]

* test/base64/test_base64.rb: Test for above

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-13 12:31:30 +00:00
nobu aa436bdca6 array.c: reduce to_ary call
* array.c (flatten): no need to call to_ary method on elements
  beyond the given level.  [ruby-core:67637] [Bug #10748]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-25 03:04:10 +00:00
akr c7ba10cc13 #10714 is a feature.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-21 00:22:42 +00:00
akr cb03af1ab7 * NEWS: References to tickets added.
[ruby-core:67701] [Bug #10760] Suggested by Zachary Scott.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-21 00:10:45 +00:00
akr 10fe26fe29 Describe IO#close.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-15 22:16:30 +00:00
nobu 5ec029d1ea array.c: linear performance
* array.c (rb_ary_select_bang, ary_reject_bang): linear
  performance.  [ruby-core:67418] [Feature #10714]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-15 01:44:57 +00:00
hsbt 837d30371b * lib/drb/drb.rb: removed unused argument. Patch by @vipulnsward
[fix GH-515]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-04 00:21:08 +00:00
hsbt 4690241f01 * NEWS: added compatibility entry of r49101.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-03 00:01:49 +00:00
kazu 39b8908e37 old ChangeLog and NEWS move to doc
* doc/NEWS-2.2.0: moved from NEWS
* doc/ChangeLog-2.2.0: moved ChangeLog older than created ruby_2_2 branch
* NEWS: NEWS for 2.3.0 that describes changes since 2.2.0
* ChangeLog: ChangeLog since branch point of ruby_2_2 branch

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-25 13:53:36 +00:00
kazu a84d3e84a5 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-17 11:12:23 +00:00
usa 4c1666875f * NEWS: mention about IO#fsync (and IO#flush). adviced by kosaki.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-16 07:48:22 +00:00
ko1 85b42fe17b * ext/objspace/objspace.c: ObjectSpace.memsize_of(obj) returns
with sizeof(RVALUE). [Bug #8984]
* gc.c (obj_memsize_of): ditto.
* NEWS: add a NEWS entry.
* test/objspace/test_objspace.rb: catch up this fix.
* test/ruby/test_file_exhaustive.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-15 08:54:07 +00:00
ko1 37b6f50ae5 * gc.c (gc_latest_gc_info): return :state field to show current
GC state (none/marking/sweeping).
  [Feature #10590]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-12 04:09:28 +00:00
kazu 1c87fee316 * NEWS: add obsolete callcc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 12:26:39 +00:00
ko1 3a26241da3 * gc.c (objspace_malloc_increase): enable lazy sweep on GC by malloc()
(malloc_increase) to make GC incrementally.
  This change can increase memory consumption. Report us if you find
  any problem.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 04:20:14 +00:00
akr 35748bdc85 Describe about TSort.each_*
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-27 03:46:13 +00:00
nobu c262acb4e0 ruby.h: export keyword argument functions
* include/ruby/ruby.h (rb_get_kwargs, rb_extract_keywords): export
  keyword argument functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-26 13:28:15 +00:00
akr afe02a2f19 Move the description about vfork.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-25 13:39:19 +00:00
ko1 d95aae32ce * NEWS: add an "Implementation changes" section.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-25 08:07:44 +00:00
drbrain 3908d5d330 * lib/rake: Update to rake 10.4.0
* test/rake:  ditto.
* NEWS:  ditto.

* test/lib/minitest/unit.rb:  Add compatibility shim for minitest 5.
  This only provides minitest 5 unit test naming compatibility.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-25 07:03:36 +00:00
marcandre 387e0dbe3f * lib/matrix.rb: Vector#independent? and associated class method
patch by gogo tanaka [#10451]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 17:44:46 +00:00
marcandre 4da89e192a * lib/matrix.rb: Add Vector#angle_with
Patch by Egunov Dmitriy [#10442]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-19 17:32:58 +00:00
nobu 558b9191c0 vm_eval.c: UncaughtThrowError
* vm_eval.c (rb_throw_obj): throw UncaughtThrowError instead of
  ArgumentError.  [Feature #10480]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-15 07:28:08 +00:00
usa b2acfab288 * NEWS: mention about IO#nonblock_{read,write} of Windows' pipe.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-14 05:03:38 +00:00
kazu c9e8dd082e fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-06 03:55:53 +00:00
nobu a707ab4bc8 string.c: no terminator
* string.c (rb_str_{,l,r}strip_bang): rb_str_subseq() will not
  NUL-terminate the result string, in the future, so it will not
  be needed in other cases.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-05 06:05:14 +00:00
hsbt 888e16c51e * NEWS: added period into Matrix section. [ci skip]
[misc #10446][ruby-core:65987]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-03 02:47:49 +00:00
tenderlove 07308c4d30 * ext/dl/*: remove DL as it is replaced by Fiddle.
[Feature #5458] Thanks to Jonan Scheffler <jonanscheffler@gmail.com>
  for this patch

* test/dl/*: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 21:13:09 +00:00
knu c02fa39463 Make Digest() thread-safe.
* ext/digest/lib/digest.rb (Digest()): This function should now be
  thread-safe.  If you have a problem with regard to on-demand
  loading under a multi-threaded environment, preload "digest/*"
  modules on boot or use this method instead of directly
  referencing Digest::*. [Bug #9494]
  cf. https://github.com/aws/aws-sdk-ruby/issues/525

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-31 13:21:51 +00:00
marcandre aa87ea9915 * lib/matrix.rb: Generalize Vector#cross_product to arbitrary dimensions
based on a patch by gogo tanaka [#10074]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-29 02:43:52 +00:00
marcandre 764524f65b * lib/matrix.rb: Add Matrix#adjucate
patch by gogo tanaka [#10056]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-29 02:43:28 +00:00
marcandre dc38c87779 * lib/matrix.rb: Add aliases for Vector#cross & dot
patch by gogo tanaka [#10352]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-29 02:42:56 +00:00
nobu ca7835bec6 hash.c: rb_hash_delete does not call the block
* hash.c (rb_hash_delete): now does not call the block given to
  the current method.  [ruby-core:65861] [Bug #10413]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 12:42:57 +00:00
duerst df25ba4015 NEWS: Added String#unicode_normalize(|!|d?) [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23 01:21:25 +00:00
hsbt 8d7fa2291c * lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem.
[Feature #9379][ruby-core:59633]
* lib/xmlrpc/config.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-13 08:53:16 +00:00
nobu 91e305bcda ruby/io.h: deprecate old macros
* include/ruby/io.h (rb_io_mode_flags, rb_io_modenum_flags):
  deprecate old macros for compatibility for ruby 1.8 and older.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-10 02:27:41 +00:00
marcandre a2ae7bccf8 * lib/matrix.rb: Add @- and @+ for Matrix and Vector.
patch by gogo tanaka [#10068] [#10069]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 20:18:35 +00:00
marcandre 49e9f4714e * NEWS: Move Matrix changes to the right place
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 20:16:55 +00:00
marcandre 56d5728589 * lib/matrix.rb: Add Matrix#laplace_expansion.
patch by gogo tanaka [#10073]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 19:30:48 +00:00
marcandre eb9c3e7120 * lib/matrix.rb: Add Vector.basis.
Based on patch by gogo tanaka [#10072]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 19:29:53 +00:00
nobu bd4aa40f45 NEWS: mentioned about [Bug #9593]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 15:09:48 +00:00
marcandre 5b46b07bf3 * lib/matrix.rb: Add hstack & vstack methods.
Based on a patch by creasywuqiong. [Fix GH-344]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 03:44:20 +00:00
akr 253bd7b103 Describe Etc.nprocessors.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-02 03:28:46 +00:00
drbrain b9ef91efe2 * NEWS: Add RubyGems update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 08:32:41 +00:00
akr 1292c5ec58 * enum.c (enum_chunk): Deprecate the state management.
(enum_slice_before): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 15:01:44 +00:00
akr cc659d2f1b * enum.c (enum_slice_when): New method: Enumerable#slice_when.
(slicewhen_i): New function.
  (slicewhen_ii): New function.

* enumerator.c (InitVM_Enumerator): New method:
  Enumerator::Lazy#slice_when.

  [ruby-core:62499] [Feature #9826]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 06:52:29 +00:00
nobu 05f99bcb18 NEWS: quoted symbol keys
* NEWS (Language changes): add quoted symbol keys.  [Feature #4276]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 02:49:24 +00:00
normal 65333e1f6e NEWS: note --with-jemalloc option [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-18 20:37:52 +00:00
naruse a8ec4b2cf2 * string.c (sym_find): remove Symbol.find because we have Symbol GC now.
https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20140904Japan
  If you still want this, request again on Redmine. [Feature #7854]
  https://bugs.ruby-lang.org/issues/7854

* ext/-test-/symbol/init.c (sym_find): moved from string.c for tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-11 21:22:52 +00:00
ko1 c566990f02 add revision number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-11 12:01:38 +00:00
ko1 7b5b3eb3af update NEWS for frozen nil/true/false.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-11 11:59:15 +00:00
ko1 45246bc04d update NEWS for new GC related features.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-11 11:56:29 +00:00
akr f0b12c0461 Describe about vfork().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-04 16:41:12 +00:00
akr d03315d84a * configure.in (dirfd): Check function.
* dir.c (dir_fileno): New method.
  [ruby-dev:48265] [Feature #9880]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-04 15:54:04 +00:00
hsbt fb66bf2dd8 * lib/mathn.rb: mathn library is deprecated on ruby 2.2.
[Feature #10169][ruby-core:64553]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-26 00:31:00 +00:00
hsbt 6f74ab1d97 * lib/complex.rb: removed deprecated library.
* lib/rational.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-22 03:21:55 +00:00
hsbt a84821f8dd * lib/prettyprint.rb: removed PrettyPrint#first?
because it is obsoleted method since Ruby 1.8.2

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-22 02:38:59 +00:00
hsbt e5c9e56893 * lib/gserver.rb: removed unmaintained code.
[ruby-core:40313][Feature #5480]
* lib/xmlrpc/httpserver.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-15 01:21:18 +00:00
nobu 0a0160d6b6 object.c: Object#itsef
* object.c (rb_obj_itself): new method Object#itsef.  based on the
  patch by Rafael França in [ruby-core:64156].
  [EXPERIMENTAL] this method may be renamed due to compatibilities.
  [ruby-core:44704] [Feature #6373]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-02 01:26:58 +00:00
nobu b4981594dd proc.c: method_super_method
* proc.c (method_super_method): new method Method#super_method,
  which returns a method object of the method to be called by
  `super` in the receiver method object.
  [ruby-core:62202] [Feature #9781]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-26 16:22:41 +00:00
hsbt 931d2fd5d8 * logger.rb: removed unmaintain code.
[Feature #9860][ruby-core:62724]
* test/logger/test_application.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-02 01:41:02 +00:00
nobu 43ba2c01e7 proc.c: Binding#receiver
* proc.c (bind_receiver): new method to return the bound receiver
  of the binding object.  [ruby-dev:47613] [Feature #8779]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-01 17:24:02 +00:00
usa 061e4c3f7a * NEWS: [DOC] mention about Binding#local_variables, introduced at
r44392 (see [Feature #8773]).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-01 14:51:13 +00:00
hsbt c6bc3789b7 * NEWS: added news entry of removing to date/format.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-01 09:23:16 +00:00
knu e2e4ac3a8f Digest::HMAC is finally removed as previously noticed. [fix GH-648]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-01 07:21:08 +00:00
akr 3436b7bbad Pathname#birthtime added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-28 13:47:14 +00:00
hsbt 46724873b0 Revert "Revert "* lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]""
syck-1.0.3 gem support this imcompatible changes.

This reverts commit r46102

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-26 02:52:46 +00:00
nari 63e8293147 internal structure
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-24 00:52:14 +00:00
naruse bb83f32dc3 support RFC3986 [Feature #2542]
* lib/uri/common.rb (URI::REGEXP): move to lib/uri/rfc2396_parser.rb.

* lib/uri/common.rb (URI::Parser): ditto.

* lib/uri/common.rb (URI.split): use RFC3986_Parser.

* lib/uri/common.rb (URI.parse): ditto.

* lib/uri/common.rb (URI.join): ditto.

* lib/uri/common.rb (URI.extract): deprecated.

* lib/uri/common.rb (URI.regexp): ditto.

* lib/uri/rfc2396_parser.rb: added.

* lib/uri/rfc3986_parser.rb: added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-22 00:22:19 +00:00
nobu b2066b11d8 proc.c: Implement Method#curry
* proc.c (rb_method_curry): Implement Method#curry, which delegates
  to to_proc.curry.  [ruby-core:62212] [Feature #9783]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-19 04:42:16 +00:00
naruse a95be81ea2 Revert "* lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]"
zzak is not the maintainer of yaml.
This reverts commit r46097.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-25 03:33:22 +00:00
zzak 7833e69c2e * lib/yaml.rb: Remove Psych::EngineManager [Bug #8344]
* test/psych/*: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-25 02:33:51 +00:00
hsbt 938273f007 * NEWS: added minitest changes. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-24 05:04:25 +00:00
hsbt 0948f67de8 * NEWS: style [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-24 05:04:14 +00:00
ayumin 212ea12e3a add information of incompatibility about Prime.prime? [Bug #7395]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-23 15:32:19 +00:00
naruse 6b4f9210b0 * file.c (stat_birthtime): add birthtime support [Feature #9647]
* file.c (rb_stat_birthtime): add File::Stat.birthtime

* file.c (rb_file_s_birthtime): add File.birthtime

* file.c (rb_file_birthtime): add File#birthtime

* configure.in: check struct stat.st_birthtimespec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 11:49:22 +00:00
naruse 210f863906 revert File::Statfs [Feature #9772]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 10:39:48 +00:00
akr ea1a4f2929 * ext/etc/etc.c: Etc.sysconf, Etc.confstr and IO#pathconf implemented.
* ext/etc/extconf.rb: Check sysconf(), confstr() and fpathconf().

* ext/etc/mkconstants.rb: New file.

 [ruby-core:62600] [Feature #9842]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 01:48:47 +00:00
akr 63a23dc678 * ext/etc/etc.c: Etc.uname method implemented.
* ext/etc/extconf.rb: Check uname() function.

  [ruby-core:62139] [Feature #9770]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 00:58:34 +00:00
akr 63fee73500 * configure.in: Check nextafter() availability.
* include/ruby/missing.h (nextafter): New optional declaration.

* missing/nextafter.c: New file.

* numeric.c: Float#next_float and Float#prev_float implemented.

   [ruby-core:62562] [Feature #9834]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 00:37:10 +00:00
akr ddd155842f * enum.c: Enumerable#slice_after implemented.
* enumerator.c: Enumerator::Lazy#slice_after implemented.

  Requested by Tsuyoshi Sawada.  [ruby-core:58123] [Feature #9071]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 00:06:05 +00:00
akr e56d2c385a * include/ruby/ruby.h: Hide Rational internal.
(RRational): Moved to internal.h
  (RRATIONAL): Ditto.
  (RRATIONAL_SET_NUM): Moved to rational.c.
  (RRATIONAL_SET_DEN): Ditto.

* rational.c (rb_rational_num): New function.
  (rb_rational_den): Ditto.

* include/ruby/intern.h (rb_rational_num): Declared.
  (rb_rational_den): Ditto.

*  ext/bigdecimal/bigdecimal.c: Follow the above change.

* ext/date/date_core.c: Ditto.

  [ruby-core:60665] [Feature #9513]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-17 16:37:41 +00:00
sorah fb8f7259c3 * NEWS: Add news about removal of lib/test/**/*.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-17 08:05:35 +00:00
akr 7a69a3583c * process.c (check_exec_redirect): Open the file in write mode for
redirect from [:out, :err].
  Proposed and implemented by Yusuke Endoh.
  [ruby-dev:41430] [Feature #3348]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 13:37:09 +00:00
akr 391fc2eeec * ext/pathname/lib/pathname.rb (Pathname#/): Aliased to Pathname#+.
Suggested by Alexey Muranov.  [ruby-core:61432] [Feature #9625]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 12:49:27 +00:00
akr c2a87a1fa1 * lib/time.rb (Time.strptime): Raise ArgumentError if Date._strptime
doesn't extract date information.
  Reported by tadayoshi funaba.  [ruby-core:62349]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 02:47:53 +00:00
akr fffbcf2867 * lib/time.rb (Time.force_zone!): Use usual local time if it has
expected offset from UTC.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-04 11:52:26 +00:00
nobu 7a6ebecf9e math.c: C99-like atan2
* math.c (math_atan2): return values like as expected by C99 if
  both two arguments are infinity.  based on the patch by cremno
  phobia <cremno AT mail.ru> in [ruby-core:62310].  [Feature #9799]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-04 01:23:01 +00:00
akr ca7c0fee20 [DOC]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-03 18:47:41 +00:00
nobu 38656e24be math.c: check domain of base argument
* math.c (math_log): check domain of base argument too.  raises
  Math::DomainError instead of returning NaN if the base is less
  than 0, and returns NaN instead of -infinity if both of two
  arguments are 0.  [ruby-core:62309] [Bug #9797]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-03 05:28:46 +00:00
naruse 035a4e7d72 * file.c: newly added a class File::Statfs. (experimental)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 10:35:57 +00:00
akr e419c88b0f [DOC]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 09:52:06 +00:00
nobu 398abd204d fix typo
* NEWS, README.EXT: fix typo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-18 15:11:35 +00:00
nobu 609a6ebac5 string.c: share middle of a string
* string.c (rb_str_new_frozen): consider the shared string at
  middle.
* string.c (rb_str_subseq, rb_str_substr, str_byte_substr): share
  middle of a string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-18 12:48:26 +00:00
nobu 37dffb599d string.c: rb_str_cat_cstr
* string.c (rb_str_cat): make non-buf version main.

* string.c (rb_str_cat_cstr): rename from rb_str_cat2.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-17 05:22:57 +00:00
marcandre d11d87c362 * lib/matrix.rb: Add Matrix#cofactor [fix GH-568]
Patch by gogotanaka

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-06 17:46:16 +00:00
marcandre b8ba202301 * lib/matrix.rb: Add first_minor [fix GH-568]
Patch by gogotanaka

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-06 17:45:54 +00:00
nari 7c9f1aa3d5 [DOC] Fix NEWS about Symbol GC
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-27 05:42:57 +00:00
nari e6dcb3b174 [DOC] Add NEWS about Symbol GC
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-26 14:19:10 +00:00
akr f9382d033c [DOC]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-24 13:51:28 +00:00
normal ef59670a44 st.c: use power-of-two sizes to avoid slow modulo ops
* st.c (hash_pos): use bitwise AND to avoid slow modulo op
  (new_size): power-of-two sizes for hash_pos change
  (st_numhash): adjust for common keys due to lack of prime modulo
  [Feature #9425]
* hash.c (rb_any_hash): right shift for symbols
* benchmark/bm_hash_aref_miss.rb: added to show improvement
* benchmark/bm_hash_aref_sym_long.rb: ditto
* benchmark/bm_hash_aref_str.rb: ditto
* benchmark/bm_hash_aref_sym.rb: ditto
* benchmark/bm_hash_ident_num.rb: added to prevent regression
* benchmark/bm_hash_ident_obj.rb: ditto
* benchmark/bm_hash_ident_str.rb: ditto
* benchmark/bm_hash_ident_sym.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-22 23:34:21 +00:00
nobu 81ed2d65e4 NEWS: change at r45327
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-14 04:29:36 +00:00
ktsj e38d95497f [DOC] Add NEWS about Find#find, Pathname#find.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-08 11:01:48 +00:00
zzak 60bfa43238 * NEWS: [DOC] Update doc regarding filesystem load when flushing IO [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-02 22:18:38 +00:00
usa 5c8b8c03b3 * NEWS: mention about the change of r45254.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-02 18:01:55 +00:00
naruse 0b5685a69b * string.c (sym_find): Add Symbol.find(str), which returns whether given
string is defined as symbol or not. [Feature #7854]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-25 16:34:00 +00:00
akr f9810d26b1 Add note about "struct RBignum is hidden.".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15 02:47:19 +00:00
akr 3a541fd9aa Describe "Deprecated APIs removed." and "struct RBignum is hidden."
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15 02:43:32 +00:00
akr f526784e1e * enum.c: Enumerable#{min,min_by,max,max_by} extended to take an
optional argument.
  (nmin_cmp): New function.
  (nmin_block_cmp): Ditto
  (nmin_filter): Ditto.
  (nmin_i): Ditto.
  (nmin_run): Ditto.
  (enum_min): Call nmin_run if the optional argument is given.
  (nmin_max): Ditto.
  (nmin_min_by): Ditto.
  (nmin_max_by): Ditto.

* range.c: Range#{min,max} extended to take an optional argument.
  (range_min): Call range_first if the optional argument is given.
  (range_max): Call rb_call_super if the optional argument is given.

[ruby-core:57111] [Feature #8887]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-14 15:45:11 +00:00
kazu da8b79b4c4 old ChangeLog and NEWS move to doc
* doc/NEWS-2.1.0: moved from NEWS
* doc/ChangeLog-2.1.0: moved ChangeLog older than created ruby_2_0_0 branch
* NEWS: NEWS for 2.2.0 that describes changes since 2.1.0
* ChangeLog: ChangeLog since created v2_1_0_rc1 tag (branch point of ruby_2_1 branch)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-25 16:05:13 +00:00
kazu b0cd40849a fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-20 14:02:40 +00:00
nobu 571955c13f hash.c: revert
* hash.c (rb_hash_reject): revert to deprecated behavior, with
  warnings, due to compatibility for HashWithDifferentAccess.
  [ruby-core:59154] [Bug #9223]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-17 11:15:00 +00:00
drbrain 14e213c3c0 * NEWS (RDoc): Update version number so I don't have to change it
for the final release.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-16 20:14:50 +00:00
nobu 9931920c59 * NEWS: mention about Hash#reject.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-16 13:45:06 +00:00
shugo 9c5b2fd8aa * ext/curses, sample/curses: removed curses.
* NEWS: added an entry for the above change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-09 04:39:49 +00:00
drbrain 68e2146738 * NEWS: Update RubyGems entry with notable features.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 19:52:38 +00:00