1Thu Dec 24 23:01:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2 3 * NEWS: added entry for CGI.escapeHTML optimization. 4 5Thu Dec 24 18:43:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6 7 * error.c (rb_compile_error_with_enc, rb_compile_error), 8 (rb_compile_bug): deprecate internal functions. 9 10 * parse.y (parser_yyerror): construct exception message with 11 source code and caret. 12 13Thu Dec 24 17:25:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 14 15 * compile.c (append_compile_error), parse.y (compile_error): 16 preserve encoding of source file name in exceptions. 17 18 * error.c (rb_compile_error_str, rb_compile_bug_str): add. 19 20Thu Dec 24 16:17:47 2015 NARUSE, Yui <naruse@ruby-lang.org> 21 22 * common.mk (fake.rb): $(arch)-fake.rb must depend on miniruby because 23 it may depend on miniruby. 24 25Thu Dec 24 16:13:05 2015 NARUSE, Yui <naruse@ruby-lang.org> 26 27 * common.mk (ripper.c): r50045 wrongly replace $(PWD) with ../.. 28 It is the top of build directory, not topsrcdir. 29 30Thu Dec 24 15:02:42 2015 sorah (Shota Fukumori) <her@sorah.jp> 31 32 * tool/vcs.rb (IO.popen): Refactor. Avoid assigning in condition. 33 34Thu Dec 24 15:01:38 2015 sorah (Shota Fukumori) <her@sorah.jp> 35 36 * tool/file2lastrev.rb: Fix ArgumentError to work on Ruby 1.8.7. 37 38Thu Dec 24 14:44:08 2015 sorah (Shota Fukumori) <her@sorah.jp> 39 40 * tool/vcs.rb (IO.popen): Enable on Ruby 1.9 where chdir option is not 41 supported on IO.popen 42 43 * tool/vcs.rb (IO.popen): Fix NoMethodError. I guess r49705 was not 44 tested... :/ 45 46Thu Dec 24 14:57:03 2015 Koichi Sasada <ko1@atdot.net> 47 48 * NEWS: rename 49 "Implementation changes" section to 50 "Supported platform changes" section. 51 52 * NEWS: add "Implementation improvements" and add several entries. 53 54 * NEWS: add NEWS entries by Eric Wong. [ruby-core:72450] 55 56Thu Dec 24 00:26:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 57 58 * ext/io/console/extconf.rb: fix gem build failure on Windows. 59 only win32_vk.inc is included in the gem and no dependencies for 60 the header, so that gperf will not be mandatory. 61 [ruby-core:72453] [Bug #11866] 62 63 * ext/io/console/io-console.gemspec: include depend file and 64 win32_vk header. 65 66Wed Dec 23 23:58:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 67 68 * io.c (rb_readwrite_syserr_fail): works with the given errno than 69 thread local errno. 70 71Wed Dec 23 17:57:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 72 73 * file.c, io.c, util.c: prefer rb_syserr_fail with saved errno 74 over setting errno then call rb_sys_fail, not to be clobbered 75 potentially and to reduce thread local errno accesses. 76 77Wed Dec 23 11:58:52 2015 Yuichiro Kaneko <yui-knk@ruby-lang.org> 78 79 * string.c: Fix document. Default value of the first 80 argument of `String#split` is not `$;` but `nil`. 81 When `nil` is passed as first argument, `$;` is used. 82 [ci skip] [Bug #11729] [ruby-dev:49378] 83 84Wed Dec 23 07:15:17 2015 Eric Wong <e@80x24.org> 85 86 * ext/socket/init.c (rsock_init_sock): reject reserved FDs 87 [ruby-core:72445] [Bug #11862] 88 89Wed Dec 23 02:59:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 90 91 * configure.in (__STDC_WANT_LIB_EXT1__): necessary to use memset_s 92 in strict C99 mode. 93 94Wed Dec 23 02:34:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 95 96 * regexec.c (match_at): move direct threaded VM code to get rid of 97 mixed declarations and code, and enable it only for gcc since it 98 depends on a gcc extension. 99 100Wed Dec 23 02:23:19 2015 Yuki Nishijima <mail@yukinishijima.net> 101 102 * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0 103 104 * NEWS: Add news about the did_you_mean gem 105 106Wed Dec 23 02:18:57 2015 Jake Worth <jakeworth82@gmail.com> 107 108 * doc/contributing.rdoc: [DOC] remove an extra word "here". 109 [Fix GH-1169] 110 111Wed Dec 23 01:58:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 112 113 * regexec.c (USE_DIRECT_THREADED_VM): enable direct threaded VM by 114 the default. 115 116Tue Dec 22 22:15:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 117 118 * gc.c (internal_object_p): should not expose singleton classes 119 without a metaclass. based on patches by ko1 and shugo. 120 [Bug #11740] 121 122 * class.c (rb_singleton_class_object_p): added. 123 124Tue Dec 22 22:15:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 125 126 * ext/io/console/io-console.gemspec: bump up to 0.4.4. 127 128Tue Dec 22 22:11:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 129 130 * NEWS: Added news entry of Psych 2.0.17 131 132Tue Dec 22 22:09:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 133 134 * NEWS: Added news entry of RDoc 4.2.1 135 136Tue Dec 22 21:20:00 2015 Kenta Murata <mrkn@mrkn.jp> 137 138 * ext/bigdecimal/bigdecimal.gemspec: bump version to 1.2.8. 139 140Tue Dec 22 21:08:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 141 142 * lib/rdoc.rb: bump version to 4.2.1. It contains following fixes. 143 https://github.com/rdoc/rdoc/pull/340 144 https://github.com/rdoc/rdoc/pull/341 145 https://github.com/rdoc/rdoc/pull/367 146 https://github.com/rdoc/rdoc/pull/368 147 * lib/rdoc/*: ditto. 148 * test/rdoc/*: ditto. 149 150Tue Dec 22 20:25:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 151 152 * ext/psych/lib/psych.rb: bump version to 2.0.17 153 * ext/psych/psych.gemspec: ditto. 154 155Tue Dec 22 20:14:47 2015 Koichi Sasada <ko1@atdot.net> 156 157 * vm_insnhelper.c: move vm_callee_setup_block_arg() (and related 158 functions) to the latter location. 159 This moving recovers performance a little. 160 [Bug #11829] 161 162Tue Dec 22 15:21:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 163 164 * string.c (str_compat_and_valid): as scrub does nothing for dummy 165 encoding string now, incompatible encoding is not a matter. 166 167Tue Dec 22 14:31:28 2015 Toru Iwase <tietew@tietew.net> 168 169 * ext/cgi/escape/escape.c (optimized_escape_html): CGI.escapeHTML 170 should return unfrozen new string. 171 [ruby-core:72426] [Bug #11858] 172 173Tue Dec 22 05:39:58 2015 Takashi Kokubun <takashikkbn@gmail.com> 174 175 * ext/cgi/escape/escape.c (preserve_original_state): Preserve 176 original state for tainted and frozen. [Fix GH-1166] 177 [ruby-dev:49451] [Bug #11855] 178 179Tue Dec 22 03:57:20 2015 Eric Wong <e@80x24.org> 180 181 * ext/socket/init.c (rsock_init_sock): check FD after validating 182 * test/socket/test_basicsocket.rb (test_for_fd): new 183 [ruby-core:72418] [Bug #11854] 184 185Mon Dec 21 21:29:45 2015 Naohisa Goto <ngotogenome@gmail.com> 186 187 * variable.c (struct ivar_update): rename "extended" to "iv_extended" 188 to avoid name conflict with /usr/include/floatingpoint.h on 189 Solaris. [Bug #11853] [ruby-dev:49448] 190 191Mon Dec 21 12:15:32 2015 Kimura Wataru <kimuraw@i.nifty.jp> 192 193 * test/ruby/test_io.rb: handled rlimit value same as r52277 194 [Bug #11852][ruby-dev:49446] 195 196Mon Dec 21 10:21:22 2015 Ilya Vassilevsky <vassilevsky@gmail.com> 197 198 * lib/net/http.rb (open_timeout): update default value in RDoc 199 [ruby-core:72413] 200 201Mon Dec 21 10:18:46 2015 Kazuki Yamaguchi <k@rhe.jp> 202 203 * vm_backtrace.c (rb_profile_frames): ignore ifunc frames as it 204 did before. [ruby-core:72409] [Bug #11851] 205 206Mon Dec 21 09:33:17 2015 Karol Bucek <kares@users.noreply.github.com> 207 208 * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket): fix 209 NotImplementedError typo. [Fix GH-1165] 210 211Sun Dec 20 20:54:51 2015 Takashi Kokubun <takashikkbn@gmail.com> 212 213 * cgi/escape/escape.c: Optimize CGI.escapeHTML for 214 ASCII-compatible encodings. [Fix GH-1164] 215 216Sun Dec 20 15:36:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 217 218 * lib/erb.rb: revert r53123. It breaks compatibility like thor and 219 rspec-rails. 220 We should try with Ruby 2.4 or 3.0. 221 [Bug #11842][ruby-core:72374] 222 * lib/rdoc/erb_partial.rb: ditto. 223 * template/verconf.h.tmpl: ditto. 224 225Sun Dec 20 11:43:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 226 227 * parse.y (parser_yylex): allow here documents in labeled 228 argument. [ruby-core:72396] [Bug #11849] 229 230Sun Dec 20 11:14:11 2015 Koichi Sasada <ko1@atdot.net> 231 232 * proc.c (rb_mod_define_method): should check Symbol or not. 233 [Bug #11850] 234 235 * test/ruby/test_method.rb: add a test. 236 237Sun Dec 20 11:01:57 2015 Koichi Sasada <ko1@atdot.net> 238 239 * proc.c (rb_mod_define_method): fix notation. 240 241Sun Dec 20 10:54:15 2015 Koichi Sasada <ko1@atdot.net> 242 243 * proc.c (proc_new): fix notation. 244 245Sun Dec 20 00:29:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 246 247 * proc.c (rb_proc_get_iseq): proc made from symbol does not have 248 iseq. fix infinite loop. [ruby-core:72381] [Bug #11845] 249 250Sat Dec 19 20:06:10 2015 Naohisa Goto <ngotogenome@gmail.com> 251 252 * enc/windows_1250.c: Should not use C++ style comments (C99 feature). 253 [Bug #11843] 254 255Sat Dec 19 17:17:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 256 257 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize): 258 use WEBrick::Utils::TimeoutHandler::Thread, which is ignored by 259 LeakChecker#find_threads, instead of ::Thread to get rid of 260 thread leak checker. since this TimeoutHandler is resident 261 during tests because of Singleton, it waits for the next timeout 262 if it has any schedules. in the case of nested timeouts, inner 263 timeout does not cancel outer timeouts and then those schedules 264 still remain. 265 266Sat Dec 19 14:28:01 2015 Jake Worth <jakeworth82@gmail.com> 267 268 * ext/zlib/zlib.c (Init_zlib): [DOC] Fix double-word typo and 269 grammatical error. [Fix GH-1162] 270 271Sat Dec 19 14:23:59 2015 Jake Worth <jakeworth82@gmail.com> 272 273 * lib/csv.rb (CSV#initialize): [DOC] Fix double-word typo. 274 [Fix GH-1161] 275 276Sat Dec 19 10:33:33 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 277 278 * enc/iso_8859_2.c, enc/windows_1250.c: separate Windows-1250 279 from ISO-8859-2 to fix 0x80..0x9e range (from Kimihito Matsui) 280 281Fri Dec 18 21:26:54 2015 Naohisa Goto <ngotogenome@gmail.com> 282 283 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): To prevent 284 potential deadlocks, Queue is used to tell update of @timeout_info 285 instead of sleep and wakeup. [Bug #11742] [ruby-dev:49387] 286 287Fri Dec 18 17:24:09 2015 Koichi Sasada <ko1@atdot.net> 288 289 * compile.c (ibf_load_object_string): use fstring if frozen string. 290 291Fri Dec 18 16:54:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 292 293 * ext/stringio/stringio.c (strio_set_encoding): add StringIO's own 294 encoding and separate it from the buffer string to override the 295 encoding of string when reading. [ruby-core:72189] [Bug #11827] 296 note that setting the encoding of its buffer string directly 297 without StringIO#set_encoding may cause unpredictable behavior. 298 299Fri Dec 18 16:50:35 2015 Koichi Sasada <ko1@atdot.net> 300 301 * compile.c (ibf_load_setup): check tainted string argument. 302 303Fri Dec 18 16:12:13 2015 Koichi Sasada <ko1@atdot.net> 304 305 * vm_core.h: define USE_LAZY_LOAD if it is not defined. 306 307Fri Dec 18 15:40:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 308 309 * ext/stringio/stringio.c (strio_unget_bytes): extract from 310 strio_ungetbyte to share with strio_ungetc. 311 312Fri Dec 18 12:39:42 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 313 314 * doc/syntax/*.rdoc: separated modifier at sentence. 315 [ci skip][fix GH-1121] Patch by @clandry94 316 317Fri Dec 18 12:09:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 318 319 * ext/stringio/stringio.c (strio_ungetbyte): pad with \000 when 320 the current position is after the end. 321 322Fri Dec 18 11:24:48 2015 Shugo Maeda <shugo@ruby-lang.org> 323 324 * vm_method.c (rb_method_entry_make, check_override_opt_method): 325 should check whether a newly created method overrides an optimize 326 method in case the method is defined in a prepended module of a 327 built-in class. 328 [ruby-core:72226] [Bug #11836] 329 330Fri Dec 18 11:09:38 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 331 332 * vm.c (vm_exec): call RUBY_DTRACE_CMETHOD_RETURN_HOOK instead of 333 RUBY_DTRACE_METHOD_RETURN_HOOK. 334 335Fri Dec 18 10:24:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 336 337 * lib/irb/ruby-lex.rb: fixed parse error for striped heredocument syntax. 338 [fix GH-1127] Patch by @koic 339 340Fri Dec 18 09:44:47 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 341 342 * ext/pty/pty.c: fix double words typo. 343 [ci skip][fix GH-1157] Patch by @jwworth 344 345Fri Dec 18 09:42:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 346 347 * ext/nkf/nkf-utf8/utf8tbl.c: fix a typo. 348 [ci skip][fix GH-1159] Patch by @akshay-vishnoi 349 * ext/nkf/nkf-utf8/utf8tbl.h: ditto. 350 351Fri Dec 18 07:39:01 2015 Shugo Maeda <shugo@ruby-lang.org> 352 353 * vm.c (rb_vm_check_redefinition_opt_method): should check the real 354 class instead of the origin iclass. 355 [ruby-core:72188] [Bug #11826] 356 357Thu Dec 17 22:13:10 2015 Shugo Maeda <shugo@ruby-lang.org> 358 359 * vm_args.c (vm_caller_setup_arg_block): remove code for ifunc 360 because it was made unnecessary by r52138. 361 362Thu Dec 17 16:13:10 2015 Shugo Maeda <shugo@ruby-lang.org> 363 364 * proc.c (rb_block_arity): should not call GetProcPtr() for symbols. 365 [ruby-core:72205] [Bug #11830] 366 367Thu Dec 17 14:16:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 368 369 * string.c (rb_str_scrub): the result should be infected by the 370 original string. 371 372Thu Dec 17 13:35:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 373 374 * transcode.c (rb_econv_substr_append, econv_primitive_convert): 375 the result should be infected by the original string. 376 377Thu Dec 17 09:46:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 378 379 * re.c (reg_names_iter): should consider encoding of regexp. 380 [ruby-core:72185] [Bug #11825] 381 382Thu Dec 17 03:52:10 2015 Koichi Sasada <ko1@atdot.net> 383 384 * vm.c (vm_make_env_each): should not compare with Qfalse and FALSE. 385 Pointed at http://d.hatena.ne.jp/nagachika/20151216/ruby_trunk_changes_53128_53163 386 387Thu Dec 17 03:15:25 2015 Koichi Sasada <ko1@atdot.net> 388 389 * vm_insnhelper.c (vm_call_method_each_type): should not set fastpath 390 with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods. 391 392 Normally, we can not use keyword arguments for this kind of methods, 393 (obj.foo = 1), but we can set alias names for them. 394 [Bug #11657] 395 396 * test/ruby/test_keyword.rb: add a test for this fix. 397 398Wed Dec 16 20:32:43 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 399 400 * ext/fiddle/handle.c: check tainted string arguments. 401 Patch provided by tenderlove and nobu. 402 403 * test/fiddle/test_handle.rb (class TestHandle): add test for above. 404 405 406Wed Dec 16 19:30:56 2015 Shugo Maeda <shugo@ruby-lang.org> 407 408 * vm.c (vm_make_proc_from_block): should convert a Symbol to a Proc. 409 [ruby-core:72083] [Bug #11811] 410 411Wed Dec 16 16:17:34 2015 Eric Wong <e@80x24.org> 412 413 * test/ruby/test_io.rb: fix spelling errors 414 415Wed Dec 16 16:04:49 2015 Eric Wong <e@80x24.org> 416 417 * NEWS: note IO#advise change [ruby-core:72168] 418 419Wed Dec 16 15:35:13 2015 Koichi Sasada <ko1@atdot.net> 420 421 * vm.c: fix mark miss for proc given as passed block. 422 [Bug #11750] 423 424 * vm.c (vm_make_proc_from_block): should return a Proc object 425 if block is given. Previous implementation returns 426 a Proc object only when corresponding Proc object is not 427 available. 428 429 * vm.c (vm_make_env_each): ditto. 430 431 * test/ruby/test_proc.rb: add a test for this bug. 432 433Wed Dec 16 12:24:59 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 434 435 * test_struct.rb: Test that initialize is overridable [#11708] 436 437Wed Dec 16 10:49:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 438 439 * parse.y (block_command, block_call): fix `&.` calls after 440 block_call. [Feature #11537] 441 442Wed Dec 16 00:53:45 2015 Naohisa Goto <ngotogenome@gmail.com> 443 444 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): Acquire 445 TimeoutMutex only when accessing @timeout_info for avoiding 446 potential deadlock. [Bug #11742] [ruby-dev:49387] 447 448Wed Dec 16 00:39:27 2015 Jake Worth <jakeworth82@gmail.com> 449 450 * doc/extension.rdoc: [DOC] fix double-word typo. [Fix GH-1153] 451 452Wed Dec 16 00:25:41 2015 Naohisa Goto <ngotogenome@gmail.com> 453 454 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize): 455 TimeoutMutex should be acquired when accessing @timeout_info. 456 To avoid deadlock, interrupt() calls are delayed. 457 Due to the mutex, it is safe to treat ary without ary.dup. 458 [Bug #11742] [ruby-dev:49387] 459 460Tue Dec 15 23:13:10 2015 Naohisa Goto <ngotogenome@gmail.com> 461 462 * gc.c: Delete excess semicolon after RUBY_ALIAS_FUNCTION(). 463 Suppress "syntax error: empty declaration" warnings by 464 Oracle Solaris Studio 12.x on Solaris. [Bug #11821] 465 466 * hash.c: ditto, after NOINSERT_UPDATE_CALLBACK(). 467 468Tue Dec 15 18:04:04 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 469 470 * NEWS: added news about EBCDIC encoding 471 472Tue Dec 15 17:57:57 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 473 474 * enc/ebcdic.h, enc/trans/ebcdic.trans, 475 test/ruby/test_transcode.rb: Fixed encoding name 476 to the correct one in the IANA registry (IBM037) 477 and added an alias (ebcdic-cp-us) 478 479Tue Dec 15 16:19:26 2015 Takashi Kokubun <takashikkbn@gmail.com> 480 481 * lib/erb.rb: Render erb with array buffer for function call optimization. 482 [fix GH-1143] 483 * lib/rdoc/erb_partial.rb: ditto. 484 * template/verconf.h.tmpl: ditto. 485 486Tue Dec 15 13:50:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 487 488 * string.c (rb_str_oct): [DOC] mention radix indicators. 489 [ruby-core:71310] [Bug #11648] 490 491Tue Dec 15 12:20:30 2015 Takashi Kokubun <takashikkbn@gmail.com> 492 493 * lib/erb.rb: Simplify regexp to optimize erb scanner. 494 [fix GH-1144] 495 496Tue Dec 15 11:56:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 497 498 * lib/uri/common.rb: make code block for rdoc. 499 [ci skip][fix GH-1152] Patch by @Tonkpils 500 501Tue Dec 15 11:55:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 502 503 * ext/zlib/zlib.c: fix a typo. 504 [ci skip][fix GH-1149] Patch by @crismali 505 506Tue Dec 15 09:14:14 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 507 508 * tool/transcode_tablegen.rb: detailed documentation 509 for transcode_tblgen function [ci skip] 510 511Mon Dec 14 22:11:11 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 512 513 * enc/ebcdic.h: new dummy encoding EBCDIC-US 514 * enc/trans/ebcdic.trans: transcodings between EBCDIC-US 515 and iso-8859-1 [with code from Andrea Ribuoli] 516 * test/ruby/test_transcode.rb: tests for above 517 * tool/transcode_tablegen.rb: additional argument for 518 method transcode_tblgen 519 520Mon Dec 14 17:04:14 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 521 522 * ext/socket/lib/socket.rb: use safe navigation operator. 523 [fix GH-1142] Patch by @mlarraz 524 * lib/drb/extservm.rb: ditto. 525 * lib/net/http.rb: ditto. 526 * lib/net/http/response.rb: ditto. 527 * lib/scanf.rb: ditto. 528 * lib/uri/generic.rb: ditto. 529 530Mon Dec 14 17:03:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 531 532 * bootstraptest/runner.rb: use safe navigation operator. 533 [fix GH-1142] Patch by @mlarraz 534 * test/openssl/test_pair.rb: ditto. 535 * test/ruby/test_econv.rb: ditto. 536 * test/ruby/test_settracefunc.rb: ditto. 537 * test/thread/test_queue.rb: ditto. 538 539Mon Dec 14 14:33:35 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 540 541 * lib/xmlrpc.rb: added documentation for parser details. 542 [ci skip][fix GH-1124] Patch by @jrafanie 543 544Mon Dec 14 11:46:52 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 545 546 * enum.c: fix a typo in documentation. 547 [ci skip][fix GH-1140] Patch by @jutaz 548 * io.c: ditto. 549 * iseq.c: ditto. 550 * numeric.c: ditto. 551 * process.c: ditto. 552 * string.c: ditto. 553 * vm_trace.c: ditto. 554 555Mon Dec 14 11:41:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 556 557 * lib/cgi.rb: fix a typo in documentation. 558 [ci skip][fix GH-1140] Patch by @jutaz 559 560Mon Dec 14 11:31:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 561 562 * compile.c: fix typos. 563 [ci skip][fix GH-1140] Patch by @jutaz 564 * dir.c: ditto. 565 * gc.c: ditto. 566 * io.c: ditto. 567 * node.h: ditto. 568 * thread_pthread.c: ditto. 569 * vm_insnhelper.c: ditto. 570 * vsnprintf.c: ditto. 571 572Mon Dec 14 11:27:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 573 574 * enc/iso_2022_jp.h: fix typos. 575 [ci skip][fix GH-1140] Patch by @jutaz 576 * enc/utf_16_32.h: ditto. 577 * enc/utf_7.h: ditto. 578 579Mon Dec 14 11:25:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 580 581 * benchmark/bm_app_aobench.rb: fix typos. 582 [ci skip][fix GH-1140] Patch by @jutaz 583 * benchmark/bm_vm_thread_pipe.rb: ditto. 584 585Sun Dec 13 23:46:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 586 587 * parse.y (trace_lex_state): trace lex_state changes if yydebug is 588 set, and send the messages to rb_stdout. 589 590 * parse.y (rb_parser_printf): store YYPRINTF messages per lines 591 so that lex_state traces do not mix. 592 593 * tool/ytab.sed: add parser argument to yy_stack_print too. 594 595Sun Dec 13 20:41:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 596 597 * parse.y (build_lex_state_name, trace_lex_state): lex_state is 598 now bit flags and can be set 2 bits or more. 599 600Sun Dec 13 20:26:30 2015 Yuki Yugui Sonoda <yugui@yugui.jp> 601 602 * test/ruby/test_syntax.rb: fix typo in test 603 604Sun Dec 13 20:12:14 2015 Yuki Yugui Sonoda <yugui@yugui.jp> 605 606 * parse.y (parse_percent): Allow %-literals in labeled arg as 607 r51624 did for parentheses. 608 Fixes [ruby-core:72084] [Bug #11812]. 609 610Sun Dec 13 20:02:15 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 611 612 * ChangeLog: fix a typo 613 614Sun Dec 13 19:54:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 615 616 * test/lib/envutil.rb: move envutil's assertions under Test::Unit::Assertion. 617 * test/lib/test/unit/assertions.rb: ditto. 618 619Sun Dec 13 19:24:20 2015 Yuki Yugui Sonoda <yugui@yugui.jp> 620 621 * parse.y (lex_state_name): Make it return the correct names. 622 Add new names to follow r51617; Indices ffs(2) returns are 1-origin. 623 624Sun Dec 13 18:40:45 2015 Yuki Yugui Sonoda <yugui@yugui.jp> 625 626 * parse.y: debug output of lex_state transition if PARSER_DEBUG 627 628Sun Dec 13 18:49:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 629 630 * io.c (parse_mode_enc): preserve encoding of mode string in 631 warnings. 632 633 * io.c (io_encname_bom_p): check BOM prefix only, not including 634 UTF prefix. 635 636 * io.c (parse_mode_enc): warn BOM with non-UTF encoding. 637 638 * io.c (parse_mode_enc): fix buffer overflow. 639 640Sun Dec 13 18:35:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 641 642 * ext/fiddle/function.c (initialize): check all arguments first. 643 reported by Marcin 'Icewall' Noga of Cisco Talos. 644 645 * ext/fiddle/conversions.h (PTR2NUM): use signed integer to make 646 Fixnum for negative values. 647 648Sun Dec 13 18:33:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 649 650 * pack.c (pack_pack): always check index range against the 651 receiver array length, which can be shortened by elements 652 conversion. reported by Marcin 'Icewall' Noga of Cisco Talos. 653 654Sun Dec 13 18:28:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 655 656 * ext/psych/psych_emitter.c (start_document): should not exceed 657 tags array range. 658 659 * ext/psych/psych_emitter.c (start_document): ensure string before 660 encoding conversion. 661 662Sun Dec 13 18:26:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 663 664 * ext/tk/tkutil/tkutil.c (tk_hash_kv): check types of array 665 argument. reported by Marcin 'Icewall' Noga of Cisco Talos. 666 667 * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check length of 668 argument arrays for each access, as callback methods can modify 669 them. reported by Marcin 'Icewall' Noga of Cisco Talos. 670 671 * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): check types of 672 argument elements. reported by Marcin 'Icewall' Noga of Cisco 673 Talos. 674 675Sun Dec 13 18:19:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 676 677 * ext/win32ole/win32ole.c (ole_vstr2wc): check argument type, vstr 678 must be a String here. reported by Marcin 'Icewall' Noga of 679 Cisco Talos. 680 681Sun Dec 13 16:41:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 682 683 * configure.in (BOOTSTRAPRUBY): make BASERUBY full path before 684 building ruby to get rid of unexpectedly invoking built ruby. 685 [ruby-core:72065] [Bug #11807] 686 687 * configure.in (BOOTSTRAPRUBY): use MINIRUBY but not BASERUBY 688 unless cross compiling. [ruby-core:72065] [Bug #11807] 689 690Sun Dec 13 14:17:19 2015 Akinori MUSHA <knu@iDaemons.org> 691 692 * test/test_shellwords.rb (TestShellwords): Add many more tests 693 for handling whitespace characters and frozenness. 694 695Sun Dec 13 14:16:09 2015 Akinori MUSHA <knu@iDaemons.org> 696 697 * lib/shellwords.rb (Shellwords#shellsplit): Document that this 698 method does not treat shell metacharacters as such. 699 700Sun Dec 13 12:17:43 2015 Eric Wong <e@80x24.org> 701 702 * lib/shellwords.rb (shellescape): duplicate frozen literal 703 * test/test_shellwords.rb (test_stringification): new test 704 705Sun Dec 13 11:47:35 2015 Shugo Maeda <shugo@ruby-lang.org> 706 707 * object.c (rb_inspect): check the default internal encoding as 708 String#inspect do. 709 [ruby-dev:49415] [Bug #11787] 710 711Sun Dec 13 11:38:12 2015 Akinori MUSHA <knu@iDaemons.org> 712 713 * lib/shellwords.rb: Turn on frozen-string-literal after fixing 714 shellsplit. 715 716Sun Dec 13 10:44:44 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 717 718 * KNOWNBUGS.rb: Fixed typo, made more explicit [ci skip] 719 720Sun Dec 13 10:26:47 2015 NARUSE, Yui <naruse@ruby-lang.org> 721 722 * ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): fix parsing 723 protocol list. 724 The protocol list from OpenSSL is not null-terminated. 725 patched by Kazuki Yamaguchi [Bug #11810] [ruby-core:72082] 726 727Sun Dec 13 06:40:30 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 728 729 * lib/ostruct.rb: Have OpenStruct#dig raise if argument is not a 730 symbol 731 nor a string. See [#11762] 732 733Sun Dec 13 00:05:42 2015 Shugo Maeda <shugo@ruby-lang.org> 734 735 * vm_insnhelper.c (vm_call_method_missing): method_missing should 736 not be refined. 737 [ruby-core:72080] [Bug #11809] 738 739Sat Dec 12 23:00:17 2015 NARUSE, Yui <naruse@ruby-lang.org> 740 741 * ext/nkf/nkf-utf8/nkf.c: Merge nkf 2.1.4. 742 743Sat Dec 12 18:52:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 744 745 * object.c (rb_obj_dig): raise TypeError if an element does not 746 have #dig method. [ruby-core:71798] [Bug #11762] 747 748Sat Dec 12 17:59:07 2015 Yuichiro Kaneko <yui-knk@ruby-lang.org> 749 750 * test/ruby/test_regexp.rb: Add test cases for `$KCODE` and `$=` warning 751 [Misc #11770][ruby-dev:49398] 752 753Sat Dec 12 17:11:57 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 754 755 * doc/NEWS-0.2.2: add description about incompatible change in Hash 756 duplicated key overriding policy. [Bug #10315] [Bug #11501] 757 758Sat Dec 12 07:44:38 2015 Eric Wong <e@80x24.org> 759 760 * io.c (do_io_advise): do not raise on ENOSYS 761 * test/ruby/test_io.rb (test_advise): do not skip on Errno::ENOSYS 762 (test_advise_pipe): ditto 763 [ruby-core:72066] [Feature #11806] 764 765Sat Dec 12 07:05:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 766 767 * enc/windows_1252.c: separate from ISO-8859-1 to fix 0x80..0x9e 768 range. [ruby-core:64049] [Bug #10097] 769 770Fri Dec 11 23:33:40 2015 Yusuke Endoh <mame@ruby-lang.org> 771 772 * sample/trick2015/: added the award-winning entries of TRICK 2015. 773 See https://github.com/tric/trick2015 for the contest outline. 774 775Fri Dec 11 17:59:05 2015 Eric Wong <e@80x24.org> 776 777 * insns.def (opt_case_dispatch): avoid converting Infinity 778 * test/ruby/test_optimization.rb (test_opt_case_dispatch_inf): new 779 [ruby-dev:49423] [Bug #11804]' 780 781Fri Dec 11 16:48:57 2015 Eric Wong <e@80x24.org> 782 783 * hash.c (rb_num_hash_start): avoid pathological behavior 784 [ruby-core:72028] [Feature #11405] 785 786Fri Dec 11 11:58:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 787 788 * NEWS: Mentioned rubygems-2.5.1 789 790Fri Dec 11 11:52:39 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 791 792 * lib/rubygems: Update to RubyGems 2.5.1 793 * test/rubygems: ditto. 794 795Fri Dec 11 11:38:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 796 797 * compile.c (iseq_compile_each, ibf_load_object_hash): rehash 798 case-dispatch hash to reduce collisions. 799 http://d.hatena.ne.jp/ku-ma-me/20151210 800 801Fri Dec 11 03:44:43 2015 NARUSE, Yui <naruse@ruby-lang.org> 802 803 * object.c (rb_inspect): dump inspected result with rb_str_escape() 804 instead of raising Encoding::CompatibilityError. [Feature #11801] 805 806 * string.c (rb_str_escape): added to dump given string like 807 rb_str_inspect without quotes and always dump in US-ASCII 808 like rb_str_dump. 809 810Thu Dec 10 14:59:59 2015 Koichi Sasada <ko1@atdot.net> 811 812 * test/ruby/test_gc.rb (test_expand_heap): relax condition (1->2). 813 814Thu Dec 10 14:15:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 815 816 * cont.c: fix a double word typo. 817 [Bug #11313][ruby-core:69749] 818 819Thu Dec 10 14:13:34 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 820 821 * ext/tk/lib/multi-tk.rb: fix typos. 822 [Bug #11764][ruby-core:71800] 823 824Thu Dec 10 11:33:34 2015 Eric Wong <e@80x24.org> 825 826 * compile.c (iseq_compile_each): reduce needless rb_str_dup 827 [ruby-core:72018] <5668DB6E.8000101@ruby-lang.org> 828 829Thu Dec 10 09:32:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 830 831 * lib/mkmf.rb, lib/shellwords.rb: disable frozen-string-literal. 832 [ruby-core:72011] [Bug #11800] 833 834Thu Dec 10 06:33:39 2015 Eric Wong <e@80x24.org> 835 836 * marshal.c (memsize_dump_arg): remove NULL check 837 (memsize_load_arg): ditto 838 839Thu Dec 10 05:53:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 840 841 * tool/mkconfig.rb: rbconfig must not be frozen-string-literal to 842 expand CONFIG hash. [ruby-core:72006] [Bug #11798] 843 844Thu Dec 10 05:03:51 2015 Eric Wong <e@80x24.org> 845 846 * ext/socket/ifaddr.c (ifaddr_mark): remove empty function 847 (ifaddr_type): pass zero to rb_data_type_t.function.dmark 848 849Thu Dec 10 04:49:16 2015 Eric Wong <e@80x24.org> 850 851 * proc.c (bm_free): remove, use default free 852 (method_data_type): use RUBY_TYPED_DEFAULT_FREE 853 854Thu Dec 10 02:01:41 2015 Koichi Sasada <ko1@atdot.net> 855 856 * compile.c (iseq_compile_each): do not add debug information 857 without --debug or --debug=frozen-string-literal option 858 because String#dup slows down with debug information. 859 [Feature #11725] 860 861 * NEWS: apply about it. 862 863 * test/ruby/test_rubyoptions.rb: catch up this fix with refactoring. 864 865Thu Dec 10 00:06:56 2015 Koichi Sasada <ko1@atdot.net> 866 867 * iseq.c: rename methods 868 RubyVM::InstructionSequence#to_binary_format -> #to_binary 869 RubyVM::InstructionSequence.from_binary_format -> .load_from_binary 870 RubyVM::InstructionSequence.from_binary_format_extra_data -> 871 .load_from_binary_extra_data 872 873 * iseq.c: fix document of iseq.to_binary. 874 [Fix GH-1134] 875 876 * sample/iseq_loader.rb: catch up this change. 877 878 * test/lib/iseq_loader_checker.rb: ditto. 879 880Wed Dec 9 17:02:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 881 882 * regparse.h (SET_NTYPE): get rid of breaking strict aliasing. 883 patch by Zarko Todorovski in [ruby-core:71953]. [Bug #11790] 884 885Wed Dec 9 16:10:37 2015 Koichi Sasada <ko1@atdot.net> 886 887 * vm.c (rb_vm_cref_in_context): Module#define_method in non-class 888 expression should be public. 889 [Bug #11754] 890 891 * test/ruby/test_method.rb: add a test. 892 893Wed Dec 9 14:45:27 2015 Koichi Sasada <ko1@atdot.net> 894 895 * gc.c (gc_mark_stacked_objects): fix typo. 896 reported by XIE Zhibang. [Bug #11763] 897 898Wed Dec 9 14:37:51 2015 Shugo Maeda <shugo@ruby-lang.org> 899 900 * doc/syntax/refinements.rdoc: remove outdated description. 901 902Wed Dec 9 09:58:09 2015 Koichi Sasada <ko1@atdot.net> 903 904 * ext/**/*.c (*_memsize): same as r52986 for extensions. 905 906Wed Dec 9 09:46:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 907 908 * .gitignore: ignored ISeq binary format. 909 910Wed Dec 9 09:34:41 2015 Koichi Sasada <ko1@atdot.net> 911 912 * *.c (*_memsize): do not check ptr. 913 NULL checking is finished Before call of memsize functions. 914 See r52979. 915 916Wed Dec 9 09:25:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 917 918 * test/net/smtp/test_response.rb: use Test::Unit. We should use Test::Unit 919 without rubygems and rdoc. 920 921Wed Dec 9 06:26:23 2015 Colin Kelley <colindkelley@gmail.com> 922 923 * lib/uri/generic.rb: enable frozen_string_literal 924 (split_userinfo): remove explicit .freeze for string literals 925 (check_path): ditto 926 (query): ditto 927 (fragment): ditto 928 (to_s): ditto 929 [ruby-core:71910] [Bug #11759] 930 931Wed Dec 9 06:25:47 2015 Eric Wong <e@80x24.org> 932 933 * test/uri/test_generic.rb (to_s): new test 934 [ruby-core:71820] 935 936Wed Dec 9 02:18:52 2015 Koichi Sasada <ko1@atdot.net> 937 938 * compile.c (ibf_dump_memsize): should check NULL. 939 940Wed Dec 9 01:46:35 2015 NAKAMURA Usaku <usa@ruby-lang.org> 941 942 * string.c (rb_str_init): now accepts new option parameter `encoding'. 943 [Feature #11785] 944 945Wed Dec 9 00:52:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 946 947 * file.c (rb_stat_wr, rb_stat_ww): call get_stat only once and 948 reduce checking struct. patch by Yuki Kurihara in 949 [ruby-core:71949]. [Misc #11789] 950 951Wed Dec 9 00:24:33 2015 Koichi Sasada <ko1@atdot.net> 952 953 * compile.c (iseq_ibf_dump): dump extra data just string length. 954 955 * sample/iseq_loader.rb: add using 956 RubyVM::InstructionSequence.from_binary_format_extra_data method 957 (commented out). 958 959Mon Dec 9 00:21:19 2015 Yuki Nishijima <mail@yukinishijima.net> 960 961 * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.rc1 962 963Wed Dec 9 00:17:49 2015 Koichi Sasada <ko1@atdot.net> 964 965 * compile.c (ibf_load_setup): cast to int. 966 967Wed Dec 9 00:13:09 2015 Koichi Sasada <ko1@atdot.net> 968 969 * compile.c (ibf_setup_load): rename to ibf_load_setup(). 970 971 * compile.c (iseq_load_setup): check binary format. 972 973Tue Dec 8 23:30:07 2015 Naohisa Goto <ngotogenome@gmail.com> 974 975 * test/io/console/test_io_console.rb (run_pty): Avoid waiting twice 976 for a process. Fix Errno::ECHILD in TestIO_Console#test_close and 977 TestIO_Console#test_sync. 978 979Tue Dec 8 23:05:47 2015 Koichi Sasada <ko1@atdot.net> 980 981 * compile.c (iseq_ibf_dump): fix for clang type checker. 982 983Tue Dec 8 23:04:02 2015 Koichi Sasada <ko1@atdot.net> 984 985 * iseq.c (iseq_s_load): fix mysterious bug. 986 987Tue Dec 8 22:31:58 2015 Koichi Sasada <ko1@atdot.net> 988 989 * introduce new ISeq binary format serializer/de-serializer 990 and a pre-compilation/runtime loader sample. 991 [Feature #11788] 992 993 * iseq.c: add new methods: 994 * RubyVM::InstructionSequence#to_binary_format(extra_data = nil) 995 * RubyVM::InstructionSequence.from_binary_format(binary) 996 * RubyVM::InstructionSequence.from_binary_format_extra_data(binary) 997 998 * compile.c: implement body of this new feature. 999 1000 * load.c (rb_load_internal0), iseq.c (rb_iseq_load_iseq): 1001 call RubyVM::InstructionSequence.load_iseq(fname) with 1002 loading script name if this method is defined. 1003 1004 We can return any ISeq object as a result value. 1005 Otherwise loading will be continue as usual. 1006 1007 This interface is not matured and is not extensible. 1008 So that we don't guarantee the future compatibility of this method. 1009 Basically, you shouldn't use this method. 1010 1011 * iseq.h: move ISEQ_MAJOR/MINOR_VERSION (and some definitions) 1012 from iseq.c. 1013 1014 * encoding.c (rb_data_is_encoding), internal.h: added. 1015 1016 * vm_core.h: add several supports for lazy load. 1017 * add USE_LAZY_LOAD macro to specify enable or disable of 1018 this feature. 1019 * add several fields to rb_iseq_t. 1020 * introduce new macro rb_iseq_check(). 1021 1022 * insns.def: some check for lazy loading feature. 1023 1024 * vm_insnhelper.c: ditto. 1025 1026 * proc.c: ditto. 1027 1028 * vm.c: ditto. 1029 1030 * test/lib/iseq_loader_checker.rb: enabled iff suitable 1031 environment variables are provided. 1032 1033 * test/runner.rb: enable lib/iseq_loader_checker.rb. 1034 1035 * sample/iseq_loader.rb: add sample compiler and loader. 1036 1037 $ ruby sample/iseq_loader.rb [dir] 1038 1039 will compile all ruby scripts in [dir]. 1040 With default setting, this compile creates *.rb.yarb files 1041 in same directory of target .rb scripts. 1042 1043 $ ruby -r sample/iseq_loader.rb [app] 1044 1045 will run with enable to load compiled binary data. 1046 1047Tue Dec 8 21:21:16 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 1048 1049 * NEWS: mention about Enumerator::Lazy#grep_v. 1050 [ruby-core:71845] [Feature #11773] 1051 1052Tue Dec 8 17:36:36 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 1053 1054 * string.c: removed unused variable 1055 1056Tue Dec 8 16:23:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1057 1058 * enumerator.c (lazy_grep_v): add Enumerator::Lazy#grep_v as well 1059 as Enumerable, to enumerate lazily. 1060 [ruby-core:71845] [Feature #11773] 1061 1062Tue Dec 8 14:27:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1063 1064 * error.c (name_err_local_variables): new method 1065 NameError#local_variables for internal use only. 1066 [Feature #11777] 1067 1068Tue Dec 8 14:20:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1069 1070 * marshal.c (w_objivar): skip internal instance variables in 1071 T_OBJECT too. 1072 1073Tue Dec 8 12:58:04 2015 Naohisa Goto <ngotogenome@gmail.com> 1074 1075 * test/io/console/test_io_console.rb (test_getpass): s.getpass 1076 should be tested. Narrow ensure block. This reverts r52911. 1077 [Bug #11780] [ruby-dev:49412] 1078 1079Tue Dec 8 10:40:21 2015 Eric Wong <e@80x24.org> 1080 1081 * benchmark/bm_vm2_case_lit.rb: new benchmark 1082 * compile.c (case_when_optimizable_literal): add nil/true/false 1083 * insns.def (opt_case_dispatch): ditto 1084 * vm.c (vm_redefinition_check_flag): ditto 1085 * vm.c (vm_init_redefined_flag): ditto 1086 * vm_core.h: ditto 1087 * object.c (InitVM_Object): define === explicitly for nil/true/false 1088 * test/ruby/test_case.rb (test_deoptimize_nil): new test 1089 * test/ruby/test_optimization.rb (test_opt_case_dispatch): update 1090 (test_eqq): new test 1091 [ruby-core:71923] [Feature #11769] 1092 Original patch by Aaron Patterson <tenderlove@ruby-lang.org> 1093 1094Tue Dec 8 10:19:02 2015 Jake Worth <jakeworth82@gmail.com> 1095 1096 * lib/optparse.rb: fix double word typo in the document. 1097 [Misc #10608] [Fix GH-1126] 1098 1099Tue Dec 8 09:03:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1100 1101 * ext/date/date_core.c (d_lite_lshift): should check the argument 1102 before negation. 1103 1104Tue Dec 8 08:56:16 2015 Eric Wong <e@80x24.org> 1105 1106 * insns.def (opt_case_dispatch): check Float#=== redefinition 1107 * test/ruby/test_optimization.rb (test_opt_case_dispatch): new 1108 [ruby-core:71920] [Bug #11784] 1109 1110Tue Dec 8 03:56:05 2015 Koichi Sasada <ko1@atdot.net> 1111 1112 * test/lib/iseq_loader_checker.rb: add iseq dumper/loader checker. 1113 If you enable this checker (remove `#' in test/runner.rb), 1114 you can see comparison results between an original iseq disassembed 1115 result and dumped and loaded iseq disassembed result. 1116 1117 There are several bugs around there, because of inexact stack depth 1118 calculation. Now, I leave these bugs because they are not critical 1119 and difficult to solve completely. 1120 1121 * test/runner.rb: require test/lib/iseq_loader_checker.rb but 1122 disabled at default (commented out). 1123 1124Tue Dec 8 03:45:47 2015 Eric Wong <e@80x24.org> 1125 1126 * doc/extension.rdoc: warn about kwargs performance in C 1127 [Feature #11339] [ci skip] 1128 1129Tue Dec 8 03:44:51 2015 Koichi Sasada <ko1@atdot.net> 1130 1131 * iseq.c (iseq_load): disable peephole optimization option 1132 because apply it multiple times change the sequence. 1133 (iseq != peephole_optimize(load(iseq.to_a))) 1134 1135Tue Dec 8 03:43:21 2015 Koichi Sasada <ko1@atdot.net> 1136 1137 * compile.c (rb_iseq_build_from_ary): do not allocate table 1138 if table_size is 0. 1139 1140Tue Dec 8 03:30:34 2015 Eric Wong <e@80x24.org> 1141 1142 * ext/socket/unixsocket.c (unix_send_io): document args 1143 (unix_recv_io): ditto 1144 * test/socket/test_unix.rb (test_fd_passing_class_mode): added 1145 1146Tue Dec 08 02:21:35 2015 Koichi Sasada <ko1@atdot.net> 1147 1148 * iseq.c (iseq_translate): at the end of constructing an iseq, 1149 call RubyVM::InstructionSequence.translate(iseq) if this method 1150 is defined. If the return value is also an object of 1151 RubyVM::InstructionSequence, then use it instead of created one. 1152 1153 For example, this method is useful to test iseq dumper/loader 1154 such as RubyVM::InstructionSequence#to_a and rb_iseq_load(). 1155 1156 Because this method is for such internal experimental usage, 1157 the interface is not matured. For example, this interface has 1158 no extensibility. Two or more translators can not run 1159 simultaneously. 1160 1161 So that we don't guarantee future compatibility of this method. 1162 Basically, do not use this method. 1163 1164Tue Dec 8 01:57:13 2015 Aaron Patterson <tenderlove@ruby-lang.org> 1165 1166 * ext/psych/*: update psych to 2.0.16 1167 * test/psych/*: ditto 1168 1169Mon Dec 7 23:45:20 2015 Koichi Sasada <ko1@atdot.net> 1170 1171 * string.c: introduce String#+@ and String#-@ to control 1172 String mutability. 1173 [Feature #11782] 1174 1175Mon Dec 7 23:39:49 2015 Ben Miller <bjmllr@gmail.com> 1176 1177 * parse.y: add heredoc <<~ syntax. [Feature #9098] 1178 1179Mon Dec 7 23:06:16 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 1180 1181 * prelude.rb (IO#read_nonblock): [DOC] add missing options to 1182 call-seq. [ruby-core:71627] [Bug #11730] 1183 1184Mon Dec 7 15:50:50 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 1185 1186 * .gitignore: added cygruby*.def for Cygwin 1187 1188Sun Dec 6 19:52:31 2015 Eric Wong <e@80x24.org> 1189 1190 * include/ruby/intern.h (rb_autoload): deprecate 1191 * internal.h (rb_autoload_str): declare 1192 * load.c (rb_mod_autoload): use rb_autoload_str 1193 * variable.c (rb_autoload): become compatibility wrapper 1194 (rb_autoload_str): hoisted out from old rb_autoload 1195 [ruby-core:71369] [Feature #11664] 1196 1197Sun Dec 6 18:25:22 2015 NAKAMURA Usaku <usa@ruby-lang.org> 1198 1199 * test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): gave up the test 1200 of binary path info test on Windows because the test had passed 1201 occasionally as the comment said. 1202 1203Sun Dec 6 15:25:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1204 1205 * ext/io/console/console.c (console_getpass): add IO#getpass 1206 method. 1207 1208Sun Dec 6 08:39:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1209 1210 * ext/json/json.gemspec: bump version to json 1.8.3. CRuby already contained 1211 upstream changes. 1212 1213 https://github.com/ruby/ruby/commit/4d059bf9f5f10f3d3088de49fc87e5555db7770d 1214 https://github.com/flori/json/commit/d4c99de78905d96c3f301f48b2c789943bb3f098 1215 1216 * ext/json/lib/json/version.rb: ditto. 1217 1218Sat Dec 5 17:48:25 2015 Lars Kanis <lars@greiz-reinsdorf.de> 1219 1220 * tool/fake.rb: Fix cross build when srcdir is an absolute path. 1221 1222 * Makefile.in: PREP dependency is needed when cross build too, not 1223 "-r$(arch)-fake" to be used before created. [Fix GH-1125] 1224 1225Sat Dec 5 17:26:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1226 1227 * hash.c (env_str_new, env_path_str_new): make default string 1228 UTF-8 for the case conversion is not possible. [Bug #8822] 1229 1230 * hash.c (get_env_cstr): convert non-ASCII string to UTF-8 string. 1231 1232 * hash.c (ruby_setenv): use wide char version to put environment 1233 variable to deal with non-ASCII value. 1234 1235Sat Dec 5 09:56:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1236 1237 * ruby_atomic.h (ATOMIC_CAS): old value to be swapped should be 1238 same as the destination. immediate value may need type 1239 promotion. 1240 1241 * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of 1242 InterlockedCompareExchange64. new value and then old value is 1243 the last. 1244 1245Sat Dec 5 09:23:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1246 1247 * random.c (fill_random_seed): fix the size to be filled, not the 1248 size of element, but the whole size of array. 1249 1250Sat Dec 5 06:03:54 2015 Eric Wong <e@80x24.org> 1251 1252 * vm.c (ruby_vm_verbose_ptr): make static 1253 (ruby_vm_debug_ptr): ditto 1254 1255Sat Dec 5 00:56:29 2015 Naohisa Goto <ngotogenome@gmail.com> 1256 1257 * include/ruby/ruby.h (RB_OBJ_TAINT): follow-up of r52881. 1258 Turn into void expression not to use unexpected result. 1259 Fix "operands have incompatible types" error with 1260 Oracle Solaris Studio 12.x on Solaris. 1261 1262Fri Dec 4 19:52:52 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 1263 1264 * enc/iso_8859_13.c: Added three missing lower/upper-case 1265 character pairs (from Kimihito Matsui) 1266 1267Fri Dec 4 18:57:57 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 1268 1269 * enc/iso_8859_4.c: Added missing lower/upper-case character 1270 pair (U+014A and U+014B, LATIN CAPITAL/SMALL LETTER ENG) 1271 (from Kimihito Matsui) 1272 1273Fri Dec 4 16:48:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1274 1275 * string.c (rb_obj_as_string): fstring should not be infected. 1276 re-apply r52872 and fix a typo. 1277 TODO: other frozen strings also may not be. 1278 1279Fri Dec 4 15:21:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1280 1281 * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(fdab4c4). 1282 this version includes #1396, #1397, #1398, #1399 1283 * test/rubygems: ditto. 1284 1285Fri Dec 4 11:22:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1286 1287 * thread.c (rb_thread_setname): name must be ascii-compatible, as 1288 pthread APIs do not accept legacy wide char strings. 1289 1290Thu Dec 3 15:39:21 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1291 1292 * lib/scanf.rb: fixed double words typo. 1293 [ci skip][fix GH-1123] Patch by @jwworth 1294 1295Thu Dec 3 15:37:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1296 1297 * test/ruby/test_mixed_unicode_escapes.rb: fixed typo. 1298 [fix GH-1122] Patch by @davydovanton 1299 * test/ruby/test_object.rb: ditto. 1300 * test/socket/test_tcp.rb: ditto. 1301 1302Thu Dec 3 15:33:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1303 1304 * sprintf.c (rb_str_format): fix wrong shifting position in 1305 Rational conversion when not at the beginning of the result. 1306 [ruby-core:71806] [Bug #11766] 1307 1308Thu Dec 3 14:22:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1309 1310 * range.c (range_to_s): should be infected by the receiver. 1311 str2 infects by appending. [ruby-core:71811] [Bug #11767] 1312 1313Thu Dec 3 11:57:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1314 1315 * configure.in: separate SET_CURRENT_THREAD_NAME, which can set 1316 the name of current thread only, and SET_ANOTHER_THREAD_NAME, 1317 which can set the name of other threads. 1318 1319 * thread.c (rb_thread_setname): use SET_ANOTHER_THREAD_NAME. OS X 1320 is not possible to set another thread name. 1321 1322 * thread_pthread.c (native_set_thread_name, thread_timer): use 1323 SET_CURRENT_THREAD_NAME. 1324 1325Wed Dec 02 22:57:46 2015 Koichi Sasada <ko1@atdot.net> 1326 1327 * vm_core.h, iseq.h: remove rb_iseq_t::variable_body. 1328 Fields in rb_iseq_t::variable_body are contained by 1329 rb_iseq_t::body::mark_ary (hidden Array object). 1330 1331 Index 0 to 2 of mark_ary are reserved by these objects. 1332 1333 * iseq.c: catch up this fix. 1334 1335 * compile.c (rb_iseq_original_iseq): trivial rewrite. 1336 1337Wed Dec 2 17:19:02 2015 Koichi Sasada <ko1@atdot.net> 1338 1339 * iseq.h: introduce ISEQ_ORIGINAL_ISEQ() and 1340 ISEQ_ORIGINAL_ISEQ_ALLOC() macro. 1341 1342 * compile.c: use them to access original iseq buffer. 1343 1344 * iseq.c: ditto. 1345 1346 * vm_core.h: rename iseq field to support this fix. 1347 1348Wed Dec 2 17:10:32 2015 Koichi Sasada <ko1@atdot.net> 1349 1350 * iseq.h: introduce ISEQ_FLIP_CNT_INCREMENT() macro. 1351 1352 * compile.c (iseq_compile_each): use it. 1353 1354 * vm_core.h: rename flip_cnt field to support this fix. 1355 1356Wed Dec 2 17:05:15 2015 Koichi Sasada <ko1@atdot.net> 1357 1358 * iseq.h: introduce ISEQ_COVERAGE() and ISEQ_COVERAGE_SET() macro. 1359 1360 * compile.c: use them. 1361 1362 * iseq.c: ditto. 1363 1364 * iseq.c (rb_iseq_coverage): added. 1365 1366 * thread.c (update_coverage): use rb_iseq_coverage(). 1367 1368 * vm_core.h: rename coverage field name to support this fix. 1369 1370Wed Dec 2 17:00:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1371 1372 * encoding.c (enc_name, rb_enc_name_list_i, rb_enc_aliases_enc_i): 1373 make fstring instead of making each copies. 1374 1375Wed Dec 2 16:32:08 2015 Koichi Sasada <ko1@atdot.net> 1376 1377 * iseq.h: introduce ISEQ_COMPILE_DATA() macro. 1378 1379 * compile.c, iseq.c: use ISEQ_COMPILE_DATA(). 1380 1381 * vm_core.h: rename compile_data field to support this fix. 1382 1383Wed Dec 2 16:27:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1384 1385 * encoding.c (enc_m_loader): defer finding encoding object not to 1386 be infected by marshal source. [ruby-core:71793] [Bug #11760] 1387 1388 * marshal.c (r_object0): enable compatible loader on USERDEF 1389 class. the loader function is called with the class itself, 1390 instead of an allocated object, and the loaded data. 1391 1392 * marshal.c (compat_allocator_table): initialize 1393 compat_allocator_tbl on demand. 1394 1395 * object.c (rb_undefined_alloc): extract from rb_obj_alloc. 1396 1397Wed Dec 2 15:12:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1398 1399 * configure.in: Fixed double negative comments. 1400 [Bug #11698][ruby-core:71506] 1401 1402Wed Dec 2 14:55:01 2015 yui-knk <spiketeika@gmail.com> 1403 1404 * test/ruby/test_string.rb: removed non executing tests. 1405 [Misc #11757][ruby-dev:49397] 1406 1407Wed Dec 2 11:23:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1408 1409 * lib/csv.rb: enable frozen_string_literal. 1410 [fix GH-1116] Patch by @marshall-lee 1411 1412Wed Dec 2 10:36:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1413 1414 * ext/bigdecimal/bigdecimal.c: Fix double word typo. 1415 [ci skip][fix GH-1120] Patch by @jwworth 1416 1417Wed Dec 2 07:43:51 2015 Eric Wong <e@80x24.org> 1418 1419 * ext/openssl/ossl_ssl.c (mSSLExtConfig): make static 1420 (eSSLError): ditto 1421 (ID_callback_state): ditto 1422 (ossl_ssl_ex_vcb_idx): ditto 1423 (ossl_ssl_ex_store_p): ditto 1424 (ossl_ssl_ex_ptr_idx): ditto 1425 * ext/openssl/ossl_ssl.h: remove extern declarations for 1426 mSSLExtConfig and eSSLError 1427 1428Wed Dec 2 07:41:08 2015 Eric Wong <e@80x24.org> 1429 1430 * missing/explicit_bzero.c (explicit_bzero): fixup r52839 1431 for compilers with "weak" attribute 1432 1433Wed Dec 2 06:47:25 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1434 1435 * missing/explicit_bzero.c: add ruby_explicit_bzero_hook_unused 1436 for preventing optimization. Inspired from OpenBSD. 1437 1438Tue Dec 1 23:36:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1439 1440 * thread.c (rb_thread_setname): allow to reset thread name. 1441 1442Tue Dec 1 23:14:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1443 1444 * thread.c (rb_thread_setname): check the argument if valid 1445 string. [ruby-core:71774] [Bug #11756] 1446 1447Tue Dec 1 17:13:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1448 1449 * string.c (rb_string_value_cstr): should not raise on frozen 1450 string. 1451 1452Tue Dec 1 09:35:29 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1453 1454 * missing/explicit_bzero.c: add a few comment. 1455 1456Tue Dec 1 09:31:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1457 1458 * missing/explicit_bzero.c: add disabling optimization on gcc. 1459 1460Tue Dec 1 07:50:33 2015 Eric Wong <e@80x24.org> 1461 1462 * missing/explicit_bzero.c: new file. define explicit_bzero. 1463 Fixup r52806 1464 1465Thu Oct 22 12:54:43 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1466 1467 * thread_pthread.c (register_ubf_list): renamed from 1468 add_signal_thread_list. 1469 * thread_pthread.c (unregister_ubf_list): renamed 1470 from remove_signal_thread_list. 1471 * thread_pthread.c (ubf_wakeup_all_threads): renamed from 1472 ping_signal_thread_list. 1473 * thread_pthread.c (ubf_wakeup_thread): renamed from 1474 ubf_select_each. 1475 * thread_pthread.c (ubf_threads_empty): renamed from 1476 check_signal_thread_list(). 1477 * thread_pthread.c (ubf_list_lock): renamed from 1478 signal_thread_list_lock. 1479 1480 * thread_pthread.c (register_ubf_list): large simplification 1481 by using ccan/list.h. 1482 bonus: removed malloc() and exit(EXIT_FAILURE). 1483 * thread_pthread.c (unregister_ubf_list): ditto. 1484 * thread_pthread.c (ubf_threads_empty): ditto. 1485 * thread_pthread.c (ubf_wakeup_all_threads): ditto. 1486 1487 * thread_pthread.c (print_signal_list): removed. 1488 1489Thu Oct 22 08:03:49 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1490 1491 * test/ruby/test_rand.rb (TestRand#test_default_seed): add 1492 srand case. 1493 1494Thu Oct 22 06:33:38 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1495 1496 * random.c (InitVM_Random): move Random::DEFAULT initialization 1497 bits to Init_Random_default. 1498 * random.c (Init_Random_default): renamed from Init_RandomSeed2. 1499 * random.c (Init_RandomSeedCore): renamed from Init_RandomSeed. 1500 1501Thu Oct 22 06:20:48 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1502 1503 * random.c (Init_RandomSeed): move all Random::DEFAULT 1504 construction bits to Init_RandomSeed2. Random::DEFAULT 1505 and Ruby internal hashes are no longer shared their seed. 1506 * random.c (Init_RandomSeed2): ditto. And, kill evil 1507 rb_obj_reveal() stuff. 1508 1509 * random.c (init_hashseed): add MT argument. 1510 * random.c: (init_siphash): ditto. 1511 1512 * test/ruby/test_rand.rb (TestRand#test_default_seed): new 1513 test for Random::DEFAULT::seed. 1514 1515Thu Oct 22 05:23:48 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1516 1517 * random.c (init_hashseed, init_siphash): extract initialize 1518 functions. 1519 1520Thu Oct 22 01:01:34 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1521 1522 * configure.in: sort AC_CHECK_HEADERS() by alphabetical order. 1523 1524Thu Oct 22 00:19:07 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1525 1526 * random.c (init_randomseed): remove "initial" argument. It never 1527 be used from outside of this function. 1528 1529Thu Oct 22 00:12:33 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1530 1531 * lib/securerandom.rb (SecureRandom::gen_random): use /dev/urandom 1532 for initialize OpenSSL's rand. 1533 1534Wed Oct 21 12:10:04 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1535 1536 * ext/openssl/ossl_rand.c (ossl_rand_bytes): RAND_bytes could 1537 be return -1 as an error. Therefore, added error handling. 1538 * ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto. 1539 1540Wed Oct 21 09:04:09 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1541 1542 * include/ruby/util.h: remove a warning suppression C4723 1543 (potential divide by zero) for VisualC++. It's meaningless. 1544 Before r26197, there is ruby_div0() in this place and it 1545 actually made divide by zero. But now it's just garbage. 1546 1547Wed Oct 21 08:23:36 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1548 1549 * random.c: random_raw_seed don't use GRND_NONBLOCK. GRND_NONBLOCK 1550 mean the result might not have an enough cryptic strength and 1551 easy predictable. That's no good for SecureRandom. 1552 1553Sun Oct 18 17:26:53 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1554 1555 * common.mk: add a rule for explicit_bzero.o. 1556 * configure.in: detect explicit_bzero and memset_s. 1557 * include/ruby/missing.h: add explicit_bzero. 1558 * random.c (init_randomseed): use explicit_bzero() instead of 1559 memset(). memset could be eliminated by compiler optimization. 1560 1561Mon Nov 30 18:46:44 2015 NARUSE, Yui <naruse@ruby-lang.org> 1562 1563 * ext/readline/extconf.rb: call dir_config("libedit") 1564 if --enable-libedit is specified. [Bug #11751] 1565 patched by John Hein 1566 1567Mon Nov 30 08:44:29 2015 Eric Wong <e@80x24.org> 1568 1569 * variable.c: remove spurious #define for globals 1570 [ruby-core:71735] [Feature #11749] 1571 1572Sun Nov 29 09:13:03 2015 Conor Landry <clandry94@gmail.com> 1573 1574 * NEWS: [DOC] Various grammar corrections and clarifications to 1575 increase readability. [Fix GH-1115] 1576 1577Sat Nov 28 19:33:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1578 1579 * parse.y (parser_here_document): store dispatched result of 1580 on_tstring_content at the last fragment of a here document. 1581 1582Fri Nov 27 19:19:44 2015 NARUSE, Yui <naruse@ruby-lang.org> 1583 1584 * lib/net/http.rb (connect): detect closed connection and reconnect 1585 If the server closes a keep-alive http connection, the client socket 1586 reaches EOF. To avoid an EOFError, detect the closed connection and 1587 reconnect. 1588 Added test to ensure HTTP#post succeeds even if the 1589 keep-alive-connection has been closed by the server. 1590 by Kristian Hanekamp <kris.hanekamp@gmail.com> 1591 https://github.com/ruby/ruby/pull/1089 fix GH-1089 1592 1593Thu Nov 26 21:36:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1594 1595 * compile.c (iseq_peephole_optimize): enable tail call 1596 optimization for specialized indexers. 1597 1598 * compile.c (iseq_compile_each): blockiseq should be NULL, but not 1599 Qnil. 1600 1601Thu Nov 26 17:22:53 2015 NARUSE, Yui <naruse@ruby-lang.org> 1602 1603 * regcomp.c, regenc.c, regexec.c, regint.h, enc/unicode.c: 1604 Merge Onigmo 58fa099ed1a34367de67fb3d06dd48d076839692 1605 + https://github.com/k-takata/Onigmo/pull/52 1606 1607Thu Nov 26 09:50:02 2015 yui-knk <spiketeika@gmail.com> 1608 1609 * test/coverage/test_coverage.rb: Added test-case for Coverage.restart. 1610 [Misc #11732][ruby-dev:49379] 1611 1612Thu Nov 26 09:46:36 2015 yui-knk <spiketeika@gmail.com> 1613 1614 * test/coverage/test_coverage.rb: Added test-case for Coverage.peek_result 1615 without Coverage.start. [Misc #11726][ruby-core:71622] 1616 1617Thu Nov 26 07:22:55 2015 Eric Wong <e@80x24.org> 1618 1619 * test/openssl/test_ssl.rb (test_copy_stream): new test 1620 1621Wed Nov 25 21:23:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1622 1623 * io.c (copy_stream_body): try to_io conversion before read, 1624 readpartial, and write methods. [ruby-dev:49008] [Bug #11199] 1625 1626Wed Nov 25 10:55:21 2015 Shugo Maeda <shugo@ruby-lang.org> 1627 1628 * io.c (argf_getpartial): should not resize str if the second 1629 argument is not given. 1630 [ruby-core:71668] [Bug #11738] 1631 1632Tue Nov 24 23:56:25 2015 Naohisa Goto <ngotogenome@gmail.com> 1633 1634 * configure.in: On Solaris, it is safe to define _LARGEFILE_SOURCE 1635 when _FILE_OFFSET_BITS=64 is defined (= when 32-bit compile). 1636 1637Tue Nov 24 10:00:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1638 1639 * lib/rubygems/installer.rb: Fix two double-word typos. 1640 [ci skip][fix GH-1108] Patch by @jwworth 1641 1642Tue Nov 24 09:17:02 2015 Alexander von Gluck IV <kallisti5@unixzen.com> 1643 1644 * beos: Drop support for BeOS now that Haiku is stable. 1645 [Fix GH-1112] 1646 1647Tue Nov 24 09:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1648 1649 * internal.h (rb_gc_for_fd): move to export, as referred by 1650 ext/socket. 1651 1652Tue Nov 24 09:04:29 2015 David Rodriguez <deivid.rodriguez@gmail.com> 1653 1654 * file.c: [DOC] add a missing period to File docs, to terminate 1655 the sentence and separate from the next sentence. [Fix GH-1111] 1656 1657Tue Nov 24 08:30:06 2015 JuanitoFatas <katehuang0320@gmail.com> 1658 1659 * NEWS: Fix the issue number of `Struct#dig`, which should be 1660 [Feature #11688]. [Fix GH-1110] 1661 1662Tue Nov 24 07:56:54 2015 Eric Wong <e@80x24.org> 1663 1664 * ext/socket/init.c (rsock_s_accept): handle ENOMEM 1665 1666Tue Nov 24 07:50:15 2015 Eric Wong <e@80x24.org> 1667 1668 * dir.c (dir_initialize): use rb_gc_for_fd for ENOMEM 1669 * ext/socket/init.c (rsock_socket): ditto 1670 * ext/socket/socket.c (rsock_socketpair): ditto 1671 * internal.h (rb_gc_for_fd): prototype 1672 * io.c (rb_gc_for_fd): remove static 1673 [ruby-core:71623] [Feature #11727] 1674 1675Tue Nov 24 06:46:27 2015 Eric Wong <e@80x24.org> 1676 1677 * io.c (rb_gc_for_fd): new helper function 1678 (ruby_dup): use rb_gc_for_fd 1679 (rb_sysopen): ditto 1680 (rb_fdopen): ditto 1681 (rb_pipe): ditto 1682 [ruby-core:71623] [Feature #11727] 1683 1684Tue Nov 24 05:13:35 2015 Eric Wong <e@80x24.org> 1685 1686 * ext/fiddle/function.c (struct nogvl_ffi_call_args): 1687 new struct for GVL release 1688 (nogvl_ffi_call): new function 1689 (function_call): adjust for GVL release 1690 [ruby-core:71642] [Feature #11607] 1691 * ext/fiddle/closure.c (struct callback_args): 1692 new struct for GVL acquire 1693 (with_gvl_callback): adjusted original callback function 1694 (callback): wrapper for conditional GVL acquire 1695 * ext/fiddle/depend: add dependencies 1696 * ext/fiddle/extconf.rb: include top_srcdir for internal.h 1697 * internal.h (ruby_thread_has_gvl_p): expose for fiddle 1698 * vm_core.h (ruby_thread_has_gvl_p): moved to internal.h 1699 * test/fiddle/test_function.rb (test_nogvl_poll): new test 1700 1701Mon Nov 23 19:53:12 2015 Naohisa Goto <ngotogenome@gmail.com> 1702 1703 * configure.in: On Solaris, with gcc, "-std=iso9899:1999" 1704 in $ansi_options is often also needed in CPPFLAGS, 1705 because some feature definitions vary depending on such 1706 standards options. 1707 1708Mon Nov 23 12:54:39 2015 Hamish Morrison <hamishm53@gmail.com> 1709 1710 * configure.in: remove obsolete workarounds for Haiku. 1711 1712 * dln.c, file.c, io.c: remove obsolete Haiku workarounds. 1713 1714 * thread_pthread.c: add stack bounds detection for Haiku. 1715 1716 * signal.c: get stack pointer from signal context on Haiku. 1717 [ruby-core:67923] [Bug #10811] [Fix GH-1109] 1718 1719Mon Nov 23 11:44:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1720 1721 * gems/bundled_gems: bump version to minitest-5.8.3 1722 1723Mon Nov 23 08:55:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1724 1725 * ChangeLog: fix wrong reference for r52714 1726 1727Sun Nov 22 22:23:37 2015 Rei Odaira <Rei.Odaira@gmail.com> 1728 1729 * gc.c (rb_raw_obj_info): fix compile errors when USE_RGENGC 1730 is 0. 1731 1732Sun Nov 22 21:58:09 2015 Naohisa Goto <ngotogenome@gmail.com> 1733 1734 * lib/cmath.rb: methods which has suffix '!' are now deprecated. 1735 Re-apply r52469 made by Kazuki Tanaka, with fixing bug about 1736 mathn.rb compatibility. [ruby-core:68528] [Feature #10974] 1737 1738Sun Nov 22 19:36:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1739 1740 * ext/openssl/ossl.c: fix brew command for installation of openssl. 1741 [ci skip][fix GH-1107] Patch by @arthurnn 1742 1743Sun Nov 22 17:59:50 2015 Naohisa Goto <ngotogenome@gmail.com> 1744 1745 * configure.in: On Solaris, add -D_XOPEN_SOURCE=n only when both 1746 AC_TRY_CPP and AC_TRY_COMPILE pass, because some options 1747 (e.g. -std=iso9899:1999) are not set when running C preprocessor 1748 or building ext. 1749 1750Sun Nov 22 16:53:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1751 1752 * compile.c (iseq_peephole_optimize): remove unreachable code 1753 chunk after jump/leave. 1754 1755 * parse.y: move dead code elimination of logical operation to 1756 compile.c. not to warn logical operation of literal constants. 1757 1758Sun Nov 22 16:37:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1759 1760 * compile.c (iseq_peephole_optimize): eliminate always/never 1761 branches after a literal object and when the value is used after 1762 the branch. 1763 1764Sun Nov 22 01:23:43 2015 Naohisa Goto <ngotogenome@gmail.com> 1765 1766 * configure.in: Add -D_XOPEN_SOURCE=500 (or 600 or 700) on Solaris 1767 if available, mainly for enabling some features in sockets. 1768 1769Sun Nov 22 00:17:22 2015 Naohisa Goto <ngotogenome@gmail.com> 1770 1771 * test/socket/test_socket.rb (test/socket/test_socket.rb): skip 1772 the test when Socket::SO_TIMESTAMP is not defined. Fix error 1773 on Solaris 10. [Bug #11728] [ruby-dev:49377] 1774 1775Sat Nov 21 18:57:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1776 1777 * ruby.c (need_argument): move frozen-string-literal-debug option 1778 from --enable to --debug. [Feature #11725] 1779 1780 * ruby.c (proc_options): fix pointer overrun. do not advance argv 1781 until it is valid. 1782 1783Sat Nov 21 13:59:09 2015 NARUSE, Yui <naruse@ruby-lang.org> 1784 1785 * ext/digest/sha1/extconf.rb: OpenSSL's struct name for SHA1 is 1786 SHA_CTX. http://openssl.org/docs/man0.9.8/crypto/SHA1.html 1787 1788Sat Nov 21 13:31:52 2015 NARUSE, Yui <naruse@ruby-lang.org> 1789 1790 * ext/digest/*/*.[ch]: include ruby.h before digest.h to avoid 1791 including ext/digest/extconf.h. [Bug #3231] 1792 https://msdn.microsoft.com/library/36k2cdd4.aspx 1793 1794 * ext/digest/*/extconf.rb: remove ext/digest from include search path 1795 to avoid confusion of cl.exe. 1796 1797 * ext/digest/*/*.[ch]: explicitly specify def.h's path. 1798 1799Sat Nov 21 13:05:16 2015 NARUSE, Yui <naruse@ruby-lang.org> 1800 1801 * ext/openssl/ossl.h: LibreSSL doesn't have and need e_os2.h. 1802 1803Sat Nov 21 09:18:10 2015 Koichi Sasada <ko1@atdot.net> 1804 1805 * thread_sync.c: reduce the specification of Queue#close. 1806 * Queue#close accepts no arguments. 1807 * deq'ing on closed queue returns nil, always. 1808 [Feature #10600] 1809 1810 * test/thread/test_queue.rb: catch up this fix. 1811 1812Sat Nov 21 08:44:21 2015 Koichi Sasada <ko1@atdot.net> 1813 1814 * compile.c (iseq_compile_each): add debug information to NODE_STR 1815 strings as default. 1816 [Feature #11725] 1817 1818 * insns.def (freezestring): add new instruction to support adding 1819 debug information for dynamically constructed strings. 1820 1821 * compile.c (iseq_compile_each): support adding debug information 1822 for NODE_DSTR with freezestring instruction. 1823 1824 * error.c (rb_error_frozen): change the debug information ID name 1825 id_debug_created_info and this field should have a 2 element array 1826 containing path and line information. 1827 1828 * defs/id.def: ditto. 1829 1830 * test/ruby/test_rubyoptions.rb: catch up this fix. 1831 1832 * test/ruby/test_iseq.rb: now frozen strings are not same. 1833 1834Sat Nov 21 04:34:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1835 1836 * symbol.c (rb_str_intern): should not freeze the receiver itself 1837 unexpectedly. [ruby-core:71611] [Bug #11721] 1838 1839Fri Nov 20 23:15:18 2015 Naotoshi Seo <sonots@gmail.com> 1840 1841 * lib/logger.rb: expose logger mutex 1842 [fix GH-541] Patch by @arthurnn 1843 1844Fri Nov 20 15:05:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1845 1846 * Added missing reference of GitHub 1847 1848Fri Nov 20 14:57:01 2015 Trevor Rowe <trevorrowe@gmail.com> 1849 1850 * lib/net/http.rb: Fixed regression for Net::HTTP::PUT with "Expect-100" 1851 header. [fix GH-949] 1852 * test/net/http/test_http.rb: added test. 1853 1854Fri Nov 20 14:39:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1855 1856 * lib/net/http.rb: set hostname before call ossl_ssl_set_session. 1857 [Bug #11401][ruby-core:70152][fix GH-964] Patch by @mkarnebeek 1858 1859Fri Nov 20 12:53:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1860 1861 * array.c: clarify docs for take_while/drop_while samples. 1862 [ci skip][fix GH-1028] Patch by @leriksen 1863 1864Fri Nov 20 12:48:04 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1865 1866 * ext/socket/socket.c: remove mention of :UNIX in getaddrinfo(). 1867 It's typically not a support option. 1868 [ci skip][fix GH-990] Patch by @eam 1869 1870Fri Nov 20 12:44:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1871 1872 * lib/rss/syndication.rb: Add nodoc marker for #validate_sy_updatePeriod. 1873 [ci skip][fix GH-1105] Patch by @davydovanton 1874 1875Fri Nov 20 09:05:21 2015 Koichi Sasada <ko1@atdot.net> 1876 1877 * vm.c (rb_vm_cref_replace_with_duplicated_cref): added. 1878 1879 CREFs should not be shared by methods between `using'. 1880 [Bug #11247] 1881 1882 * vm_insnhelper.c (vm_cref_replace_with_duplicated_cref): ditto. 1883 1884 * vm.c (vm_cref_dup): should copy refinements correctly. 1885 1886 * eval.c: use rb_vm_cref_replace_with_duplicated_cref(). 1887 1888 * eval_intern.h: add a decl. of 1889 rb_vm_cref_replace_with_duplicated_cref(). 1890 1891 * vm_eval.c (eval_string_with_cref): do not need to pass 1892 scope's CREF because VM can find out CREF from stack frames. 1893 1894 * test/ruby/test_refinement.rb: add a test. 1895 1896Fri Nov 20 06:52:53 2015 Eric Wong <e@80x24.org> 1897 1898 * .gitattributes: new file for git users 1899 [ruby-core:71578] [Feature #11713] 1900 1901Thu Nov 19 22:35:31 2015 Tanaka Akira <akr@fsij.org> 1902 1903 * ext/socket/ancdata.c: Check buffer full and ignore MSG_TRUNC flag. 1904 buffer fullness is more robust to detect the message is too big for 1905 the buffer. 1906 AIX 7.1 recvmsg doesn't set MSG_TRUNC for rflags when MSG_PEEK is 1907 given. 1908 1909Thu Nov 19 21:55:11 2015 Koichi Sasada <ko1@atdot.net> 1910 1911 * gc.c (gc_start): force to invoke GC by GC.start 1912 even if it is GC.disable'd. 1913 1914 * test/ruby/test_gc.rb: add a test. 1915 1916Thu Nov 19 20:08:59 2015 Koichi Sasada <ko1@atdot.net> 1917 1918 * gc.c: trivial performance improvements. 1919 1920 name modified 1921 vm1_gc_short_lived* 1.015 1922 vm1_gc_short_with_complex_long* 1.014 1923 vm1_gc_short_with_long* 1.000 1924 vm1_gc_short_with_symbol* 1.016 1925 vm1_gc_wb_ary* 1.002 1926 vm1_gc_wb_ary_promoted* 0.996 1927 vm1_gc_wb_obj* 1.045 1928 vm1_gc_wb_obj_promoted* 1.014 1929 vm3_gc 1.021 1930 1931 * gc.c (gc_writebarrier_generational): reorder parameters to optimize 1932 register passing function call. 1933 1934 * gc.c (gc_writebarrier_incremental): ditto. 1935 1936 * gc.c (rb_gc_writebarrier): remove LIKELY(). 1937 LIKELY() seems to move related functions not better places. 1938 1939Thu Nov 19 19:45:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1940 1941 * ruby.c (ruby_prog_init): [DOC] ARGV does not contain the name of 1942 the executable. [ruby-core:71561] [Bug #11711] 1943 1944Thu Nov 19 15:53:21 2015 Koichi Sasada <ko1@atdot.net> 1945 1946 * signal.c: should also clear ruby_disable_gc. 1947 [Bug #11692] 1948 1949Thu Nov 19 15:31:45 2015 Koichi Sasada <ko1@atdot.net> 1950 1951 * compile.c (iseq_compile_each): T_IMEMO/iseq objects should be 1952 wrap with ISeq wrappers. [Bug #11676] 1953 1954Thu Nov 19 15:16:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 1955 1956 * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(c6b4946). 1957 this version includes #1114, #1314, #1322, #1375, #1383, #1387 1958 * test/rubygems: ditto. 1959 1960Thu Nov 19 14:14:37 2015 NAKAMURA Usaku <usa@ruby-lang.org> 1961 1962 * win32/win32.c (finish_overlapped_socket): return value of this 1963 function should be only 0 or SOCKET_ERROR. 1964 1965Thu Nov 19 14:12:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 1966 1967 * compile.c (iseq_tailcall_optimize): apply tail call optimization 1968 before conversion to specialized instructions. when looking 1969 back from `leave` instruction, `send` instructions have been 1970 translated already. 1971 1972Thu Nov 19 13:57:58 2015 NAKAMURA Usaku <usa@ruby-lang.org> 1973 1974 * win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input, 1975 because POSIX platforms just do so. fixes test errors revealed by 1976 r52647. 1977 1978Thu Nov 19 02:52:30 2015 NAKAMURA Usaku <usa@ruby-lang.org> 1979 1980 * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size 1981 only when vmaxdatlen is nil. 1982 1983Thu Nov 19 02:20:11 2015 Tanaka Akira <akr@fsij.org> 1984 1985 * test/socket/test_socket.rb (test_udp_recvmsg_truncation): rflags is 1986 nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL. 1987 Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709] 1988 1989Thu Nov 19 01:48:05 2015 NAKAMURA Usaku <usa@ruby-lang.org> 1990 1991 * configure.in: add -static-libgcc for mingw automatically if available. 1992 1993Thu Nov 19 00:53:26 2015 NAKAMURA Usaku <usa@ruby-lang.org> 1994 1995 * ext/extmk.rb (--extflags): new option to pass EXTLDFLAGS to children, 1996 especially exts.mk. 1997 1998 * common.mk (EXTMK_ARGS): use above option. 1999 2000Wed Nov 18 22:50:43 2015 Koichi Sasada <ko1@atdot.net> 2001 2002 * vm_method.c (rb_class_clear_method_cache): should clear all 2003 RCLASS_CALLABLE_M_TBLs of all sub-classes (T_ICLASS). 2004 2005 RCLASS_CALLABLE_M_TBL() caches complemented method entries. 2006 It should be cleared when the modules are cleared. 2007 On previous version clears only for direct children. 2008 It is enough for normal modules because corresponding T_ICLASSes 2009 are direct children. 2010 2011 However, refinements create complex data structure. So that 2012 we need to clear all children (and descendants). 2013 [ruby-core:71423] [Bug #11672] 2014 2015 * vm_method.c (rb_clear_method_cache_by_class): rb_mKernel 2016 doesn't call rb_class_clear_method_cache, so that 2017 clear child T_ICLASSes. 2018 2019 * test/ruby/test_refinement.rb: enable disabled test. 2020 2021Wed Nov 18 21:09:08 2015 Koichi Sasada <ko1@atdot.net> 2022 2023 * vm_method.c (prepare_callable_method_entry): use 2024 RCLASS_CALLABLE_M_TBL() instead of accessing a filed directly. 2025 2026Wed Nov 18 17:08:18 2015 Koichi Sasada <ko1@atdot.net> 2027 2028 * method.h: introduce the following field and macros. 2029 2030 * rb_method_definition_t::complemented_count to count shared method 2031 entries because of complemented method entries and separate from 2032 alias_count. 2033 2034 Shared `def' only by complemented method entries should not prevent 2035 method re-definition warning. 2036 2037 * METHOD_ENTRY_COMPLEMENTED(me) to represent complemented method entry. 2038 * METHOD_ENTRY_COMPLEMENTED_SET(me) to check it as complemented me. 2039 2040 * vm_insnhelper.c (aliased_callable_method_entry): should also 2041 check me->def->complemented_count. 2042 2043 * vm_method.c (method_definition_addref_complement): add to count 2044 complemented method entries number. 2045 2046 * vm_method.c (rb_method_definition_release): release `def' iff 2047 alias_count == 0 and complemented_count == 0. 2048 2049 * test/ruby/test_module.rb: add a test. 2050 2051Wed Nov 18 17:06:19 2015 Koichi Sasada <ko1@atdot.net> 2052 2053 * gc.c (rb_raw_obj_info): fix trivial issues. 2054 2055 * support SPECIAL_CONSTs. 2056 * fix IMEMO/ment outputs. 2057 2058Wed Nov 18 11:32:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2059 2060 * compile.c (iseq_peephole_optimize): eliminate always/never 2061 branches after a literal object. this sequence typically 2062 appears by defined? operator for a method call on a local 2063 variable. 2064 2065Wed Nov 18 10:33:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> 2066 2067 * ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size 2068 when EMSGSIZE occurs on non HAVE_STRUCT_MSGHDR_MSG_CONTROL platforms 2069 (such as, Windows). fixes a test error revealed by r52625. 2070 2071Wed Nov 18 10:12:36 2015 Eric Wong <e@80x24.org> 2072 2073 * ext/socket/ancdata.c (bsock_recvmsg_internal): use 4096 as 2074 default size to match pre-r52610, which also maps to a common 2075 page size. 2076 2077Wed Nov 18 10:05:25 2015 Shugo Maeda <shugo@ruby-lang.org> 2078 2079 * doc/syntax/refinements.rdoc: update documentation to reflect 2080 recent changes. 2081 [ci skip] [ruby-core:71466] [Misc #11681] Patch by James Adam 2082 2083Wed Nov 18 09:50:21 2015 Naotoshi Seo <sonots@gmail.com> 2084 2085 * test/logger/test_logdevice.rb: Fix tests of logger to make it work on 2086 windows (windows can not remove opened file) [Bug #11702] 2087 2088Wed Nov 18 06:59:52 2015 Eric Wong <e@80x24.org> 2089 2090 * ext/socket/ancdata.c (bsock_recvmsg_internal): grow buffer 2091 on unspecified maxdatlen 2092 [ruby-core:71517] [Bug #11701] 2093 * ext/socket/lib/socket.rb (Socket#recvmsg): nil default for dlen 2094 (Socket#recvmsg_nonblock): ditto 2095 * test/socket/test_socket.rb (test_recvmsg_udp_no_arg): new test 2096 2097Tue Nov 17 19:50:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> 2098 2099 * win32/win32.c (fstat): declare for mingw. 2100 2101Tue Nov 17 19:02:59 2015 NAKAMURA Usaku <usa@ruby-lang.org> 2102 2103 * configure.in (BASERUBY): use Kernel#print instead of Kernel#p because 2104 the baseruby may output CRLF as end of line. 2105 2106Tue Nov 17 15:34:34 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 2107 * NEWS: Added update from Unicode 7.0.0 to 8.0.0 [ci skip] 2108 2109Tue Nov 17 15:30:30 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 2110 * enc/unicode/casefold.h, name2ctype.h: Change Unicode 2111 Version for regular expressions from 7.0.0 to 2112 8.0.0 (with help from Kimihito Matsui) [Feature #11563] 2113 2114Tue Nov 17 14:36:00 2015 Kenichi Kamiya <kachick1@gmail.com> 2115 2116 * lib/ostruct.rb (dig): Implement OpenStruct#dig 2117 [Feature #11688] 2118 2119Tue Nov 17 14:04:14 2015 NAKAMURA Usaku <usa@ruby-lang.org> 2120 2121 * ext/socket/lib/socket.rb (Socket#recvmsg{,_nonblock}): default values 2122 of clen must be nil. 2123 2124 * ext/socket/ancdata.c (bsock_sendmsg_internal): handle nil of clen. 2125 fixes test errors introduced at r52602. 2126 2127Tue Nov 17 13:43:46 2015 NAKAMURA Usaku <usa@ruby-lang.org> 2128 2129 * ext/socket/lib/socket.rb: UNIXSocket is not always exists. fixes 2130 install error on Windows, introduced at r52601. 2131 2132Tue Nov 17 11:27:23 2015 Eric Wong <e@80x24.org> 2133 2134 * ext/socket/lib/socket.rb (Socket#recvfrom_nonblock): 2135 UDPSocket#recvfrom_nonblock): 2136 update doc for `exception: false` and destination buffer 2137 [ruby-core:69542] [Feature #11229] 2138 [ruby-core:69543] [Feature #11242] 2139 2140Tue Nov 17 11:25:05 2015 Eric Turner <ericturnerdev@gmail.com> 2141 2142 * array.c (rb_ary_dig), hash.c (rb_hash_dig): [DOC] Update 2143 comments describing dig methods. [Fix GH-1103] 2144 2145 * struct.c (rb_struct_dig): [DOC] add rdoc. 2146 2147Tue Nov 17 11:22:22 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 2148 * NEWS: Small grammatical fix [ci skip] 2149 2150Tue Nov 17 10:12:30 2015 Eric Wong <e@80x24.org> 2151 2152 * ext/socket/lib/socket.rb (Socket.accept_loop): avoid exceptions 2153 (Socket.udp_server_recv): ditto 2154 2155Tue Nov 17 09:59:00 2015 Eric Wong <e@80x24.org> 2156 2157 * ext/socket/ancdata.c (bsock_sendmsg_internal): avoid arg parsing 2158 [ruby-core:71439] [Feature #11339] 2159 (rsock_bsock_sendmsg): make private, adjust for above 2160 (rsock_bsock_sendmsg_nonblock): ditto 2161 * ext/socket/rubysocket.h: adjust prototypes 2162 (rsock_opt_false_p): remove 2163 * ext/socket/basicsocket.c (rsock_init_basicsocket): 2164 define private methods 2165 * ext/socket/lib/socket.rb (BasicSocket#sendmsg): new wrapper 2166 (BasicSocket#sendmsg_nonblock): ditto 2167 2168Tue Nov 17 09:45:18 2015 Eric Wong <e@80x24.org> 2169 2170 * ext/socket/ancdata.c (bsock_recvmsg_internal): avoid arg parsing 2171 (rsock_bsock_recvmsg): adjust for above change 2172 (rsock_bsock_recvmsg_nonblock): ditto 2173 [ruby-core:71439] [Feature #11339] 2174 * ext/socket/rubysocket.h: adjust prototypes for above 2175 * ext/socket/basicsocket.c (rsock_init_basicsocket): 2176 adjust private methods 2177 * ext/socket/lib/socket.rb (BasicSocket#recvmsg): wrapper method 2178 (BasicSocket#recvmsg_nonblock): ditto 2179 2180Tue Nov 17 08:36:34 2015 Eric Wong <e@80x24.org> 2181 2182 * ext/socket/init.c (rsock_s_accept_nonblock): avoid parsing args 2183 [ruby-core:71439] [Feature #11339] 2184 * ext/socket/rubysocket.h: adjust prototype 2185 * ext/socket/socket.c (sock_accept_nonblock): make private 2186 * ext/socket/tcpserver.c (tcp_accept_nonblock): ditto 2187 * ext/socket/unixserver.c (unix_accept_nonblock): ditto 2188 * ext/socket/lib/socket.rb (Socket#accept_nonblock): 2189 implement as wrapper, move RDoc 2190 (TCPServer#accept_nonblock): ditto 2191 (UNIXServer#accept_nonblock): ditto 2192 2193Tue Nov 17 08:25:57 2015 Eric Wong <e@80x24.org> 2194 2195 * ext/socket/socket.c (sock_connect_nonblock): 2196 avoid argument parsing in C. 2197 [ruby-core:71439] [Feature #11339] 2198 * ext/socket/lib/socket.rb (Socket#connect_nonblock): 2199 new wrapper for private method, move RDoc 2200 2201Tue Nov 17 08:16:09 2015 Eric Wong <e@80x24.org> 2202 2203 * ext/socket/init.c (rsock_s_recvfrom_nonblock): 2204 avoid arg parsing with C API 2205 [ruby-core:71439] [Feature #11339] 2206 * ext/socket/basicsocket.c (bsock_recv_nonblock): 2207 adjust for above change, make private 2208 * ext/socket/socket.c (sock_recvfrom_nonblock): ditto 2209 * ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto 2210 * ext/socket/lib/socket.rb (BasicSocket#recv_nonblock): 2211 new wrapper for private method, move RDoc 2212 (Socket#recvfrom_nonblock): ditto 2213 (UDPSocket#recvfrom_nonblock): ditto 2214 2215Mon Nov 16 21:27:54 2015 Naohisa Goto <ngotogenome@gmail.com> 2216 2217 * test/dtrace/helper.rb (Dtrace::TestCase#trap_probe): dtrace buffer 2218 size is set as 8m on Solaris (default 4m). [Bug #11697] 2219 2220Mon Nov 16 20:03:14 2015 Naotoshi Seo <sonots@gmail.com> 2221 2222 * lib/logger.rb: Add Logger#reopen 2223 2224Mon Nov 16 18:21:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2225 2226 * object.c (rb_obj_dig): dig in nested structs too. 2227 2228 * struct.c (rb_struct_dig): new method Struct#dig. 2229 [Feature #11688] 2230 2231Mon Nov 16 17:41:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2232 2233 * compile.c (iseq_peephole_optimize): optimize tail calls on aref 2234 and aset specialized instructions. 2235 2236 * compile.c (iseq_peephole_optimize): optimize replaced leave 2237 instruction copied to jump instruction too. 2238 2239Mon Nov 16 16:39:38 2015 Akinori MUSHA <knu@iDaemons.org> 2240 2241 * lib/set.rb: Enable frozen_string_literal. 2242 2243 * lib/set.rb: Move << out of the begin block that ensures pop. 2244 2245Mon Nov 16 16:28:30 2015 Akinori MUSHA <knu@iDaemons.org> 2246 2247 * lib/set.rb (Hash#flatten!, #add?, #delete?, #collect!, #reject!, 2248 #select!, #^, #classify): Micro-optimize some methods for 2249 performance and readability. 2250 2251Mon Nov 16 16:17:58 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2252 2253 * ChangeLog: fixed accidentally commit. 2254 2255Mon Nov 16 16:10:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2256 2257 * mkconfig.rb: Add some high-level documentation. 2258 [ci skip][fix GH-1081] Patch by @ulfalizer 2259 2260Mon Nov 16 15:59:14 2015 yui-knk <spiketeika@gmail.com> 2261 2262 * proc.c: Add call-seq of `Method#super_method` 2263 [ci skip][fix GH-1094] 2264 2265Mon Nov 16 15:58:39 2015 Kenichi Kamiya <kachick1@gmail.com> 2266 2267 * struct.c: Standardize a method signature of Struct#[]=. 2268 [ci skip][fix GH-1095] 2269 2270Mon Nov 16 15:42:36 2015 Akinori MUSHA <knu@iDaemons.org> 2271 2272 * lib/set.rb (#>=, #>, #<=, #<): Make use of Hash#>=, #>, #<, and 2273 #<= when comparing against an instance of the same kind. 2274 2275Mon Nov 16 15:37:11 2015 Naotoshi Seo <sonots@gmail.com> 2276 2277 * lib/logger.rb: Support symbol and string log level setting 2278 2279Mon Nov 16 15:33:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2280 2281 * tool/rbinstall.rb: fix wrong permission for gem specification without 2282 zlib runtime. [Bug #11685][ruby-dev:49343] 2283 2284Mon Nov 16 12:11:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2285 2286 * lib/webrick/httpauth/basicauth.rb: fix a typo. 2287 [ci skip][fix GH-1099] Patch by @jwworth 2288 * lib/webrick/httpauth/digestauth.rb: ditto. 2289 2290Sun Nov 15 18:28:43 2015 Kenichi Kamiya <kachick1@gmail.com> 2291 2292 * vm_method.c (set_method_visibility): should fail if the receiver 2293 is frozen. [ruby-core:71489] [Bug #11687] 2294 2295Sat Nov 14 22:15:07 2015 Tanaka Akira <akr@fsij.org> 2296 2297 * ext/socket/lib/socket.rb: Specify frozen_string_literal: true. 2298 2299Sat Nov 14 21:44:56 2015 Tanaka Akira <akr@fsij.org> 2300 2301 * lib/time.rb: Use "<<" to reduce string allocation. 2302 2303Sat Nov 14 17:45:49 2015 Tanaka Akira <akr@fsij.org> 2304 2305 * lib/tsort.rb: Specify frozen_string_literal: true. 2306 2307Sat Nov 14 17:25:15 2015 Tanaka Akira <akr@fsij.org> 2308 2309 * lib/resolv-replace.rb: Specify frozen_string_literal: true. 2310 2311Sat Nov 14 17:00:13 2015 Tanaka Akira <akr@fsij.org> 2312 2313 * lib/time.rb: Specify frozen_string_literal: true. 2314 2315Sat Nov 14 16:43:02 2015 Tanaka Akira <akr@fsij.org> 2316 2317 * lib/open3.rb: Specify frozen_string_literal: true. 2318 2319Sat Nov 14 05:04:09 2015 Koichi Sasada <ko1@atdot.net> 2320 2321 * node.h: remove old comments. 2322 2323Sat Nov 14 04:55:36 2015 Koichi Sasada <ko1@atdot.net> 2324 2325 * refactoring CREF related code. 2326 2327 * eval_intern.h: remove unused setter functions. 2328 CREF_CLASS_SET() 2329 CREF_NEXT_SET() 2330 CREF_SCOPE_VISI_COPY() 2331 2332 * eval_intern.h: rename flags: 2333 * NODE_FL_CREF_PUSHED_BY_EVAL_ -> CREF_FL_PUSHED_BY_EVAL 2334 * NODE_FL_CREF_OMOD_SHARED_ -> CREF_FL_OMOD_SHARED 2335 and use IMEMO_FL_USER1/2. 2336 2337 * vm.c (vm_cref_new): accept push_by_eval parameter. 2338 2339 * vm.c (vm_cref_new_use_prev): added for rb_vm_rewrite_cref(). 2340 2341 * vm_insnhelper.c (vm_cref_push): accept pushed_by_eval parameter. 2342 2343 * vm_insnhelper.h: remove unused macros: 2344 COPY_CREF_OMOD() and COPY_CREF(). 2345 2346 * vm_eval.c, insns.def: catch up this fix. 2347 2348Sat Nov 14 02:58:03 2015 Koichi Sasada <ko1@atdot.net> 2349 2350 * vm.c (vm_define_method): refactoring. 2351 * get CREF in this function. 2352 * cbase is no longer needed (CREF_CLASS(cref) is enough). 2353 2354 * compile.c: RubyVM::FrozenCore.define_method only accept 2 args. 2355 2356Sat Nov 14 02:34:43 2015 Koichi Sasada <ko1@atdot.net> 2357 2358 * vm.c (vm_define_method): do not use current CREF immediately, 2359 but check CREF in environment or methods. Methods defined in methods 2360 should be public. 2361 [Bug #11571] 2362 2363 * vm_method.c (rb_scope_module_func_check): check CREF in env or me. 2364 if CREF is contained by `me', then return FALSE. 2365 2366 * test/ruby/test_method.rb: add a test. 2367 2368Sat Nov 14 02:19:16 2015 Koichi Sasada <ko1@atdot.net> 2369 2370 * method.h: constify rb_cref_t::scope_visi; 2371 2372 * eval_intern.h (CREF_SCOPE_VISI_COPY): catch up this fix. 2373 2374 * vm_method.c: ditto. 2375 2376Sat Nov 14 01:53:52 2015 Naohisa Goto <ngotogenome@gmail.com> 2377 2378 * pack.c (pack_unpack, AVOID_CC_BUG): Very ugly workaround for 2379 optimization bug of Oracle Solaris Studio 12.4 on Solaris 2380 with -xO4 optimization option. [Bug #11684] 2381 2382Fri Nov 13 23:00:23 2015 Hiroshi Shirosaki <h.shirosaki@gmail.com> 2383 2384 * configure.in: unset LD_PRELOAD on mingw. msys2 child processes 2385 crash at make test-all with LD_PRELOAD. 2386 [ruby-core:71461] [Bug #11680] 2387 2388Fri Nov 13 14:00:43 2015 Zachary Scott <zzak@ruby-lang.org> 2389 2390 * ext/openssl/ossl_pkey.c: Merge ruby/openssl@b9ea8ef [Bug #10735] 2391 2392Fri Nov 13 13:09:16 2015 Zachary Scott <zzak@ruby-lang.org> 2393 2394 * ext/openssl/ossl_ssl.c: Merge ruby/openssl@81e1a30 2395 2396 * test/openssl/test_ssl.rb: ditto 2397 2398Fri Nov 13 13:05:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2399 2400 * prelude.rb (Thread.exclusive): warn as deprecated. 2401 2402Fri Nov 13 10:36:39 2015 Victor Nawothnig <Victor.Nawothnig@gmail.com> 2403 2404 * parse.y (new_unless): optimize constant condition for `unless` 2405 as well as `if`. [Fix GH-1092] 2406 2407Fri Nov 13 10:08:41 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2408 2409 * ext/psych/psych.gemspec: bump version to 2.0.15 2410 2411Thu Nov 12 18:44:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2412 2413 * parse.y (parser_magic_comment): should match exactly. 2414 [ruby-core:71460] [Bug #11679] 2415 2416Thu Nov 12 16:16:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2417 2418 * template/prelude.c.tmpl: enable tail call optimization. 2419 2420Thu Nov 12 14:17:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2421 2422 * parse.y (parser_yylex): ANDDOT at the head of the line denote 2423 line continuation from previous one to support fluent interface, 2424 as well as single dot. 2425 2426Thu Nov 12 13:49:50 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2427 2428 * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(db78980). 2429 this version includes #1367 , #1373 , #1375 2430 * test/rubygems: ditto. 2431 2432Thu Nov 12 10:53:41 2015 Eric Wong <e@80x24.org> 2433 2434 * benchmark/bm_io_nonblock_noex2.rb: new benchmark based 2435 on bm_io_nonblock_noex.rb 2436 * io.c (io_read_nonblock): move documentation to prelude.rb 2437 (io_write_nonblock): ditto 2438 (Init_io): private, internal methods for prelude.rb use only 2439 * prelude.rb (IO#read_nonblock): wrapper + documentation 2440 (IO#write_nonblock): ditto 2441 [ruby-core:71439] [Feature #11339] 2442 2443Wed Nov 11 18:30:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2444 2445 * sprintf.c (rb_str_format): look up the key, then get default 2446 value and raise KeyError if the returned value is nil. 2447 [ruby-dev:49338] [Ruby trunk - Bug #11677] 2448 2449Wed Nov 11 17:38:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2450 2451 * vm_eval.c (local_var_list_add): skip internal local variable 2452 name by its type but not if it has a name. internal local 2453 variable names are just unique per frame, not globally. 2454 [ruby-core:71437] [Bug #11674] 2455 2456Wed Nov 11 14:14:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2457 2458 * transcode.c: fix a typo 2459 [ci skip][fix GH-1091] Patch by @jwworth 2460 2461Wed Nov 11 11:58:38 2015 Shugo Maeda <shugo@ruby-lang.org> 2462 2463 * lib/net/ftp.rb (initialize): Connections are in passive mode per 2464 default now. The default mode can be changed by 2465 Net::FTP.default_passive=. 2466 [ruby-core:71146] [Feature #11612] 2467 2468 * lib/net/ftp.rb (default_passive=, default_passive): new methods. 2469 2470Wed Nov 11 09:03:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2471 2472 * sprintf.c (rb_str_format): respect default value of a hash. no 2473 longer raises KeyError unless the default value of the hash is 2474 nil. [ruby-core:71354] [Bug #11661] 2475 2476Tue Nov 10 20:35:12 2015 Tanaka Akira <akr@fsij.org> 2477 2478 * lib/open-uri.rb: Remove indicator for "frozen_string_literal: true". 2479 2480 * lib/pp.rb: Ditto. 2481 2482 * lib/prettyprint.rb: Ditto. 2483 2484 * lib/resolv.rb: Ditto. 2485 2486 * lib/securerandom.rb: Ditto. 2487 2488 * lib/tmpdir.rb: Ditto. 2489 2490 * lib/unicode_normalize/tables.rb: Ditto. 2491 2492 * test/net/ftp/test_buffered_socket.rb: Ditto. 2493 2494 * test/net/ftp/test_mlsx_entry.rb: Ditto. 2495 2496 * test/open-uri/test_open-uri.rb: Ditto. 2497 2498 * test/open-uri/test_ssl.rb: Ditto. 2499 2500 * test/pathname/test_pathname.rb: Ditto. 2501 2502 * test/test_pp.rb: Ditto. 2503 2504 * test/test_prettyprint.rb: Ditto. 2505 2506 * tool/transcode-tblgen.rb: Ditto. 2507 2508 * ext/pathname/lib/pathname.rb: Ditto. 2509 2510Tue Nov 10 18:42:24 2015 Aleksandrs Ledovskis <aleksandrs@ledovskis.lv> 2511 2512 * defs/id.def, parse.y: Switch internal token name to reflect 2513 current form of safe-call operator. [Fix GH-1090] 2514 2515Tue Nov 10 18:25:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2516 2517 * hash.c (rb_hash_to_proc): use rb_func_proc_new to make light 2518 weight proc. [Feature #11653] 2519 2520Tue Nov 10 18:23:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2521 2522 * proc.c (cfunc_proc_t): add room for me. 2523 2524 * proc.c (cfunc_proc_new): generalise for cfunc proc without env. 2525 2526 * proc.c (rb_func_proc_new, rb_func_lambda_new): new functions to 2527 make proc/lambda without env from cfunc. 2528 2529Tue Nov 10 17:32:35 2015 Naohisa Goto <ngotogenome@gmail.com> 2530 2531 * bootstraptest/test_fork.rb ([ruby-dev:37934]): :NPROC (RLIMIT_NPROC) 2532 is not supported on some platforms (e.g. Solaris 10). 2533 2534Tue Nov 10 16:57:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2535 2536 * hash.c (rb_hash_to_proc): new method Hash#to_proc. 2537 [Feature #11653] 2538 2539Tue Nov 10 14:34:09 2015 NARUSE, Yui <naruse@ruby-lang.org> 2540 2541 * time.c (rb_time_timespec_new): swap utc and localtime 2542 to generate gmt flag by INT_MAX - gmtoff. 2543 2544Tue Nov 10 14:01:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2545 2546 * hash.c (rb_hash_{le,lt,ge,gt}): new methods, Hash#<=, Hash#<, 2547 Hash#>=, Hash#>, to test if all elements of a hash are also 2548 included in another hash, and vice versa. 2549 [ruby-core:68561] [Feature #10984] 2550 2551Tue Nov 10 11:25:29 2015 NARUSE, Yui <naruse@ruby-lang.org> 2552 2553 * time.c (rb_timespec_now): added. [Feature #11558] 2554 2555 * time.c (rb_time_timespec_new): added. [Feature #11558] 2556 2557Tue Nov 10 06:17:17 2015 Eric Wong <e@80x24.org> 2558 2559 * variable.c (rb_autoload_load): allow recursive calls 2560 [ruby-core:71345] [Bug #11658] 2561 * test/ruby/test_autoload.rb (test_autoload_while_autoloading): 2562 new test by: Hiroshi Shirosaki <h.shirosaki@gmail.com> 2563 [ruby-core:71390] 2564 2565Tue Nov 10 00:36:46 2015 Tanaka Akira <akr@fsij.org> 2566 2567 * lib/resolv.rb (Resolv::DNS::Message::MessageEncoder#put_labels): 2568 Prevent overflow of pointer to labels. 2569 Patch by Hannes Georg. [ruby-core:71248] [Bug #11632] 2570 2571Tue Nov 10 00:25:41 2015 Kazuki Tsujimoto <kazuki@callcc.net> 2572 2573 * gems/bundled_gems: update to power_assert 0.2.6. 2574 2575Mon Nov 9 21:48:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2576 2577 * vm_eval.c (rb_check_funcall_default): split from 2578 rb_check_funcall to return the given fallback value. 2579 2580 * object.c (rb_obj_dig): use rb_check_funcall_default so that tail 2581 call optimization will be possible. [Feature #11643] 2582 2583Mon Nov 9 21:27:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2584 2585 * array.c (rb_ary_dig): new method Array#dig. 2586 2587 * hash.c (rb_hash_dig): new method Hash#dig. 2588 2589 * object.c (rb_obj_dig): dig in nested arrays/hashes. 2590 [Feature #11643] 2591 2592Mon Nov 9 18:00:47 2015 Yuki Nishijima <mail@yukinishijima.net> 2593 2594 * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta3 2595 2596Mon Nov 9 17:38:14 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2597 2598 * test/runner.rb: use official repository for coverage tool. 2599 * Makefile.in: ditto. 2600 * common.mk: ditto. 2601 * .gitignore: ignored third party repositories. 2602 2603Mon Nov 9 17:29:09 2015 Shugo Maeda <shugo@ruby-lang.org> 2604 2605 * compile.c (iseq_compile_each): Dynamic string literals should be 2606 frozen. 2607 [ruby-core:57574] [Feature #8976] 2608 2609Mon Nov 9 15:56:07 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2610 2611 * common.mk: Use ruby organization url for simplecov repository. 2612 2613Sun Nov 8 16:24:09 2015 Masaki Matsushita <glass.saga@gmail.com> 2614 2615 * NEWS: describe addition of File::TMPFILE 2616 2617Sun Nov 8 15:19:17 2015 Masaki Matsushita <glass.saga@gmail.com> 2618 2619 * file.c: Add O_TMPFILE. 2620 2621Sun Nov 8 14:24:43 2015 windwiny <windwiny.ubt@gmail.com> 2622 2623 * method.h (METHOD_ENTRY_{VISI,BASIC,FLAGS}_SET): suppress 2624 shift-op-parentheses warnings. [Fix GH-1082] 2625 2626Sun Nov 8 14:01:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2627 2628 * ext/psych/psych_emitter.c: backport 5bd7744 from tenderlove/psych. 2629 support backward compatibility of Ruby 2.0 2630 2631Sun Nov 8 10:55:10 2015 Anton Davydov <antondavydov.o@gmail.com> 2632 2633 * io.c (rb_io_gets_m): Update IO#gets doc for characters more than 2634 1 byte. [Fix GH-1085] 2635 2636Sun Nov 8 10:37:58 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2637 2638 * lib/uri/ftp.rb: fix a typo. 2639 [fix GH-1084][ci skip] Patch by @windwiny 2640 2641Sun Nov 8 08:10:31 2015 Koichi Sasada <ko1@atdot.net> 2642 2643 * vm_trace.c (exec_hooks_precheck): check need_clean everytime 2644 to clean-up unused hooks. 2645 2646 * vm_trace.c (list->need_clean): use as boolean value. 2647 2648Sun Nov 8 01:31:27 2015 NARUSE, Yui <naruse@ruby-lang.org> 2649 2650 * lib/net/http.rb (Net::HTTP#initialize): 2651 default value of Net::HTTP#open_timeout is now 60 (was nil). 2652 2653Sat Nov 7 12:18:05 2015 Eric Wong <e@80x24.org> 2654 2655 * string.c (id_to_s): remove redundant variable 2656 (rb_obj_as_string): trade id_to_s for idTo_s 2657 (rb_str_equal): replace rb_intern(...) with pre-defined ID 2658 (rb_str_cmp_m): ditto 2659 (rb_str_match): ditto 2660 (str_upto_each): ditto 2661 (rb_str_sum): ditto 2662 (Init_String): remove id_to_s initialization 2663 2664Sat Nov 7 11:40:05 2015 Eric Wong <e@80x24.org> 2665 2666 * thread.c (rb_cThreadShield): make static 2667 2668Sat Nov 7 09:51:38 2015 Koichi Sasada <ko1@atdot.net> 2669 2670 * vm_trace.c (rb_threadptr_exec_event_hooks_orig): 2671 maintain trace_running counter on internal events. 2672 2673 This patch is made by Takashi Kokubun <takashikkbn@gmail.com>. 2674 [Bug #11603] https://github.com/ruby/ruby/pull/1059 2675 2676Sat Nov 7 03:32:27 2015 Koichi Sasada <ko1@atdot.net> 2677 2678 * include/ruby/ruby.h (RSTRUCT_PTR): need a close parenthesis. 2679 2680Sat Nov 7 01:32:06 2015 Naohisa Goto <ngotogenome@gmail.com> 2681 2682 * dir.c (dir_fileno, dirfd): support of Dir#fileno on Solaris 10. 2683 Solaris 10 does not have dirfd, but the file descriptor of a 2684 directory is stored in the d_fd or dd_fd member in the DIR struct. 2685 Note that Solaris 11 has dirfd(3C). 2686 2687 * configure.in: checks for DIR.d_fd and DIR.dd_fd on Solaris 10. 2688 2689Fri Nov 6 23:13:53 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 2690 2691 * array.c: clarifies Array#reject! documentation. 2692 [fix GH-894][ci skip] Patch by @GxSplinter 2693 2694Fri Nov 6 20:18:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2695 2696 * test/runner.rb: extracted test helper. 2697 * test/lib/zombie_hunter.rb: ditto. 2698 2699Fri Nov 6 18:07:47 2015 Naohisa Goto <ngotogenome@gmail.com> 2700 2701 * include/ruby/ruby.h (rb_array_const_ptr, rb_struct_const_ptr): 2702 Suppress pointer type mismatch warnings occurred with old version 2703 of Fujitsu C Compiler (fcc) on Solaris 10. The warnings cause 2704 failure of TestMkmf::TestConvertible. [Bug #11644] [ruby-dev:49326] 2705 * include/ruby/ruby.h (FIX_CONST_VALUE_PTR): macro for the above, 2706 only effective with fcc. 2707 2708Fri Nov 6 12:39:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2709 2710 * defs/id.def (token_ops), parse.y (parser_yylex): change DOTQ 2711 from ".?" to "&.". [ruby-core:71363] [Feature #11537] 2712 2713Fri Nov 6 09:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2714 2715 * parse.y (kwd_append): fix segv after invalid keyword argument, 2716 preceding keyword list is NULL when syntax error is there. 2717 [ruby-core:71356] [Bug #11663] 2718 2719Fri Nov 6 06:59:37 2015 Eric Wong <e@80x24.org> 2720 2721 * test/ruby/test_autoload: hoist out ruby_impl_require 2722 2723Thu Nov 5 13:03:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2724 2725 * defs/id.def (token_ops): gather associations between IDs, 2726 operators, and parser tokens. 2727 2728Thu Nov 5 10:17:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2729 2730 * ext/socket/socket.c (make_addrinfo): use RARRAY_ASET for 2731 write-barrier. 2732 2733 * ext/tk/tcltklib.c ({call,eval,invoke}_queue_handler): ditto. 2734 2735 * ext/tk/tkutil/tkutil.c (ary2list, ary2list2): ditto. 2736 2737Thu Nov 5 10:09:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2738 2739 * ext/**/*.c: prefer RARRAY_AREF to indexing RARRAY_CONST_PTR. 2740 pointed out by hanmac. 2741 https://github.com/ruby/ruby/commit/3553a86#commitcomment-14187670 2742 2743Wed Nov 4 17:33:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2744 2745 * lib/debug.rb: Add documentation for #thread_list_all. 2746 [Misc #11580][ci skip] 2747 2748Wed Nov 4 15:45:59 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2749 2750 * class.c: fix documentation for rb_define_class{_id}_under. 2751 [fix GH-991][ci skip] Patch by @kachick 2752 2753Wed Nov 4 15:40:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2754 2755 * method.h: fix typo. Patch by @davydovanton 2756 [fix GH-1076][ci skip] 2757 2758Wed Nov 4 15:39:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2759 2760 * hash.c: use correct grammar. Patch by @tveastman 2761 [fix GH-1079][ci skip] 2762 2763Wed Nov 4 11:38:23 2015 Jake Worth <jakeworth82@gmail.com> 2764 2765 * process.c (proc_getsid): [DOC] Fix double word 'for' and typo. 2766 [Fix GH-1080] 2767 2768Wed Nov 4 06:01:52 2015 Eric Wong <e@80x24.org> 2769 2770 * include/ruby/ruby.h (struct RObject): hide iv_index_tbl type 2771 [ruby-core:71306] [Feature #11647] 2772 2773Tue Nov 3 06:48:58 2015 Eric Wong <e@80x24.org> 2774 2775 * variable.c (find_class_path): remove cast for rb_class_ivar_set 2776 (rb_ivar_set): ditto 2777 (rb_cvar_set): ditto 2778 2779Tue Nov 3 06:18:21 2015 Eric Wong <e@80x24.org> 2780 2781 * variable.c (rb_global_tbl): convert to id_table 2782 2783Tue Nov 3 01:58:46 2015 Naohisa Goto <ngotogenome@gmail.com> 2784 2785 * parse.y (NO_QCALL): fix type mismatch of operands that causes 2786 compile error with Oracle Solaris Studio on Solaris. 2787 [Bug #11645] [ruby-dev:49327] 2788 2789Sun Nov 1 17:14:36 2015 Koichi Sasada <ko1@atdot.net> 2790 2791 * id_table.c (mix_id_table_insert): do not touch list during 2792 list->hash transition because GC can run during transition. 2793 2794Sun Nov 1 11:07:31 2015 Eric Wong <e@80x24.org> 2795 2796 * iseq.c (iseq_memsize): account for rb_call_cache entries 2797 2798Sun Nov 1 09:12:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2799 2800 * parse.y (parser_yylex): ':' separated by a comment and a newline 2801 is not valid as symbol. 2802 2803Sat Oct 31 20:15:48 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2804 2805 * test/openssl/test_pair.rb: skipped tests if openssl doesn't support 2806 ECDH cipher. 2807 2808Sat Oct 31 14:58:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2809 2810 * man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as 2811 it does not allow spaces before its argument. 2812 [ruby-core:71283] [Bug #11641] 2813 2814Sat Oct 31 14:58:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2815 2816 * man/ruby.1 (SYNOPSIS): remove extraneous space for -F option as 2817 it does not allow spaces before its argument. 2818 [ruby-core:71283] [Bug #11641] 2819 2820Sat Oct 31 10:22:49 2015 yui-knk <spiketeika@gmail.com> 2821 2822 * eval_error.c (undef_mesg_for): fix typo. Before this commit 2823 `ArgumentError: malformed format string - %$` was raised when 2824 `NameError#message` is called. [ruby-core:71282] [Bug #11640] 2825 [Fix GH-1077] 2826 2827Fri Oct 30 21:12:45 2015 Kazuki Tsujimoto <kazuki@callcc.net> 2828 2829 * gems/bundled_gems: update to power_assert 0.2.5. 2830 2831Fri Oct 30 19:29:52 2015 Koichi Sasada <ko1@atdot.net> 2832 2833 * gc.c (newobj_slowpath): do not need to use flags hack (commit miss). 2834 2835Fri Oct 30 19:08:48 2015 Koichi Sasada <ko1@atdot.net> 2836 2837 * gc.c (heap_get_freeobj_from_next_freepage): not so UNLIKELY. 2838 2839Fri Oct 30 18:09:51 2015 Koichi Sasada <ko1@atdot.net> 2840 2841 * gc.c (newobj_slowpath): reduce 1 parameter to use only registers 2842 for performance. 2843 2844 On my laptop, 'N.times{x = []}' (where N = 29_000_000) is 2845 1.86 sec -> 1.74 sec. 2846 2847Fri Oct 30 12:53:21 2015 yui-knk <spiketeika@gmail.com> 2848 2849 * test/ruby/test_call.rb: added test for safe navigation operator. 2850 [fix GH-1066] 2851 2852Fri Oct 30 12:47:34 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2853 2854 * ChangeLog: fix wrong commit name. 2855 2856Fri Oct 30 12:36:16 2015 yui-knk <spiketeika@gmail.com> 2857 2858 * vm_method.c: added documentation of protected/private methods. 2859 [fix GH-1072] 2860 * test/ruby/test_module.rb: added testcase for method_defined? 2861 [fix GH-1071] 2862 2863Fri Oct 30 12:06:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2864 2865 * variable.c (rb_class_ivar_set): rename as class specific ivar 2866 setter, and st_table is no longer involved. 2867 2868Fri Oct 30 11:36:33 2015 Eric Wong <e@80x24.org> 2869 2870 * variable.c (generic_ivar_remove): adjust type, set valp 2871 (rb_obj_remove_instance_variable): simplify call 2872 * test/ruby/test_object.rb (test_remove_instance_variable): 2873 expand for implementation details 2874 2875Fri Oct 30 10:37:56 2015 Eric Wong <e@80x24.org> 2876 2877 * internal.h (rb_st_insert_id_and_value): update prototype 2878 * variable.c (rb_st_insert_id_and_value): reduce args 2879 (find_class_path): adjust call for less args 2880 (rb_ivar_set): ditto 2881 (rb_cvar_set): ditto 2882 * class.c (rb_singleton_class_attached): ditto 2883 2884Fri Oct 30 09:57:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2885 2886 * gems/bundled_gems: update latest gems. 2887 test-unit-3.1.5 and minitest-5.8.2 2888 2889Fri Oct 30 09:54:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 2890 2891 * lib/rubygems: Update to RubyGems HEAD(60d7972). 2892 this version contains pull requests number of #1343, #1356, #1357, #1363 2893 at https://github.com/rubygems/rubygems/pulls 2894 * test/rubygems: ditto. 2895 2896Fri Oct 30 07:38:29 2015 Koichi Sasada <ko1@atdot.net> 2897 2898 * insns.def (getinlinecache/setinlinecache): compare ic->ic_cref and 2899 current cref only when cached CREF list includes singleton class. 2900 2901 Singleton classes have own namespaces, so that we need to check 2902 cref as a key (#10943). 2903 2904 However, if current CREF list does not include singleton class, 2905 no need to check CREF because it should be same name space. 2906 2907 * vm_insnhelper.c (vm_get_const_key_cref): add a function returns 2908 CREF only when it includes singleton class. 2909 2910 * vm_core.h: constify iseq_inline_cache_entry::ic_cref. 2911 2912Fri Oct 30 06:43:50 2015 Koichi Sasada <ko1@atdot.net> 2913 2914 * vm_insnhelper.c (vm_env_cref): make it inline for performance. 2915 2916 * vm_insnhelper.c (rb_vm_get_cref): use NULL instead of 0. 2917 2918Fri Oct 30 06:20:40 2015 Koichi Sasada <ko1@atdot.net> 2919 2920 * insns.def: nobody set ic->ic_value.value to Qundef. 2921 2922Fri Oct 30 06:15:50 2015 Koichi Sasada <ko1@atdot.net> 2923 2924 * vm.c: add ifndef guard for VM_CHECK_MODE. 2925 2926Fri Oct 30 06:13:10 2015 Koichi Sasada <ko1@atdot.net> 2927 2928 * vm_insnhelper.c (vm_check_frame_detail): should require me for 2929 VM_FRAME_FLAG_BMETHOD type frame. 2930 2931Thu Oct 29 18:42:30 2015 Koichi Sasada <ko1@atdot.net> 2932 2933 * gc.c (gc_mark_ptr): specify NOINLINE so that gc_mark() can return 2934 immediately when obj is not a markable object. 2935 2936Thu Oct 29 18:05:22 2015 Koichi Sasada <ko1@atdot.net> 2937 2938 * encoding.c (rb_enc_check_str): add for performance. 2939 This function only accepts T_STRING (and T_REGEXP). 2940 2941 This patch improves performance of a tiny_segmenter benchmark 2942 (num=2) 2.54sec -> 2.42sec on my machine. 2943 https://github.com/chezou/TinySegmenter.jl/blob/master/benchmark/benchmark.rb 2944 2945 * encoding.c: add ENC_DEBUG and ENC_ASSERT() macros. 2946 2947 * internal.h: add a decl. of rb_enc_check_str(). 2948 2949 * string.c (rb_str_plus): use rb_enc_check_str(). 2950 2951 * string.c (rb_str_subpat_set): ditto. 2952 2953Thu Oct 29 17:16:40 2015 Koichi Sasada <ko1@atdot.net> 2954 2955 * internal.h: export rb_wb_(un)protected_newobj_of() 2956 because some extensions include internal.h. 2957 2958Thu Oct 29 16:42:19 2015 Koichi Sasada <ko1@atdot.net> 2959 2960 * gc.c (rb_imemo_new): should not pass FL_WB_PROTECTED flag. 2961 2962 * gc.c (rb_wb_protected_newobj_of): add more assertions. 2963 2964 * gc.c (rb_wb_unprotected_newobj_of): ditto. 2965 2966Thu Oct 29 16:20:26 2015 Koichi Sasada <ko1@atdot.net> 2967 2968 * gc.c: introduce rb_wb_unprotected_newobj_of() and 2969 rb_wb_protected_newobj_of(), pass the WB_PROTECTED 2970 information explicitly. 2971 2972 * internal.h: use introduced functions by NEWOBJ_OF(). 2973 `flag' is immediate value, so that C compilers can 2974 solve them at compile time. 2975 2976 * include/ruby/ruby.h: add a comment about that. 2977 2978Thu Oct 29 14:52:03 2015 Koichi Sasada <ko1@atdot.net> 2979 2980 * gc.c: add rb_objspace::flags::has_hook to represent hook availability. 2981 2982 * gc.c: add gc_event_hook_available_p(objspace) to check that flag. 2983 2984 * gc.c (newobj_of): use gc_event_hook_available_p() instead of 2985 checking gc_event_hook_needed_p(objspace, RUBY_INTERNAL_EVENT_NEWOBJ). 2986 for performance. 2987 2988 * gc.c (newobj_init): add UNLIKELY() for FL_WB_PROTECTED flag. 2989 2990 * gc.c (newobj_init): change parameters order (trivial change). 2991 2992Thu Oct 29 14:45:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 2993 2994 * vm_core.h (rb_thread_struct): move forward declarations before 2995 used. 2996 2997Thu Oct 29 14:07:54 2015 Koichi Sasada <ko1@atdot.net> 2998 2999 * gc.c (gc_mark_ptr): remove debug code for #11244. 3000 3001Thu Oct 29 10:08:33 2015 Eric Wong <e@80x24.org> 3002 3003 * variable.c (struct autoload_state): usable as wait-queue head 3004 (struct autoload_data_i): remove 2 words of overhead 3005 (autoload_i_mark): remove marking for thread 3006 (autoload_reset): adjust for struct changes 3007 (rb_autoload): ditto 3008 (rb_autoloading_value): ditto 3009 (rb_autoload_load): ditto 3010 (const_update): ditto 3011 3012Thu Oct 29 08:48:05 2015 Eric Wong <e@80x24.org> 3013 3014 * variable.c (struct autoload_data_i): add waitq_head 3015 (struct autoload_state): new struct 3016 (autoload_require): save result in autoload_state for use 3017 in autoload_reset 3018 (autoload_reset): wake up other waiters with open-coded 3019 wait-queues 3020 (rb_autoload_load): add ensure autoload_const_set happens 3021 atomically w.r.t. autoload-triggered "require" 3022 [ruby-core:70075] [ruby-core:71239] [Bug #11384] 3023 3024Wed Oct 29 00:39:50 2015 Naohisa Goto <ngotogenome@gmail.com> 3025 3026 * test/rubygems/test_gem_commands_server_command.rb 3027 (test_handle_options_port): change port from http to discard. 3028 Solaris does not include "http 80/tcp" in its default 3029 /etc/inet/services. AFAIK, discard (9/tcp) is older than http 3030 and it is expected that all OS can resolve the service name. 3031 [Bug #10004] [ruby-core:63518] 3032 3033Wed Oct 28 23:52:48 2015 Naohisa Goto <ngotogenome@gmail.com> 3034 3035 * probes_helper.h (RUBY_DTRACE_HOOK): add RB_GC_GUARD, though paranoic. 3036 3037Wed Oct 28 15:36:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3038 3039 * error.c (rb_name_err_new): store the receiver directly. 3040 3041 * error.c (name_err_receiver): return directly stored receiver. 3042 [Feature #10881] 3043 3044 * error.c (name_err_mesg_to_str): quote the name if unprintable. 3045 3046 * object.c (check_setter_id): use rb_check_id to convert names. 3047 3048 * variable.c (uninitialized_constant): use NameError::message to 3049 keep the receiver of uninitialized constant. [Feature #10881] 3050 3051 * error.c (rb_name_err_new): new function to create NameError 3052 exception instance. [Feature #10881] 3053 3054Wed Oct 28 13:29:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3055 3056 * parse.y (new_attr_op_assign): fix op_assign type, which is 3057 already an ID since r52284. [Feature #11537] 3058 3059Tue Oct 27 23:14:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3060 3061 * defs/id.def: enable anonymous IDs not to expose internal IDs for 3062 frozen-string-literal-debug by Marshal.dump. 3063 3064Tue Oct 27 17:06:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3065 3066 * defs/id.def: move internal IDs for frozen-string-literal-debug. 3067 3068Tue Oct 27 16:41:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3069 3070 * error.c (rb_error_frozen_object): use rb_attr_get instead of 3071 rb_ivar_get to get rid of warnings for string objects created 3072 when frozen-string-literal-debug is disabled. 3073 3074Tue Oct 27 16:18:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3075 3076 * lib/logger.rb (Logger::Period#previous_period_end): as weekly 3077 rotation shifts the log file on Sundays, the end date of the 3078 previous period should be Saturdays. fix r45072. 3079 [ruby-dev:49314] [Bug #11622] 3080 3081Tue Oct 27 16:12:37 2015 NARUSE, Yui <naruse@ruby-lang.org> 3082 3083 * vm_dump.c (rb_print_backtrace): our addr2line doesn't work on sparc. 3084 http://rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20151027T043311Z.log.html.gz 3085 3086Tue Oct 27 12:00:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3087 3088 * lib/logger.rb (Logger::Period#next_rotate_time): get rid of 3089 adding to mday not to exceed the days of the month. 3090 [ruby-core:71185] [Bug #11620] 3091 3092Mon Oct 26 22:43:03 2015 yui-knk <spiketeika@gmail.com> 3093 3094 * test/ruby/test_module.rb (test_method_defined): Add test cases 3095 for `public/protected/private _method_defined?` 3096 These methods accept string as argument, so add string argument 3097 cases. [Fix GH-1067] 3098 3099Mon Oct 26 22:23:30 2015 SimonDKnight <simondknight@hotmail.com> 3100 3101 * lib/racc/rdoc/grammar.en.rdoc: Grammatical errors fixed. 3102 [Fix GH-1070] 3103 3104Mon Oct 26 18:36:43 2015 Shota Fukumori (sora_h) <her@sorah.jp> 3105 3106 * vm_method.c(rb_method_entry_make): 3107 [DOC] [ci skip] Remove a needless space from comment 3108 [Fixes GH-1069] Patch by @yui-knk 3109 3110Mon Oct 26 17:30:13 2015 Ryan Hosford <tad.hosford@gmail.com> 3111 3112 * lib/fileutils.rb: rename tailing to trailing. 3113 [Misc #11548] 3114 3115Mon Oct 26 17:11:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3116 3117 * parse.y (call_op, call_op2): fix values on ripper. [Feature #11537] 3118 3119Mon Oct 26 12:55:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3120 3121 * parse.y (call_op2): separate from call_op and also allow "::", 3122 while dot_or_colon should not allow ".?". [Feature #11537] 3123 3124Mon Oct 26 01:03:23 2015 Rei Odaira <Rei.Odaira@gmail.com> 3125 3126 * thread_pthread.c: fix compile errors when 3127 USE_SLEEPY_TIMER_THREAD is disabled. 3128 3129Sun Oct 25 10:12:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3130 3131 * symbol.c (op_tbl): add DOTQ for ripper. [Feature #11537] 3132 3133Sat Oct 24 22:51:18 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 3134 3135 * configure.in: fixed build failure of Haiku. 3136 [fix GH-984] Patch by @kallisti5 3137 * ext/socket/getaddrinfo.c: ditto. 3138 * ext/socket/getnameinfo.c: ditto. 3139 * ext/socket/rubysocket.h: ditto. 3140 3141Sat Oct 24 21:16:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3142 3143 * test/fileutils/test_fileutils.rb (test_uptodate): relax error 3144 message format. [Feature #9025], [ruby-core:71178] [Bug #11617] 3145 3146Sat Oct 24 21:06:43 2015 Shota Fukumori (sora_h) <her@sorah.jp> 3147 3148 * lib/mkmf.rb: Revert r45640 because it may lead to link 3149 with different libruby. [Bug #9760] 3150 3151Sat Oct 24 15:42:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3152 3153 * bootstraptest/test_method.rb: relax error message format. 3154 3155 * test/ruby/test_arity.rb (err_mess): ditto. 3156 [Feature #9025], [ruby-core:71178] [Bug #11617] 3157 3158Sat Oct 24 12:47:47 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 3159 3160 * vm_insnhelper.c: improved error message for "wrong number 3161 of arguments", distinguishing given and expected argument 3162 numbers clearly. [Feature #9025] 3163 3164Sat Oct 24 11:57:59 2015 Shugo Maeda <shugo@ruby-lang.org> 3165 3166 * vm_insnhelper.c: remove the typedef redeclaration of 3167 vm_call_handler. 3168 3169Sat Oct 24 07:29:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3170 3171 * lib/forwardable.rb (def_instance_delegator, def_single_delegator): 3172 match backtraces against ::Forwardable in case the target class 3173 is a subclass of BasicObject and does not include Kernel. 3174 [ruby-core:71176] [Bug #11616] 3175 3176Sat Oct 24 04:10:13 2015 Koichi Sasada <ko1@atdot.net> 3177 3178 * iseq.c (make_compile_option_value): include frozen_string_literal* 3179 in a made option value. 3180 3181 * vm_opts.h: forgot to add OPT_FROZEN_STRING_LITERAL_DEBUG 3182 at last commit. 3183 3184Sat Oct 24 03:58:02 2015 Koichi Sasada <ko1@atdot.net> 3185 3186 * ruby.c: introduce --enable-frozen-string-literal-debug option. 3187 If this option is enabled, the modify error will be: 3188 can't modify frozen String (RuntimeError) => 3189 can't modify frozen String, created at test.rb:3 (RuntimeError) 3190 3191 * iseq.h: add compile option frozen_string_literal_debug. 3192 3193 * compile.c: catch up this fix. 3194 3195 * error.c (rb_error_frozen): ditto. 3196 3197 * iseq.c (set_compile_option_from_hash): ditto. 3198 3199 * test/ruby/test_rubyoptions.rb: add a test for this fix. 3200 3201Sat Oct 24 02:02:24 2015 Koichi Sasada <ko1@atdot.net> 3202 3203 * vm_insnhelper.c: introduce new call handler for simple ISeqs. 3204 3205 vm_call_iseq_setup_normal_0start() is simple, however it has 3206 some loops/conditions depends on ISeq::param.size and 3207 ISeq::local_size (in vm_push_frame(), inlined into this function). 3208 3209 There are many simple methods which has a few parameters and local 3210 variables. So that this patch introduces several special functions 3211 generated in vm_call_iseq_optimized.inc by 3212 tool/mk_call_iseq_optimized.rb. 3213 3214 This script makes 3215 vm_call_iseq_setup_normal_0start_Xparams_Ylocals() 3216 where X is 0 to 3 and Y is 1 to 6 (as current setting). 3217 In this case, X * Y = 24 functions are created. 3218 3219 These functions creates fast method dispatch by inlining 3220 vm_push_frame() with immediate params/locals sizes. 3221 3222 On my laptop, we can have the following results. 3223 3224 vm2_method* 1.083 (8.3% faster) 3225 vm2_poly_method* 0.961 (3.4% slower) 3226 3227 It shows 8.3% faster for inner loop method dispatch (hit inline 3228 cache), but 3.4% slower when inline cache miss because we need 3229 to find a suitable call handler. 3230 3231 * common.mk: add a rule for vm_call_iseq_optimized.inc. 3232 3233 * tool/mk_call_iseq_optimized.rb: added. 3234 3235 * vm.c: include vm_call_iseq_optimized.inc. 3236 3237Sat Oct 24 01:58:50 2015 Koichi Sasada <ko1@atdot.net> 3238 3239 * vm_core.h: define vm_call_handler. 3240 3241Sat Oct 24 01:56:01 2015 Koichi Sasada <ko1@atdot.net> 3242 3243 * vm_core.h, vm_insnhelper.h: move definition of VMDEBUG 3244 from vm_insnhelper.h to vm_core.h. 3245 3246Sat Oct 24 01:51:01 2015 Akinori MUSHA <knu@iDaemons.org> 3247 3248 * NEWS: [DOC] In the new safe call syntax, arguments are evaluated 3249 only if a call is made. 3250 3251 * doc/syntax/calling_methods.rdoc: Fix a typo. 3252 3253Sat Oct 24 00:38:34 2015 Shugo Maeda <shugo@ruby-lang.org> 3254 3255 * lib/forwardable (def_instance_delegator, def_single_delegator): 3256 rescue ::Exception instead of Exception in case Exception is 3257 defined under the target class. 3258 [ruby-core:71175] [Ruby trunk - Bug #11615] 3259 3260Fri Oct 23 21:10:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3261 3262 * error.c (name_err_mesg_to_str): separate class names from the 3263 receiver description. 3264 3265 * vm_eval.c (make_no_method_exception, raise_method_missing): add 3266 format specifiers for class names. 3267 3268Fri Oct 23 18:10:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 3269 3270 * .gitignore: ignored environmental wrapper files. 3271 3272Fri Oct 23 17:55:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 3273 3274 * lib/irb.rb: Ignored assignment of STDOUT.sync = true 3275 when irb.rb loaded. It's affected to IDE such as Jetbrain. 3276 [fix GH-864] Patch by @os97673 3277 3278Fri Oct 23 16:35:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 3279 3280 * lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address contained 3281 EOL string. Patch by @kachick [fix GH-942][Bug #11513] 3282 3283Fri Oct 23 16:03:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 3284 3285 * file.c: fix indent style. [fix GH-977] 3286 * test/ruby/test_string.rb: indent. [fix GH-975] 3287 [ci skip] These patches are contributed from @yui-knk 3288 3289Fri Oct 23 15:46:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 3290 3291 * string.c: Added method signature to include hash. It's inconsistency 3292 with `gsub` method signature. 3293 [ci skip][fix GH-1023] Patch by @danielevans 3294 3295Fri Oct 23 15:25:51 2015 Shugo Maeda <shugo@ruby-lang.org> 3296 3297 * lib/net/imap.rb: remove an empty comment line and -*-. 3298 3299Fri Oct 23 15:20:02 2015 Shugo Maeda <shugo@ruby-lang.org> 3300 3301 * lib/net/ftp.rb (gettextfile, getbinaryfile): use the safe 3302 navigation operator. 3303 3304Fri Oct 23 13:51:33 2015 yui-knk <spiketeika@gmail.com> 3305 3306 * test_call.rb (test_safe_call): Add test cases for safe 3307 navigation operator assignment. [Fix GH-1064] 3308 Validate: 3309 * can assign an attribute which is `nil` 3310 * can "or assign" an attribute which is `nil` 3311 3312Fri Oct 23 11:58:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3313 3314 * compile.c (iseq_peephole_optimize): optimize lengthy safe 3315 navigation method chain. [Feature #11537] 3316 3317Fri Oct 23 10:58:41 2015 Shugo Maeda <shugo@ruby-lang.org> 3318 3319 * lib/matrix/eigenvalue_decomposition.rb (tridiagonalize): fix 3320 indentation to avoid a warning when the command line option -w of 3321 ruby is specified. 3322 3323 * lib/matrix/eigenvalue_decomposition.rb (hessenberg_to_real_schur): 3324 change the name of a block parameter to avoid a warning when the 3325 command line option -w of ruby is specified. 3326 3327Fri Oct 23 10:49:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3328 3329 * compile.c (iseq_compile_each): support safe navigation of simple 3330 attribute assignment. [Feature #11537] 3331 3332 * parse.y (mlhs_node, lhs, attrset_gen): ditto. keep mid 3333 non-attrset as the sign of safe navigation. 3334 3335Fri Oct 23 07:17:11 2015 Eric Wong <e@80x24.org> 3336 3337 * test/io/wait/test_io_wait.rb (test_wait_eof): test return value 3338 3339Fri Oct 23 00:32:02 2015 NARUSE, Yui <naruse@ruby-lang.org> 3340 3341 * ext/openssl/ossl_ssl.c (ssl_npn_select_cb): explicitly raise error 3342 in ext/openssl instead of OpenSSL itself because LibreSSL 3343 silently truncate the selected protocol name by casting the length 3344 from int to unsigned char. [Bug #11369] 3345 Patch by Jeremy Evans <merch-redmine@jeremyevans.net> 3346 3347Fri Oct 23 00:49:45 2015 Shugo Maeda <shugo@ruby-lang.org> 3348 3349 * lib/un.rb (help): change the name of a block parameter to avoid 3350 a warning when the command line option -w of ruby is specified. 3351 3352Fri Oct 23 00:22:20 2015 Josef Simanek <josef.simanek@gmail.com> 3353 3354 * string.c (rb_str_tr): [DOC] Escape backslash in String#tr 3355 documentation. [Fix GH-1063] 3356 3357Fri Oct 23 00:19:04 2015 yui-knk <spiketeika@gmail.com> 3358 3359 * array.c (rb_ary_collect): [DOC] Fix space of code example of 3360 Array#map. [Fix GH-1062] 3361 3362Thu Oct 22 18:52:53 2015 Akinori MUSHA <knu@iDaemons.org> 3363 3364 * vm_eval.c (rb_f_loop): When a loop is stopped by a StopIteration 3365 exception, return what the enumerator has returned instead of 3366 nil. [ruby-core:71133] [Feature #11498] 3367 3368Thu Oct 22 18:25:10 2015 Shugo Maeda <shugo@ruby-lang.org> 3369 3370 * lib/net/imap.rb (idle): add a new argument timeout for keep-alive. 3371 [ruby-core:63693] [Bug #10031] 3372 3373Thu Oct 22 15:30:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3374 3375 * compile.c (iseq_peephole_optimize): peephole optimization for 3376 branchnil jumps. 3377 3378 * compile.c (iseq_compile_each): generate save navigation operator 3379 code. 3380 3381 * insns.def (branchnil): new opcode to pop the tos and branch if 3382 it is nil. 3383 3384 * parse.y (NEW_QCALL, call_op, parser_yylex): parse token '.?'. 3385 [Feature #11537] 3386 3387Thu Oct 22 13:16:19 2015 Guilherme Reis Campos <guilhermekbsa@gmail.com> 3388 3389 * dir.c (ruby_brace_expand): glob brace expansion edge case fix. 3390 When there are closing braces '}' before a open brace '{' it 3391 must be ignored and considered as literal. 3392 [ruby-core:71138] [Bug #11609] 3393 3394Thu Oct 22 13:13:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3395 3396 * io.c (argf_next_argv): check ARGV element type, and try 3397 conversion if necessary. [ruby-core:71140] [Bug #11610] 3398 3399Thu Oct 22 11:11:16 2015 Shugo Maeda <shugo@ruby-lang.org> 3400 3401 * test/net/ftp/test_ftp.rb: add tests for getbinaryfile and 3402 gettextfile. 3403 3404Wed Oct 21 18:34:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3405 3406 * parse.y (parser_magic_comment): allow a sole magic comment without 3407 indicators, neither other non-space comments. [Feature #8976] 3408 3409Tue Oct 20 12:17:56 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 3410 3411 * lib/prime.rb: Add basic argument checking to Prime.prime? 3412 [Bug #11606] 3413 3414Tue Oct 20 12:17:50 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 3415 3416 * lib/prime.rb: Optimize Integer#prime? 3417 Patch by Nick Slocum [Bug #10354] 3418 3419Tue Oct 20 08:12:47 2015 Rei Odaira <Rei.Odaira@gmail.com> 3420 3421 * configure.in: pthread_getattr_np is broken on AIX. 3422 More specifically, the stack address and size returned are 3423 not correct. 3424 3425Tue Oct 20 05:54:46 2015 Eric Wong <e@80x24.org> 3426 3427 * ext/fiddle/closure.c (callback): static function 3428 3429Mon Oct 19 10:33:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3430 3431 * ext/socket/init.c (rsock_raise_socket_error): get rid of a glibc 3432 bug. [ruby-core:71100] [Bug #11600] 3433 3434Mon Oct 19 01:26:26 2015 NAKAMURA Usaku <usa@ruby-lang.org> 3435 3436 * file.c (rb_file_identical_p): not necessary to compare the paths after 3437 comparing the file indexes on Windows. designate by kosaki. 3438 3439Sun Oct 18 21:17:27 2015 Tanaka Akira <akr@fsij.org> 3440 3441 * lib/open-uri.rb: Specify frozen_string_literal: true. 3442 3443Sun Oct 18 14:37:56 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3444 3445 * random.c (fill_random_bytes_urandom): add a comment why using 3446 O_NONBLOCK and O_NOCTTY. 3447 3448Sun Oct 18 13:24:17 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3449 3450 * random.c (fill_random_bytes_syscall): use ATOMIC_SET() for 3451 updating try_syscall. 3452 3453Sun Oct 18 13:03:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3454 3455 * include/ruby/backward/util.h: Good-by Borland-C. 3456 3457Sun Oct 18 13:03:09 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3458 3459 * common.mk: add a comment how to use "make test-all" 3460 3461Sun Oct 18 12:59:22 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3462 3463 * common.mk: add comments how to use "make benchmark" 3464 3465Sun Oct 18 12:58:15 2015 Tanaka Akira <akr@fsij.org> 3466 3467 * lib/securerandom.rb: Specify frozen_string_literal: true. 3468 3469Sun Oct 18 11:22:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3470 3471 * dln.c: remove defined(__WATCOMC__). 3472 3473Sun Oct 18 11:16:33 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3474 3475 * lib/mkmf.rb: Good-by Borland-C. 3476 3477Sun Oct 18 11:04:36 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3478 3479 * numeric.c: Good-by Borland-C. 3480 * include/ruby/backward/rubyio.h: ditto. 3481 * include/ruby/backward/st.h: ditto. 3482 * include/ruby/backward/util.h: ditto. 3483 * include/ruby/backward/rubysig.h: ditto. 3484 * include/ruby/backward/classext.h: ditto. 3485 * dln.c: ditto. 3486 * gc.c: ditto. 3487 * win32/resource.rb: ditto. 3488 * win32/dir.h: ditto. 3489 * ext/tk/tcltklib.c: ditto. 3490 * NEWS: announce that Borland-C is no longer supported. 3491 3492Sun Oct 18 10:54:52 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3493 3494 * dln.c: simplify #ifdef. _WIN32 and __CYGWIN__ are exclusive. 3495 see include/ruby/defines.h 3496 * gc.c: ditto. 3497 * ext/sdbm/_sdbm.c: ditto. 3498 3499Sun Oct 18 10:42:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3500 3501 * ruby.c (open_load_file): add a comment. 3502 3503Sun Oct 18 10:12:46 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3504 3505 * file.c (rb_file_identical_p): simplify ifdefs 3506 3507Sun Oct 18 10:01:40 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3508 3509 * ChangeLog: Good-bye OS/2. 3510 * common.mk: ditto. 3511 * configure.in: ditto. 3512 * dln_find.c: ditto. 3513 * ext/Setup.emx: ditto. 3514 * ext/extmk.rb: ditto. 3515 * ext/socket/extconf.rb: ditto. 3516 * ext/zlib/extconf.rb: ditto. 3517 * file.c: ditto. 3518 * include/ruby/defines.h: ditto. 3519 * io.c: ditto. 3520 * lib/mkmf.rb: ditto. 3521 * missing/os2.c: ditto. 3522 * process.c: ditto. 3523 * ruby.c: ditto. 3524 * NEWS: announce OS/2 is no longer supported. 3525 3526Sun Oct 18 08:50:15 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3527 3528 * include/ruby/defines.h (DOSISH): add comments. 3529 3530Sun Oct 18 08:26:51 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3531 3532 * io.c (fptr_finalize): don't release gvl if fptr is not writable. 3533 writable fd may block on close(2) when it's on NFS. But readonly 3534 fd doesn't. [Bug #11559] 3535 result: make benchmark OPTS="-p bm_require_t -e ruby-trunk -e ruby-2.2.2" 3536 build-ruby: 0.171 3537 ruby 2.3.0dev(r52151): 0.659 3538 ruby 2.2.0p95 (r50295): 0.834 3539 3540Sun Oct 18 09:32:58 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3541 3542 * file.c (ruby_is_fd_loadable): this should be fail if st_mode is 3543 not regular file nor FIFO. 3544 3545Sun Oct 18 09:20:17 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3546 3547 * ruby.c (open_load_file): use rb_thread_wait_fd() instead of reopen. 3548 3549Sun Oct 18 05:11:22 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3550 3551 * ruby.c (open_load_file): reset O_NONBLOCK after open. 3552 Even if S_ISREG() is true, the file may be file on FUSE filesystem 3553 or something. We can't assume O_NONBLOCK is safe. 3554 Moreover, we should wait if the path is point to FIFO. That's 3555 FIFO semantics. GVL should be transparent from ruby script. 3556 Thus, just reopen without O_NONBLOCK for filling the requirements. 3557 [Bug #11060][Bug #11559] 3558 3559 * ruby.c (loadopen_func): new for the above. 3560 3561 * file.c (ruby_is_fd_loadable): new. for checks loadable file type 3562 of not. 3563 * file.c (rb_file_load_ok): use ruby_is_fd_loadble() 3564 * internal.h: add ruby_is_fd_loadble() 3565 3566 * common.mk: now, ruby.o depend on thread.h. 3567 3568 * test/ruby/test_require.rb 3569 (TestRequire#test_loading_fifo_threading_success): new test. 3570 This test successful case that loading from FIFO. 3571 3572 * test/ruby/test_require.rb 3573 (TestRequire#test_loading_fifo_threading_raise): rename from 3574 test_loading_fifo_threading. You shouldn't rescue an exception 3575 if you test raise or not. 3576 Moreover, this case should be caught IOError because load(FIFO) 3577 should be blocked until given any input. 3578 3579Sat Oct 17 13:55:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3580 3581 * file.c (rb_file_expand_path_internal): concatenate converted 3582 string to the result instead of making converted string and 3583 append it. 3584 3585 * string.c (rb_str_cat_conv_enc_opts): from rb_str_conv_enc_opts, 3586 separate function to concatenate with transcoding. 3587 3588Sat Oct 17 13:19:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3589 3590 * ruby.c (load_file): unify each preparations and clean-ups by 3591 merging load_file_internal and load_file_internal2, and remove 3592 nested rb_protect and rb_ensure. 3593 3594Sat Oct 17 05:28:32 2015 Rei Odaira <Rei.Odaira@gmail.com> 3595 3596 * test/ruby/test_symbol.rb (test_symbol_fstr_leak): add a warm-up 3597 code and check RSS to avoid false positive on AIX and false 3598 negative on Mac OS X. [Bug #10686] 3599 3600Fri Oct 16 15:54:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3601 3602 * file.c (rb_file_load_ok): open in non-blocking mode withoout 3603 releasing GVL. don't care about others than regular files and 3604 directories. [ruby-dev:49272] [Bug #11559] 3605 3606 * ruby.c (load_file_internal): ditto. 3607 3608Thu Oct 15 23:56:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3609 3610 * proc.c (rb_sym_to_proc): make void env. 3611 3612Thu Oct 15 13:37:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3613 3614 * proc.c (rb_sym_to_proc): move from string.c and create a Proc 3615 with no environments. [ruby-core:71088] [Bug #11594] 3616 3617Thu Oct 15 01:57:03 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 3618 3619 * test/objspace/test_objspace.rb 3620 (test_trace_object_allocations_start_stop_clear): clear object 3621 allocation table first to get rid of erroneous detection for obj3. 3622 [ruby-dev:49095] [Bug #11271] 3623 3624Thu Oct 15 01:53:38 2015 Benoit Daloze <eregontp@gmail.com> 3625 3626 * test/ostruct/test_ostruct.rb: Add tests for OpenStruct#respond_to. 3627 Patch by @jeremy in [GH-1041]: https://github.com/ruby/ruby/pull/1041 3628 3629Thu Oct 15 01:49:25 2015 Benoit Daloze <eregontp@gmail.com> 3630 3631 * lib/ostruct.rb: Finish defining OpenStruct attributes lazily. 3632 Patch by @sferik in [GH-1037]: https://github.com/ruby/ruby/pull/1037 3633 This commit is an addendum to https://github.com/ruby/ruby/pull/1033. 3634 It: 3635 1. lazily defines attribute accessors for copied and marshaled objects, 3636 2. returns nil when an attribute reader is not defined, and 3637 3. defines respond_to_missing? to maintain the same respond_to? behavior 3638 3639Wed Oct 14 16:56:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3640 3641 * configure.in: check for libunwind.h, which is not available in 3642 very old OS X SDK. [ruby-core:71080] [Bug #11591] 3643 3644Wed Oct 14 14:11:42 2015 Brian Black <bblack@veracode.com> 3645 3646 * iseq.c (rb_insn_operand_intern): change kw in callinfo disasm from the 3647 number of keyword arguments to an ordered list of the keywords used. 3648 [Feature #11589] 3649 3650Wed Oct 14 13:58:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3651 3652 * parse.y (parser_nextc): send a warning to ripper, not to STDERR 3653 always. 3654 3655 * parse.y (rb_warn1, rb_warning1): move argument conversions to 3656 callers. PRIsVALUE is not valid in String#%. 3657 3658Wed Oct 14 13:37:23 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 3659 3660 * lib/racc/rdoc/grammar.en.rdoc: fix spell error. 3661 [fix GH-1053][ci skip] Patch by @Matrixbirds 3662 3663Tue Oct 13 22:06:50 2015 Tanaka Akira <akr@fsij.org> 3664 3665 * ext/socket/raddrinfo.c (rsock_fd_family): Check sa_len. 3666 3667Tue Oct 13 12:14:10 2015 Craig Davison <craig65535@gmail.com> 3668 3669 * ext/socket/rsock_addrinfo (rsock_addrinfo): specify address 3670 family. [Fix GH-1052] 3671 3672 * ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send): 3673 address family by the receiver. 3674 3675Sun Oct 11 07:09:19 2015 Koichi Sasada <ko1@atdot.net> 3676 3677 * vm_insnhelper.c (vm_push_frame): initialize other than sp (and ep) 3678 first for performance. 3679 3680Sun Oct 11 06:21:50 2015 Koichi Sasada <ko1@atdot.net> 3681 3682 * vm_eval.c, internal.h (rb_yield_1): added for performance which 3683 doesn't check Qundef. 3684 3685 * numeric.c (int_dotimes): use rb_yield_1. 3686 3687Sun Oct 11 06:19:49 2015 Koichi Sasada <ko1@atdot.net> 3688 3689 * vm_insnhelper.c (vm_call_iseq_setup_normal): setup sp first 3690 for performance. 3691 3692Sun Oct 11 05:29:51 2015 Koichi Sasada <ko1@atdot.net> 3693 3694 * vm.c (invoke_block_from_c): split this function into several 3695 functions. 3696 3697 * vm_insnhelper.c (vm_yield_callee_setup_arg): remove this function 3698 because it is only delegation function. 3699 3700Sun Oct 11 03:48:46 2015 Koichi Sasada <ko1@atdot.net> 3701 3702 * gc.c (newobj_of_slowpass): fix typo (pass -> path). 3703 Pointed out by Yukihiro Matsumoto <matz@ruby-lang.org>. 3704 3705 * gc.c (newobj_of_...): `of' is unnecessary. 3706 3707Sat Oct 10 19:04:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3708 3709 * ext/socket/udpsocket.c (udp_connect, udp_bind): get open files 3710 inside ensure functions. 3711 3712Sat Oct 10 18:35:12 2015 Koichi Sasada <ko1@atdot.net> 3713 3714 * vm_insnhelper.c (vm_call_method0): do not propagate enable_fastpath, 3715 but pass dummy CC to prevent wrong caching. 3716 3717Sat Oct 10 15:28:45 2015 Koichi Sasada <ko1@atdot.net> 3718 3719 * import a github pull request 3720 https://github.com/ruby/ruby/pull/1050 3721 by Kazuho Oku <kazuho@natadeco.co>. 3722 3723 This pull request has the following commits. 3724 3725 * gc.c: reduce # of args to 6 (max. of register args on x86-64) so 3726 that the `newobj_of_slowpass` can be called via TCO. 3727 3728 * gc.c (newobj_of), string.c (str_duplicate): for performance, 3729 the hot functions must be inlined. 3730 3731 * gc.c: for performance, preceding arguments of `.*newobj_of.*` 3732 must be same, so that the arg registers can be reused in case of 3733 TCO. 3734 3735Sat Oct 10 08:52:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3736 3737 * ext/socket/udpsocket.c (udp_connect, udp_bind, udp_send): fix 3738 memory leaks at closed socket. 3739 3740Fri Oct 9 17:29:07 2015 Shugo Maeda <shugo@ruby-lang.org> 3741 3742 * lib/net/ftp.rb (parse257): refactor. 3743 3744Fri Oct 9 16:42:26 2015 Shugo Maeda <shugo@ruby-lang.org> 3745 3746 * lib/net/imap.rb: use frozen_string_literal: true. 3747 3748 * test/net/imap/test_imap.rb: ditto. 3749 3750 * test/net/imap/test_imap_response_parser.rb: ditto. 3751 3752Fri Oct 9 15:52:28 2015 Shugo Maeda <shugo@ruby-lang.org> 3753 3754 * lib/net/ftp.rb: use frozen_string_literal: true. 3755 3756 * test/net/ftp/test_buffered_socket.rb: ditto. 3757 3758 * test/net/ftp/test_ftp.rb: ditto. 3759 3760 * test/net/ftp/test_mlsx_entry.rb: ditto. 3761 3762Fri Oct 9 14:12:35 2015 Shota Fukumori (sora_h) <her@sorah.jp> 3763 3764 * ext/openssl/lib/openssl/ssl.rb: Revert r52082 because it was 3765 dropping TLS v1.1 support too. Supporting only TLS v1.2 is too 3766 early, because many popular websites still don't support it. 3767 3768 For instance, Servers where aws-sdk connects to still don't support 3769 TLS v1.2 and it became broken. 3770 3771 We should consider more carefully about this. 3772 3773 [Fix GH-873] [Feature #11524] 3774 3775Fri Oct 9 12:52:08 2015 Shugo Maeda <shugo@ruby-lang.org> 3776 3777 * compile.c (iseq_compile_each): Dynamic string literals (e.g., 3778 "#{x}") should not be frozen because they don't literally 3779 represent strings. 3780 https://twitter.com/shugomaeda/status/651937650027401216 3781 https://twitter.com/yukihiro_matz/status/651942882312482817 3782 https://twitter.com/yukihiro_matz/status/651980835181096960 3783 3784Fri Oct 9 06:52:49 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3785 3786 * benchmark/prepare_require.rb: skip file creation if it already 3787 exist. Suggested by ko1. 3788 3789Fri Oct 9 06:18:04 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3790 * benchmark/bm_require.rb: new benchmark for require. 3791 * benchmark/bm_require_thread.rb: new benchmark for conflicting 3792 require vs thread. like [Bug #11559] 3793 * prepare_require.rb: new file for preparing above tests. 3794 * prepare_require.rb: ditto. 3795 3796Thu Oct 8 14:10:45 2015 Zachary Scott <zzak@ruby-lang.org> 3797 3798 * ext/openssl/lib/openssl/ssl.rb: Default to TLSv1.2 and drop TLS v1 3799 Patch provided by @claudijd [Fixes GH-873] [Feature #11524]: 3800 https://github.com/ruby/ruby/pull/873 3801 3802Wed Oct 7 22:55:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3803 3804 * test/minitest/metametameta.rb (with_output): restore output to 3805 fix mixing test result output in worker responses. 3806 3807Wed Oct 7 21:32:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3808 3809 * string.c (str_duplicate): move from rb_str_resurrect to short 3810 circuit initialization. 3811 3812Wed Oct 7 20:43:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3813 3814 * string.c (rb_str_resurrect): fix resurrection of short enough to 3815 be embedded but not embedded string. 3816 3817Wed Oct 7 20:17:29 2015 Koichi Sasada <ko1@atdot.net> 3818 3819 * gc.c (newobj_of): divide fast path and slow path 3820 to avoid register savings for fast path. 3821 3822 This idea is given by Kazuho Oku <kazuho@natadeco.co>. 3823 3824Wed Oct 7 17:30:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3825 3826 * string.c (rb_str_times): optimize for the argument 0 and 1. 3827 3828Wed Oct 7 01:20:46 2015 Koichi Sasada <ko1@atdot.net> 3829 3830 * gc.h, gc.c: introduce new debug function rb_obj_info_dump(VALUE obj) 3831 which prints the result of rb_raw_obj_info(..., obj). 3832 3833Wed Oct 7 01:16:11 2015 Koichi Sasada <ko1@atdot.net> 3834 3835 * vm_args.c: remove an unused field args_info::calling. 3836 3837Tue Oct 6 23:43:10 2015 Koichi Sasada <ko1@atdot.net> 3838 3839 * proc.c (rb_method_entry_min_max_arity): should support 3840 OPTIMIZED_METHOD_TYPE_CALL. 3841 3842Tue Oct 6 21:29:08 2015 Tanaka Akira <akr@fsij.org> 3843 3844 * lib/tmpdir.rb (Dir.tmpdir): return duplicated string to be 3845 modify safely even when $SAFE > 0. 3846 3847Tue Oct 6 19:24:38 2015 Koichi Sasada <ko1@atdot.net> 3848 3849 * vm_insnhelper.c (vm_call_method0): use switch() for visibilities 3850 (for readability). 3851 3852Tue Oct 6 19:23:58 2015 Koichi Sasada <ko1@atdot.net> 3853 3854 * proc.c (Init_Proc): Proc#call and others should be public. 3855 3856Tue Oct 6 18:51:51 2015 Koichi Sasada <ko1@atdot.net> 3857 3858 * method.h: IMEMO_FL_USER3 and IMEMO_FL_USER4 is not needed any more. 3859 3860Tue Oct 6 18:47:45 2015 Koichi Sasada <ko1@atdot.net> 3861 3862 * method.h: remove METHOD_ENTRY_SAFE(me) and related code 3863 because $SAFE = 3 and 4 is not available. 3864 Now, $SAFE is not checked on method dispatch at all. 3865 3866 * vm_eval.c, vm_insnhelper.c, vm_method.c: ditto. 3867 3868Tue Oct 6 13:56:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3869 3870 * include/ruby/ruby.h: turn function macros into inline functions, 3871 for debuggers. 3872 3873 * include/ruby/ruby.h: turn constant macros into enums, for 3874 debuggers. 3875 3876Tue Oct 6 13:48:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 3877 3878 * method.h: typo fix. Patch by @davydovanton [fix GH-1032][ci skip] 3879 3880Tue Oct 6 06:54:34 2015 Koichi Sasada <ko1@atdot.net> 3881 3882 * iseq.c (rb_iseq_free): free iseq::variable_body to avoid memory 3883 leak. 3884 3885Tue Oct 6 06:32:52 2015 Koichi Sasada <ko1@atdot.net> 3886 3887 * proc.c: enable optimization of Proc#call. 3888 [Feature #11569] 3889 3890 * NEWS: write about this optimization and incompatibilities. 3891 3892 * test/ruby/test_backtrace.rb: catch up this fix. 3893 3894Tue Oct 6 04:41:03 2015 Koichi Sasada <ko1@atdot.net> 3895 3896 * vm_insnhelper.c: solve goto spaghetti. 3897 3898 Change all goto statement across blocks to tail call functions. 3899 3900Tue Oct 6 02:29:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3901 3902 * string.c (rb_str_resurrect): optimize by short circuit to copy 3903 hidden string without checking length, encoding and so on. 3904 3905Mon Oct 5 23:08:17 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 3906 3907 * test/ruby/test_thread.rb (test_handle_interrupt_blocking): check if 3908 exception handling was postponed until sleep. 3909 3910Mon Oct 5 22:25:49 2015 Tanaka Akira <akr@fsij.org> 3911 3912 * lib/pp.rb: Use frozen_string_literal: true. 3913 3914 * lib/prettyprint.rb: Ditto. 3915 3916 * lib/resolv.rb: Ditto. 3917 3918 * lib/tmpdir.rb: Ditto. 3919 3920 * test/test_pp.rb: Ditto. 3921 3922 * test/test_prettyprint.rb: Ditto. 3923 3924 * tool/transcode-tblgen.rb: Ditto. 3925 3926Mon Oct 5 20:39:32 2015 Benoit Daloze <eregontp@gmail.com> 3927 3928 * test/ruby/test_thread.rb: fix potential race condition. 3929 The thread could have a "sleep" status because it tries 3930 to acquire the mutex, but does not have it yet. 3931 3932Mon Oct 5 15:39:30 2015 Zachary Scott <zzak@ruby-lang.org> 3933 3934 * numeric.c: [DOC] Overview for Numeric class by Joe Corcoran 3935 This patch was created at ROSSConf Berlin 2015 [Bug #11555] 3936 3937Mon Oct 5 15:34:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3938 3939 * proc.c (proc_new): link ep to calling block. 3940 [ruby-core:70980] [Bug #11566] 3941 3942Mon Oct 5 00:53:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3943 3944 * dir.c (rb_dir_getwd): make ASCII-8BIT if filesystem encoding is 3945 US-ASCII, like as Dir.glob. 3946 3947Sun Oct 4 23:39:09 2015 Tanaka Akira <akr@fsij.org> 3948 3949 * enum.c (nmin_filter): Fix limit value. 3950 patch by Helder Pereira. 3951 [Bug #11471] [ruby-core:70477] 3952 3953Sun Oct 4 15:11:48 2015 NARUSE, Yui <naruse@ruby-lang.org> 3954 3955 * enc/euc_jp.c (mbc_case_fold): check given string is valid or not, 3956 and if invalid, return 1. [Bug #11486] 3957 3958Sun Oct 4 10:09:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3959 3960 * dir.c (rb_dir_getwd): normalize OS path to UTF-8 on OS X. 3961 3962Sun Oct 4 00:09:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3963 3964 * template/ruby-runner.c.in: wrapper to set dynamic loading path 3965 environment variable. /bin/sh on Mac OS X 10.11 (El Capitan) 3966 clears DYLD_LIBRARY_PATH. 3967 3968 it must: 3969 - do nothing even if current directory is not present 3970 - do not set other environment variables, e.g. PWD, SHLVL, etc 3971 - do not open other FDs, e.g. pipes for timer thread 3972 3973Sun Oct 2 10:59:00 2015 schneems <richard.schneeman@gmail.com> 3974 3975 * ext/pathname/lib/pathname.rb: freeze string literals for 3976 reduced object allocation. 3977 [Feature #11375] [ruby-core:70043] 3978 3979Fri Oct 2 09:20:20 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 3980 3981 * common.mk, lib/unicode_normalize/tables.rb: Change Unicode 3982 Version for character normalization data from 7.0.0 to 3983 8.0.0. 3984 3985Fri Oct 2 00:18:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3986 3987 * proc.c (proc_mark): block.ep of Proc from Symbol is now NULL. 3988 [ruby-core:70961] [Bug #11560] 3989 3990Wed Sep 30 15:47:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3991 3992 * vm_args.c (vm_caller_setup_arg_block): bypass Symbol#to_proc 3993 call to optimize symbol block passing. 3994 3995Wed Sep 30 01:34:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 3996 3997 * parse.y (parser_free): fix memory leak at syntax error when 3998 warn-indent is enabled. 3999 4000Tue Sep 29 22:27:50 2015 Benoit Daloze <eregontp@gmail.com> 4001 4002 * parse.y: fix minor typo. [ci skip][fix GH-1038]. 4003 Patch by @ltratt. 4004 4005Tue Sep 29 16:53:53 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 4006 4007 * tool/unicode_norm_gen.tmpl, lib/unicode_normalize/tables.rb: 4008 get rid of many .freeze commands by using frozen_string_literal 4009 pragma. 4010 4011Tue Sep 29 16:37:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4012 4013 * compile.c (compile_dstr_fragments): fix performance by omitting 4014 the first empty string only for keeping literal encoding if 4015 other literals are too. [ruby-core:70930] [Bug #11556] 4016 4017 * string.c (rb_str_append_literal): append but keep encoding non 4018 US-ASCII. 4019 4020Mon Sep 28 17:40:17 2015 Shugo Maeda <shugo@ruby-lang.org> 4021 4022 * lib/net/ftp.rb (mtime): use usec instead of fractions to parse 4023 decimal fractions of a second correctly when the number of digits 4024 is not 6. 4025 4026Mon Sep 28 16:07:08 2015 Shugo Maeda <shugo@ruby-lang.org> 4027 4028 * lib/net/ftp.rb (mtime): parse decimal fractions of a second as 4029 specified in RFC 3659. 4030 4031Mon Sep 28 10:31:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4032 4033 * test/test_forwardable.rb: Write basic tests for lib/forwardable. 4034 [fix GH-1035] Patch by @kachick 4035 4036Sun Sep 27 23:32:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4037 4038 * class.c (rb_define_class, rb_define_class_id_under): refine 4039 error messages. 4040 4041 * class.c (rb_define_module, rb_define_module_id_under): ditto, 4042 and make consistent with class. 4043 4044Sun Sep 27 18:44:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4045 4046 * ChangeLog: removed duplicated message. 4047 4048Sun Sep 27 15:46:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4049 4050 * ruby.c (process_options): add an option to enable/disable 4051 frozen-string-literal. [Feature #8976] 4052 4053 * compile.c (iseq_compile_each): override compile option by option 4054 given by pragma. 4055 4056 * iseq.c (rb_iseq_make_compile_option): extract a function to 4057 overwrite rb_compile_option_t. 4058 4059 * parse.y (parser_set_compile_option_flag): introduce pragma to 4060 override compile options. 4061 4062 * parse.y (magic_comments): new pragma "frozen-string-literal". 4063 [Feature #8976] 4064 4065Sun Sep 27 08:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4066 4067 * lib/ostruct.rb (delete_field): do not raise NameError for 4068 existing keys. [Fix GH-1033] 4069 4070Sun Sep 27 00:34:31 2015 Zachary Scott <zzak@ruby-lang.org> 4071 4072 * lib/ostruct.rb: Move method definitions for getter/setter to be lazy 4073 Patch by @sferik in [GH-1033]: https://github.com/ruby/ruby/pull/1033 4074 4075Fri Sep 25 10:07:25 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4076 4077 * lib/net/http.rb: removed unused variable. It's removed at r13648. 4078 [fix GH-1022] Patch by @nkondratyev 4079 4080Fri Sep 25 09:48:27 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4081 4082 * gems/bundled_gems: upgrade to minitest-5.8.1 4083 4084Fri Sep 25 09:47:12 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4085 4086 * id_table.c: fix typo. [ci skip][fix GH-1031] Patch @davydovanton 4087 4088Fri Sep 25 07:54:05 2015 Rei Odaira <Rei.Odaira@gmail.com> 4089 4090 * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_lock): skip 4091 this test on AIX. The issue is the same as on Solaris. 4092 [ruby-dev:47631] 4093 4094Thu Sep 24 17:25:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4095 4096 * parse.y (paren_args): fix separator token at `foo::bar()` in 4097 ripper. 4098 4099Thu Sep 24 00:00:17 2015 Rei Odaira <Rei.Odaira@gmail.com> 4100 4101 * complex.c: ruby/config.h must be included before math.h 4102 because it defines _LARGE_FILES on AIX and _LARGE_FILES 4103 must be defined before sys/types.h is included from math.h. 4104 [Bug #11483] 4105 4106Wed Sep 23 22:22:38 2015 Zachary Scott <zzak@ruby-lang.org> 4107 4108 * ext/openssl/ossl_pkcs12*: Remove svn commit id macro 4109 4110Wed Sep 23 01:11:28 2015 Zachary Scott <zzak@ruby-lang.org> 4111 4112 * ext/openssl/*: Remove svn commit id macros to make sync easier 4113 4114Tue Sep 22 04:20:01 2015 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> 4115 4116 * test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027] 4117 patch by voxik. 4118 4119 * test/rinda/test_rinda.rb: ditto 4120 4121Mon Sep 21 20:53:39 2015 tbpgr <tbpgr@tbpgr.jp> 4122 4123 * test/win32ole/test_win32ole_event.rb: fix typo. 4124 swbemsink_avairable? => swbemsink_available? [Fix GH-1025] 4125 4126Sun Sep 20 10:07:35 2015 Anton Davydov <antondavydov.o@gmail.com> 4127 4128 * cont.c (rb_callcc): [DOC] append continuations example across 4129 methods. [Fix GH-1026] 4130 4131Sun Sep 20 03:20:21 2015 Koichi Sasada <ko1@atdot.net> 4132 4133 * iseq.c (rb_iseq_free): free rb_iseq_t::body::cc_entries. 4134 4135Sun Sep 20 02:46:34 2015 Koichi Sasada <ko1@atdot.net> 4136 4137 * vm_core.h: split rb_call_info_t into several structs. 4138 * rb_call_info (ci) has compiled fixed information. 4139 * if ci->flag & VM_CALL_KWARG, then rb_call_info is 4140 also rb_call_info_with_kwarg. This technique reduce one word 4141 for major rb_call_info data. 4142 * rb_calling_info has temporary data (argc, blockptr, recv). 4143 for each method dispatch. This data is allocated only on 4144 machine stack. 4145 * rb_call_cache is for inline method cache. 4146 4147 Before this patch, only rb_call_info_t data is passed. 4148 After this patch, above three structs are passed. 4149 4150 This patch improves: 4151 * data locality (rb_call_info is now read-only data). 4152 * reduce memory consumption (rb_call_info_with_kwarg, 4153 rb_calling_info). 4154 4155 * compile.c: use above data. 4156 4157 * insns.def: ditto. 4158 4159 * iseq.c: ditto. 4160 4161 * vm_args.c: ditto. 4162 4163 * vm_eval.c: ditto. 4164 4165 * vm_insnhelper.c: ditto. 4166 4167 * vm_insnhelper.h: ditto. 4168 4169 * iseq.h: add iseq_compile_data::ci_index and 4170 iseq_compile_data::ci_kw_index. 4171 4172 * tool/instruction.rb: introduce TS_CALLCACHE operand type. 4173 4174Sun Sep 20 02:18:10 2015 Tanaka Akira <akr@fsij.org> 4175 4176 * test/lib/envutil.rb: mkfifo command based File.mkfifo method 4177 definition removed. 4178 4179Fri Sep 18 20:11:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4180 4181 * file.c (rb_file_s_mkfifo): implement File.mkfifo. 4182 [Feature #11536] 4183 4184Fri Sep 18 16:56:19 2015 Shugo Maeda <shugo@ruby-lang.org> 4185 4186 * NEWS: add Net::FTP#mlst and Net::FTP#mlsd. 4187 4188Fri Sep 18 07:39:22 2015 Aaron Patterson <tenderlove@ruby-lang.org> 4189 4190 * ext/objspace/objspace_dump.c (obj_type): add IMEMO types to the heap 4191 dump information. 4192 4193Thu Sep 17 22:33:07 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4194 4195 * common.mk: fix command error with outside builddir. 4196 4197Thu Sep 17 17:42:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4198 4199 * common.mk: separated test for test-framework from test-all task. 4200 They should be invoke at first before tests of test-all. 4201 4202Thu Sep 17 12:05:54 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4203 4204 * test/ruby/test_dir.rb (TestDir#test_fileno): s/?x/"x"/. Don't 4205 use tricky code, please. 4206 4207Wed Sep 16 20:49:56 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> 4208 4209 * encindex.h: fix typo of last #endif comment. [ci skip] 4210 4211Wed Sep 16 20:39:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4212 4213 * variable.c (set_const_visibility): fail if the class/module is 4214 frozen. [ruby-core:70828] [Bug #11532] 4215 4216Wed Sep 16 17:16:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4217 4218 * vm_core.h (ENABLE_VM_OBJSPACE): enable per-VM object space on 4219 Windows by default, as rb_w32_sysinit() no longer depends on 4220 ruby_xmalloc. 4221 4222Wed Sep 16 15:08:17 2015 Akinori MUSHA <knu@iDaemons.org> 4223 4224 * doc/syntax/literals.rdoc (Strings): [DOC] Revise the character 4225 literal part. 4226 4227Wed Sep 16 14:55:33 2015 Akinori MUSHA <knu@iDaemons.org> 4228 4229 * doc/syntax/literals.rdoc (Strings): [DOC] Document the full list 4230 of supported escape sequences in string literals. 4231 4232Wed Sep 16 14:49:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4233 4234 * string.c (rb_str_setbyte): keep the code range as possible. 4235 4236Wed Sep 16 13:23:48 2015 NAKAMURA Usaku <usa@ruby-lang.org> 4237 4238 * doc/syntax/literals.rdoc (Strings): mention about ?a literal. 4239 4240Wed Sep 16 12:06:53 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4241 4242 * dir.c (glob_helper): check pathtype once again by lstat(2) if 4243 dp->d_type is DT_UNKNOWN. XFS may return DT_UNKNOWN. 4244 4245Wed Sep 16 03:49:19 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4246 4247 * test/ruby/test_thread.rb (TestThread#test_mutex_synchronize): 4248 insert waste loop for invoking preemptive thread context switch. 4249 [Bug #11496] 4250 4251Tue Sep 15 19:38:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4252 4253 * gc.c (rb_objspace_alloc, rb_objspace_free): define always 4254 regardless ENABLE_VM_OBJSPACE, and free heap pages. 4255 4256Tue Sep 15 15:15:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4257 4258 * win32/win32.c (rb_w32_sysinit, rb_w32_readdir): compare by 4259 encoding index to get rid of encoding initialization before VM 4260 object space allocation. 4261 4262 * dir.c (fundamental_encoding_p, push_glob): compare by encoding 4263 index immediately. 4264 4265 * enc/{ascii,us_ascii,utf_8}.c: set encoding indexes of 4266 fundamental built-in encodings so that usable as well as 4267 allocated rb_encoding before rb_enc_init(). 4268 4269 * encindex.h: separate encoding index constants from internal.h. 4270 4271Tue Sep 15 13:13:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4272 4273 * array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] correct block 4274 return values, which may be a negative or positive integer, not 4275 only -1 or +1. 4276 4277Tue Sep 15 12:49:10 2015 Jason Barnabe <jason.barnabe@gmail.com> 4278 4279 * array.c (rb_ary_sort_bang, rb_ary_sort): [DOC] Correct 4280 description of array sort block return values. And also fix up 4281 the grammar a bit. [Fix GH-1020] 4282 4283Tue Sep 15 12:44:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4284 4285 * util.c (ruby_qsort): use BSD-style qsort_r if available. 4286 4287Mon Sep 14 19:26:34 2015 Shugo Maeda <shugo@ruby-lang.org> 4288 4289 * lib/net/ftp.rb (parse_mlsx_entry): parse pathnames including 4290 space correctly. 4291 4292Mon Sep 14 11:12:10 2015 Anton Davydov <antondavydov.o@gmail.com> 4293 4294 * lib/racc/rdoc/grammar.en.rdoc: [DOC] fix typo, "convertion" to 4295 "conversion". [Fix GH-1016] 4296 4297Sun Sep 13 11:03:13 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4298 4299 * include/ruby/ruby.h: prefix RUBY or RB to global symbols to get 4300 rid of name conflicts with other headers. 4301 4302 * include/ruby/encoding.h, include/ruby/intern.h: ditto. 4303 4304Sun Sep 13 09:38:51 2015 Shugo Maeda <shugo@ruby-lang.org> 4305 4306 * lib/net/ftp.rb (size, modify, create, type, unique, perm, lang, 4307 media_type, charset): new methods to return standard facts. 4308 4309Sat Sep 12 19:43:49 2015 Koichi Sasada <ko1@atdot.net> 4310 4311 * vm_insnhelper.c (vm_call_iseq_setup_normal): do not clear local 4312 variables here. vm_push_frame() clears. 4313 4314 * vm_insnhelper.c (vm_call_iseq_setup_tailcall): ditto. 4315 4316 * vm_insnhelper.c (vm_push_frame): move check code to 4317 vm_check_frame(). 4318 4319 Reorder initialization timing to reuse same values (sp). 4320 4321 * compile.c (rb_iseq_compile_node): use 4322 iseq_set_exception_local_table() for ISEQ_TYPE_DEFINED_GUARD. 4323 4324Sat Sep 12 23:06:51 2015 Shugo Maeda <shugo@ruby-lang.org> 4325 4326 * lib/net/ftp.rb (file?, directory?, appendable?, creatable?, 4327 deletable?, enterable?, renamable?, listable?, directory_makable?, 4328 purgeable?, readable?, writable?): new methods. 4329 4330Sat Sep 12 21:27:22 2015 Shugo Maeda <shugo@ruby-lang.org> 4331 4332 * lib/net/ftp.rb (FACT_PARSERS): support system dependent facts 4333 UNIX.mode, UNIX.owner, UNIX.group, UNIX.ctime, and UNIX.atime. 4334 4335Sat Sep 12 19:08:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4336 4337 * win32/win32.c (rb_w32_dup2): should return the new fd on 4338 success, while msvcrt returns 0 wrongly. 4339 4340Sat Sep 12 18:14:11 2015 Shugo Maeda <shugo@ruby-lang.org> 4341 4342 * lib/net/ftp.rb (parse_mlsx_entry, mlst) raise an FTPProtoError 4343 when parsing failed. 4344 4345Sat Sep 12 18:00:35 2015 Shugo Maeda <shugo@ruby-lang.org> 4346 4347 * lib/net/ftp.rb (TIME_PARSER): use "Z" instead of "+00:00" to 4348 get UTC time. Thanks, Wilson Bilkovich. 4349 4350Sat Sep 12 17:55:24 2015 Shugo Maeda <shugo@ruby-lang.org> 4351 4352 * lib/net/ftp.rb (mlst, mlsd): support new commands MLST and MLSD 4353 specified in RFC 3659. 4354 4355Sat Sep 12 16:14:31 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4356 4357 * file.c: access()/eaccess() wrapping methods check more than just uid. 4358 [fix GH-1007][ci skip] Patch by @eam 4359 4360Sat Sep 12 16:07:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4361 4362 * README.md: improve markdown rendering for readability. 4363 [fix GH-1015][ci skip] Patch by @Matrixbirds 4364 4365Sat Sep 12 14:30:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4366 4367 * process.c (save_redirect_fd): make saved FDs close-on-exec not 4368 to be inherited. 4369 4370 * process.c (run_exec_dup2): restore close-on-exec flags too. 4371 4372 * win32/win32.c (fcntl): implement F_GETFD, F_SETFD, and 4373 F_DUPFD_CLOEXEC. 4374 4375Sat Sep 12 05:35:24 2015 Eric Wong <e@80x24.org> 4376 4377 * rational.c (string_to_r_strict): preserve encoding in exception 4378 4379Fri Sep 11 20:23:35 2015 Koichi Sasada <ko1@atdot.net> 4380 4381 * vm_core.h: remove rb_call_info_t::aux.opt_pc. 4382 4383 * vm_insnhelper.c: introduce shortcut functions for opt_pc == 0 4384 because opt_pc is always 0 on shortcut function. 4385 4386Fri Sep 11 17:49:36 2015 Koichi Sasada <ko1@atdot.net> 4387 4388 * iseq.c: disable ISeq.load. It enabled accidentally at r51794. 4389 4390Fri Sep 11 11:15:12 2015 Shugo Maeda <shugo@ruby-lang.org> 4391 4392 * lib/net/ftp.rb (size, mdtm, system): parse responses according to 4393 RFC 959 and 3659, where reply codes must be followed by SP. 4394 4395 * lib/net/ftp.rb (system): remove LF from the return value. 4396 4397Thu Sep 10 22:48:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4398 4399 * parse.y (literal_concat_gen, evstr2dstr_gen): keep literal 4400 encoding beginning with an interpolation same as the source file 4401 encoding. [ruby-core:70703] [Bug #11519] 4402 4403Thu Sep 10 22:15:51 2015 Joe Rafaniello <jrafanie@redhat.com> 4404 4405 * process.c (rb_f_spawn): Be more specific regarding "other 4406 values" by having "non-zero positive integers" Add nil, the 4407 default value, as a possible value and what it means. 4408 4409 Try to use more consistent language. 4410 [Fix GH-1008] 4411 4412Thu Sep 10 15:16:02 2015 Shugo Maeda <shugo@ruby-lang.org> 4413 4414 * lib/net/ftp.rb (getmultiline): refactor. 4415 4416Thu Sep 10 12:17:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4417 4418 * compile.c (iseq_build_from_ary_body): register cdhash to the 4419 iseq constant body instead of compile time mark array, not to 4420 get GCed. [ruby-core:70708] [Feature #8543] 4421 4422Wed Sep 9 18:16:14 2015 NAKAMURA Usaku <usa@ruby-lang.org> 4423 4424 * lib/rubygems/stub_specification.rb (Gem::StubSpecification#data): 4425 should not change the value of $. when `require`ing gems. 4426 this fixed test failures introduced by r51813. 4427 4428Wed Sep 9 16:55:45 2015 NAKAMURA Usaku <usa@ruby-lang.org> 4429 4430 * ruby.c (usage, enable_option, disable_option, process_options): new 4431 option `--disable-did_you_mean`. 4432 4433 * gem_prelude.rb: now requires did_you_mean gem by default if available. 4434 4435Wed Sep 9 13:38:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4436 4437 * tool/extlibs.rb (do_patch): let "patch" command change the 4438 working directory and open the patch file there, instead of 4439 spawn options, so that proper error message will be shown by the 4440 command not just "chdir" or "open". 4441 4442Wed Sep 9 11:33:05 2015 NAKAMURA Usaku <usa@ruby-lang.org> 4443 4444 * common.mk (update-gems): use BASERUBY instead of RUNRUBY. 4445 4446Wed Sep 9 11:08:59 2015 Zachary Scott <zzak@ruby-lang.org> 4447 4448 * lib/delegate.rb: Remove backtrace cleaning for delegated methods 4449 This patch was provided by Rafael Franca and greatly improves 4450 performance when an exception is raised. [Bug #11461] 4451 4452Wed Sep 9 10:05:41 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4453 4454 * test/rubygems/test_config.rb: fix broken tests for Windows platform. 4455 4456Wed Sep 9 07:46:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4457 4458 * lib/rubygems: Update to RubyGems HEAD(fe61e4c112). 4459 this version contains new feature that warn invalid SPDX license 4460 identifiers. https://github.com/rubygems/rubygems/pull/1249 4461 and #1032, #1023, #1332, #1328, #1306, #1321, #1324 4462 * test/rubygems: ditto. 4463 4464Tue Sep 8 23:17:36 2015 Yuki Nishijima <mail@yukinishijima.net> 4465 4466 * gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.beta2. 4467 4468Tue Sep 8 23:09:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4469 4470 * io.c (rb_io_s_popen): do not wait the child process during being 4471 killed. [ruby-core:70671] [Bug #11510] 4472 4473Tue Sep 8 22:18:04 2015 NAKAMURA Usaku <usa@ruby-lang.org> 4474 4475 * gems/bundled_gems: revert because ruby trunk never be able to install 4476 the did_you_mean gem. retry after enough test. 4477 4478Tue Sep 8 21:48:22 2015 Yuki Nishijima <mail@yukinishijima.net> 4479 4480 * gems/bundled_gems: Automatically install the did_you_mean gem 4481 as a bundled gem. [Feature #11252] 4482 4483Tue Sep 8 17:17:48 2015 Koichi Sasada <ko1@atdot.net> 4484 4485 * vm_core.h: remove rb_call_info_t::blockiseq. 4486 4487 * insns.def (send, invokesuper): pass blockiseq explicitly. 4488 4489 * compile.c: catch up this fix. 4490 4491 * iseq.c: ditto. 4492 4493 * vm_args.c: ditto. 4494 4495 * iseq.c (ISEQ_MINOR_VERSION): 2->3 because instruction spec was 4496 changed. 4497 4498Tue Sep 8 15:01:19 2015 Shugo Maeda <shugo@ruby-lang.org> 4499 4500 * lib/net/ftp.rb (list): fetch all the lines before yielding a block 4501 to allow other commands in the block. [Feature #11454] 4502 Patched by Srikanth Shreenivas. 4503 4504Tue Sep 8 12:05:00 2015 NAKAMURA Usaku <usa@ruby-lang.org> 4505 4506 * win32/win32.c (rb_w32_read_reparse_point): return correct required 4507 buffer size for IO_REPARSE_TAG_MOUNT_POINT. 4508 4509Tue Sep 8 00:14:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4510 4511 * process.c (rb_execarg_parent_start1): raise with the target path 4512 name when open() failed. 4513 4514Mon Sep 7 23:45:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4515 4516 * process.c (rb_exec_fail): raise with the target directory name 4517 when chdir() failed. pointed out by sorah. 4518 4519Mon Sep 7 22:05:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4520 4521 * win32/win32.c (insert): should use plain strdup() instead of 4522 ruby_strdup() at startup time, and plain free()ed in cmdglob(). 4523 4524Mon Sep 7 16:49:30 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4525 4526 * vm_core.h (rb_vm_struct): define objspace always regardless 4527 ENABLE_VM_OBJSPACE. 4528 4529Mon Sep 7 15:54:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4530 4531 * ruby_atomic.h (ATOMIC_VALUE_CAS): fix typo. 4532 TODO: make arguments of all CAS macros consistent. 4533 4534Sun Sep 6 16:07:22 2015 Eric Wong <e@80x24.org> 4535 4536 * ccan/list/list.h: suppress unused argument warnings 4537 [ccan commit 6aaca17e07588997417a73fac19dcf0ff17ed81b] 4538 4539Sat Sep 5 11:39:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4540 4541 * lib/rss/rss.rb (Time#w3cdtf): fix zero-trimmed width of fraction 4542 digits. [ruby-core:70667] [Bug #11509] 4543 4544Sat Sep 5 08:28:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4545 4546 * hash.c (rb_hash_equal, rb_hash_eql): [DOC] the orders of each 4547 hashes are not compared. [Bug #11508] 4548 4549Fri Sep 4 23:26:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4550 4551 * include/ruby/win32.h: fix macro name for VC runtime version, 4552 RT_VER is only in Makefile. 4553 4554Fri Sep 4 17:46:17 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4555 4556 * doc/contributing.rdoc: fix configuration option. 4557 [ci skip] [fix GH-1009] 4558 4559Fri Sep 4 04:46:54 2015 Koichi Sasada <ko1@atdot.net> 4560 4561 * iseq.c (iseq_memsize): functions for wrapper object should have 4562 iseqw_ prefix. 4563 4564Thu Sep 3 21:12:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4565 4566 * lib/cgi/session.rb (create_new_id): use SHA512 instead of MD5. 4567 pointed out by SARWAR JAHAN. 4568 4569Thu Sep 3 20:29:18 2015 Koichi Sasada <ko1@atdot.net> 4570 4571 * gc.c (rb_raw_obj_info): iseq->body->location.first_lineno is Fixnum. 4572 4573Thu Sep 3 17:54:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4574 4575 * vm_eval.c (raise_method_missing): "names" should be singular. 4576 pointed out by Filip Bartuzi. 4577 4578Thu Sep 3 17:50:09 2015 Koichi Sasada <ko1@atdot.net> 4579 4580 * gc.c (rb_raw_obj_info): should support IMEMO/iseq. 4581 4582Thu Sep 3 10:07:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4583 4584 * vm_eval.c (raise_method_missing): refine error messages when a 4585 symbol is not given. [Fix GH-1013] 4586 4587Wed Sep 2 18:49:55 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4588 4589 * ext/psych/*: merge psych master(8737e5b). It contains following fixes. 4590 https://github.com/tenderlove/psych/pull/242 4591 https://github.com/tenderlove/psych/pull/246 [ruby-list:50219] 4592 * test/psych/*: ditto. 4593 4594Wed Sep 2 18:04:13 2015 Koichi Sasada <ko1@atdot.net> 4595 4596 * vm_insnhelper.h (GET_PC_COUNT): remove unused macro. 4597 4598Wed Sep 2 17:18:37 2015 Chris Schneider <chris@christopher-schneider.com> 4599 4600 * process.c (proc_detach): [DOC] fix typo "intent" as "intend" in 4601 rdoc. [Fix GH-1011] 4602 4603Wed Sep 2 16:58:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4604 4605 * file.c (rb_realpath_internal): use filesystem encoding if the 4606 argument is in ASCII encodings. 4607 4608 * win32/file.c (rb_readlink): needs the result encoding. 4609 4610Tue Sep 1 18:37:15 2015 Koichi Sasada <ko1@atdot.net> 4611 4612 * test/thread/test_queue.rb: catch up last commit. 4613 4614Tue Sep 1 18:16:32 2015 Koichi Sasada <ko1@atdot.net> 4615 4616 * thread_sync.c (queue_do_close): ignore multiple close to allow 4617 multiple producers. 4618 https://bugs.ruby-lang.org/issues/10600#note-14 4619 4620Tue Sep 1 18:06:26 2015 Koichi Sasada <ko1@atdot.net> 4621 4622 * thread_tools.c: rename thread_tools.c to thread_sync.c. 4623 4624Mon Aug 31 17:04:45 2015 Koichi Sasada <ko1@atdot.net> 4625 4626 * class.c (move_refined_method): should insert a write barrier 4627 from an original class to a created (cloned) method entry. 4628 4629 * test/ruby/test_refinement.rb: add a test. 4630 4631Sun Aug 30 02:42:22 2015 Aaron Patterson <tenderlove@ruby-lang.org> 4632 4633 * ext/openssl/ossl_ssl.c (ossl_ssl_method_tab): Only add SSLv3 support 4634 if the SSL library supports it. Thanks Kurt Roeckx <kurt@roeckx.be> 4635 [Bug #11376] 4636 4637 * ext/openssl/extconf.rb: check for SSLv3 support in the SSL 4638 implementation. 4639 4640 * test/openssl/test_ssl.rb (class OpenSSL): Skip tests that need SSLv3 4641 if there is no support. 4642 4643Fri Aug 28 16:05:09 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4644 4645 * lib/rdoc/*: Update rdoc master(cfffed5) 4646 https://github.com/rdoc/rdoc/pull/337 4647 https://github.com/rdoc/rdoc/pull/367 4648 4649Fri Aug 28 10:16:20 2015 Koichi Sasada <ko1@atdot.net> 4650 4651 * vm.c (hook_before_rewind): prevent kicking :return event while 4652 finishing vm_exec func because invoke_block_from_c() kick a :return 4653 event for bmethods. 4654 [Bug #11492] 4655 4656 * test/ruby/test_settracefunc.rb: add a test. 4657 4658Thu Aug 27 18:05:42 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4659 4660 * lib/webrick/server.rb: use IO::NULL instead of '/dev/null' 4661 * test/ruby/test_string.rb: ditto. 4662 4663Thu Aug 27 15:24:57 2015 Koichi Sasada <ko1@atdot.net> 4664 4665 * compile.c (iseq_set_sequence): rename variable names 4666 to make it readable. 4667 4668Thu Aug 27 07:45:34 2015 Koichi Sasada <ko1@atdot.net> 4669 4670 * thread_tools.c: add Queue#close(exception=false) and 4671 SizedQueue#close(exception=false). 4672 [Feature #10600] 4673 4674 Trying to deq from a closed empty queue return nil 4675 if exception parameter equals to false (default). 4676 4677 If exception parameter is truthy, it raises 4678 ClosedQueueError (< StopIteration). 4679 ClosedQueueError inherits StopIteration so that you can write: 4680 4681 loop{ e = q.deq; (using e) } 4682 4683 Trying to close a closed queue raises ClosedQueueError. 4684 4685 Blocking threads to wait deq for Queue and SizedQueue will be 4686 restarted immediately by returning nil (exception=false) or 4687 raising a ClosedQueueError (exception=true). 4688 4689 Blocking threads to wait enq for SizedQueue will be 4690 restarted by raising a ClosedQueueError immediately. 4691 4692 The above specification is not proposed specification, so that 4693 we need to continue discussion to conclude specification this 4694 method. 4695 4696 * test/thread/test_queue.rb: add tests originally written by 4697 John Anderson and modify detailed behavior. 4698 4699Wed Aug 26 10:52:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4700 4701 * re.c (rb_memsearch_wchar, rb_memsearch_qchar): test matching 4702 till the end of string. [ruby-core:70592] [Bug #11488] 4703 4704 * test/ruby/test_m17n.rb (test_include?, test_index): add tests by 4705 Tom Stuart. 4706 4707Wed Aug 26 09:26:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4708 4709 * id_table.c (list_table_extend, hash_table_extend): remove C99 4710 features. [ruby-dev:49239] [Bug #11487] 4711 4712Tue Aug 25 06:34:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4713 4714 * win32/win32.c (w32_symlink): implement symlink(). 4715 4716Mon Aug 24 16:01:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4717 4718 * encoding.c (rb_locale_encindex): find encoding index without 4719 making a string object every time. [ruby-core:58160] [Bug #9080] 4720 4721Sat Aug 22 15:43:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4722 4723 * vm_eval.c (check_funcall_failed, check_funcall_missing): cache 4724 results of respond_to? and respond_to_missing?, and search a 4725 public method only for compatibility with rb_respond_to. 4726 4727Sat Aug 22 08:23:32 2015 Koichi Sasada <ko1@atdot.net> 4728 4729 * ext/thread/thread.c: move definitions of Queue, SizedQueue 4730 and ConditionalVariables to thread_tools.c. In other words, 4731 such classes are built-in. 4732 [Feature #8919] 4733 4734 At first, I planned to embed only a Queue class. 4735 However, rubygems requires 'thread.rb' (rubygems are 4736 required at first, when launch MRI without --disable-gems). 4737 So most of people require 'thread.rb' as an embedded library. 4738 4739 Now, ext/thread/thread.c is empty, only for a dummy for 4740 compatibility. 4741 4742 * thread.c: move a definition of Mutex class to thread_tools.c. 4743 4744 And define Mutex class under Thread (so now Mutex is Thread::Mutex). 4745 Because other thread related classes are also defined under Thread. 4746 We remain ::Mutex as Thread::Mutex. Only an inspect result is changed. 4747 4748 * common.mk: add dependency from thread.o to thread_tools.c. 4749 4750Sat Aug 22 05:31:37 2015 Koichi Sasada <ko1@atdot.net> 4751 4752 * vm_opts.h, iseq.c, iseq.h: add compile option to force frozen 4753 string literals. 4754 [Feature #11473] 4755 4756 This addition is not specification change, but to try frozen 4757 string literal world discussed on [Feature #11473]. 4758 4759 You can try frozen string literal world using this magical line: 4760 4761 RubyVM::InstructionSequence.compile_option = 4762 {frozen_string_literal: true} 4763 4764 Note that this is a global compilation option, so that you need to 4765 compile another script like that: 4766 4767 p 'foo'.frozen? #=> false 4768 RubyVM::InstructionSequence.compile_option = 4769 {frozen_string_literal: true} 4770 p 'foo'.frozen? #=> false, because this line is already compiled. 4771 p eval("'foo'.frozen?") #=> true 4772 4773 Details: 4774 * String literals are deduped by rb_fstring(). 4775 * Dynamic string literals ("...#{xyz}...") is now only frozen, 4776 not deduped. Maybe you have other ideas. 4777 4778 Now, please do not use this option on your productions :) 4779 Of course, current specification can be changed. 4780 4781 * compile.c: ditto. 4782 4783 * test/ruby/test_iseq.rb: add a test. 4784 4785Sat Aug 22 02:53:12 2015 Aaron Patterson <tenderlove@ruby-lang.org> 4786 4787 * ext/psych/*: update to Psych 2.0.14 4788 4789 * test/psych/*: ditto 4790 4791Fri Aug 21 19:58:48 2015 Koichi Sasada <ko1@atdot.net> 4792 4793 * ext/objspace/objspace.c: add a new method ObjectSpace.count_symbols. 4794 [Feature #11158] 4795 4796 * symbol.c (rb_sym_immortal_count): added to count immortal symbols. 4797 4798 * symbol.h: ditto. 4799 4800 * test/objspace/test_objspace.rb: add a test for this method. 4801 4802 * NEWS: describe about this method. 4803 4804Fri Aug 21 19:48:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4805 4806 * win32/Makefile.sub ($(LIBRUBY_SO)): needs additional libraries 4807 for extension libraries to link statically. 4808 [ruby-core:70499] [Feature #9018] 4809 4810Fri Aug 21 18:49:22 2015 Koichi Sasada <ko1@atdot.net> 4811 4812 * include/ruby/ruby.h, cont.c, vm_trace.c: add a new event 4813 fiber_switch. We need more discussion about this feature 4814 so that I don't write it on NEWS. 4815 [Feature #11348] 4816 4817 * test/ruby/test_settracefunc.rb: add tests. 4818 4819Fri Aug 21 17:32:42 2015 Koichi Sasada <ko1@atdot.net> 4820 4821 * vm_insnhelper.c (vm_invoke_block): we should not expect ci->argc is 4822 stable after invoking a block. [Bug #11451] 4823 4824 * test/ruby/test_yield.rb: add a test. This test script is given by 4825 Alex Dowad. 4826 4827Fri Aug 21 06:35:50 2015 Aaron Patterson <tenderlove@ruby-lang.org> 4828 4829 * test/openssl/test_ssl_session.rb: Fix tests so that they take in to 4830 account OpenSSL installations that have SSLv3 disabled by default. 4831 Thanks Jeremy Evans <code@jeremyevans.net> for the patches. 4832 [Bug #11366] [Bug #11367] 4833 4834Thu Aug 20 22:19:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4835 4836 * vm_method.c (basic_obj_respond_to): call respond_to_missing? 4837 only when redefined. [ruby-core:70460] [Bug #11465] 4838 4839Thu Aug 20 14:13:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4840 4841 * vm_eval.c (check_funcall_respond_to): share the behavior with 4842 rb_obj_respond_to. [ruby-core:70460] [Bug #11465] 4843 4844 * vm_method.c (vm_respond_to): extract from rb_obj_respond_to and 4845 merge r39881. 4846 4847Thu Aug 20 08:53:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4848 4849 * vm_method.c (rb_obj_respond_to): reuse found method entry 4850 instead of searching same entry repeatedly. 4851 4852Thu Aug 20 08:31:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4853 4854 * dir.c (replace_real_basename), win32/win32.c (opendir_internal): 4855 check reparse point tags and treat supported tags only as 4856 symbolic links. [ruby-core:70454] [Bug #11462] 4857 4858Wed Aug 19 23:59:28 2015 Aaron Patterson <tenderlove@ruby-lang.org> 4859 4860 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add OP_ALL to 4861 existing options rather than just setting it. Some vendors apply 4862 custom patches to their versions of OpenSSL that set default values 4863 for options. This commit respects the custom patches they've 4864 applied. 4865 4866 * test/openssl/test_ssl.rb (class OpenSSL): check that OP_ALL has been 4867 added to the options. 4868 4869Wed Aug 19 23:55:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4870 4871 * process.c (rb_f_spawn): [DOC] elaborate environment variable 4872 values. [ruby-core:70456] [Bug #11463] 4873 4874Wed Aug 19 23:48:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4875 4876 * win32/win32.c (winnt_lstat): check reparse point tags and treat 4877 supported tags only as symbolic links. 4878 [ruby-core:70454] [Bug #11462] 4879 4880Tue Aug 18 20:05:49 2015 NARUSE, Yui <naruse@ruby-lang.org> 4881 4882 * thread_pthread.c (reserve_stack): ensure the memory is really 4883 allocated. [Bug #11457] 4884 4885Tue Aug 18 17:19:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4886 4887 * parse.y (IS_BEG): include labeled argument state, which was 4888 EXPR_LABELARG. [ruby-dev:49221] [Bug #11456] 4889 4890Tue Aug 18 16:16:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4891 4892 * include/ruby/ruby.h (RClass): define only in C, `__attribute__` 4893 between `struct` and the name can't compile with g++. 4894 [ruby-core:70297] [Bug #11426] 4895 4896Mon Aug 17 20:56:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4897 4898 * parse.y: fix syntax error at do-block after a conditional 4899 operator. separate label-allowed and after-a-label states from 4900 others as bit flags. [ruby-dev:48790] [Bug #10653] 4901 4902Mon Aug 17 11:57:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4903 4904 * io.c (rb_io_each_codepoint): raise an exception at incomplete 4905 character before EOF when conversion takes place. [Bug #11444] 4906 4907Sun Aug 16 17:33:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 4908 4909 * gems/bundled_gems: update latest version of bundled gems. 4910 It includes minitest-5.8.0 and test-unit 3.1.3. 4911 4912Sun Aug 16 17:24:10 2015 Kazuki Tsujimoto <kazuki@callcc.net> 4913 4914 * gc.c (gc_mark_children): check if RCLASS_EXT is valid 4915 before marking. This fixes the following test failure 4916 introduced in r51126: 4917 4918 make test-all TESTOPTS='--gc-stress ruby/test_refinement.rb' 4919 4920Sat Aug 15 10:51:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4921 4922 * ext/win32/lib/win32/registry.rb (API#SetValue): data size should 4923 be in bytes, not in chars. [ruby-core:70365] [Bug #11439] 4924 4925Sat Aug 15 10:15:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4926 4927 * io.c (rb_io_each_codepoint): read more data when read partially. 4928 [ruby-core:70379] [Bug #11444] 4929 4930Sat Aug 15 04:33:39 2015 Eric Wong <e@80x24.org> 4931 4932 * hash.c (any_hash): skip rb_objid_hash for static syms 4933 (rb_num_hash_start): extract from rb_ident_hash 4934 (rb_objid_hash): call rb_num_hash_start 4935 (rb_ident_hash): ditto 4936 [ruby-core:70181] [Feature #11405] 4937 4938Sat Aug 15 04:16:13 2015 Eric Wong <e@80x24.org> 4939 4940 * iseq.c (rb_iseq_mark): reduce NULL checks 4941 4942Fri Aug 14 18:50:57 2015 Eric Wong <e@80x24.org> 4943 4944 * method.h (METHOD_ENTRY_VISI_SET): cast visi to int 4945 (METHOD_ENTRY_FLAGS_SET): ditto 4946 4947Fri Aug 14 18:43:11 2015 Eric Wong <e@80x24.org> 4948 4949 * process.c (close_unless_reserved): add extra check 4950 (dup2_with_divert): remove 4951 (redirect_dup2): use dup2 without divert 4952 (before_exec_non_async_signal_safe): adjust call + comment 4953 (rb_f_exec): stop timer thread for all OSes 4954 (rb_exec_without_timer_thread): remove 4955 * eval.c (ruby_cleanup): adjust call 4956 * thread.c (rb_thread_stop_timer_thread): always close pipes 4957 * thread_pthread.c (struct timer_thread_pipe): add writing field, 4958 mark owner_process volatile for signal handlers 4959 (rb_thread_wakeup_timer_thread_fd): check valid FD 4960 (rb_thread_wakeup_timer_thread): set writing flag to prevent close 4961 (rb_thread_wakeup_timer_thread_low): ditto 4962 (CLOSE_INVALIDATE): new macro 4963 (close_invalidate): new function 4964 (close_communication_pipe): removed 4965 (setup_communication_pipe_internal): make errors non-fatal 4966 (setup_communication_pipe): ditto 4967 (thread_timer): close reading ends inside timer thread 4968 (rb_thread_create_timer_thread): make errors non-fatal 4969 (native_stop_timer_thread): close write ends only, always, 4970 wait for signal handlers to finish 4971 (rb_divert_reserved_fd): remove 4972 * thread_win32.c (native_stop_timer_thread): adjust (untested) 4973 (rb_divert_reserved_fd): remove 4974 * vm_core.h: adjust prototype 4975 [ruby-core:70386] [Bug #11336] 4976 4977Fri Aug 14 18:40:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4978 4979 * ext/win32/lib/win32/registry.rb (API#SetValue): add terminator 4980 size, not 1 byte. [ruby-core:70365] [Bug #11439] 4981 4982Thu Aug 13 22:49:42 2015 Juanito Fatas <katehuang0320@gmail.com> 4983 4984 * lib/timeout.rb (Timeout#timeout): freeze a string message to 4985 reduce string allocations. [Fix GH-996] 4986 4987Thu Aug 13 17:42:34 2015 Koichi Sasada <ko1@atdot.net> 4988 4989 * vm_core.h (rb_call_info_kw_arg_bytes): move the definition 4990 to iseq.h because this function is shared with iseq.c and compile.c. 4991 4992Thu Aug 13 14:36:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 4993 4994 * object.c (rb_num_to_dbl): move from num2dbl_with_to_f in math.c. 4995 4996Thu Aug 13 09:01:25 2015 Eric Wong <e@80x24.org> 4997 4998 * load.c (features_index_add): avoid repeat calculation 4999 5000Wed Aug 12 21:57:31 2015 Koichi Sasada <ko1@atdot.net> 5001 5002 * id_table.c: IMPL() macro accept op as _opname instead of opname 5003 because jemalloc seems to replace the word `free' to `je_free'. 5004 5005Wed Aug 12 21:51:11 2015 Koichi Sasada <ko1@atdot.net> 5006 5007 * id_table.c (mix_id_table_insert): fix memory leak. 5008 5009Wed Aug 12 21:17:38 2015 Eric Wong <e@80x24.org> 5010 5011 * iseq.c (iseq_memsize): reimplement for wrapper 5012 (param_keyword_size): extracted from iseq_memsize 5013 (iseqw_mark): new mark function 5014 (iseqw_data_type): new data type 5015 (iseqw_new): wrap as iseqw_data_type 5016 (iseqw_check): adjust for wrapper 5017 (Init_ISeq): remove iseqw_iseq_key initialization 5018 * test/objspace/test_objspace.rb: new test 5019 [ruby-core:70344] [Feature #11435] 5020 5021Wed Aug 12 21:15:27 2015 Eric Wong <e@80x24.org> 5022 5023 * vm_core.h (rb_call_info_kw_arg_bytes): extract from compile.c 5024 * compile.c (iseq_build_callinfo_from_hash): use above function 5025 5026Wed Aug 12 18:00:17 2015 Koichi Sasada <ko1@atdot.net> 5027 5028 * class.c (move_refined_method): same as the last commit. 5029 5030Wed Aug 12 17:57:53 2015 Koichi Sasada <ko1@atdot.net> 5031 5032 * class.c, gc.c vm.c: use ID_TABLE_* instead of ST_* 5033 (such as ST_CONTINUE) for enum rb_id_table_iterator_result. 5034 5035Wed Aug 12 17:05:36 2015 Koichi Sasada <ko1@atdot.net> 5036 5037 * id_table.h: introduce ID key table. 5038 [Feature #11420] 5039 5040 This table only manage ID->VALUE table to reduce overhead of st. 5041 5042 Some functions prefixed rb_id_table_* are provided. 5043 5044 * id_table.c: implement rb_id_table_*. 5045 5046 There are several algorithms to implement it. 5047 5048 Now, there are roughly 4 types: 5049 5050 * st 5051 * array 5052 * hash (implemented by Yura Sokolov) 5053 * mix of array and hash 5054 5055 The macro ID_TABLE_IMPL can choose implementation. 5056 You can see detailes about them at the head of id_table.c. 5057 5058 At the default, I choose 34 (mix of list and hash). 5059 This is not final decision. 5060 Please report your suitable parameters or 5061 your data structure. 5062 5063 * symbol.c: introduce rb_id_serial_t and rb_id_to_serial() 5064 to represent ID by serial number. 5065 5066 * internal.h: use id_table for method tables. 5067 5068 * class.c, gc.c, marshal.c, vm.c, vm_method.c: ditto. 5069 5070Wed Aug 12 05:19:11 2015 Eric Wong <e@80x24.org> 5071 5072 * parse.y (rb_parser_compile_cstr): remove volatile arg 5073 (rb_parser_compile_string): ditto 5074 (rb_parser_compile_file): ditto 5075 (rb_parser_compile_string_path): ditto 5076 (rb_parser_compile_file_path): ditto 5077 [ruby-core:70323] [Misc #11431] 5078 5079Tue Aug 11 22:59:57 2015 Tanaka Akira <akr@fsij.org> 5080 5081 * numeric.c (Init_Numeric): Fix document for Float::MIN and 5082 Float::EPSILON. 5083 5084Tue Aug 11 15:22:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5085 5086 * include/ruby/ruby.h (ALLOCV_N): check integer overflow, as well 5087 as ruby_xmalloc2. pointed out by Paul <pawlkt AT gmail.com>. 5088 5089Tue Aug 11 14:57:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5090 5091 * array.c (rb_ary_repeated_permutation): fix buffer size, ALLOCV_N 5092 already multiplies element size. 5093 5094Tue Aug 11 12:13:20 2015 Jeremy Evans <merch-redmine@jeremyevans.net> 5095 5096 * test/openssl/test_ssl.rb: Fix LocalJumpErrors being raised 5097 in OpenSSL tests. [ruby-core:70020][Bug #11368] 5098 5099Tue Aug 11 11:54:13 2015 Alexey Lipnyagov <liptonshmidt@gmail.com> 5100 5101 * string.c: Fix documentation for String#slice 5102 [ruby-core:70298][Bug #11427] 5103 5104Tue Aug 11 11:53:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5105 5106 * parse.y (superclass): make superclass rule optional and allow 5107 any contents without a terminator. [EXPERIMENTAL] 5108 5109Tue Aug 11 10:58:42 2015 Juanito Fatas <juanitofatas@gmail.com> 5110 5111 * string.c: [DOC] Make #end_with? example doc symmetry 5112 with #start_with? [fix GH-992][ci skip] 5113 5114Tue Aug 11 10:51:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5115 5116 * test/ruby/test_array.rb: Add test for `Array#flatten` with level 1 5117 [fix GH-986] Patch @yui-knk 5118 5119Tue Aug 11 10:48:16 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5120 5121 * enum.c: added doc for Enumerable#zip 5122 [fix GH-985] Patch by @yui-knk 5123 * test/ruby/test_enum.rb: added tests for Enumerable#zip 5124 [fix GH-985] Patch @yui-knk 5125 5126Tue Aug 11 10:33:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5127 5128 * vm_method.c: typo fix [fix GH-993][ci skip] Patch by @0x0dea 5129 * test/ruby/test_refinement.rb: ditto. 5130 5131Sun Aug 9 14:15:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5132 5133 * vm.c (Init_vm_objects, rb_vm_fstring_table): use frozen_strings 5134 table in rb_vm_t. [ruby-core:70274] [Bug #11423] 5135 5136Sat Aug 8 03:59:51 2015 Zachary Scott <zzak@ruby-lang.org> 5137 5138 * object.c: [DOC] Improve grammar for Module#=== 5139 Patch by @SkyBirdSoar in documenting-ruby/ruby#52: 5140 https://github.com/documenting-ruby/ruby/pull/52 5141 5142Sat Aug 8 03:39:33 2015 Zachary Scott <zzak@ruby-lang.org> 5143 5144 * hash.c: [DOC] Improve description of symbol key syntax 5145 Patch by Raphael Das Gupta in documenting-ruby/ruby#51: 5146 https://github.com/documenting-ruby/ruby/pull/51 5147 5148Fri Aug 7 21:04:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5149 5150 * parse.y (parser_params): turn in_def and in_single into bit 5151 flags and reduce the size by 2-words. 5152 5153 * parse.y (parser_params): remove redundant prefixes. 5154 5155 * parse.y (yylex): non-pure parser has not been supported since 5156 merger of ripper. change argument types from void pointers. 5157 5158Fri Aug 7 17:07:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5159 5160 * proc.c (method_super_method): uncallable method entry does not 5161 have the defined class, use the owner instead. 5162 [ruby-core:70254] [Bug #11419] 5163 5164 * test/ruby/test_method.rb (test_super_method_unbound): add test 5165 by Akira Matsuda. 5166 5167Thu Aug 6 10:49:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5168 5169 * node.c (rb_alloc_tmp_buffer): round up the size and check the 5170 range. 5171 5172 * ruby_atomic.h (ATOMIC_VALUE_EXCHANGE, ATOMIC_VALUE_CAS): add 5173 atomic operations for VALUE. 5174 5175Thu Aug 6 08:15:49 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5176 5177 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move 5178 SSLSocket#sysclose to Ruby. 5179 5180 * ext/openssl/ossl_ssl.c (ossl_ssl_close): ditto 5181 5182Thu Aug 6 07:57:21 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5183 5184 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move nonblock 5185 enable to SSLSocket#initialize and remove Nonblock module. 5186 5187Thu Aug 6 07:53:47 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5188 5189 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move 5190 OpenSSL::SSL::SSLSocket#initialize to Ruby. 5191 5192 * ext/openssl/ossl_ssl.c: ditto 5193 5194Thu Aug 6 02:25:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5195 5196 * node.c (rb_alloc_tmp_buffer): use NODE_ALLOCA to mark locations 5197 like as builtin alloca. [ruby-core:70251] [Bug #11418] 5198 5199Wed Aug 5 14:37:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5200 5201 * transcode.c (rb_econv_open0): rb_econv_t::source_encoding_name 5202 and rb_econv_t::destination_encoding_name should refer static 5203 strings always or NULL. [ruby-core:70247] [Bug #11416] 5204 5205Tue Aug 4 16:53:43 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5206 5207 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): extract callback 5208 lookup to private Ruby methods. This means we can keep the default 5209 DH callback logic hidden from consumers. Also, since the SSLSocket 5210 always has a context, we can remove conditionals about that 5211 instance. 5212 5213 * ext/openssl/ossl_ssl.c: move callback lookup methods to private Ruby 5214 methods. 5215 5216Tue Aug 4 16:40:26 2015 Koichi Sasada <ko1@atdot.net> 5217 5218 * test/ruby/test_module.rb: should not expect a method table ordering. 5219 [Feature #11414] 5220 5221Tue Aug 04 15:30:04 2015 Koichi Sasada <ko1@atdot.net> 5222 5223 * proc.c (rb_block_clear_env_self): clear by Qfalse instead of Qnil. 5224 [Bug #11409] 5225 5226 * test/ruby/test_eval.rb: add tests for this issue, 5227 written by @0x0dea. 5228 https://github.com/ruby/ruby/pull/988 5229 5230Tue Aug 4 12:12:14 2015 Eric Wong <e@80x24.org> 5231 5232 * variable.c: wrap long lines 5233 5234Tue Aug 4 09:32:30 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5235 5236 * proc.c: Removing duplicate doc [fix GH-987][ci skip] 5237 Patch by @ronakjangir47 5238 5239Tue Aug 4 09:21:58 2015 Richard Schneeman <richard.schneeman+foo@gmail.com> 5240 5241 * doc/contributing.rdoc: fixed wrong instructions with OS X 5242 [fix GH-989][ci skip] Patch by @schneems 5243 5244Mon Aug 3 10:08:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5245 5246 * re.c (rb_memsearch): should match only char boundaries in wide 5247 character encodings. [ruby-core:70220] [Bug #11413] 5248 5249Sun Aug 2 07:01:17 2015 Eric Wong <e@80x24.org> 5250 5251 * ext/openssl/lib/openssl/buffering.rb (gets): 5252 avoid comparing fixnum with nil 5253 * test/openssl/test_pair.rb: test gets with limit when EOF is hit 5254 Thanks to Bar Hofesh <bar.hofesh@safe-t.com> for the bug report 5255 and testing. 5256 [ruby-core:70149] [Bug #11400] 5257 5258Sat Aug 1 17:13:15 2015 Kazuki Tsujimoto <kazuki@callcc.net> 5259 5260 * lib/net/http/response.rb (Net::HTTPResponse::Inflater#finish): 5261 fix a bug that empty gzipped response body causes Zlib::BufError. 5262 [ruby-core:68846] [Bug #11058] 5263 5264 * test/net/http/test_httpresponse.rb: tests for the above. 5265 5266Sat Aug 1 17:05:18 2015 Kazuki Tsujimoto <kazuki@callcc.net> 5267 5268 * lib/net/http/response.rb (Net::HTTPResponse#inflater): 5269 fix TypeError. An exception object might be nil. 5270 [ruby-core:68846] [Bug #11058] 5271 5272Sat Aug 1 09:09:46 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5273 5274 * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): Implement 5275 SSLContext#options and options= using SSL_CTX_set_options and 5276 SSL_CTX_get_options. This reduces the number of ivars we need and 5277 simplifies `ossl_sslctx_setup`. 5278 5279 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Default `options` 5280 to SSL_OP_ALL 5281 5282Sat Aug 1 06:54:36 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5283 5284 * ext/openssl/ossl_ssl.c (Init_ossl_ssl): OpenSSL declares these 5285 constants as longs, so we should follow that and use LONG2NUM. 5286 http://git.io/vOqxD 5287 5288Sat Aug 1 04:06:29 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5289 5290 * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): change callback 5291 to return the Ruby dh (or ecdh) object that the caller cares about 5292 instead of doing rb_iv_get / set to communicate. This means we can 5293 remove an rb_iv_get call, and only use the set calls for their 5294 intended purpose (to prevent the object from being GC'd). 5295 5296 * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto 5297 * ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): ditto 5298 * ext/openssl/ossl_ssl.c (ossl_tmp_ecdh_callback): ditto 5299 5300Sat Aug 1 03:49:31 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5301 5302 * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): Similarly to the 5303 tmp_ecdh_callback, the SSLSocket instance always holds a reference 5304 to the SSLContext object (it's always set in `initialize`). The 5305 SSLContext holds a reference to the tmp_dh_callback. Ask the 5306 context for the callback instead of storing the callback in two 5307 places. 5308 5309Sat Aug 1 03:43:10 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5310 5311 * ext/openssl/ossl_ssl.c (ossl_call_tmp_dh_callback): create an array 5312 and use `rb_apply` to clean up calls to `rb_protect`. 5313 5314 * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto 5315 5316Sat Aug 1 03:27:12 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5317 5318 * ext/openssl/ossl_ssl.c (ossl_call_tmp_ecdh_callback): The SSL socket 5319 always holds a reference to the SSLContext object, which will have 5320 the callback object. Ask the context for the callback instead of 5321 storing the callback in two places. 5322 5323Sat Aug 1 03:14:07 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5324 5325 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): convert 5326 `tmp_dh_callback` to Ruby, and call it when setting up an SSL 5327 connection. This allows us to move the "default" behavior to the 5328 reader method. 5329 5330 * ext/openssl/ossl_ssl.c: call the tmp_dh_callback instead of 5331 accessing the SSLContext's internals. 5332 5333Fri Jul 31 23:34:27 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5334 5335 * .travis.yml: update libssl before running tests. 5336 Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for figuring out the 5337 travis settings! 5338 5339Fri Jul 31 21:34:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5340 5341 * load.c (rb_require_internal): use rb_load_internal0 not to raise 5342 a exception to be caught. 5343 5344Thu Jul 30 13:19:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5345 5346 * variable.c (rb_const_get_0): warn deprecated constant reference. 5347 5348 * variable.c (rb_mod_deprecate_constant): mark constants to be 5349 warned as deprecated. [Feature #11398] 5350 5351Thu Jul 30 11:53:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5352 5353 * thread.c (rb_thread_s_handle_interrupt): make identity hash, to 5354 compare masking classes just by their IDs. 5355 5356Thu Jul 30 11:52:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5357 5358 * load.c (rb_load_internal0): stop separating exits at loading 5359 from exits from execution. TAG_FATAL is the only case that 5360 `errinfo` is a Fixnum, and should continue to exit by JUMP_TAG 5361 but not raising as an ordinary exception. 5362 [ruby-core:70169] [Bug #11404] 5363 5364Thu Jul 30 10:42:27 2015 Alex Dowad <alexinbeijing@gmail.com> 5365 5366 * load.c (rb_load_internal0): extra check before returning 5367 TAG_RAISE when a non-local transfer of control happens while 5368 loading and parsing a Ruby source file. 5369 [ruby-core:70169] [Bug #11404] 5370 5371Thu Jul 30 08:48:42 2015 Eric Wong <e@80x24.org> 5372 5373 * st.c (find_entry): constify st_table* 5374 (find_packed_index_from): ditto 5375 (find_packed_index): ditto 5376 (get_keys): ditto 5377 (get_values): ditto 5378 5379Thu Jul 30 04:29:25 2015 Eric Wong <e@80x24.org> 5380 5381 * benchmark/bm_hash_aref_dsym.rb: new benchmark 5382 * benchmark/bm_hash_aref_dsym_long.rb: ditto 5383 * benchmark/bm_hash_aref_fix.rb: ditto 5384 5385Wed Jul 29 21:38:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5386 5387 * hash.c (any_hash), symbol.c (dsymbol_alloc): fix dynamic symbol 5388 hash value by restricting in Fixnum range, that is `long`. 5389 5390Wed Jul 29 17:25:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5391 5392 * hash.c (rb_obj_hash): move in order to share with rb_any_hash. 5393 5394Wed Jul 29 16:00:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5395 5396 * string.c (str_buf_cat): consider empty non-embed string case, 5397 not to loop infinitely. [ruby-core:70074] [Bug #11383] 5398 5399Wed Jul 29 15:25:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5400 5401 * vm_eval.c (send_internal): set method_missing_reason before 5402 invoking overriding method_missing method so that the default 5403 method_missing can achieve it properly. 5404 [ruby-core:68515] [Bug #10969] 5405 5406Wed Jul 29 14:54:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5407 5408 * hash.c (rb_sym_hash): return same value as rb_any_hash() of 5409 Symbol. [Bug #9381] 5410 5411 * hash.c (rb_any_hash): fix Float hash. rb_dbl_hash() returns a 5412 Fixnum, but not a long. [Bug #9381] 5413 5414Wed Jul 29 11:07:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5415 5416 * internal.h (LIKELY, UNLIKELY): make a boolean to enforce 1 or 0. 5417 5418Wed Jul 29 10:44:43 2015 Alex Dowad <alexinbeijing@gmail.com> 5419 5420 * gc.c: document argument passed to finalizer proc. 5421 [fix GH-976][ci skip] Patch by @alexdowad 5422 5423Wed Jul 29 10:36:58 2015 NARUSE, Yui <naruse@ruby-lang.org> 5424 5425 * io.c (rb_io_extract_modeenc): add option parameter `flags' 5426 to append extra oflags to normal mode. 5427 [Feature #11253] [ruby-core:69539] 5428 5429Wed Jul 29 04:54:47 2015 Eric Wong <e@80x24.org> 5430 5431 * test/rubygems/test_gem_remote_fetcher.rb: pre-generate test key 5432 [ruby-core:70151] [Bug #11397] 5433 5434Tue Jul 28 10:32:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5435 5436 * internal.h (struct RClass): moved from ruby/ruby.h to hide the 5437 internals. 5438 5439Tue Jul 28 08:48:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5440 5441 * configure.in (RUBY_TYPE_ATTRIBUTE): attribute declaration for 5442 types. 5443 5444Tue Jul 28 07:23:03 2015 Eric Wong <e@80x24.org> 5445 5446 * symbol.h (struct RSymbol): add hashval field 5447 * symbol.c (dsymbol_alloc): setup hashval field once 5448 * hash.c (rb_any_hash): return RSymbol->hashval directly 5449 * common.mk: hash.o depends on symbol.h 5450 Thanks to Bruno Escherl <bruno@escherl.net> for the bug report 5451 [ruby-core:70129] [Bug #11396] 5452 5453Tue Jul 28 03:26:15 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5454 5455 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): raise a more 5456 helpful exception when verifying the peer connection and an 5457 anonymous cipher has been selected. [ruby-core:68330] [Bug #10910] 5458 Thanks to Chris Sinjakli <chris@sinjakli.co.uk> for the patch. 5459 5460 * test/openssl/test_ssl.rb (class OpenSSL): test for change 5461 5462Mon Jul 27 13:24:11 2015 Koichi Sasada <ko1@atdot.net> 5463 5464 * template/id.h.tmpl (ID2ATTRSET): remove an unused macro. 5465 5466Mon Jul 27 12:21:15 2015 NAKAMURA Usaku <usa@ruby-lang.org> 5467 5468 * test/openssl/test_ssl.rb: run tests on non-Unix platforms. 5469 5470Sun Jul 26 19:21:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5471 5472 * ext/openssl/ossl_ssl.c (ossl_ssl_alpn_protocol): fix condition 5473 to compile, needs ALPN to be available. [Feature #9390] 5474 5475Sun Jul 26 11:29:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5476 5477 * signal.c (default_handler, Init_signal): discard SIGSYS, ENOSYS 5478 should raise a SystemCallError always instead. 5479 5480Sun Jul 26 10:26:35 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5481 5482 * ext/openssl/ossl_ssl.c (ossl_call_servername_cb): set the ssl context 5483 object returned by the servername callback on to the socket as an 5484 instance variable. If the callback allocated a new context object 5485 and didn't keep a reference to it, it could be GC'd out from under 5486 the socket object. 5487 5488 * test/openssl/test_ssl.rb (class OpenSSL): test for change. 5489 5490Sun Jul 26 10:07:26 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5491 5492 * test/openssl/test_ssl.rb (class OpenSSL): add test coverage around 5493 OpenSSL::SSL::SSLContext#servername_cb 5494 5495Sun Jul 26 09:10:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5496 5497 * gems/bundled_gems: update latest version of bundled power_assert. 5498 5499Sun Jul 26 08:49:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5500 5501 * test/rubygems/test_gem_remote_fetcher.rb: backport rubygems upstream 5502 change for OpenSSL key length. see detail to 5503 https://github.com/rubygems/rubygems/pull/1290 5504 5505Sun Jul 26 08:33:03 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5506 5507 * ext/openssl/lib/openssl/pkey.rb: implement DEFAULT_512 and 5508 DEFAULT_1024 constants in Ruby. 5509 5510 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): Ask PKey for the 5511 default DH callback since it already must check whether openssl has 5512 been compiled with DH support. 5513 5514 * ext/openssl/ossl_pkey_dh.c (OSSL_PKEY_BN): Remove C definitions of 5515 DEFAULT_512 and DEFAULT_1024 5516 5517 * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto 5518 5519 * test/openssl/test_pkey_dh.rb (class OpenSSL): add test to ensure the 5520 Ruby definitions are the same as the C definitions were. 5521 5522Sun Jul 26 08:14:59 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5523 5524 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): support 5525 specifically setting the tmp_dh_callback to nil. 5526 5527 * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto 5528 5529 * test/openssl/test_pair.rb (module OpenSSL): add a test 5530 5531Sun Jul 26 07:47:14 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5532 5533 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move the default 5534 tmp_dh_callback Ruby code and set it as a default in `initialize`. 5535 5536 * ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_512_GEN): 5537 move this constant to Ruby. 5538 5539 * ext/openssl/ossl_pkey_dh.c (static unsigned char DEFAULT_DH_1024_GEN): 5540 ditto 5541 5542 * ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): ditto 5543 5544 * ext/openssl/ossl_ssl.c (ossl_tmp_dh_callback): ditto 5545 5546 * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): tmp_dh_callback should 5547 always be set, so we can remove this conditional 5548 5549Sun Jul 26 06:22:24 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5550 5551 * test/openssl/test_pair.rb: add a test ensuring that the default DH 5552 callback is used when no DH callback is specified. 5553 5554Sun Jul 26 04:08:27 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5555 5556 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): add missing 5557 instance variables to squash warnings with alpn. 5558 5559Sun Jul 26 03:42:19 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5560 5561 * ext/openssl/lib/openssl/ssl.rb (module OpenSSL): move 5562 OpenSSL::SSL::SSLContext#initialize implementation to pure Ruby. 5563 5564 * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): ditto 5565 5566 * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto 5567 5568Sat Jul 25 21:03:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5569 5570 * random.c (fill_random_bytes_syscall): get rid of blocking when 5571 no entropy is available. based on the patch by mame in 5572 [ruby-core:70114]. [Bug #11395] 5573 5574Sat Jul 25 11:05:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5575 5576 * string.c (str_replace_shared_without_enc): fill the terminator 5577 of embedded strings in wide char encodings. 5578 5579Sat Jul 25 06:38:36 2015 Koichi Sasada <ko1@atdot.net> 5580 5581 * vm_core.h: size should be unsigned. 5582 * rb_call_info_t::index 5583 * rb_iseq_constant_body::stack_max 5584 * rb_iseq_constant_body::local_size 5585 * rb_iseq_constant_body::param::size 5586 * rb_iseq_constant_body::local_table_size 5587 * rb_iseq_constant_body::is_size 5588 * rb_iseq_constant_body::callinfo_size 5589 5590 * iseq.h: same for iseq_catch_table::size. 5591 5592 * compile.c: catch up these fix. 5593 5594 * iseq.c: ditto. 5595 5596 * proc.c: ditto. 5597 5598 * vm.c: ditto. 5599 5600 * vm_args.c: ditto. 5601 5602 * vm_eval.c: ditto. 5603 5604 * vm_insnhelper.c: ditto. 5605 5606Sat Jul 25 06:00:09 2015 Koichi Sasada <ko1@atdot.net> 5607 5608 * vm_core.h: constify rb_iseq_constant_body::line_info_table. 5609 5610 * iseq.c: catch up this fix. 5611 5612Sat Jul 25 05:56:43 2015 Koichi Sasada <ko1@atdot.net> 5613 5614 * vm_core.h: constify rb_iseq_constant_body::param::opt_table and 5615 rb_iseq_constant_body::param::keyword. 5616 5617 * compile.c: catch up this fix. 5618 5619Sat Jul 25 04:47:01 2015 Koichi Sasada <ko1@atdot.net> 5620 5621 * vm_core.h: constify rb_iseq_constant_body::catch_table. 5622 5623 * compile.c (iseq_set_exception_table): catch up this fix. 5624 5625 * iseq.c: ditto. 5626 5627 * vm.c (vm_exec): ditto. 5628 5629Fri Jul 24 21:29:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5630 5631 * st.c (EQUAL, st_delete_safe): fix arguments order to compare 5632 function, searching key is the first and stored key is the 5633 second always. 5634 5635Fri Jul 24 21:27:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5636 5637 * string.c (fstr_update_callback): fstring must not be a shared 5638 string, or the content without RSTRING_FSTR may be freed. 5639 [ruby-dev:49188] [Bug #11386] 5640 5641Fri Jul 24 20:09:43 2015 Naohisa Goto <ngotogenome@gmail.com> 5642 5643 * test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to use 5644 IPv6 loopback interface for 5645 Rinda::TestRingFinger#test_make_socket_ipv6_multicast and 5646 Rinda::TestRingFinger#test_make_socket_ipv6_multicast_hops. 5647 The tests are skipped if there are no IPv6 devices other than the 5648 loopback device. [Bug #11394] [ruby-dev:49199] 5649 5650 * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast): ditto 5651 for Rinda::TestRingServer#test_make_socket_ipv6_multicast. 5652 5653 * test/rinda/test_rinda.rb (test_ring_server_ipv6_multicast): ditto 5654 for Rinda::TestRingServer#test_ring_server_ipv6_multicast. 5655 5656Fri Jul 24 16:35:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5657 5658 * string.c (fstr_update_callback): pool bare strings only. 5659 5660 * string.c (rb_fstring): return the original string with sharing a 5661 fstring if it has extra attributes, not the fstring itself. 5662 [ruby-dev:49188] [Bug #11386] 5663 5664Fri Jul 24 16:35:34 2015 yui-knk <spiketeika@gmail.com> 5665 5666 * file.c (rb_file_s_extname): [DOC] add an example. 5667 5668 * test/ruby/test_path.rb (test_extname): add tests. [Fix GH-978] 5669 * path starts with dot ('.a.rb') 5670 * path includes dir name ('a/b/d/test.rb') 5671 * path includes dir name and dir name starts with dot 5672 ('.a/b/d/test.rb') 5673 5674Thu Jul 23 18:50:43 2015 Koichi Sasada <ko1@atdot.net> 5675 5676 * vm_core.h: constify rb_iseq_constant_body::local_table and 5677 rb_iseq_param_keyword::table and 5678 rb_iseq_param_keyword::default_values. 5679 5680 * compile.c: catch up this fix. 5681 5682 * iseq.c: ditto. 5683 5684Thu Jul 23 17:30:43 2015 Koichi Sasada <ko1@atdot.net> 5685 5686 * vm_core.h: constify rb_iseq_constant_body::iseq_encoded and 5687 rb_control_frame_t::pc. 5688 5689 * compile.c (rb_iseq_translate_threaded_code): catch up this fix. 5690 5691 * iseq.c: ditto. 5692 5693 * vm_exec.c (vm_exec_core): ditto. 5694 5695Thu Jul 23 10:25:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5696 5697 * include/ruby/ruby.h: add raw FL macros, which assume always the 5698 argument object is not a special constant. 5699 5700 * internal.h (STR_EMBED_P, STR_SHARED_P): valid only for T_STRING. 5701 5702 * string.c: deal with taint flags directly across String instances. 5703 5704Thu Jul 23 09:05:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5705 5706 * parse.y (lambda_body): pop cmdarg stack for lookahead 5707 token. [ruby-core:70067] [Bug #11380] 5708 5709Thu Jul 23 04:03:03 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5710 5711 * ext/openssl/ossl_ssl.c: fix tests by not setting the instance 5712 variable on the frozen ssl instance. 5713 5714Thu Jul 23 03:32:26 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5715 5716 * ext/openssl/ossl_ssl.c: add ECDH callback support. [Feature #11356] 5717 5718 * test/openssl/test_pair.rb: test for ECDH callback support 5719 5720Thu Jul 23 03:29:49 2015 Aaron Patterson <tenderlove@ruby-lang.org> 5721 5722 * ext/openssl/ossl_ssl.c: add ALPN support. [Feature #9390] 5723 5724 * ext/openssl/extconf.rb: detect ALPN support in OpenSSL 5725 5726 * test/openssl/test_ssl.rb: test for ALPN 5727 5728Wed Jul 22 23:44:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5729 5730 * string.c (rb_str_reverse): reversed string is not a substring, 5731 and should not set coderange of the original string. 5732 [ruby-dev:49189] [Bug #11387] 5733 5734Wed Jul 22 20:17:51 2015 Koichi Sasada <ko1@atdot.net> 5735 5736 * vm_core.h: modify layout of rb_iseq_constant_body. 5737 5738 Move frequent accessing fields to upper part. 5739 5740Wed Jul 22 19:57:47 2015 Koichi Sasada <ko1@atdot.net> 5741 5742 * vm_core.h: remove unused declaration of 5743 iseq_compile_data_ensure_node_stack. 5744 5745Wed Jul 22 19:52:45 2015 Koichi Sasada <ko1@atdot.net> 5746 5747 * vm_core.h: separate rb_iseq_body into rb_iseq_constant_body and 5748 rb_iseq_variable_body (rb_iseq_t::variable_body). 5749 5750 rb_iseq_variable_body can be modified after compilation. 5751 5752 * compile.c: use rb_iseq_t::variable_body. 5753 5754 * iseq.c: ditto. 5755 5756 * thread.c: ditto. 5757 5758Wed Jul 22 17:50:35 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5759 5760 * lib/matrix/eigenvalue_decomposition.rb: refine code style. 5761 [fix GH-959][ci skip] Patch by @bogdanvlviv 5762 5763Wed Jul 22 15:48:47 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5764 5765 * test/ruby/test_range.rb: Add test case for Range#end with 5766 exclude_end true case. [fix GH-968] Patch by @yui-knk 5767 5768Wed Jul 22 09:45:31 2015 Maksim Sitnikov <sitnikovme@undev.ru> 5769 5770 * numeric.c (num_coerce): [DOC] fix doc for Numeric#coerce, 5771 missing '+'. [Fix GH-974] 5772 5773Wed Jul 22 07:24:18 2015 Koichi Sasada <ko1@atdot.net> 5774 5775 * make rb_iseq_t T_IMEMO object (type is imemo_iseq). 5776 5777 All contents of previous rb_iseq_t is in rb_iseq_t::body. 5778 Remove rb_iseq_t::self because rb_iseq_t is an object. 5779 5780 RubyVM::InstructionSequence is wrapper object points T_IMEMO/iseq. 5781 So RubyVM::ISeq.of(something) method returns different wrapper 5782 objects but they point the same T_IMEMO/iseq object. 5783 5784 This patch is big, but most of difference is replacement of 5785 iseq->xxx to iseq->body->xxx. 5786 5787 (previous) rb_iseq_t::compile_data is also located to 5788 rb_iseq_t::compile_data. 5789 It was moved from rb_iseq_body::compile_data. 5790 5791 Now rb_iseq_t has empty two pointers. 5792 I will split rb_iseq_body data into static data and dynamic data. 5793 5794 * compile.c: rename some functions/macros. 5795 Now, we don't need to separate iseq and iseqval (only VALUE). 5796 5797 * eval.c (ruby_exec_internal): `n' is rb_iseq_t (T_IMEMO/iseq). 5798 5799 * ext/objspace/objspace.c (count_imemo_objects): count T_IMEMO/iseq. 5800 5801 * gc.c: check T_IMEMO/iseq. 5802 5803 * internal.h: add imemo_type::imemo_iseq. 5804 5805 * iseq.c: define RubyVM::InstructionSequence as T_OBJECT. 5806 Methods are implemented by functions named iseqw_.... 5807 5808 * load.c (rb_load_internal0): rb_iseq_new_top() returns 5809 rb_iseq_t (T_IMEMO/iesq). 5810 5811 * method.h (rb_add_method_iseq): accept rb_iseq_t (T_IMEMO/iseq). 5812 5813 * vm_core.h (GetISeqPtr): removed because it is not T_DATA now. 5814 5815 * vm_core.h (struct rb_iseq_body): remove padding for 5816 [Bug #10037][ruby-core:63721]. 5817 5818Wed Jul 22 07:15:33 2015 Koichi Sasada <ko1@atdot.net> 5819 5820 * ext/objspace/objspace.c (total_i): no need to skip singleton classes. 5821 5822Wed Jul 22 06:37:54 2015 Koichi Sasada <ko1@atdot.net> 5823 5824 * vm_core.h: constify rb_call_info_t::kw_arg, 5825 rb_control_frame_t::iseq and rb_control_frame_t::block_iseq. 5826 5827 * iseq.c (iseq_free): catch up this fix. 5828 5829 * vm.c: ditto. 5830 5831 * vm_dump.c: ditto. 5832 5833Wed Jul 22 06:25:45 2015 Koichi Sasada <ko1@atdot.net> 5834 5835 * vm_core.h: constify rb_call_info_t::blockiseq and rb_block_t::iseq. 5836 5837 * vm.c, vm_insnhelper.c: catch up this fix. 5838 5839 * iseq.c (iseq_data_to_ary): constify the first iseq parameter. 5840 5841 * vm_insnhelper.c (vm_make_proc_with_iseq): ditto. 5842 5843Wed Jul 22 06:17:35 2015 Koichi Sasada <ko1@atdot.net> 5844 5845 * method.h: constify rb_method_iseq_t::iseqptr. 5846 5847 * proc.c (rb_method_entry_min_max_arity): catch up this fix. 5848 5849 * vm_insnhelper.c (def_iseq_ptr): constify. 5850 5851Wed Jul 22 03:37:39 2015 Koichi Sasada <ko1@atdot.net> 5852 5853 * gc.c (internal_object_p): Now a singleton classes appear by 5854 ObjectSpace.each_object. [Bug #11360] 5855 5856 * test/ruby/test_objectspace.rb: add a test about it. 5857 5858Tue Jul 21 21:21:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5859 5860 * thread.c (do_select): replace switch and goto with a loop to 5861 suppress maybe-uninitialized warnings by gcc6. 5862 5863 * thread.c (set_unblock_function, rb_wait_for_single_fd): ditto. 5864 5865Tue Jul 21 20:32:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 5866 5867 * test/ruby/test_range.rb: Add test for Range#hash 5868 [fix GH-969] Patch by @yui-knk 5869 5870Tue Jul 21 19:43:20 2015 Koichi Sasada <ko1@atdot.net> 5871 5872 * compile.c: constify the first parameter (iseq). 5873 * iseq_add_mark_object() 5874 * iseq_add_mark_object_compile_time() 5875 5876 * iseq.c, iseq.h (rb_iseq_add_mark_object): ditto. 5877 5878Tue Jul 21 16:18:48 2015 Eric Wong <e@80x24.org> 5879 5880 * test/socket/test_nonblock.rb: increase buffer sizes 5881 to OpenBSD limits. Thanks to Jeremy Evans <code@jeremyevans.net> 5882 [ruby-core:70058] 5883 5884Tue Jul 21 16:08:53 2015 Eric Wong <e@80x24.org> 5885 5886 * load.c (ruby_dln_librefs): make static 5887 5888Tue Jul 21 13:36:54 2015 yuuji.yaginuma <yuuji.yaginuma@gmail.com> 5889 5890 * lib/optparse.rb (complete): [DOC] fix typo. [Fix GH-973] 5891 5892Tue Jul 21 05:20:21 2015 Eric Wong <e@80x24.org> 5893 5894 * io.c (nogvl_wait_for_single_fd): new function for Linux 5895 (maygvl_copy_stream_wait_read): Linux-specific version 5896 (nogvl_copy_stream_wait_write): use nogvl_wait_for_single_fd 5897 [ruby-core:70051] [Feature #11377] 5898 5899Mon Jul 20 15:04:30 2015 Eric Wong <e@80x24.org> 5900 5901 * parse.y (parser_initialize): avoid redundant zero-ing 5902 5903Mon Jul 20 12:12:05 2015 Eric Wong <e@80x24.org> 5904 5905 * parse.y (struct parser_params): pack: 88 => 256 bytes on 64-bit 5906 [ruby-core:70034] [Feature #11371] 5907 5908Sun Jul 19 14:29:18 2015 windwiny <windwiny.ubt@gmail.com> 5909 5910 * ext/pty/pty.c: [DOC] fix example typo, an old name at move from 5911 PTY.open. [Fix GH-972] 5912 5913Sat Jul 18 21:29:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5914 5915 * thread.c (vm_check_ints_blocking): gather common statements at 5916 the end, and prefer LIKELY for Visual C optimization. 5917 5918Sat Jul 18 20:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5919 5920 * load.c (rb_load_internal0): do not raise any exceptions but 5921 return the result tag state. 5922 5923 * load.c (rb_load_protect): reduce nested EXEC_TAGs. 5924 5925Sat Jul 18 19:52:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5926 5927 * gc.c (run_finalizer): set and restore safe level here to reduce 5928 nested EXEC_TAGs. 5929 5930Sat Jul 18 18:45:22 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5931 5932 * eval.c (ruby_cleanup): error_handle() returns exit status to the 5933 system, not internal error state, do not convert the exit status 5934 again. 5935 5936Sat Jul 18 10:29:03 2015 Eric Wong <e@80x24.org> 5937 5938 * test/ruby/test_process.rb: test thread+sigs work after failed exec 5939 5940Sat Jul 18 07:20:18 2015 Jeremy Evans <code@jeremyevans.net> 5941 5942 * test/socket/test_nonblock: use smaller buffer for sendmsg 5943 [ruby-core:70016] [Bug #11364] 5944 5945Sat Jul 18 07:04:24 2015 Eric Wong <e@80x24.org> 5946 5947 * signal.c (trap_handler): cleanup to use RSTRING_GETMEM + memcmp 5948 5949Sat Jul 18 02:53:06 2015 Eric Wong <e@80x24.org> 5950 5951 * io.c (argf_read_nonblock): support `exception: false' 5952 (io_nonblock_eof): new function 5953 (io_read_nonblock): use io_nonblock_eof 5954 (argf_getpartial): accept kwargs hash for `exception: false' 5955 * test/ruby/test_argf.rb (test_read_nonblock): new test 5956 * NEWS: add item for ARGF.read_nonblock 5957 [ruby-core:70000] [Feature #11358] 5958 5959Fri Jul 17 23:51:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5960 5961 * vm_eval.c (rb_eval_cmd): $SAFE=4 has been deprecated. 5962 5963Fri Jul 17 22:18:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5964 5965 * compile.c (iseq_compile_each): use enum ruby_tag_type names. 5966 5967 * vm_core.h (ruby_tag_type): move from eval_intern.h for compiling 5968 break/next/redo/return. 5969 5970Fri Jul 17 15:39:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 5971 5972 * include/ruby/encoding.h (ENC_CODERANGE_CLEAN_P): predicate that 5973 tells if the coderange is clean, that is 7bit or valid, and no 5974 needs to scrub. 5975 5976 * re.c (rb_reg_expr_str): use ENC_CODERANGE_CLEAN_P. 5977 5978 * string.c (enc_strlen, rb_enc_cr_str_buf_cat, rb_str_scrub): 5979 ditto. 5980 5981 * string.c (rb_str_enumerate_chars): ditto, and suppress a warning 5982 by gcc6. 5983 5984Fri Jul 17 15:36:52 2015 yui-knk <spiketeika@gmail.com> 5985 5986 * test/ruby/test_range.rb (test_first_last): Add test for 5987 `Range.new`. [Fix GH-971] 5988 5989Fri Jul 17 15:36:40 2015 yui-knk <spiketeika@gmail.com> 5990 5991 * test/ruby/test_range.rb (test_first_last): Add assertions to 5992 test of `Range#last` with exclude_end true case. [Fix GH-970] 5993 5994Fri Jul 17 09:59:14 2015 Eric Wong <e@80x24.org> 5995 5996 * thread.c (rb_thread_alone): simplify 5997 5998Fri Jul 17 09:58:32 2015 Eric Wong <e@80x24.org> 5999 6000 * lib/rinda/tuplespace.rb: remove enumerator require 6001 * test/pathname/test_pathname.rb: ditto 6002 6003Fri Jul 17 05:33:58 2015 Eric Wong <e@80x24.org> 6004 6005 * iseq.c (rb_iseq_compile_with_option): reuse result of previous 6006 GET_THREAD() call 6007 * thread.c (thread_create_core): ditto 6008 (rb_mutex_trylock): ditto 6009 (rb_mutex_lock): ditto 6010 * process.c (rb_waitpid): avoid multiple eval from RUBY_VM_CHECK_INTS 6011 * thread.c (rb_thread_check_ints): ditto 6012 6013Thu Jul 16 19:12:30 2015 Eric Wong <e@80x24.org> 6014 6015 * thread.c (mutex_alloc): remove needless volatile 6016 6017Thu Jul 16 22:05:29 2015 Koichi Sasada <ko1@atdot.net> 6018 6019 * vm_core.h: constify rb_iseq_t::parent_iseq. 6020 6021 rb_iseq_t::local_iseq is not constant data because 6022 local_iseq::flip_cnt can be modified (commented). 6023 6024 * compile.c: catch up this fix. 6025 6026 * iseq.c: ditto. 6027 6028 * vm_insnhelper.c: ditto. 6029 6030Thu Jul 16 21:47:47 2015 Naohisa Goto <ngotogenome@gmail.com> 6031 6032 * process.c (redirect_dup2): when the new FD of dup2() conflicts 6033 with one of the timer thread FDs, the internal FD is diverted. 6034 [Bug #11336] [ruby-core:69886] [Bug #11350] [ruby-core:69961] 6035 6036 * process.c (dup2_with_divert): new function for the above purpose. 6037 6038 * thread_pthread.c (rb_divert_reserved_fd): new function for 6039 diverting reserved FD. If the given FD is the same as one of the 6040 reserved FDs, the reserved FD number is internally changed. 6041 It returns -1 when error. Otherwise, returns 0. It also returns 6042 0 if there is no need to change reserved FD number. 6043 6044 * thread_win32.c (rb_divert_reserved_fd): always returns 0 because 6045 of no reserved FDs. 6046 6047 * internal.h (rb_divert_reserved_fd): prototype declaration. 6048 It is Ruby internal use only. 6049 6050Thu Jul 16 21:47:46 2015 Koichi Sasada <ko1@atdot.net> 6051 6052 * iseq.c (rb_iseq_disasm): rename rb_iseq_t *iseqdat to iseq 6053 and VALUE *iseq to code. 6054 6055 * iseq.c (rb_iseq_disasm_insn): ditto. 6056 6057Thu Jul 16 14:34:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6058 6059 * vm.c (REWIND_CFP): keep the arguments region inside the valid 6060 value stack. [ruby-core:69969] [Bug #11352] 6061 6062Thu Jul 16 11:38:21 2015 Eric Wong <e@80x24.org> 6063 6064 * process.c (close_unless_reserved): declare type of `fd' arg 6065 6066Thu Jul 16 08:47:29 2015 Eric Wong <e@80x24.org> 6067 6068 * load.c (rb_construct_expanded_load_path): fstring expanded path 6069 (get_loaded_features_index): fstring feature path 6070 (rb_provide_feature): ditto 6071 [ruby-core:69871] [Feature #11331] 6072 6073Thu Jul 16 02:56:14 2015 Eric Wong <e@80x24.org> 6074 6075 * thread.c (thread_initialize): avoid RSTRING_PTR and NUMT2INT 6076 6077Thu Jul 16 01:00:46 2015 Naohisa Goto <ngotogenome@gmail.com> 6078 6079 * test/ruby/test_process.rb (test_exec_close_reserved_fd): test for 6080 [Bug #11353] 6081 6082Thu Jul 16 00:35:42 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 6083 6084 * .gitignore: ignore version.i. 6085 6086Wed Jul 15 23:40:32 2015 Naohisa Goto <ngotogenome@gmail.com> 6087 6088 * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): 6089 use RUBY (= EnvUtil.rubybin) 6090 6091Wed Jul 15 23:01:22 2015 Naohisa Goto <ngotogenome@gmail.com> 6092 6093 * process.c (redirect_close, parent_redirect_close): should not close 6094 reserved FD. It should be closed in the exec system call due to the 6095 O_CLOEXEC or FD_CLOEXEC flag. [Bug #11353] [ruby-core:69977] 6096 6097 * process.c (close_unless_reserved): new function to close FD unless 6098 it is reserved for internal communication. 6099 6100 * thread_pthread.c (rb_reserved_fd_p): should check owner_process pid 6101 to avoid false positive in forked child process. 6102 6103Wed Jul 15 18:31:18 2015 Eric Wong <e@80x24.org> 6104 6105 * proc.c (proc_mark): remove redundant check 6106 * vm.c (env_mark): ditto 6107 6108Wed Jul 15 17:27:40 2015 Eric Wong <e@80x24.org> 6109 6110 * iseq.c (iseq_mark): remove check for data pointer 6111 * proc.c (binding_mark): ditto 6112 * vm.c (rb_thread_mark): ditto 6113 * vm_trace.c (tp_mark): ditto 6114 6115Wed Jul 15 16:55:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6116 6117 * encoding.c (enc_autoload): drop dummy encoding flag from 6118 the loaded encoding index. this flag is used only in this 6119 source. 6120 6121Wed Jul 15 14:39:29 2015 Koichi Sasada <ko1@atdot.net> 6122 6123 * vm.c (vm_make_env_each): add comments about env layout. 6124 Do not use `i' to specify `new_ep'. 6125 6126 * vm.c (rb_proc_create, rb_vm_make_proc_lambda): envval is not used. 6127 6128Wed Jul 15 08:59:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6129 6130 * gc.h (RUBY_MARK_UNLESS_NULL): evaluate the argument only once 6131 to get rid of inadvertent side effects. 6132 6133Wed Jul 15 02:53:11 2015 Koichi Sasada <ko1@atdot.net> 6134 6135 * vm_core.h, vm.c: remove rb_proc_t::envval because we can know it via 6136 rb_proc_t::block::ep. 6137 6138 rb_vm_proc_envval(const rb_proc_t *proc) returns an Env object which 6139 the Proc object use. 6140 6141 * proc.c: catch up this fix. 6142 6143 * vm_dump.c (rb_vmdebug_proc_dump_raw): ditto. 6144 6145Wed Jul 15 02:27:22 2015 Koichi Sasada <ko1@atdot.net> 6146 6147 * vm_core.h, vm.c: remove rb_env_t::prev_envval because we can know it 6148 via env->ep. 6149 6150 rb_vm_env_prev_envval(env) returns prev_envval via env->ep. 6151 6152 * vm_core.h (rb_vm_env_local_variables): change parameter type 6153 from VALUE (T_DATA/env) to `const rb_env_t *' to make same as 6154 rb_vm_env_prev_envval(). 6155 6156 * proc.c: catch up these changes. 6157 6158 * vm_dump.c: ditto. 6159 6160 * vm.c: rename macros. 6161 6162 * ENV_IN_HEAP_P() to VM_EP_IN_HEAP_P() because it uses ep. 6163 * ENV_VAL() to VM_ENV_EP_ENVVAL() because it is too short. 6164 6165Wed Jul 15 01:09:09 2015 Koichi Sasada <ko1@atdot.net> 6166 6167 * vm.c: refactoring Proc/Env related code. 6168 6169 * vm_core.h: remove blockprocval field from rb_proc_t and rb_binding_t. 6170 Instead of this field, mark given block in Proc at rb_env_t::env. 6171 6172 * vm.c (vm_make_env_each): make an Env object with this layout. 6173 And also simplify parameters. 6174 6175 * proc.c: catch up this fix. 6176 6177 * vm_core.h: remove rb_env_t::local_size because it is not used. 6178 6179 * vm_dump.c (rb_vmdebug_env_dump_raw): catch up this fix. 6180 6181 * vm_core.h (rb_vm_make_env_object): remove rb_vm_make_env_object() 6182 because it is only referred from vm.c. 6183 6184 * vm_eval.c (eval_string_with_cref): catch up this fix. 6185 6186Wed Jul 15 00:03:36 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 6187 6188 * gc.c (__has_feature): move into internal.h. 6189 6190 * internal.h (__has_feature): ditto. 6191 6192 * internal.h (__has_extension): new macro. 6193 6194 * internal.h (STATIC_ASSERT): use _Static_assert with 6195 clang. [ruby-core:69931] [Bug #11343] 6196 6197Wed Jul 15 00:00:00 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 6198 6199 * random.c (fill_random_bytes_syscall): fix compile error with 6200 clang. [ruby-core:69931] [Bug #11343] 6201 6202Tue Jul 14 11:22:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6203 6204 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#register): 6205 notify the handler thread of new timeout registration. 6206 6207 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#initialize): 6208 make sleep intervals adaptive than fixed period intervals. 6209 6210 * lib/webrick/server.rb (WEBrick::GenericServer#start): flush 6211 shutdown pipe. 6212 6213 * lib/webrick/server.rb (WEBrick::GenericServer#stop): request the 6214 server to stop immediately by sending data via shutdown pipe. 6215 6216Mon Jul 13 23:58:08 2015 Stefano Tortarolo <stefano.tortarolo@gmail.com> 6217 6218 * lib/webrick/httpproxy.rb (WEBrick::HTTPProxyServer#do_CONNECT): 6219 fix typos in debugger statements. [Fix GH-967] 6220 6221Mon Jul 13 19:11:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6222 6223 * lib/timeout.rb (timeout): warn as deprecated for a long time. 6224 6225Mon Jul 13 01:37:27 2015 Zachary Scott <zzak@ruby-lang.org> 6226 6227 * ext/openssl/ossl.c: [DOC] Backport ruby/openssl@dbb3fdb [Bug #11345] 6228 Thanks to Tomoya Chiba for the report and help with patch. 6229 6230Sun Jul 12 09:20:02 2015 Shota Fukumori <her@sorah.jp> 6231 6232 * ext/socket/basicsocket.c: [DOC] typo (Errno::AGAIN -> Errno::EAGAIN) 6233 6234 * ext/socket/socket.c: ditto 6235 6236 * ext/socket/tcpserver.c: ditto 6237 6238 * ext/socket/udpsocket.c: ditto 6239 6240 * ext/socket/unixserver.c: ditto 6241 6242 * io.c: ditto 6243 6244Sun Jul 12 06:42:23 2015 ksss <co000ri@gmail.com> 6245 6246 * test/stringio/test_stringio.rb (test_sysread): add a test for 6247 StringIO#sysread. [Fix GH-966] 6248 6249Sat Jul 11 21:16:34 2015 ksss <co000ri@gmail.com> 6250 6251 * ext/stringio/stringio.c (Init_stringio): [DOC] Fix an example, 6252 StringIO#puts should be set "\n" at last. [Fix GH-965] 6253 6254Sat Jul 11 12:45:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6255 6256 * lib/timeout.rb (Timeout#timeout): remove regexp with wrong line 6257 number and fix caller depth. 6258 6259Fri Jul 10 22:05:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6260 6261 * lib/timeout.rb (ExitException): removed internal exception class 6262 and use Timeout::Error instead, as using throw/catch to isolate 6263 each timeouts now. [ruby-dev:49179] [Bug #11344] 6264 6265Fri Jul 10 17:41:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6266 6267 * dir.c (is_case_sensitive): get attributes by the file descriptor 6268 of open directory, instead of using mount point name. 6269 6270Fri Jul 10 10:46:02 2015 ksss <co000ri@gmail.com> 6271 6272 * ext/stringio/stringio.c (writable): remove unnecessary check for 6273 deprecated safe level 4. [Fix GH-963] 6274 6275Thu Jul 9 15:07:12 2015 NAKAMURA Usaku <usa@ruby-lang.org> 6276 6277 * win32/win32.c (waitpid): return immediately if interrupted. 6278 reported by <takkanm AT gmail.com> [ruby-dev:49176] [Bug #11340] 6279 6280Thu Jul 9 13:03:46 2015 Koichi Sasada <ko1@atdot.net> 6281 6282 * vm_insnhelper.c (vm_search_super_method): use CI_SET_FASTPATH(). 6283 6284Thu Jul 9 11:07:06 2015 Koichi Sasada <ko1@atdot.net> 6285 6286 * vm_core.h: remove rb_call_info_t::klass because 6287 rb_callable_method_entry_t has information about defined class. 6288 6289 * vm_insnhelper.c (vm_search_method): don't set ci->klass because 6290 it is removed. 6291 6292 * vm_insnhelper.c (rb_equal_opt): ditto. 6293 6294 * vm_insnhelper.c (vm_search_superclass): removed because it is too 6295 simple to write code directly. 6296 6297 * vm_insnhelper.c (vm_defined): don't use vm_search_superclass(). 6298 This fix avoid searching current callable `me' twice. 6299 6300 * vm_insnhelper.c (vm_search_super_method): ditto. 6301 6302Thu Jul 9 10:03:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6303 6304 * lib/net/http/responses.rb: Added 308 status to CODE_TO_OBJ list. 6305 [fix GH-961] Patch by @billinghamj 6306 6307Thu Jul 9 09:34:14 2015 Koichi Sasada <ko1@atdot.net> 6308 6309 * vm_core.h (rb_control_frame_t): fix comments (layout index). 6310 6311Thu Jul 9 09:25:50 2015 Zachary Scott <e@zzak.io> 6312 6313 * parse.y: Improve duplicate key warning with patch by @andremedeiros 6314 [Fix GH-938] https://github.com/ruby/ruby/pull/938 [Bug #11327] 6315 6316Wed Jul 8 07:43:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6317 6318 * lib/csv.rb: typo fix [ci skip][fix GH-958] Patch by @henrik 6319 6320Wed Jul 8 04:42:27 2015 Eric Wong <e@80x24.org> 6321 6322 * iseq.c (iseq_data_to_ary): dump kw_arg as symbol 6323 * test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip 6324 [ruby-core:69891] [Bug #11338] 6325 6326Tue Jul 7 18:18:41 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 6327 6328 * random.c (fill_random_bytes_syscall): fix compile error. 6329 6330Tue Jul 7 16:47:30 2015 Eric Wong <e@80x24.org> 6331 6332 * compile.c (COMPILE_ERROR): reduce GET_THREAD() calls 6333 6334Tue Jul 7 16:39:04 2015 Eric Wong <e@80x24.org> 6335 6336 * random.c (fill_random_bytes_syscall): return -1 for error 6337 * random.c (fill_random_bytes): try urandom on syscall failure 6338 6339Tue Jul 7 15:02:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6340 6341 * file.c (rb_str_normalize_ospath): skip invalid byte sequence not 6342 to loop infinitely. this case usually does not happen as the 6343 input name should come from real file systems. 6344 6345Tue Jul 7 14:40:08 2015 Koichi Sasada <ko1@atdot.net> 6346 6347 * vm_backtrace.c: remove debug flag introduced accidentally. 6348 6349Tue Jul 7 12:05:37 2015 Koichi Sasada <ko1@atdot.net> 6350 6351 * cont.c (cont_free): remove mysterious fflush() 6352 introduced at r19890, maybe accidentally. 6353 6354Tue Jul 7 11:45:14 2015 Koichi Sasada <ko1@atdot.net> 6355 6356 * proc.c (rb_method_call): because data->me should be non-NULL, 6357 do not check data->me 6358 6359 * proc.c (method_inspect): ditto. 6360 6361Tue Jul 7 11:37:25 2015 Koichi Sasada <ko1@atdot.net> 6362 6363 * vm_core.h: remove rb_iseq_t::orig because rb_iseq_clone() 6364 no longer exists. 6365 6366 * iseq.c: don't use rb_iseq_t::orig. 6367 6368Tue Jul 07 11:25:57 2015 Koichi Sasada <ko1@atdot.net> 6369 6370 * iseq.c, internal.h (rb_iseq_clone): removed because we don't need to 6371 clone iseq any more. 6372 6373 * class.c (clone_method): share iseq between cloned methods. All of 6374 method dependent information are able to refer from method entry. 6375 6376Tue Jul 7 04:42:25 2015 Eric Wong <e@80x24.org> 6377 6378 * string.c (Init_String): use rb_str_freeze for String#freeze 6379 to resize internal buffer 6380 [ruby-core:69870] [Feature #11330] 6381 6382Tue Jul 7 04:12:32 2015 Koichi Sasada <ko1@atdot.net> 6383 6384 * vm.c (vm_define_method): remove an unused local variable. 6385 6386Tue Jul 7 03:57:28 2015 Koichi Sasada <ko1@atdot.net> 6387 6388 * vm_core.h: remove rb_iseq_t::defined_method_id because it is not 6389 needed. 6390 6391 * eval.c (frame_func_id): simplify. rb_callable_method_entry_t 6392 has enough information. 6393 6394 * eval.c (frame_called_id): ditto. 6395 6396 * iseq.c (prepare_iseq_build): catch up this fix. 6397 6398 * proc.c (rb_mod_define_method): ditto. 6399 6400 * vm.c (vm_define_method): ditto. 6401 6402Tue Jul 7 03:47:26 2015 Koichi Sasada <ko1@atdot.net> 6403 6404 * vm_core.h: remove a useless declaration. 6405 6406Tue Jul 7 03:33:20 2015 Koichi Sasada <ko1@atdot.net> 6407 6408 * vm_core.h: remove rb_iseq_t::klass to reduce dynamic data. 6409 6410 * internal.h, iseq.c (rb_iseq_klass): remove it because 6411 rb_iseq_t::klass is removed. 6412 6413 * vm_insnhelper.c (vm_super_outside): do not see cfp->iseq, but 6414 check callable method entry on a frame. 6415 This fix simplify the logic to search super class. 6416 6417 * test/ruby/test_method.rb: support super() from Proc. 6418 Now, [Bug #4881] and [Bug #3136] was solved. 6419 6420 * proc.c (rb_mod_define_method): catch up this change. 6421 6422 * vm.c (vm_define_method): ditto. 6423 6424 * vm_backtrace.c (rb_profile_frames): now, each `frame' objects 6425 are rb_callable_method_entry_t data or iseq VALUEs. 6426 6427 This fix introduce minor compatibility issue that 6428 rb_profile_frame_label() always returns 6429 rb_profile_frame_base_label(). 6430 6431 * test/-ext-/debug/test_profile_frames.rb: catch up this change. 6432 6433Tue Jul 7 01:52:14 2015 Koichi Sasada <ko1@atdot.net> 6434 6435 * cont.c (fiber_init): initialize control frame correctly. 6436 This fix does not affect any ordinal execution, but 6437 affects debug prints. 6438 6439Mon Jul 6 17:59:05 2015 Koichi Sasada <ko1@atdot.net> 6440 6441 * vm_insnhelper.c (vm_search_super_method): do not skip calling 6442 same methods in super. 6443 [Bug #3351] 6444 6445 * test/ruby/test_super.rb: fix a test. 6446 6447Mon Jul 6 17:59:11 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6448 6449 * ext/tk/tcltklib.c: removed deprecated safe level. 6450 6451Mon Jul 6 17:16:37 2015 Koichi Sasada <ko1@atdot.net> 6452 6453 * method.h, proc.c (rb_method_entry_location): make it static 6454 and remove prefix `rb_' because it is used only in proc.c. 6455 6456Mon Jul 6 16:42:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6457 6458 * test/lib/memory_status.rb: removed redundant path. 6459 6460Mon Jul 6 01:18:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6461 6462 * test/lib/test/unit/parallel.rb: make @@project_dir one level 6463 upper as this file had moved one level deeper. 6464 6465Sun Jul 5 23:54:10 2015 mizokami <suzunatsu@yahoo.com> 6466 6467 * lib/optparse.rb: [DOC] Fix typo. 6468 6469Sun Jul 5 18:25:37 2015 Eric Wong <e@80x24.org> 6470 6471 * gc.c (gc_profile_record_get): fix spelling error in keys 6472 6473Sun Jul 5 14:49:01 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 6474 6475 * README.md: fix a typo pointed out by raoulvdberge. 6476 https://github.com/ruby/ruby/pull/953#commitcomment-11998186 6477 6478Sun Jul 5 12:56:20 2015 Irvi Firqotul Aini <viarc7@gmail.com> 6479 6480 * README.md: Added link HowToReport bugs. 6481 6482Sun Jul 5 10:51:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6483 6484 * array.c (rb_ary_sort_bang): the original array may not be 6485 embedded even if a substitution array is embedded, as it is 6486 embedded when the original array is short enough but not 6487 embedded. [ruby-dev:49166] [Bug #11332] 6488 6489Sun Jul 5 09:31:40 2015 Eric Wong <e@80x24.org> 6490 6491 * test/ruby/test_process.rb: test for fd=3 usability in child 6492 6493Sat Jul 4 19:43:31 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6494 6495 * Add test case for empty array and first method with args. 6496 Patch by @yui-knk [fix GH-955] 6497 6498Sat Jul 4 19:39:08 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6499 6500 * Add test for `Enumerable#sort` with block. Patch by @yui-knk 6501 [fix GH-954] 6502 6503Sat Jul 4 14:38:43 2015 Eric Wong <e@80x24.org> 6504 6505 * enum.c (zip_ary): remove volatile, use RB_GC_GUARD 6506 (zip_i): ditto 6507 6508Sat Jul 4 10:42:57 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6509 6510 * lib/rubygems/test_case.rb (teardown): do not delete features 6511 loaded from the original load paths, the same libraries should 6512 be loaded again when the same features are required. 6513 [ruby-dev:49031] [Bug #11222] 6514 6515Sat Jul 4 09:38:52 2015 Eric Wong <e@80x24.org> 6516 6517 * vm.c (rb_vm_mark): reduce branches for always-set VM fields 6518 (rb_vm_add_root_module): ditto 6519 6520Fri Jul 03 20:05:10 2015 Koichi Sasada <ko1@atdot.net> 6521 6522 * method.h: introduce rb_callable_method_entry_t to remove 6523 rb_control_frame_t::klass. 6524 [Bug #11278], [Bug #11279] 6525 6526 rb_method_entry_t data belong to modules/classes. 6527 rb_method_entry_t::owner points defined module or class. 6528 6529 module M 6530 def foo; end 6531 end 6532 6533 In this case, owner is M. 6534 6535 rb_callable_method_entry_t data belong to only classes. 6536 For modules, MRI creates corresponding T_ICLASS internally. 6537 rb_callable_method_entry_t can also belong to T_ICLASS. 6538 6539 rb_callable_method_entry_t::defined_class points T_CLASS or 6540 T_ICLASS. 6541 rb_method_entry_t data for classes (not for modules) are also 6542 rb_callable_method_entry_t data because it is completely same data. 6543 In this case, rb_method_entry_t::owner == rb_method_entry_t::defined_class. 6544 6545 For example, there are classes C and D, and includes M, 6546 6547 class C; include M; end 6548 class D; include M; end 6549 6550 then, two T_ICLASS objects for C's super class and D's super class 6551 will be created. 6552 6553 When C.new.foo is called, then M#foo is searched and 6554 rb_callable_method_t data is used by VM to invoke M#foo. 6555 6556 rb_method_entry_t data is only one for M#foo. 6557 However, rb_callable_method_entry_t data are two (and can be more). 6558 It is proportional to the number of including (and prepending) 6559 classes (the number of T_ICLASS which point to the module). 6560 6561 Now, created rb_callable_method_entry_t are collected when 6562 the original module M was modified. We can think it is a cache. 6563 6564 We need to select what kind of method entry data is needed. 6565 To operate definition, then you need to use rb_method_entry_t. 6566 6567 You can access them by the following functions. 6568 6569 * rb_method_entry(VALUE klass, ID id); 6570 * rb_method_entry_with_refinements(VALUE klass, ID id); 6571 * rb_method_entry_without_refinements(VALUE klass, ID id); 6572 * rb_resolve_refined_method(VALUE refinements, const rb_method_entry_t *me); 6573 6574 To invoke methods, then you need to use rb_callable_method_entry_t 6575 which you can get by the following APIs corresponding to the 6576 above listed functions. 6577 6578 * rb_callable_method_entry(VALUE klass, ID id); 6579 * rb_callable_method_entry_with_refinements(VALUE klass, ID id); 6580 * rb_callable_method_entry_without_refinements(VALUE klass, ID id); 6581 * rb_resolve_refined_method_callable(VALUE refinements, const rb_callable_method_entry_t *me); 6582 6583 VM pushes rb_callable_method_entry_t, so that rb_vm_frame_method_entry() 6584 returns rb_callable_method_entry_t. 6585 You can check a super class of current method by 6586 rb_callable_method_entry_t::defined_class. 6587 6588 * method.h: renamed from rb_method_entry_t::klass to 6589 rb_method_entry_t::owner. 6590 6591 * internal.h: add rb_classext_struct::callable_m_tbl to cache 6592 rb_callable_method_entry_t data. 6593 6594 We need to consider about this field again because it is only 6595 active for T_ICLASS. 6596 6597 * class.c (method_entry_i): ditto. 6598 6599 * class.c (rb_define_attr): rb_method_entry() does not takes 6600 defined_class_ptr. 6601 6602 * gc.c (mark_method_entry): mark RCLASS_CALLABLE_M_TBL() for T_ICLASS. 6603 6604 * cont.c (fiber_init): rb_control_frame_t::klass is removed. 6605 6606 * proc.c: fix `struct METHOD' data structure because 6607 rb_callable_method_t has all information. 6608 6609 * vm_core.h: remove several fields. 6610 * rb_control_frame_t::klass. 6611 * rb_block_t::klass. 6612 6613 And catch up changes. 6614 6615 * eval.c: catch up changes. 6616 6617 * gc.c: ditto. 6618 6619 * insns.def: ditto. 6620 6621 * vm.c: ditto. 6622 6623 * vm_args.c: ditto. 6624 6625 * vm_backtrace.c: ditto. 6626 6627 * vm_dump.c: ditto. 6628 6629 * vm_eval.c: ditto. 6630 6631 * vm_insnhelper.c: ditto. 6632 6633 * vm_method.c: ditto. 6634 6635Fri Jul 3 14:30:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6636 6637 * win32/file.c: some mingw compilers need a tweek for the 6638 declarations of _wfreopen_s. [Bug #11320] 6639 6640Fri Jul 3 12:25:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6641 6642 * transcode.c (rb_econv_set_replacement): target encoding name can 6643 be empty now. [ruby-core:69841] [Bug #11324] 6644 6645Fri Jul 3 07:21:06 2015 Eric Wong <e@80x24.org> 6646 6647 * benchmark/bm_io_nonblock_noex.rb: new benchmark 6648 * ext/openssl/ossl_ssl.c (no_exception_p): new function 6649 (ossl_start_ssl): adjust for no_exception_p 6650 (ossl_ssl_connect): adjust ossl_start_ssl call 6651 (ossl_ssl_connect_nonblock): ditto 6652 (ossl_ssl_accept): ditto 6653 (ossl_ssl_accept_nonblock): ditto 6654 (ossl_ssl_read_internal): adjust for no_exception_p 6655 (ossl_ssl_write_internal): ditto 6656 (ossl_ssl_write): adjust ossl_write_internal call 6657 (ossl_ssl_write_nonblock): ditto 6658 * ext/stringio/stringio.c (strio_read_nonblock): 6659 delay exception check 6660 * io.c (no_exception_p): new function 6661 (io_getpartial): call no_exception_p 6662 (io_readpartial): adjust for io_getpartial 6663 (get_kwargs_exception): remove 6664 (io_read_nonblock): adjust for io_getpartial, 6665 check no_exception_p on EOF 6666 (io_write_nonblock): call no_exception_p 6667 (rb_io_write_nonblock): do not check `exception: false' 6668 (argf_getpartial): adjust for io_getpartial 6669 [ruby-core:69778] [Feature #11318] 6670 6671Fri Jul 3 07:13:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6672 6673 * dir.c (replace_real_basename): Win32 API does not set errno, get 6674 the last error by GetLastError() and map to errno. [Bug #10015] 6675 6676Thu Jul 2 21:32:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6677 6678 * dir.c (replace_real_basename): show warnings at errors. 6679 [Bug #10015] 6680 6681Thu Jul 2 18:39:20 2015 Koichi Sasada <ko1@atdot.net> 6682 6683 * gc.c: remove `#define RGENGC_OBJ_INFO 1' line introduced to 6684 debug Bug #11244. 6685 6686Thu Jul 2 18:34:26 2015 Koichi Sasada <ko1@atdot.net> 6687 6688 * gc.c (rb_raw_obj_info): separated from rb_obj_info(). 6689 Fill internal object information into passed buffer. 6690 6691 * gc.h: declare rb_raw_obj_info(). 6692 6693Thu Jul 2 16:15:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6694 6695 * dir.c (replace_real_basename): update path type by the target 6696 attributes if possible, to improve the performance. [Bug #10015] 6697 6698Thu Jul 2 14:45:53 2015 NAKAMURA Usaku <usa@ruby-lang.org> 6699 6700 * st.c: get rid of VC++'s warnings of C4700 (uninitialized local 6701 variable used). I think that these are wrong, but should shut them 6702 up. 6703 6704Thu Jul 2 14:15:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6705 6706 * lib/rubygems.rb (Gem.load_path_insert_index): search 6707 @gem_prelude_index first. 6708 6709 * lib/rubygems/test_case.rb (Gem::TestCase#setup): keep already 6710 expanded paths to preserve instance variables. 6711 6712Thu Jul 2 14:12:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6713 6714 * ruby.c (process_options): also copy initial load path marks at 6715 setting load paths encoding. 6716 6717Thu Jul 2 12:26:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6718 6719 * test/rubygems/test_gem_server.rb (process_based_port): use 6720 dynamically chosen port numbers to get rid of conflicts. 6721 6722Thu Jul 2 11:58:59 2015 NAKAMURA Usaku <usa@ruby-lang.org> 6723 6724 * test/rubygems/test_gem_specification.rb: skip tests which the 6725 platform does not permit the filename of its test file. 6726 6727Thu Jul 2 11:36:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6728 6729 * test/rubygems/test_gem_resolver_git_specification.rb: require 6730 rubygems/installer.rb before Gem::TestCase#setup runs, otherwise 6731 as Gem::TestCase#teardown restores $LOADED_FEATURES to the state 6732 at that time, the requiring the file in GitSpecification#install 6733 method causes a lot of constant redefinitions. 6734 6735Thu Jul 2 10:43:36 2015 Eric Wong <e@80x24.org> 6736 6737 * ext/socket/rubysocket.h: flags for common socket families 6738 (rsock_getfamily): update signature 6739 * include/ruby/io.h: comment socket FMODE flags 6740 * ext/socket/init.c (rsock_getfamily): memoize family 6741 * ext/socket/basicsocket.c: adjust rsock_getfamily calls 6742 * ext/socket/ancdata.c: ditto 6743 [ruby-core:69713] [Feature #11298] 6744 6745Thu Jul 2 10:30:01 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6746 6747 * lib/rubygems/resolver.rb: fixed NameError of Gem::Util::NULL_DEVICE. 6748 6749Thu Jul 2 09:51:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6750 6751 * lib/rubygems/resolver.rb: fix error of null device reference with DOSISH 6752 platform. 6753 6754Thu Jul 2 06:49:44 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6755 6756 * lib/rubygems: Update to RubyGems HEAD(c202db2). 6757 this version contains many enhancements see http://git.io/vtNwF 6758 * test/rubygems: ditto. 6759 6760Wed Jul 1 23:50:34 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 6761 6762 * test/net/http/test_httpresponse.rb 6763 (HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase): 6764 fix a failure without zlib. 6765 6766Wed Jul 1 10:54:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6767 6768 * Add test for Enumerable#none? [fix GH-950] Patch by @yui-knk 6769 6770Wed Jul 1 09:30:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6771 6772 * struct.c (struct_set_members): hide internal back_members 6773 object, and members object does not need to be duped as it 6774 should be frozen and hidden. 6775 6776Wed Jul 1 09:28:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6777 6778 * struct.c (struct_member_pos): revert r51080 to fix other 6779 implicit conversions but cast the return value to fix the 6780 previous implicit conversion. 6781 6782Wed Jul 1 08:47:24 2015 NARUSE, Yui <naruse@ruby-lang.org> 6783 6784 * struct.c (struct_member_pos): avoid implicit conversion loses 6785 integer precision: 'long' to 'int'. 6786 6787Wed Jul 1 05:57:03 2015 Eric Wong <e@80x24.org> 6788 6789 * vm_method.c (rb_add_method_iseq): add RB_GC_GUARD 6790 * class.c (clone_method): remove RB_GC_GUARD 6791 * struct.c (define_aref_method): ditto 6792 (define_aset_method): ditto 6793 * vm.c (vm_define_method): 6794 * iseq.c (rb_iseq_clone): add RB_GC_GUARD 6795 6796Wed Jul 1 05:43:58 2015 Eric Wong <e@80x24.org> 6797 6798 * struct.c (AREF_HASH_THRESHOLD): new macro 6799 (id_back_members): new ID 6800 (struct_member_pos_ideal): new function 6801 (struct_member_pos_probe): ditto 6802 (struct_set_members): ditto 6803 (struct_member_pos): ditto 6804 (rb_struct_getmember): use struct_member_pos for O(1) access 6805 (rb_struct_aref_sym): ditto 6806 (rb_struct_aset_sym): ditto 6807 (setup_struct): call struct_set_members 6808 (struct_define_without_accessor): ditto 6809 (Init_Struct): initialize __members_back__ 6810 [ruby-core:66851] [ruby-core:69705] [ruby-core:69821] 6811 6812Tue Jun 30 23:12:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6813 6814 * io.c (rb_io_reopen): FilePathValue() ensures the path 6815 NUL-terminated and frozen, so it is unnecessary to make it shared. 6816 6817Tue Jun 30 23:11:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6818 6819 * dir.c (check_dirname): ensure path name NUL-terminated for 6820 SHARABLE_MIDDLE_SUBSTRING. 6821 6822 * io.c (rb_sysopen): ditto. 6823 6824Tue Jun 30 18:38:16 2015 NAKAMURA Usaku <usa@ruby-lang.org> 6825 6826 * win32/file.c (rb_freopen): need to terminate by NUL. 6827 6828Tue Jun 30 17:28:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6829 6830 * io.c (rb_io_reopen): freopen(3) with OS encoding path. 6831 [ruby-core:69780] [Bug #11320] 6832 6833 * win32/file.c (rb_freopen): wrapper of wchar version freopen(3). 6834 use _wfreopen_s() if available. 6835 6836Tue Jun 30 08:24:08 2015 Eric Wong <e@80x24.org> 6837 6838 * io.c (rb_io_oflags_modestr): handle O_TRUNC correctly 6839 * test/ruby/test_io.rb (test_reopen_stdio): new test 6840 Patch-by: cremno phobia <cremno@mail.ru> 6841 [ruby-core:69779] [Bug #11319] 6842 6843Tue Jun 30 02:47:02 2015 Eric Wong <e@80x24.org> 6844 6845 * include/ruby/st.h (struct st_table): hide struct list_head 6846 * st.c (struct st_table_entry): adjust struct 6847 (head, tail): remove shortcut macros 6848 (st_head): new wrapper function 6849 (st_init_table_with_size): adjust to new struct and API 6850 (st_clear): ditto 6851 (add_direct): ditto 6852 (unpack_entries): ditto 6853 (rehash): ditto 6854 (st_copy): ditto 6855 (remove_entry): ditto 6856 (st_shift): ditto 6857 (st_foreach_check): ditto 6858 (st_foreach): ditto 6859 (get_keys): ditto 6860 (get_values): ditto 6861 (st_values_check): ditto 6862 (st_reverse_foreach_check): ditto (unused) 6863 (st_reverse_foreach): ditto (unused) 6864 [ruby-core:69726] [Misc #10278] 6865 6866Mon Jun 29 17:38:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6867 6868 * insns.def (defineclass): do not quote unprintable characters at 6869 raising an exception. 6870 6871Mon Jun 29 16:01:24 2015 NARUSE, Yui <naruse@ruby-lang.org> 6872 6873 * lib/net/http/response.rb (inflater): CONTENT_ENCODING can be upper 6874 case. [ruby-core:69670] [Bug #11285] patched by Andy Chu 6875 6876Mon Jun 29 14:50:08 2015 Shugo Maeda <shugo@ruby-lang.org> 6877 6878 * eval.c (add_activated_refinement): should not include the original 6879 class. 6880 6881Mon Jun 29 12:09:10 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 6882 6883 * README.md: tweak styles. [fix GH-945][ci skip] Patch by @bryndyment 6884 6885Mon Jun 29 07:23:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6886 6887 * template/sizes.c.tmpl: extract RUBY_DEFINT to define sizes of 6888 types checked by configure.in, and fix size of intptr_t in 6889 universal binary. 6890 6891Mon Jun 29 02:10:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6892 6893 * insns.def (defineclass): preserve encoding of name in error 6894 messages for super class mismatch. 6895 6896 * insns.def (defineclass): preserve encoding of name in error 6897 messages for non-class super. 6898 6899 * insns.def (defineclass): preserve encoding of name in error 6900 messages when already defined but type mismatch. 6901 6902Sun Jun 28 12:07:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6903 6904 * class.c (rb_define_class_id_under): raise TypeError exception 6905 same as ruby level class definition when superclass mismatch. 6906 6907Sun Jun 14 19:02:03 2015 Benoit Daloze <eregontp@gmail.com> 6908 6909 * lib/net/ftp.rb (makeport): close the TCPServer 6910 when sending the port fails. 6911 6912 * test/net/ftp/test_ftp.rb: test for above. 6913 6914Fri Jun 26 12:48:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 6915 6916 * transcode.c (load_transcoder_entry): fix transcoder loading race 6917 condition, by waiting in require. [ruby-dev:49106] [Bug #11277] 6918 6919Fri Jun 26 07:53:56 2015 Eric Wong <e@80x24.org> 6920 6921 * enum.c (enum_minmax): simplify return value creation 6922 * test/ruby/test_enum.rb: test behavior on empty 6923 * hash.c (rb_hash_fetch_m): remove unnecessary volatile since r41597 6924 (env_reject_bang): trade volatile for GC guard 6925 (env_select): ditto 6926 (env_select_bang): ditto 6927 (env_keep_if): ditto 6928 (rb_env_clear): ditto 6929 6930Thu Jun 25 21:24:28 2015 Naohisa Goto <ngotogenome@gmail.com> 6931 6932 * test/-ext-/popen_deadlock/test_popen_deadlock.rb: test [Bug #11265] 6933 6934 * ext/-test-/popen_deadlock/infinite_loop_dlsym.c: new ext to call 6935 dlsym(3) infinitely without GVL, used in the above test. 6936 6937 * ext/-test-/popen_deadlock/extconf.rb: extconf.rb for the above 6938 ext. Currently, only enabled on Solaris (main target) and Linux 6939 (as a reference platform and for debugging the ext). 6940 6941Thu Jun 25 19:24:25 2015 Naohisa Goto <ngotogenome@gmail.com> 6942 6943 * configure.in: not to use vfork on Solaris to avoid deadlock 6944 occurred in vfork(2) with multi-threading and dynamic linker 6945 on Solaris. [Bug #11265] [ruby-dev:49089] 6946 6947Thu Jun 25 18:25:41 2015 Naohisa Goto <ngotogenome@gmail.com> 6948 6949 * test/lib/envutil.rb (Test::Unit::Assertions#assert_no_memory_leak): 6950 NO_MEMORY_LEAK_ENVS is moved to Memory::NO_MEMORY_LEAK_ENVS 6951 to reduce child executions during test-all on Solaris. 6952 6953 * test/lib/memory_status.rb (Memory::NO_MEMORY_LEAK_ENVS): ditto. 6954 6955Thu Jun 25 17:32:33 2015 Koichi Sasada <ko1@atdot.net> 6956 6957 * vm_method.c (rb_method_entry_create): need to call 6958 method_definition_reset() if def is given. 6959 6960 Actually, `me' is a new object, so we don't need to call it. 6961 It is just to make sure. 6962 6963 * vm_method.c (method_definition_reset): remove duplicated insertion. 6964 6965 * vm_method.c (rb_method_entry_clone): assign dst->def here, 6966 not in method_definition_reset(). 6967 6968Thu Jun 25 16:44:54 2015 Koichi Sasada <ko1@atdot.net> 6969 6970 * vm_method.c: make a rb_method_definition_t data (def) *after* making 6971 a rb_method_entry_t data (me). 6972 6973 Normally, `me' points `def'. Some Ruby objects pointed from `def' 6974 and objects are marked by `me' (mark_method_entry() in gc.c). 6975 However, `def' is built before making a `me', then nobody can mark 6976 objects pointed from `def' before making (and pointing from) `me'. 6977 6978 I hope this patch solve #11244. 6979 6980 * vm_method.c: remove `rb_' prefix from some static functions. 6981 6982 * method.h (rb_method_entry_create): constify 6983 6984 * gc.c (mark_method_entry): add checking `def' and 6985 `def->body.iseq.iseqptr' availability because they can be NULL. 6986 6987Thu Jun 25 14:14:16 2015 takiy33 <takiy33@gmail.com> 6988 6989 * test/test_prime.rb (test_eratosthenes_works_fine_after_timeout): 6990 use spaces instead of TABs in ruby codes. [Fix GH-944] 6991 6992Thu Jun 25 07:08:35 2015 Koichi Sasada <ko1@atdot.net> 6993 6994 * gc.c (obj_info, method_type_name): show method type name in a string 6995 instead of a number. 6996 6997Thu Jun 25 06:49:25 2015 Koichi Sasada <ko1@atdot.net> 6998 6999 * gc.c (obj_info): show more details for T_IMEMO/imemo_ment. 7000 7001Thu Jun 25 06:40:46 2015 Koichi Sasada <ko1@atdot.net> 7002 7003 * vm_method.c (rb_method_definition_reset): need a WB for 7004 VM_METHOD_TYPE_ATTRSET. 7005 7006Thu Jun 25 03:33:21 2015 Koichi Sasada <ko1@atdot.net> 7007 7008 * gc.c (RGENGC_OBJ_INFO, obj_info): add a macro to enable/disable 7009 rich obj_info() output. 7010 7011 At the default, the value of RGENGC_OBJ_INFO is 7012 (RGENGC_DEBUG | RGENGC_CHECK_MODE). 7013 7014 * gc.c (RGENGC_OBJ_INFO): force enable it to debug #11244. 7015 7016 * gc.c (gc_mark_ptr): print more details with obj_info(). 7017 7018 * gc.c (gc_mark_children): remove useless debug prints. 7019 7020Thu Jun 25 02:40:33 2015 Eric Wong <e@80x24.org> 7021 7022 * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): 7023 do not process kwargs in blocking mode 7024 * test/openssl/test_ssl.rb: test sysread 7025 7026Wed Jun 24 16:54:11 2015 Koichi Sasada <ko1@atdot.net> 7027 7028 * gc.c (gc_mark_children): add additional debug code for #11244. 7029 7030Wed Jun 24 16:05:42 2015 Eric Wong <e@80x24.org> 7031 7032 * string.c (rb_str_justify): use RB_GC_GUARD 7033 7034Wed Jun 24 14:25:17 2015 Koichi Sasada <ko1@atdot.net> 7035 7036 * gc.c (gc_mark_ptr): add a check code for #11244. 7037 7038 It should be removed later. But we can remain this check 7039 because it is only a branch. 7040 7041Wed Jun 24 12:49:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7042 7043 * string.c (rb_fstring_cstr): new function to make a fstring from 7044 a string literal. 7045 7046 * internal.h (rb_fstring_lit): new macro to make a fstring from a 7047 string literal. 7048 7049 * include/ruby/intern.h (rb_strlen_lit): new macro to get the 7050 length of a string literal, borrowed from mruby/mruby@e4afd53. 7051 7052Wed Jun 24 12:21:16 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7053 7054 * re.c: Update documentation for Regexp class. 7055 [fix GH-937][ci skip] Patch by @davydovanton 7056 7057Wed Jun 24 09:23:03 2015 Eric Wong <e@80x24.org> 7058 7059 * variable.c (generic_ivar_set): remove FL_ABLE check 7060 (gen_ivar_copy): ditto 7061 [ruby-core:69715] 7062 7063Wed Jun 24 08:28:15 2015 Eric Wong <e@80x24.org> 7064 7065 * ext/socket/ancdata.c (bsock_recvmsg_internal): reduce stack use 7066 [ruby-core:69595] [Feature #11263] 7067 7068Tue Jun 23 14:32:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7069 7070 * error.c (name_err_receiver): raise ArgumentError if no receiver 7071 is available on this exception object. [Feature #10881] 7072 7073Tue Jun 23 09:48:34 2015 Eric Wong <e@80x24.org> 7074 7075 * dir.c (check_dirname): avoid volatile, use return value 7076 (dir_s_chroot, dir_s_mkdir, dir_s_rmdir): adjust callers 7077 7078Tue Jun 23 06:37:10 2015 Eric Wong <e@80x24.org> 7079 7080 * struct.c (struct_ivar_get): cache member definition in a subclass 7081 Thanks to Sokolov Yura aka funny_falcon <funny.falcon@gmail.com> 7082 in https://bugs.ruby-lang.org/issues/10585 7083 7084Tue Jun 23 04:58:06 2015 Eric Wong <e@80x24.org> 7085 7086 * benchmark/bm_vm2_struct_big_href_hi.rb: new benchmark 7087 * benchmark/bm_vm2_struct_big_href_lo.rb: ditto 7088 * benchmark/bm_vm2_struct_big_hset.rb: ditto 7089 * benchmark/bm_vm2_struct_small_href.rb: ditto 7090 * benchmark/bm_vm2_struct_small_hset.rb: ditto 7091 Thanks to Sokolov Yura aka funny_falcon <funny.falcon@gmail.com> 7092 in https://bugs.ruby-lang.org/issues/10585 7093 7094Mon Jun 22 18:08:48 2015 Naohisa Goto <ngotogenome@gmail.com> 7095 7096 * test/lib/test/unit.rb (Test::Unit::Parallel#start_watchdog): removed 7097 because it has been meaningless since r36385. [Bug #11288] 7098 7099 * test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel): delete 7100 lines related to the removed start_watchdog method 7101 7102Sun Jun 21 23:52:46 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 7103 7104 * NEWS: mention about Array#bsearch_index and Hash#fetch_values. 7105 7106Sun Jun 21 23:46:27 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 7107 7108 * NEWS: add a reference to a ticket. 7109 7110Sun Jun 21 20:28:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7111 7112 * internal.h (roomof): extract from type_roomof, and move from 7113 bignum.c. 7114 7115Sun Jun 21 18:32:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7116 7117 * ruby_atomic.h (ATOMIC_PTR_CAS): define by generic CAS macro, not 7118 via size_t, to suppress a warning by mingw gcc. 7119 7120Sun Jun 21 05:31:41 2015 Shota Fukumori <her@sorah.jp> 7121 7122 * ext/objspace/objspace_dump.c(dump_object): Return empty JSON object when 7123 passed object is a special const, instead of SEGV. 7124 Based patch by Kohei Suzuki (eagletmt). [ruby-core:69692] [Bug #11291] 7125 7126 * test/objspace/test_objspace.rb(test_dump_special_consts): Test for above fix. 7127 7128 7129Sat Jun 20 03:56:58 2015 Yusuke Endoh <mame@ruby-lang.org> 7130 7131 * enc/make_encmake.rb: the list of encoding extension libraries must 7132 not include encinit.c itself. It caused "undefined reference to 7133 Init_encinit". 7134 7135Sat Jun 20 02:03:53 2015 Naohisa Goto <ngotogenome@gmail.com> 7136 7137 * process.c (rb_execarg_parent_start1): new macro ALWAYS_NEED_ENVP 7138 to generate envp_str anytime on Solaris 10 (or earlier version 7139 of Solaris) to avoid calling execv() which is async-signal unsafe 7140 on Solaris 10. [Bug #11265] [ruby-dev:49089] 7141 7142 * process.c (exec_with_sh, proc_exec_cmd): On Solaris 10, 7143 because ALWAYS_NEED_ENVP is 1 and envp_str is always generated, 7144 execv() in exec_with_sh() and proc_exec_cmd() are never called. 7145 To guarantee this, execv() is replaced by a macro to print 7146 out error message on Solaris 10. 7147 7148 * process.c (proc_exec_sh): Because proc_exec_sh() may be called 7149 by rb_proc_exec() with envp_str = Qfalse, execl() is replaced 7150 by a macro that calls execle() with "extern char **environ" 7151 traditional global variable on Solaris 10. 7152 TODO: This may be unsafe and should be changed in the future. 7153 Although rb_proc_exec() is not used from inside current version 7154 of ruby, it may be called by third-party extensions. 7155 7156Sat Jun 20 01:10:13 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 7157 7158 * NEWS: mention about $SAFE. 7159 7160Fri Jun 19 14:53:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7161 7162 * proc.c (rb_mod_define_method): now requires a block direct to 7163 this method call. [ruby-core:69655] [Bug #11283] 7164 7165Fri Jun 19 13:54:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7166 7167 * proc.c (rb_mod_define_method): get rid of inadvertent ID 7168 creations at error. 7169 7170Fri Jun 19 07:58:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7171 7172 * ext/extmk.rb: if no with-ext option is given, default to 7173 enable everything. [ruby-dev:49108] [Bug #11280] 7174 7175Fri Jun 19 06:30:07 2015 Koichi Sasada <ko1@atdot.net> 7176 7177 * bootstraptest/test_method.rb: remove a test because $SAFE=2 was 7178 obsolete. 7179 7180 Please check btest, too. 7181 7182Thu Jun 18 23:51:51 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 7183 7184 * bin/erb: $SAFE=3 is obsolete. 7185 7186Thu Jun 18 23:45:11 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 7187 7188 * safe.c: removed needless doc related $SAFE=2 7189 7190Thu Jun 18 23:38:07 2015 NAKAMURA Usaku <usa@ruby-lang.org> 7191 7192 * thread.c (rb_thread_safe_level): fix document. $SAFE=3 is obsolete. 7193 [ci skip] 7194 7195Thu Jun 18 23:25:51 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7196 7197 * ext/extmk.rb: configure intersection of with-ext and not 7198 without-ext, as withouts is no longer true by default if 7199 with-ext option is given. [ruby-dev:49108] [Bug #11280] 7200 7201Thu Jun 18 23:20:46 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7202 7203 * include/ruby/ruby.h: $SAFE=2 is now obsolete. 7204 7205 * dir.c, ext/fiddle/handle.c, ext/socket/basicsocket.c, file.c 7206 gc.c, io.c, process.c, safe.c, signal.c, win32/file.c: 7207 removed code for $SAFE=2 7208 7209 * test/erb/test_erb.rb, test/fiddle/test_handle.rb 7210 test/ruby/test_env.rb: removed tests for $SAFE=2. 7211 7212Thu Jun 18 22:50:07 2015 Yusuke Endoh <mame@ruby-lang.org> 7213 7214 * enc/make_encmake.rb: added --transes and --no-transes options. 7215 7216Thu Jun 18 18:24:12 2015 Eric Wong <e@80x24.org> 7217 7218 * test/socket/test_unix.rb: replace sleep with select 7219 7220Thu Jun 18 17:59:06 2015 Koichi Sasada <ko1@atdot.net> 7221 7222 * vm.c (rb_vm_control_frame_id_and_class): remove useless codes. 7223 `me' knows ID and owner class. 7224 7225Thu Jun 18 16:58:35 2015 Koichi Sasada <ko1@atdot.net> 7226 7227 * method.h: constify rb_method_alias_struct::original_me and 7228 rb_method_refined_struct::orig_me. 7229 7230 * class.c (move_refined_method): use RB_OBJ_WRITE() for 7231 me->def->body.refined.orig_me. 7232 7233Thu Jun 18 14:35:28 2015 Koichi Sasada <ko1@atdot.net> 7234 7235 * ext/objspace/objspace.c (count_imemo_objects): support imemo_ment. 7236 7237Thu Jun 18 13:32:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7238 7239 * error.c (name_err_receiver): add NameError#receiver method. 7240 [Feature #10881] 7241 7242Thu Jun 18 10:00:06 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7243 7244 * safe.c: removed needless doc related $SAFE=3 7245 7246Thu Jun 18 09:59:23 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7247 7248 * safe.c: rename old method name for $SAFE=3 7249 7250Thu Jun 18 06:02:42 2015 Eric Wong <e@80x24.org> 7251 7252 * compile.c (get_exception_sym2type, iseq_build_from_ary_body): 7253 rely on %+PRIsVALUE instead of calling rb_inspect directly 7254 7255Wed Jun 17 20:59:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7256 7257 * common.mk (ENC_MK): needs fake.rb if cross compilation. 7258 [ruby-dev:49098] [Bug #11272] 7259 7260Wed Jun 17 20:23:29 2015 Tanaka Akira <akr@fsij.org> 7261 7262 * ext/rbconfig/sizeof/extconf.rb: Check __float80. 7263 7264Wed Jun 17 15:15:53 2015 NAKAMURA Usaku <usa@ruby-lang.org> 7265 7266 * safe.c (safe_setter): of course, don't have to warn the limitation of 7267 $SAFE=3 after it's removed. 7268 7269Wed Jun 17 14:29:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7270 7271 * include/ruby/ruby.h: $SAFE=3 is now obsolete. 7272 7273 * ext/socket/init.c, ext/socket/socket.c, ext/socket/tcpsocket.c 7274 ext/socket/udpsocket.c, gc.c, object.c, re.c, safe.c: removed code 7275 for $SAFE=3 7276 7277 * bootstraptest/test_method.rb, test/erb/test_erb.rb, test/ruby/test_dir.rb 7278 test/ruby/test_file.rb, test/ruby/test_method.rb, test/ruby/test_regexp.rb 7279 test/ruby/test_thread.rb: remove tests for $SAFE=3 7280 7281Wed Jun 17 12:13:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7282 7283 * ChangeLog: added contributor name. 7284 7285Wed Jun 17 10:57:28 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7286 7287 * lib/csv.rb: accept to use Range object for row selection. 7288 contributed by Mitsutaka Mimura. 7289 [Feature #11267][ruby-dev:49091] 7290 7291Wed Jun 17 09:50:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7292 7293 * lib/rdoc/servlet.rb (documentation_search, root_search): 7294 requires json for JSON.dump and fix sporadic failures due to 7295 the loading order. 7296 7297Tue Jun 16 19:19:53 2015 Tanaka Akira <akr@fsij.org> 7298 7299 * ext/rbconfig/sizeof/extconf.rb: Check several types defined in C99 7300 and x86_64 ABI. 7301 7302 * template/sizes.c.tmpl: Relax a pattern for types. 7303 7304Tue Jun 16 17:37:01 2015 Koichi Sasada <ko1@atdot.net> 7305 7306 * test/objspace/test_objspace.rb: relax pattern because uncollectible 7307 flag and marked flag can be false at major GC. 7308 [Bug #10852] 7309 7310Tue Jun 16 04:50:44 2015 Eric Wong <e@80x24.org> 7311 7312 * ext/socket/basicsocket.c (bsock_recv): document outbuf 7313 * ext/socket/unixsocket.c (unix_recvfrom): ditto 7314 * ext/socket/init.c (rsock_strbuf, recvfrom_locktmp): new functions 7315 (rsock_s_recvfrom): support destination buffer as 3rd arg 7316 (rsock_s_recvfrom_nonblock): ditto 7317 * string.c (rb_str_locktmp_ensure): export for internal ext 7318 * test/socket/test_nonblock.rb: test recv_nonblock 7319 * test/socket/test_unix.rb: test recv 7320 [ruby-core:69543] [Feature #11242] 7321 7322Tue Jun 16 04:38:02 2015 Eric Wong <e@80x24.org> 7323 7324 * ext/socket/ancdata.c (bsock_sendmsg_internal, 7325 bsock_recvmsg_internal): 7326 support "exception: false" kwarg 7327 * ext/socket/init.c (rsock_s_recvfrom_nonblock): 7328 ditto 7329 * ext/socket/init.c (rsock_s_recvfrom_nonblock): use rsock_opt_false_p 7330 * ext/socket/socket.c (sock_connect_nonblock): ditto 7331 * ext/socket/rubysocket.h (rsock_opt_false_p): new function 7332 * ext/socket/basicsocket.c (bsock_recv_nonblock): update rdoc 7333 * ext/socket/udpsocket.c (udp_recvfrom_nonblock): ditto 7334 * test/socket/test_nonblock.rb: new tests 7335 [ruby-core:69542] [Feature #11229] 7336 7337Mon Jun 15 14:33:02 2015 Akinori MUSHA <knu@iDaemons.org> 7338 7339 * lib/set.rb: Make Set#each and SortedSet#each generate a sized 7340 enumerator. [GH-931] by kachick (Kenichi Kamiya) 7341 7342 * test/test_set.rb: Import tests from Set into SortedSet. [GH-931] 7343 by kachick (Kenichi Kamiya) 7344 7345Mon Jun 15 02:26:34 2015 NARUSE, Yui <naruse@ruby-lang.org> 7346 7347 * lib/net/http.rb (Net::HTTP#connect): use connect_nonblock and 7348 io/wait to eliminate timeout use. fix GH-899 7349 7350Sat Jun 13 07:21:18 2015 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 7351 7352 * thread.c (thread_start_func_2): don't interrupt when last thread 7353 exit unless main thread is already exited. Otherwise main thread 7354 could be wrongly interrupted when it uses rb_thread_call_without_gvl(). 7355 Patch by Takehiro Kubo. [Bug #11237][ruby-dev:49044][GH-898] 7356 7357 * test/-ext-/gvl/test_last_thread.rb: new test for the above fix. 7358 7359 * ext/-test-/gvl/call_without_gvl/call_without_gvl.c: new ext for 7360 the above test. 7361 * ext/-test-/gvl/call_without_gvl/extconf.rb: ditto. 7362 7363Mon Jun 15 00:14:33 2015 Tanaka Akira <akr@fsij.org> 7364 7365 * ext/pathname/lib/pathname.rb (descend): Blockless form supported. 7366 (ascend): Ditto. 7367 [ruby-core:68820] [Feature #11052] Patch by Piotr Szotkowski. 7368 7369Sun Jun 14 20:09:25 2015 Tanaka Akira <akr@fsij.org> 7370 7371 * time.c (time_getlocaltime): [DOC] Add examples of valid utc_offset 7372 formats. 7373 [ruby-core:68306] [Misc #10905] Patch by Charles Korn. 7374 7375Sun Jun 14 18:49:56 2015 Tanaka Akira <akr@fsij.org> 7376 7377 * ext/socket/raddrinfo.c (parse_numeric_port): Detect 7378 port overflow. 7379 (numeric_getaddrinfo): Use parse_numeric_port. 7380 numeric_getaddrinfo fails if port is too big now. 7381 This makes rb_getaddrinfo invokes the real getaddrinfo() 7382 on such condition. 7383 This change is related to [ruby-core:69355] [Bug #11179]. 7384 7385Sun Jun 14 17:26:03 2015 Tanaka Akira <akr@fsij.org> 7386 7387 * enum.c (enum_chunk_while): New method Enumerable#chunk_while. 7388 [ruby-core:67738] [Feature #10769] proposed by Tsuyoshi Sawada. 7389 7390Sun Jun 14 17:20:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7391 7392 * file.c (rb_file_load_ok): try opening file without gvl not to 7393 lock entire process. [Bug #11060] 7394 7395Sun Jun 14 10:43:50 2015 NAKAMURA Usaku <usa@ruby-lang.org> 7396 7397 * tool/runruby.rb: just remove the lines of RUBY_VERSION check and raise 7398 instead of replacing the check to `true`, for getting rid of a 7399 warning `possibly useless use of true in void context`. 7400 7401Sun Jun 14 10:13:55 2015 Kouhei Sutou <kou@cozmixng.org> 7402 7403 * lib/rexml/source.rb (REXML::IOSource#scan): Fix a typo in 7404 document. [fix GH-934] 7405 Patch by Anton Davydov. Thanks!!! 7406 7407Sun Jun 14 10:09:48 2015 Kouhei Sutou <kou@cozmixng.org> 7408 7409 * lib/rexml/attlistdecl.rb (REXML::AttlistDecl): Fix a typo in 7410 document. [fix GH-934] 7411 Patch by Anton Davydov. Thanks!!! 7412 7413Sun Jun 14 06:24:57 2015 Benoit Daloze <eregontp@gmail.com> 7414 7415 * test/ruby/test_io.rb: add test for IO.binread fd leak. 7416 See r50881. 7417 7418Sun Jun 14 05:23:51 2015 Benoit Daloze <eregontp@gmail.com> 7419 7420 * io.c (rb_io_s_binread): close fd if seek offset is invalid. 7421 7422Sun Jun 14 04:40:32 2015 Benoit Daloze <eregontp@gmail.com> 7423 7424 * test/lib/leakchecker.rb (check): refactor. 7425 7426Sun Jun 14 04:34:14 2015 Benoit Daloze <eregontp@gmail.com> 7427 7428 * test/lib/leakchecker.rb: Return false for no leaks. 7429 Otherwise the GC could run for nothing. 7430 7431Sun Jun 14 04:15:40 2015 Benoit Daloze <eregontp@gmail.com> 7432 7433 * lib/delegate.rb: [DOC] Update SimpleDelegator example. [ci skip] 7434 7435Sat Jun 13 20:28:14 2015 NARUSE, Yui <naruse@ruby-lang.org> 7436 7437 * file.c (rb_stat_ino): get inode from the interval of struct st. 7438 7439 * win32/win32.c (stati64_set_inode): get nFileIndexHigh/Low, and set it 7440 to the interval of struct st as inode. 7441 [Feature #11216] 7442 7443 * win32/win32.c (stati64_set_inode_handle): call stati64_set_inode. 7444 7445 * win32/win32.c (rb_w32_fstati64): call stati64_set_inode_handle. 7446 7447 * win32/win32.c (stati64_handle): call stati64_set_inode. 7448 7449Sat Jun 13 19:44:53 2015 NAKAMURA Usaku <usa@ruby-lang.org> 7450 7451 * ext/io/console/depend (.list.chksum): revert a part of r50859, because 7452 it was not mentioned at its commit log and it caused a build error on 7453 Windows ($(MAKE) is already quoted). 7454 7455Sat Jun 13 17:35:11 2015 NARUSE, Yui <naruse@ruby-lang.org> 7456 7457 * vm_core.h (rb_thread_t): add th->name. 7458 7459 * vm.c (th_init): initialize th->name. 7460 7461 * thread.c (Init_Thread): add Thread.name and name=. [Feature #11251] 7462 7463 * thread.c (rb_thread_inspect): show thread's name if set. 7464 7465 * thread.c (rb_thread_getname): defined. 7466 7467 * thread.c (rb_thread_setname): ditto. 7468 7469Sat Jun 13 11:39:43 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7470 7471 * lib/tempfile.rb: Fix typo. [fix GH-933] Patch by @Zorbash 7472 7473Sat Jun 13 11:38:00 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7474 7475 * ext/openssl/ossl_ocsp.c: fix documentation on ocsp response cert status. 7476 [fix GH-932] Patch by @chrisholmes 7477 7478Sat Jun 13 11:35:19 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7479 7480 * ext/bigdecimal/bigdecimal.gemspec: Fix require paths for released gem. 7481 [fix GH-929] Patch by @voxik 7482 * ext/io/console/io-console.gemspec: ditto. 7483 7484Sat Jun 13 00:45:08 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 7485 7486 * lib/prime.rb: Return sized enumerators. 7487 Patch by Kenichi Kamiya [GH-931] 7488 7489Sat Jun 13 00:45:06 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 7490 7491 * lib/prime.rb: Fix with_object with no block given 7492 7493Sat Jun 13 00:44:59 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 7494 7495 * lib/prime.rb: Have with_index accept an offset parameter. 7496 Based on patch by T Yamada. [#11007] 7497 7498Fri Jun 12 22:21:12 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 7499 7500 * test/ruby/test_extlibs.rb (TestExtLibs::check_existence): fix 7501 error. [Bug #11255] [ruby-dev:49079] 7502 7503Fri Jun 12 21:17:46 2015 NAKAMURA Usaku <usa@ruby-lang.org> 7504 7505 * pack.c (pack_{un,}pack): new template character `j` and `J`, pointer 7506 with signed and unsigned integers. 7507 7508 * NEWS: mention about this feature. 7509 [Feature #11215] [ruby-dev:49015] 7510 7511Fri Jun 12 21:01:44 2015 NAKAMURA Usaku <usa@ruby-lang.org> 7512 7513 * file.c (File::SHARE_DELETE): new flag to be able to delete opened file 7514 on Windows. 7515 7516 * include/win32/win32.c (O_SHARE_DELETE): new pseudo file mode flag. 7517 7518 * win32/win32.c (rb_w32_{w,}open): support above flag. [EXPERIMENTAL] 7519 7520 * NEWS: mention about this feature. 7521 [Feature #11218] [ruby-dev:49022] 7522 7523Fri Jun 12 18:21:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7524 7525 * ChangeLog: added missing commit message. 7526 7527Fri Jun 12 18:20:37 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7528 7529 * sample/exyacc.rb: Fix some typos. [fix GH-927] Patch by @davydovanton 7530 * sample/list.rb: ditto. 7531 * sample/trick2013/kinaba/remarks.markdown: ditto. 7532 7533Fri Jun 12 17:34:14 2015 Wojciech Mach <wojtek@wojtekmach.pl> 7534 7535 * hash.c (rb_hash_fetch_values): add `Hash#fetch_values`. 7536 [Feature #10017] [Fix GH-776] 7537 7538Fri Jun 12 16:28:17 2015 Radan Skoric <radan.skoric@gmail.com> 7539 7540 * array.c (rb_ary_bsearch_index): Implement Array#bsearch_index 7541 method, which is similar to bsearch and returns the index or 7542 nil. [Feature #10730] 7543 7544Thu Jun 11 19:11:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7545 7546 * ext/zlib/zlib.c: Fix indentation for rdoc. 7547 [Bug #11221][ruby-core:69465] 7548 7549Thu Jun 11 16:23:37 2015 Koichi Sasada <ko1@atdot.net> 7550 7551 * method.h (METHOD_ENTRY_BASIC_SET): fix last commit (unbalanced parens). 7552 7553Thu Jun 11 15:14:16 2015 NARUSE, Yui <naruse@ruby-lang.org> 7554 7555 * configure.in: define SET_THREAD_NAME if it has pthread_set_name_np 7556 for FreeBSD, and don't define it if both pthread_setname_np 7557 and pthread_set_name_np don't exist. 7558 7559 * thread_pthread.c (SET_THREAD_NAME): don't define if they don't exist. 7560 7561 * thread_pthread.c (native_set_thread_name): run if SET_THREAD_NAME 7562 is defined. 7563 7564Thu Jun 11 15:53:31 2015 Koichi Sasada <ko1@atdot.net> 7565 7566 * method.h (METHOD_ENTRY_BASIC_SET): should clear last bit. 7567 7568Thu Jun 11 14:34:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7569 7570 * lib/rubygems.rb: bump version to 2.4.7 and 2.4.8. these versions fixed 7571 CVE-2015-3900. 7572 * lib/rubygems/remote_fetcher.rb: ditto. 7573 * test/rubygems/test_gem_remote_fetcher.rb: added testcase for CVE-2015-3900 7574 7575Thu Jun 11 14:18:51 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7576 7577 * lib/rubygems.rb: bump version to 2.4.6. It's missing change at r49774. 7578 7579Thu Jun 11 13:50:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7580 7581 * array.c (ary_ensure_room_for_push): check if array size will 7582 exceed maximum size to get rid of buffer overflow. 7583 [ruby-dev:49043] [Bug #11235] 7584 7585 * array.c (ary_ensure_room_for_unshift, rb_ary_splice): ditto. 7586 7587Thu Jun 11 13:17:34 2015 NAKAMURA Usaku <usa@ruby-lang.org> 7588 7589 * test/test_cmath.rb (TestCMath#test_trigonometric_functions): should 7590 not compare float values (in complex values) by `==`. 7591 7592Thu Jun 11 08:52:01 2015 Koichi Sasada <ko1@atdot.net> 7593 7594 * method.h: embed rb_method_entry_t::attr::flags (5 bits) into 7595 rb_method_entry_t::flags to make one word spare space. 7596 7597 Add some macros to access these flags. 7598 7599 * vm_method.c: use these macros. 7600 7601 * internal.h: define IMEMO_FL_USHIFT and IMEMO_FL_USER[0-4] 7602 for T_IMEMO local flags. 7603 7604Thu Jun 11 08:27:06 2015 Koichi Sasada <ko1@atdot.net> 7605 7606 * vm.c: use VM_ASSERT instead of assert(). 7607 7608 * vm_args.c: ditto. 7609 7610 * vm_insnhelper.c: ditto. 7611 7612 * vm_method.c: ditto. 7613 7614Thu Jun 11 08:16:48 2015 Koichi Sasada <ko1@atdot.net> 7615 7616 * vm_core.h: define VM_ASSERT() for assertion 7617 enabled only when (VM_CHECK_MODE > 0). 7618 7619 * vm_insnhelper.c: move definition VM_CHECK_MODE 7620 from vm_insnhelper.c to vm_core.h. 7621 7622 * vm.c: remove <assert.h> 7623 7624Thu Jun 11 06:46:07 2015 Koichi Sasada <ko1@atdot.net> 7625 7626 * vm_insnhelper.c (check_frame): check type of cref_or_me first. 7627 7628Thu Jun 11 04:34:39 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 7629 7630 * test/test_cmath.rb: Add some assertions. 7631 7632Thu Jun 11 00:34:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7633 7634 * template/fake.rb.in: expanded macro result may have spaces 7635 between tokens. [ruby-dev:49047] [Bug #11243] 7636 7637Wed Jun 10 22:27:32 2015 Naohisa Goto <ngotogenome@gmail.com> 7638 7639 * lib/mkmf.rb: revert r50804 because of build failure when specifying 7640 LDFLAGS during configure, observed on Solaris with GCC 4.6. 7641 [Bug #11245] 7642 7643Wed Jun 10 21:59:51 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 7644 7645 * README.ja.md: fix markup miss. 7646 7647Wed Jun 10 11:06:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7648 7649 * template/fake.rb.in: turn into erb template from autoconf 7650 template to fake more accurately. 7651 7652 * common.mk (fake.rb): needs preprocessed file now. 7653 7654 * version.c (Init_version): add dummy expression to 7655 RUBY_ENGINE_VERSION. 7656 7657Tue Jun 9 12:31:25 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 7658 7659 * lib/prime.rb: Simplify and optimize EratosthenesSieve 7660 7661Tue Jun 9 11:45:00 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 7662 7663 * lib/prime.rb: Simplify and optimize EratosthenesSieve 7664 based on patch by Ajay Kumar. [Fixes GH-921] 7665 7666Mon Jun 8 05:09:58 2015 Koichi Sasada <ko1@atdot.net> 7667 7668 * gc.c (obj_info): print method id for T_IMEMO/ment. 7669 7670Sun Jun 7 07:05:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 7671 7672 * Move test cases from test/ruby/test_complex.rb to test/test_cmath.rb 7673 7674Sat Jun 6 18:23:41 2015 Koichi Sasada <ko1@atdot.net> 7675 7676 * method.h: back to share rb_method_definition_t by 7677 rb_method_entry_t. 7678 7679 r50728 changed sharing `def's to isolating `def's 7680 on alias and so on. However, this change conflicts 7681 future improvement plan. So I change back to sharing approach. 7682 7683 * method.h: move rb_method_definition_t::flags to 7684 rb_method_entry_t::attr::flags. 7685 7686 rb_method_entry_t::attr is union with VALUE because this field 7687 should have same size of VALUE. rb_method_entry_t is T_IMEMO). 7688 7689 And also add the following access macros to it's fields. 7690 7691 * METHOD_ENTRY_VISI(me) 7692 * METHOD_ENTRY_BASIC(me) 7693 * METHOD_ENTRY_SAFE(me) 7694 7695 * vm_method.c (rb_method_definition_addref): added instead of 7696 rb_method_definition_clone(). 7697 7698 Do not create new definition, but increment alias_count. 7699 7700 * class.c (clone_method): catch up this fix. 7701 7702 * class.c (method_entry_i): ditto. 7703 7704 * proc.c (mnew_internal): ditto. 7705 7706 * proc.c (mnew_missing): ditto. 7707 7708 * vm_eval.c: ditto. 7709 7710 * vm_insnhelper.c: ditto. 7711 7712 * vm_method.c: ditto. 7713 7714Sat Jun 6 15:59:38 2015 Koichi Sasada <ko1@atdot.net> 7715 7716 * class.c: ins_methods_push() needs rb_method_visibility_t type on 7717 2nd arg. 7718 7719Sat Jun 6 15:05:47 2015 Koichi Sasada <ko1@atdot.net> 7720 7721 * class.c (ins_methods_push): Change type and name of parameters 7722 to make more clear. 7723 7724Sat Jun 6 08:52:13 2015 Eric Wong <e@80x24.org> 7725 7726 * test/socket/test_nonblock.rb: try to avoid EMSGSIZE 7727 [ruby-core:69466] 7728 7729Sat Jun 6 07:58:30 2015 Koichi Sasada <ko1@atdot.net> 7730 7731 * gc.c: remove struct mark_tbl_arg and pass objspace directly 7732 to avoid indirect access overhead. 7733 7734Sat Jun 6 07:08:45 2015 Eric Wong <e@80x24.org> 7735 7736 * ext/socket/ancdata.c (bsock_sendmsg_internal): drop redundant assignment 7737 7738Sat Jun 6 01:00:06 2015 Naohisa Goto <ngotogenome@gmail.com> 7739 7740 * ext/socket/ancdata.c (bsock_sendmsg_internal): all arguments are 7741 parsed even on systems without HAVE_STRUCT_MSGHDR_MSG_CONTROL 7742 to prevent SEGV caused by passing Qnil to RARRAY_LENINT and 7743 to preserve behavior before r50776. 7744 [Bug #11224] [ruby-core:69468] [Bug #11225] [ruby-core:69469] 7745 7746Fri Jun 5 22:37:42 2015 Koichi Sasada <ko1@atdot.net> 7747 7748 * class.c (ins_methods_push): change 3rd parameter's type 7749 from long to rb_method_visibility_t. 7750 7751 * class.c (ins_methods_i): catch up this fix. 7752 7753 * class.c (method_entry_i): cast to st_data_t instead of `long'. 7754 7755Fri Jun 5 20:37:10 2015 Koichi Sasada <ko1@atdot.net> 7756 7757 * internal.h: move definition of rb_cref_t to method.h. 7758 7759 * eval_intern.h: move definition of rb_scope_visibility_t 7760 to method.h. 7761 7762 * method.h: change rb_cref_t::scope_visi from VALUE to 7763 rb_scope_visibility_t. 7764 [Bug #11219] 7765 7766 * vm.c (vm_cref_new): accept rb_method_visibility_t directly. 7767 7768 * vm_insnhelper.c (rb_vm_rewrite_cref): don't use 0, 7769 but METHOD_VISI_UNDEF. 7770 7771 * vm_method.c (rb_scope_visibility_set): don't need to use cast. 7772 7773 * vm_method.c (rb_scope_module_func_set): ditto. 7774 7775Fri Jun 5 17:27:30 2015 Eric Wong <e@80x24.org> 7776 7777 * ext/socket/ancdata.c (bsock_sendmsg_internal): avoid msg_control 7778 ptr if msg_controllen is zero to fix portability problems. 7779 7780Fri Jun 5 09:17:45 2015 Eric Wong <e@80x24.org> 7781 7782 * ext/socket/ancdata.c (bsock_sendmsg_internal): fix build error 7783 from r50776 7784 7785Fri Jun 5 07:05:58 2015 Eric Wong <e@80x24.org> 7786 7787 * io.c (sym_wait_readable, sym_wait_writable): declare 7788 (io_getpartial): use sym_wait_readable 7789 (io_write_nonblock): use sym_wait_writable 7790 (Init_IO): initialize sym_wait_*able 7791 7792Fri Jun 5 06:43:00 2015 Eric Wong <e@80x24.org> 7793 7794 * doc/extension.rdoc: note rb_get_kwargs changes keywords_hash 7795 [ruby-core:68507] 7796 7797Fri Jun 5 05:50:29 2015 Eric Wong <e@80x24.org> 7798 7799 * ext/socket/ancdata.c (bsock_sendmsg_internal): use rb_scan_args 7800 [ruby-core:69439] [Feature #11207] 7801 7802Fri Jun 5 02:20:06 2015 Koichi Sasada <ko1@atdot.net> 7803 7804 * test/lib/envutil.rb (assert_no_memory_leak): change default value 7805 of limit from 1.5 to 2.0. It is ad-hoc fix to solve test failure 7806 in travis-ci. 7807 7808Fri Jun 5 01:17:21 2015 Koichi Sasada <ko1@atdot.net> 7809 7810 * vm_insnhelper.c (vm_defined): no need to use cast. 7811 7812Fri Jun 5 01:14:02 2015 Koichi Sasada <ko1@atdot.net> 7813 7814 * vm_insnhelper.c (vm_defined): show additional messages on rb_bug(). 7815 7816Fri Jun 5 01:06:02 2015 Koichi Sasada <ko1@atdot.net> 7817 7818 * vm_method.c (rb_add_method_iseq): use intermediate struct to 7819 avoid initializing struct with variables. 7820 [Bug #11217] 7821 7822 * method.h: add a comment about it. 7823 7824Fri Jun 5 00:55:21 2015 Koichi Sasada <ko1@atdot.net> 7825 7826 * method.h: constify rb_method_refined_t::orig_me. 7827 7828 Also constify the following functions. 7829 7830 * rb_resolve_refined_method() 7831 * rb_method_entry_with_refinements() 7832 * rb_method_entry_without_refinements() 7833 * rb_method_entry_copy()'s parameter. 7834 7835 * class.c: catch up this fix. 7836 7837 * vm_insnhelper.c: ditto. 7838 7839 * vm_method.c: ditto. 7840 7841Thu Jun 4 12:47:54 SGT 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7842 7843 * array.c: Revert r50763. because "reentered" is not typo. 7844 7845Thu Jun 4 11:12:29 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7846 7847 * ext/win32ole/win32ole.c: fix a typo. Patch by @davydovanton 7848 [fix GH-923] 7849 * include/ruby/st.h: ditto. 7850 * include/ruby/util.h: ditto. 7851 7852Thu Jun 4 10:54:30 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 7853 7854 * array.c: fix a typo. Patch by @manish-shrivastava 7855 [fix GH-922] 7856 7857Thu Jun 4 09:52:02 2015 Eric Wong <e@80x24.org> 7858 7859 * ext/openssl/lib/openssl/ssl.rb: use io/nonblock instead of fcntl 7860 [ruby-core:69382] [Feature #11190] 7861 7862Thu Jun 4 07:22:45 2015 Koichi Sasada <ko1@atdot.net> 7863 7864 * method.h: introduce rb_method_refined_t for refined method entry. 7865 7866 * class.c (move_refined_method): catch up this fix. 7867 7868 * gc.c (mark_method_entry): ditto. 7869 7870 * vm_eval.c (vm_call0_body): ditto. 7871 7872 * vm_insnhelper.c (vm_call_method): ditto. 7873 7874 * vm_method.c: ditto. 7875 7876Thu Jun 4 07:12:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 7877 7878 * dir.c (dirent_match): match short names only when FNM_SHORTNAME 7879 flag is given, for the backward compatibility, and the new 7880 behavior is often dangerous. [ruby-core:69435] [Bug #11206] 7881 7882Thu Jun 4 05:44:01 2015 Eric Wong <e@80x24.org> 7883 7884 * variable.c (special_generic_ivar): remove flag 7885 (givar_i, rb_mark_generic_ivar_tbl): remove functions 7886 (rb_free_generic_ivar, rb_ivar_lookup, rb_ivar_delete, 7887 generic_ivar_set, rb_ivar_set, rb_ivar_defined, 7888 rb_copy_generic_ivar, rb_ivar_foreach, rb_ivar_count, 7889 rb_obj_remove_instance_variable): 7890 adjust for lack of ivar support in special constants 7891 * test/ruby/test_variable.rb: test ivars for special consts 7892 * internal.h: remove rb_mark_generic_ivar_tbl decl 7893 * gc.c (gc_mark_roots): remove rb_mark_generic_ivar_tbl call 7894 [ruby-core:69441] [Feature #11208] 7895 7896Thu Jun 4 05:13:34 2015 Koichi Sasada <ko1@atdot.net> 7897 7898 * vm_insnhelper.c (def_iseq_ptr): `iseqval' is not available any more. 7899 7900Thu Jun 4 04:50:12 2015 Koichi Sasada <ko1@atdot.net> 7901 7902 * class.c (method_entry_i): mtbl should not have `me' as NULL. 7903 7904Thu Jun 4 04:28:45 2015 Koichi Sasada <ko1@atdot.net> 7905 7906 * class.c (clone_method): do not use me->klass, but use explicitly 7907 passed argument. 7908 7909Thu Jun 4 04:10:43 2015 Koichi Sasada <ko1@atdot.net> 7910 7911 * vm_core.h (rb_vm_rewrite_cref_stack): rename to rb_vm_rewrite_cref(). 7912 7913 * class.c (clone_method): use renamed name. 7914 7915 * vm_insnhelper.c (rb_vm_rewrite_cref): do not use `node' in variable 7916 names. 7917 7918Wed Jun 3 23:03:50 2015 Koichi Sasada <ko1@atdot.net> 7919 7920 * vm_method.c: rename `rb_frame_...' to `rb_scope_...'. 7921 7922 * eval_intern.h: move decl. of rb_scope_visibility_set() to method.h. 7923 7924 * load.c: catch up this fix. 7925 7926Wed Jun 3 21:14:20 2015 Tanaka Akira <akr@fsij.org> 7927 7928 * ext/rbconfig/sizeof/extconf.rb: Check C99 standard integer types. 7929 7930Wed Jun 3 21:00:47 2015 Tanaka Akira <akr@fsij.org> 7931 7932 * configure.in: Don't check __int128. 7933 7934 * ext/rbconfig/sizeof/extconf.rb: Check __int128. 7935 7936 * ext/rbconfig/sizeof/depend: sizes.c depends on 7937 ext/rbconfig/sizeof/extconf.rb. 7938 7939 * template/sizes.c.tmpl: Detect check_sizeof. 7940 7941Wed Jun 3 20:07:07 2015 Koichi Sasada <ko1@atdot.net> 7942 7943 * class.c (clone_method): remove redundant check for me->def != NULL. 7944 Now, all `me` have `me->def`. 7945 7946 * proc.c (rb_method_entry_location): ditto. 7947 7948 * vm.c (rb_vm_check_redefinition_opt_method): ditto. 7949 7950 * vm.c (add_opt_method): ditto. 7951 7952 * vm_eval.c (vm_call0_body): ditto. 7953 7954Wed Jun 3 19:24:12 2015 Koichi Sasada <ko1@atdot.net> 7955 7956 * vm_core.h: rename enum missing_reason to enum method_missing_reason. 7957 7958 * vm_core.h: use enum method_missing_reason for 7959 rb_thread_t::method_missing_reason. 7960 7961 * vm_eval.c: catch up this fix. 7962 7963 * vm_insnhelper.c: ditto. 7964 7965Wed Jun 3 16:17:21 2015 Aaron Patterson <tenderlove@ruby-lang.org> 7966 7967 * vm.c: eagerly allocate `loading_table`. This eliminates the need to 7968 do NULL checks when looking up the `loading_table` hash. 7969 https://github.com/ruby/ruby/pull/918 7970 7971 * load.c: remove various NULL checks 7972 7973Wed Jun 3 11:47:15 2015 Koichi Sasada <ko1@atdot.net> 7974 7975 * method.h: change fields order to gather frequent access fields. 7976 7977 * vm_insnhelper.c (vm_call_method): add LIKELY(). 7978 7979Wed Jun 03 10:35:45 2015 Koichi Sasada <ko1@atdot.net> 7980 7981 * method.h: split rb_method_definition_t::flag to several flags. 7982 7983 `flag' contains several categories of attributes and it makes us 7984 confusion (at least, I had confused). 7985 7986 * rb_method_visibility_t (flags::visi) 7987 * NOEX_UNDEF -> METHOD_VISI_UNDEF = 0 7988 * NOEX_PUBLIC -> METHOD_VISI_PUBLIC = 1 7989 * NOEX_PRIVATE -> METHOD_VISI_PRIVATE = 2 7990 * NOEX_PROTECTED -> METHOD_VISI_PROTECTED = 3 7991 * NOEX_SAFE(flag) -> safe (flags::safe, 3 bits) 7992 * NOEX_BASIC -> basic (flags::basic, 1 bit) 7993 * NOEX_MODFUNC -> rb_scope_visibility_t in CREF 7994 * NOEX_SUPER -> MISSING_SUPER (enum missing_reason) 7995 * NOEX_VCALL -> MISSING_VCALL (enum missing_reason) 7996 * NOEX_RESPONDS -> BOUND_RESPONDS (macro) 7997 7998 Now, NOEX_NOREDEF is not supported (I'm not sure it is needed). 7999 8000 Background: 8001 I did not know what "NOEX" stands for. 8002 I asked Matz (who made this name) and his answer was "Nothing". 8003 "At first, it meant NO EXport (private), but the original 8004 meaning was gone." 8005 This is why I remove the mysterious word "NOEX" from MRI. 8006 8007 * vm_core.h: introduce `enum missing_reason' to represent 8008 method_missing (NoMethodError) reason. 8009 8010 * eval_intern.h: introduce rb_scope_visibility_t to represent 8011 scope visibility. 8012 It has 3 method visibilities (public/private/protected) 8013 and `module_function`. 8014 8015Wed Jun 3 08:06:30 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8016 8017 * gem/bundled_gems: updated to test-unit 3.1.1 and minitest 5.7.0. 8018 8019Wed Jun 3 04:48:05 2015 Koichi Sasada <ko1@atdot.net> 8020 8021 * vm_insnhelper.c (vm_defined): check respond_to_missing? 8022 at defined?(func()). 8023 [Bug #11212] 8024 8025 * test/ruby/test_defined.rb: add a test for this fix. 8026 8027Wed Jun 3 04:34:39 2015 Koichi Sasada <ko1@atdot.net> 8028 8029 * vm_insnhelper.c (vm_defined): skip respond_to_missing? when 8030 a method is available. 8031 [Bug #11211] 8032 8033 * test/ruby/test_defined.rb: add a test for this fix. 8034 8035Wed Jun 3 04:14:13 2015 Koichi Sasada <ko1@atdot.net> 8036 8037 * insns.def (defined), vm_insnhelper.c (vm_defined): 8038 move instruction body to the vm_defined() function. 8039 8040Wed Jun 3 02:29:25 2015 Benoit Daloze <eregontp@gmail.com> 8041 8042 * test/ruby/test_module.rb: Do not assume class variable order. 8043 Patch by @enebo. 8044 8045Wed Jun 3 01:10:38 2015 Yusuke Endoh <mame@tsg.ne.jp> 8046 8047 * vm_method.c (rb_method_definition_set): remove a double assignment. 8048 Coverity Scan found this bug. 8049 8050Wed Jun 3 00:04:51 2015 Koichi Sasada <ko1@atdot.net> 8051 8052 * vm_method.c (rb_alias): rename parameter names. 8053 8054Tue Jun 2 23:27:18 2015 Koichi Sasada <ko1@atdot.net> 8055 8056 * method.h: remove rb_method_iseq_t::iseqval. 8057 While making a r50728, iseqval is needed (to mark correctly), 8058 but now just iseqptr is enough. 8059 8060 * class.c: catch up this fix. 8061 8062 * gc.c: ditto. 8063 8064 * proc.c: ditto. 8065 8066 * vm_method.c: ditto. 8067 8068Tue Jun 2 21:29:28 2015 Koichi Sasada <ko1@atdot.net> 8069 8070 * proc.c (proc_curry): remove a debug line. 8071 8072Tue Jun 2 12:43:46 2015 Koichi Sasada <ko1@atdot.net> 8073 8074 * method.h: make rb_method_entry_t a VALUE. 8075 Motivation and new data structure are described in [Bug #11203]. 8076 8077 This patch also solve the following issues. 8078 8079 * [Bug #11200] Memory leak of method entries 8080 * [Bug #11046] __callee__ returns incorrect method name in orphan 8081 proc 8082 8083 * test/ruby/test_method.rb: add a test for [Bug #11046]. 8084 8085 * vm_core.h: remove rb_control_frame_t::me. me is located at value 8086 stack. 8087 8088 * vm_core.h, gc.c, vm_method.c: remove unlinked_method... codes 8089 because method entries are simple VALUEs. 8090 8091 * method.h: Now, all method entries has own independent method 8092 definitions. Strictly speaking, this change is not essential, 8093 but for future changes. 8094 8095 * rb_method_entry_t::flag is move to rb_method_definition_t::flag. 8096 * rb_method_definition_t::alias_count is now 8097 rb_method_definition_t::alias_count_ptr, a pointer to the counter. 8098 8099 * vm_core.h, vm_insnhelper.c (rb_vm_frame_method_entry) added to 8100 search the current method entry from value stack. 8101 8102 * vm_insnhelper.c (VM_CHECK_MODE): introduced to enable/disable 8103 assertions. 8104 8105Tue Jun 2 10:46:36 2015 Eric Wong <e@80x24.org> 8106 8107 * test/socket/test_nonblock.rb: new test for sendmsg_nonblock 8108 8109Tue Jun 2 09:04:14 2015 Eric Wong <e@80x24.org> 8110 8111 * lib/benchmark.rb: just use Process::CLOCK_MONOTONIC 8112 [ruby-core:69390] 8113 8114Mon Jun 1 22:01:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8115 8116 * lib/mkmf.rb (pkg_config): split --libs if --libs-only-l option 8117 is not available. patch in [ruby-core:69428] by Hans Mackowiak. 8118 [ruby-core:69421] [Bug #11201] 8119 8120Mon Jun 1 21:18:24 2015 Koichi Sasada <ko1@atdot.net> 8121 8122 * gc.c (gc_mark_children): remove a garbage character 8123 introduced at the last commit. 8124 8125Mon Jun 1 19:24:42 2015 Koichi Sasada <ko1@atdot.net> 8126 8127 * vm_method.c (rb_method_entry_make): do not show warning message 8128 when method_entry is an alias. 8129 8130Mon Jun 1 15:47:16 2015 Koichi Sasada <ko1@atdot.net> 8131 8132 * internal.h: move class related definitions. 8133 8134Mon Jun 1 15:43:03 2015 Koichi Sasada <ko1@atdot.net> 8135 8136 * class.c: remove needless include pragma for method.h. 8137 8138 * struct.c: ditto. 8139 8140 * vm_method.c: ditto. 8141 8142Mon Jun 1 05:42:00 2015 Koichi Sasada <ko1@atdot.net> 8143 8144 * eval_intern.h, vm_method.c: move macros to functions. 8145 * SCOPE_TEST(f) -> rb_frame_visibility_test(flag). 8146 * SCOPE_CHECK(f) -> rb_frame_visibility_check(flag). 8147 * SCOPE_SET(f) -> rb_frame_visibility_set(flag). 8148 8149 * load.c (load_ext): use it. 8150 8151Mon Jun 1 04:47:37 2015 Zachary Scott <e@zzak.io> 8152 8153 * ext/date/date_core.c: [DOC] Add comparison of Time and DateTime 8154 Patch provided by @pixeltrix 8155 8156Mon Jun 1 04:22:09 2015 Koichi Sasada <ko1@atdot.net> 8157 8158 * vm_core.h (VM_FRAME_MAGIC_DUMMY): introduce new frame type to 8159 recognize dummy frame. 8160 8161 * vm.c (th_init): use new frame type. 8162 8163 * vm_args.c (raise_argument_error): ditto. 8164 8165Mon Jun 1 04:15:42 2015 Koichi Sasada <ko1@atdot.net> 8166 8167 * class.c (rb_class_has_methods): added to reduce dependency 8168 to internal class data structure. 8169 8170 * internal.h: ditto. 8171 8172 * hash.c (has_extra_methods): use added function. 8173 8174Mon Jun 1 04:11:48 2015 Koichi Sasada <ko1@atdot.net> 8175 8176 * gc.c , gc.h (rb_obj_info): export obj_info(VALUE) for debugging. 8177 8178Mon Jun 1 03:52:55 2015 Koichi Sasada <ko1@atdot.net> 8179 8180 * test/ruby/test_gc.rb: increase timeout seconds for GC stressful 8181 debugging. 8182 8183Sun May 31 04:18:06 2015 Koichi Sasada <ko1@atdot.net> 8184 8185 * method.h: fix typo of comments. 8186 8187Sun May 31 03:36:42 2015 Koichi Sasada <ko1@atdot.net> 8188 8189 * method.h: add VM_METHOD_TYPE_ALIAS rb_method_definition_t::type 8190 to fix [Bug #11173]. 8191 8192 Now, inter class/method alias creates new method entry 8193 VM_METHOD_TYPE_ALIAS, which has an original method entry. 8194 8195 * vm_insnhelper.c (find_defined_class_by_owner): added. 8196 Search corresponding defined_class from owner class/module. 8197 8198 * vm_method.c (rb_method_entry_get_without_cache): return me->klass 8199 directly for defined_class. 8200 8201 Now, no need to check me->klass any more. 8202 8203 * vm_method.c (method_entry_set0): separated from method_entry_set(). 8204 8205 * vm_method.c (rb_alias): make method entry has VM_METHOD_TYPE_ALIAS. 8206 8207 * vm_method.c (release_method_definition): support VM_METHOD_TYPE_ALIAS. 8208 8209 * vm_method.c (rb_hash_method_definition): ditto. 8210 8211 * vm_method.c (rb_method_definition_eq): ditto. 8212 8213 * vm_method.c (release_method_definition): ditto. 8214 8215 * vm_insnhelper.c (vm_call_method): ditto. 8216 8217 * vm_insnhelper.c (vm_method_cfunc_entry): ditto. 8218 8219 * vm_eval.c (vm_call0_body): ditto. 8220 8221 * gc.c (mark_method_entry): ditto. 8222 8223 * proc.c (method_def_iseq): ditto. 8224 8225 * proc.c (method_cref): ditto. 8226 8227 * proc.c (rb_method_entry_min_max_arity): ditto. 8228 8229 * test/ruby/test_alias.rb: add tests. 8230 8231 * test/ruby/test_module.rb: fix a test to catch up current behavior. 8232 8233Sun May 31 03:34:25 2015 Koichi Sasada <ko1@atdot.net> 8234 8235 * vm_method.c (rb_unlink_method_entry): make it static. 8236 8237Sun May 31 03:26:58 2015 Koichi Sasada <ko1@atdot.net> 8238 8239 * method.h, vm_method.c (rb_free_method_entry): constify a parameter. 8240 8241 * vm_core.h: remove useless declaration about rb_unlink_method_entry(). 8242 8243Sat May 30 18:05:02 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8244 8245 * lib/tempfile.rb (Remover#call): fixed wrong condition. introduced at 8246 r50682. 8247 8248Sat May 30 16:12:35 2015 Eric Wong <e@80x24.org> 8249 8250 * ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile 8251 [ruby-core:69419] [Feature #11198] 8252 8253Sat May 30 15:59:10 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8254 8255 * lib/tempfile.rb (Tempfile#initialize): initialize @unlinked to fix 8256 test failures introduced at r50682. I hope that check the results of 8257 tests before committing, at least the tests about the changed feature. 8258 8259Sat May 30 11:02:55 2015 Martin Englund <martin@englund.nu> 8260 8261 * doc/dtrace_probes.rdoc: change lingering dtrace probe documentation 8262 from function- to method- 8263 8264Sat May 30 10:26:09 2015 Masaki Matsushita <glass.saga@gmail.com> 8265 8266 * lib/tempfile.rb: refactoring. 8267 * use warn instead of STDERR.print 8268 * remove @tmpname and use @tmpfile.path 8269 * introduce @unlinked flag 8270 * Remover takes only @tmpfile 8271 * mode will be modified just before file reopen 8272 8273Sat May 30 09:02:51 2015 Eric Wong <e@80x24.org> 8274 8275 * include/ruby/intern.h (rb_generic_ivar_table): deprecate 8276 * internal.h (rb_attr_delete): declare 8277 * marshal.c (has_ivars): use rb_ivar_foreach 8278 (w_ivar): ditto 8279 (w_object): update for new interface 8280 * time.c (time_mload): use rb_attr_delete 8281 * variable.c (generic_ivar_delete): implement 8282 (rb_ivar_delete): ditto 8283 (rb_attr_delete): ditto 8284 [ruby-core:69323] [Feature #11170] 8285 8286Sat May 30 09:14:28 2015 Scott Francis <scott.francis@shopify.com> 8287 8288 * cont.c (cont_free): check if ruby_current_thread is still valid. 8289 [Fix GH-914] 8290 8291Sat May 30 08:36:04 2015 Eric Wong <e@80x24.org> 8292 8293 * variable.c (static int special_generic_ivar): move 8294 (rb_generic_ivar_table): rewrite for compatibility 8295 (gen_ivtbl_bytes): new function 8296 (generic_ivar_get): update to use ivar index 8297 (generic_ivar_update): ditto 8298 (generic_ivar_set): ditto 8299 (generic_ivar_defined): ditto 8300 (generic_ivar_remove): ditto 8301 (rb_mark_generic_ivar): ditto 8302 (givar_i): ditto 8303 (rb_free_generic_ivar): ditto 8304 (rb_mark_generic_ivar_tbl): ditto 8305 (rb_generic_ivar_memsize): ditto 8306 (rb_copy_generic_ivar): ditto 8307 (rb_ivar_set): ditto 8308 (rb_ivar_foreach): ditto 8309 (rb_ivar_count): ditto 8310 (givar_mark_i): remove 8311 (gen_ivtbl_mark): new function 8312 (gen_ivar_each): ditto 8313 (iv_index_tbl_extend): update for struct ivar_update 8314 (iv_index_tbl_newsize): ditto 8315 [ruby-core:69323] [Feature #11170] 8316 8317Sat May 30 08:10:46 2015 Eric Wong <e@80x24.org> 8318 8319 * variable.c (iv_index_tbl_make): extract from rb_ivar_set 8320 (iv_index_tbl_extend): ditto 8321 (iv_index_tbl_newsize): ditto 8322 (rb_ivar_set): use extracted functions 8323 [ruby-core:69323] (Part 1) 8324 8325Fri May 29 17:39:14 2015 Koichi Sasada <ko1@atdot.net> 8326 8327 * tool/make_hgraph.rb: added. 8328 8329Fri May 29 14:39:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8330 8331 * compile.c (iseq_compile_each): out of range NTH_REF is always 8332 nil. 8333 8334 * parse.y (parse_numvar): check overflow of NTH_REF and range. 8335 [ruby-core:69393] [Bug #11192] 8336 8337 * util.c (ruby_scan_digits): make public and add length parameter. 8338 8339Fri May 29 11:18:58 2015 Eric Wong <e@80x24.org> 8340 8341 * ext/socket/ancdata.c (bsock_sendmsg_internal, 8342 bsock_recvmsg_internal): 8343 avoid redundant fcntl on Linux 8344 [ruby-core:69154] [Feature #11145] 8345 * ext/socket/init.c (rsock_s_recvfrom_nonblock): ditto 8346 * ext/socket/rubysocket.h (MSG_DONTWAIT_RELIABLE): new macro 8347 8348Fri May 29 10:30:34 2015 Eric Wong <e@80x24.org> 8349 8350 * lib/net/resolv.rb (request): use monotonic clock 8351 * lib/net/http.rb (begin_transport, end_transport): ditto 8352 [ruby-core:69384] [Feature #11124] 8353 8354Fri May 29 04:37:38 2015 Koichi Sasada <ko1@atdot.net> 8355 8356 * ext/objspace/objspace.c: add two methods to debug internals. 8357 8358 * ObjectSpace.internal_class_of: return RBASIC_CLASS(obj). 8359 * ObjectSpace.internal_super_of: return RCLASS_SUPER(cls). 8360 8361 * NEWS: add information about both methods. 8362 8363 * test/objspace/test_objspace.rb: add tests for both methods. 8364 8365Thu May 28 06:55:53 2015 Anton Davydov <antondavydov.o@gmail.com> 8366 8367 * ext/tk/sample/figmemo_sample.rb (open_file), 8368 ext/tk/sample/tktextio.rb (TkTextIO): fix typo in messages. 8369 [Fix GH-916] 8370 8371Wed May 27 09:50:51 2015 Eric Wong <e@80x24.org> 8372 8373 * ext/openssl/ossl_asn1.c (ossl_asn1_traverse, ossl_asn1_decode, 8374 ossl_asn1_decode_all): use RB_GC_GUARD instead of volatile 8375 [ruby-core:69371] [Bug #11185] 8376 8377Wed May 27 09:27:30 2015 Eric Wong <e@80x24.org> 8378 8379 * lib/drb/drb.rb (set_sockopt): remove redundant fcntl call 8380 * lib/drb/unix.rb (set_sockopt): ditto 8381 [ruby-core:69128] [Feature #11137] 8382 8383Tue May 26 22:10:43 2015 Shugo Maeda <shugo@ruby-lang.org> 8384 8385 * vm_method.c (rb_alias): should resolve refined methods. 8386 [ruby-core:69360] [Bug #11182] 8387 8388Tue May 26 21:35:13 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 8389 8390 * include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): fix condition. 8391 8392Mon May 25 22:35:58 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8393 8394 * tool/redmine-backporter.rb (rel): after the relations is changed, 8395 @changesets is no longer right. 8396 8397Mon May 25 11:27:14 2015 NARUSE, Yui <naruse@ruby-lang.org> 8398 8399 * win32/win32.c (setup_overlapped): seek to the file end only when 8400 writing (mode:a), not reading (mode:a+, read). 8401 8402Mon May 25 00:27:37 2015 Benoit Daloze <eregontp@gmail.com> 8403 8404 * numeric.c (Numeric#negative?): [DOC] Fix call-seq. 8405 Patch by @yui-knk. [Fixes GH-908] 8406 8407Sun May 24 01:35:22 2015 Koichi Sasada <ko1@atdot.net> 8408 8409 * debug.c (ruby_debug_print_id): use rb_id2name() for fprintf(). 8410 8411Sat May 23 18:38:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8412 8413 * man/*.1: updated dates in man pages. 8414 [ruby-dev:48988] [Bug #11171] 8415 8416Sat May 23 03:10:58 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8417 8418 * win32/win32.c (rb_w32_write_console): should return the count of 8419 actually eaten characters, include escape sequences. 8420 8421Fri May 22 22:36:14 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 8422 8423 * lib/prime.rb: Remove obsolete Prime.new 8424 patch by Ajay Kumar. [Fixes GH-891] 8425 8426Fri May 22 21:13:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8427 8428 * include/ruby/intern.h (rb_sym_count): move `rb_sym_all_symbols` 8429 to a symbol.c specific section. a part of patch by Lourens 8430 Naude. 8431 8432Fri May 22 20:56:33 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8433 8434 * complex.c (f_complex_polar): simple bug reproduced only when y is 8435 a float but x is not a float. 8436 8437Fri May 22 19:42:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8438 8439 * process.c (rb_spawn_process): do not discard global escape 8440 status. [ruby-core:69304] [Bug #11166] 8441 8442 * process.c (rb_execarg_spawn): extract the start procedure in a 8443 parent process with ensuring the end procedure. 8444 8445Fri May 22 16:48:32 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8446 8447 * NEWS: added news for net-telnet and rake 8448 8449Thu May 21 20:27:07 2015 NARUSE, Yui <naruse@ruby-lang.org> 8450 8451 * configure.in (RUBY_DTRACE_POSTPROCESS): cmp -b is GNU extension. 8452 darwin uses GNU cmp, and FreeBSD and Solaris are not. 8453 Note that accidentally equals to expected result. 8454 8455Thu May 21 18:00:19 2015 Koichi Sasada <ko1@atdot.net> 8456 8457 * iseq.c: constify. 8458 8459 * iseq.h: ditto. 8460 8461 * method.h: ditto. 8462 8463 * proc.c: ditto. 8464 8465 * vm_method.c: ditto. 8466 8467Thu May 21 17:44:53 2015 Koichi Sasada <ko1@atdot.net> 8468 8469 * proc.c: fix issues caused by binding created from Method#to_proc. 8470 [Bug #11163] 8471 8472 * vm.c (vm_cref_new_toplevel): export as rb_vm_cref_new_toplevel(). 8473 8474 * test/ruby/test_method.rb: add some assertions. 8475 8476Thu May 21 17:29:26 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8477 8478 * lib/matrix.rb: added documentation for Matrix#empty and Matrix#/ 8479 [Feature #10070][ruby-dev:48433] Patch by @gogotanaka 8480 8481Thu May 21 17:02:43 2015 Koichi Sasada <ko1@atdot.net> 8482 8483 * proc.c: rename functions. 8484 * method_get_def() -> method_def() 8485 * method_get_iseq() -> method_def_iseq() 8486 * method_get_cref() -> method_cref() 8487 8488Thu May 21 16:52:44 2015 Koichi Sasada <ko1@atdot.net> 8489 8490 * proc.c (rb_method_get_iseq): rename to rb_method_iseq. 8491 8492 * iseq.c: catch up this fix. 8493 8494 * iseq.h: commit ditto. 8495 8496Thu May 21 15:41:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8497 8498 * lib/net/telnet.rb: gemify net-telnet. 8499 [Feature #11083] 8500 * gems/bundled_gems: added net-telnet to bundled gems. 8501 8502Thu May 21 15:37:32 2015 Zachary Scott <e@zzak.io> 8503 8504 * vm_method.c: Remove private attribute warning [Bug #10967] 8505 Patch by @spastorino [Fixes GH-849] 8506 https://github.com/ruby/ruby/pull/849 8507 8508 * test/ruby/test_module.rb: Update test for changes 8509 8510Thu May 21 10:59:43 2015 Koichi Sasada <ko1@atdot.net> 8511 8512 * proc.c (method_proc): rename to method_to_proc. 8513 8514Thu May 21 10:51:54 2015 Jake Worth <jakeworth82@gmail.com> 8515 8516 * io.c (rb_f_select): [DOC] Fixes for grammar and style. 8517 [Fix GH-906] 8518 8519Thu May 21 08:25:19 2015 Eric Wong <e@80x24.org> 8520 8521 * variable.c (Init_var_tables): init generic_iv_tbl 8522 (rb_generic_ivar_table, generic_ivar_get, generic_ivar_set, 8523 generic_ivar_defined, generic_ivar_remove, 8524 rb_mark_generic_ivar, givar_i, rb_mark_generic_ivar_tbl, 8525 rb_free_generic_ivar, rb_copy_generic_ivar, rb_ivar_foreach, 8526 rb_ivar_count): remove checks for uninitialize generic_iv_tbl 8527 [ruby-core:69155] [Feature #11146] 8528 8529Thu May 21 04:11:03 2015 Koichi Sasada <ko1@atdot.net> 8530 8531 * iseq.c (exception_type2symbol): show correct bug message. 8532 8533Wed May 20 23:19:05 2015 Yusuke Endoh <mame@ruby-lang.org> 8534 8535 * lib/base64.rb: Fix rdoc-formatting for padding argument. 8536 [fix GH-905][ci skip] Patch by @davydovanton 8537 8538Wed May 20 13:16:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8539 8540 * configure.in (DEPRECATED_BY): deprecate warning with preferable 8541 alternative. 8542 8543 * configure.in (RUBY_FUNC_ATTRIBUTE): allow attribute arguments in 8544 the macro. 8545 8546Wed May 20 11:23:24 2015 NARUSE, Yui <naruse@ruby-lang.org> 8547 8548 * vm_dump.c (rb_print_backtrace): return value of libexec's backtrace 8549 is size_t, so simply cast as int. 8550 8551Tue May 19 18:54:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8552 8553 * iseq.c (rb_iseq_compile_with_option): check source type, must be 8554 an IO or a String. [ruby-core:69219] [Bug #11159] 8555 8556Tue May 19 17:15:03 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8557 8558 * lib/benchmark.rb: Update Benchmark documentation and formatting. 8559 [fix GH-903][ci skip] Patch by @davydovanton 8560 8561Tue May 19 13:10:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8562 8563 * numeric.c (num_positive_p): should false on Bignum 0. 8564 http://twitter.com/rafaelfranca/status/600509783427391488 8565 [ruby-core:69173] [Feature #11151] 8566 8567Tue May 19 11:22:28 2015 NARUSE, Yui <naruse@ruby-lang.org> 8568 8569 * lib/uri/rfc2396_parser.rb (initialize_pattern): 8570 URI::Generic.build should accept port as a string. 8571 pattern[:PORT] is not defined for long. 8572 by Dave Slutzkin <daveslutzkin@fastmail.fm> 8573 https://github.com/ruby/ruby/pull/804 fix GH-804 8574 8575Tue May 19 11:18:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8576 8577 * include/ruby/ruby.h (rb_data_typed_object_alloc), 8578 (rb_data_object_alloc): add old names for source level backward 8579 compatibilities. 8580 8581 * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc): add 8582 aliases for binary level backward compatibilities. 8583 8584Tue May 19 09:54:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8585 8586 * include/ruby/ruby.h (Data_Make_Struct0): needs function pointer 8587 casts to fix function overloading in C++. 8588 8589Tue May 19 09:43:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8590 8591 * include/ruby/ruby.h (Data_Make_Struct0, TypedData_Make_Struct0): 8592 explicit cast from void* is necessary as implicit cast is 8593 disallowed in C++. 8594 8595Mon May 18 15:31:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8596 8597 * include/ruby/intern.h (rb_f_notimplement): should not respond to 8598 not-implemented methods. as the address inside a DLL and the 8599 imported address are different on Windows, use an exported 8600 variable to share the same address. 8601 8602Mon May 18 13:55:01 2015 Shugo Maeda <shugo@ruby-lang.org> 8603 8604 * lib/monitor.rb (mon_try_enter, mon_enter): should reset @mon_count 8605 just in case the previous owner thread dies without mon_exit. 8606 [fix GH-874] Patch by @chrisberkhout 8607 8608Sun May 17 17:21:29 2015 Eric Wong <e@80x24.org> 8609 8610 * lib/webrick/utils.rb (set_non_blocking): use IO#nonblock= 8611 * (set_close_on_exec): use IO#close_on_exec= 8612 [Feature #11136] 8613 8614Sun May 17 15:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8615 8616 * numeric.c (num_positive_p, num_negative_p): add methods 8617 Numeric#positive? and Numeric#negative?. 8618 [ruby-core:69173] [Feature #11151] 8619 8620 * numeric.c (flo_positive_p, flo_negative_p): specialized 8621 functions for Float. 8622 8623 * complex.c (Init_Complex): Complex do not have positive? and 8624 negative? methods 8625 8626Sun May 17 14:57:42 2015 Eric Wong <e@80x24.org> 8627 8628 * lib/webrick/server.rb (accept_client): avoid redundant fcntl call 8629 [Feature #11137] 8630 8631Sun May 17 12:13:33 2015 Eric Wong <e@80x24.org> 8632 8633 * ext/socket/init.c (cloexec_accept): support nonblock flag and 8634 use SOCK_NONBLOCK if possible 8635 * ext/socket/init.c (rsock_s_accept_nonblock): 8636 update cloexec_accept call 8637 * ext/socket/init.c (accept_blocking): ditto for blocking 8638 * test/socket/test_nonblock.rb: check nonblock? on accepted socket 8639 [Feature #11138] 8640 8641Sun May 17 03:58:59 2015 Aaron Patterson <tenderlove@ruby-lang.org> 8642 8643 * load.c (loaded_feature_path): stop returning false negatives for 8644 filenames which are trailing substrings of file extensions. For 8645 example, 'b', which a trailing substring of ".rb" should not return 8646 false. [Bug #11155][ruby-core:69206] 8647 8648 * test/ruby/test_autoload.rb: test for fix 8649 8650Sat May 16 21:41:24 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8651 8652 * string.c: added documentation for character sequence \' with String#sub 8653 [Bug #11132][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127 8654 8655Sat May 16 21:38:05 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8656 8657 * enum.c: fix a sample code. Patch by @eagletmt 8658 [fix GH-901][ci skip] 8659 8660Sat May 16 21:17:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8661 8662 * gc.c (rb_data_object_wrap, rb_data_typed_object_wrap): rename 8663 alloc as wrap. these functions do not allocate data pointers 8664 but just wrap the given pointers. 8665 8666Sat May 16 19:59:24 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8667 8668 * win32/win32.c (rb_w32_accept): simplified. 8669 8670Fri May 15 18:28:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8671 8672 * array.c (rb_ary_assoc, rb_ary_rassoc): [DOC] the result when key 8673 was found is the existing element, not a new array. reported by 8674 Giau Nguyen <giaunv AT nustechnology.com>. 8675 8676Fri May 15 08:24:28 2015 Takeyuki FUJIOKA <xibbar@ruby-lang.org> 8677 8678 * lib/cgi/cookie.rb: Implement HttpOnly flag for cookies. 8679 [fix GH-887] Patch by @martinpovolny 8680 8681Fri May 15 06:54:19 2015 Aaron Patterson <tenderlove@ruby-lang.org> 8682 8683 * variable.c: Change autoload to call `require` through Ruby rather 8684 than directly calling `rb_require_safe`. This allows things like 8685 RubyGems to intercept file loading done though `autoload`. 8686 [Feature #11140] 8687 8688 * test/ruby/test_autoload.rb: Test for change. 8689 8690Wed Apr 8 19:18:02 2015 Shota Fukumori (sora_h) <her@sorah.jp> 8691 8692 * enum.c (enum_grep_v, grep_i, grep_iter_i, Init_enum): 8693 Implement Enumerable#grep_v. [Feature #11049] 8694 8695Thu May 14 15:54:13 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8696 8697 * ext/pathname/lib/pathname.rb: Remove condition of RUBY_VERSION <= 1.9. 8698 [Feature #11082] 8699 8700Wed May 13 17:10:37 2015 Masaki Matsushita <glass.saga@gmail.com> 8701 8702 * enum.c (enum_to_a): revert r50457. 8703 it requires recursion check. 8704 then, it doesn't make performance improvement. 8705 [Bug #11130] [Feature #9118] 8706 8707Wed May 13 11:13:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8708 8709 * parse.y (parse_gvar): separate message for gvar without 8710 non-space characters from message for invalid identifiers. 8711 8712Tue May 12 22:18:27 2015 Masaki Matsushita <glass.saga@gmail.com> 8713 8714 * enum.c (enum_to_a): fix incompatibility introduced in r50457. 8715 [Bug #11130] 8716 8717 * test/ruby/test_enum.rb: test for above. 8718 8719Tue May 12 17:08:03 2015 Koichi Sasada <ko1@atdot.net> 8720 8721 * method.h: remove unused declaration. 8722 8723Mon May 11 10:58:45 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8724 8725 * gems/bundled_gems: Update minitest-5.6.1 and power_assert-0.2.3. 8726 8727Mon May 11 00:20:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8728 8729 * include/ruby/ruby.h (Data_Make_Struct, TypedData_Make_Struct): 8730 allocate wrapper data object before allocating DATA_PTR to get 8731 rid of possible memory leak when the former failed. 8732 8733Sun May 10 21:32:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8734 8735 * gc.c (gc_mark_children): call dmark function for non-NULL 8736 pointers only, so that DATA_PTR can be NULL safely now. 8737 8738Sun May 10 16:23:58 2015 Kazuki Tsujimoto <kazuki@callcc.net> 8739 8740 * proc.c (proc_binding): fix segmentation fault on marking phase. 8741 envptr of newenvval should not be NULL. 8742 8743 You can reproduce by 8744 make test-all TESTS='--gc-stress -n test_to_proc_binding ruby/test_method.rb' 8745 8746Sun May 10 12:41:18 2015 Masaki Matsushita <glass.saga@gmail.com> 8747 8748 * ext/zlib/zlib.c (rb_gzreader_external_encoding): 8749 define GzipReader#external_encoding. 8750 [Bug #10900] 8751 8752 * test/zlib/test_zlib.rb: test for above. 8753 8754Sun May 10 11:57:48 2015 Masaki Matsushita <glass.saga@gmail.com> 8755 8756 * ext/win32ole/win32ole_variant.c: fix typo "indicies". 8757 the patch is from davydovanton <antondavydov.o at gmail.com>. 8758 [fix GH-892] 8759 8760 * lib/rubygems/indexer.rb: ditto. 8761 8762 * test/rubygems/test_gem_indexer.rb: ditto. 8763 8764Sun May 10 11:44:37 2015 Masaki Matsushita <glass.saga@gmail.com> 8765 8766 * string.c (rb_str_crypt): Raise ArgumentError when 8767 string passed to String#crypt contains null. 8768 the patch is from jrusnack <jrusnack at redhat.com>. 8769 [Bug #10988] [fix GH-853] 8770 8771 * test/ruby/test_string.rb: test for above. 8772 8773Sun May 10 11:23:03 2015 Masaki Matsushita <glass.saga@gmail.com> 8774 8775 * enum.c (enum_to_a): Use size to set array capa when possible. 8776 the patch is from HonoreDB <aweiner at mdsol.com>. 8777 [fix GH-444] 8778 8779Sat May 9 06:48:36 2015 Eric Wong <e@80x24.org> 8780 8781 * ext/socket/ancdata.c (bsock_recvmsg_internal): GC guard 8782 [Bug #11123] 8783 8784Fri May 8 22:57:24 2015 takiy33 <takiy33@gmail.com> 8785 8786 * test/matrix/test_matrix.rb (test_determinant): refactor test on 8787 Matrix#determinant, by merging with test_det for an alias method 8788 det. [Fix GH-897] 8789 8790Fri May 8 15:43:11 2015 Shugo Maeda <shugo@ruby-lang.org> 8791 8792 * lib/net/imap.rb (body_ext_mpart): should work even if body-fld-dsp 8793 is omitted. [ruby-core:69093] [Bug #11128] 8794 8795Fri May 8 15:05:57 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8796 8797 * doc/syntax/control_expressions.rdoc: fix a missing "a" 8798 [fix GH-888][ci skip] Patch by @riffraff 8799 8800Fri May 8 12:11:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8801 8802 * vm_eval.c (rb_method_call_status): resolve refined method entry 8803 to check if undefined. [ruby-core:69064] [Bug #11117] 8804 8805Thu May 7 22:22:59 2015 Sho Hashimoto <sho-h@ruby-lang.org> 8806 8807 * proc.c: [DOC] fix Binding#local_variable_set example. [ci skip] 8808 8809Thu May 7 11:32:57 2015 NARUSE, Yui <naruse@ruby-lang.org> 8810 8811 * Makefile.in (rbconfig.rb): add rule to make. 8812 8813Thu May 7 05:14:39 2015 Eric Wong <e@80x24.org> 8814 8815 * ext/socket/lib/socket.rb (connect_nonblock): use IO#wait_writable 8816 * lib/drb/drb.rb (DRB::DRbTCPSocket#alive?): use IO#wait_readable 8817 * lib/webrick/httpserver.rb (run): ditto 8818 * lib/resolv.rb (request): ditto for single socket case 8819 [ruby-core:68943] [Feature #11081] 8820 8821Wed May 6 22:49:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8822 8823 * vm_eval.c (rb_method_call_status): undefined refined method is 8824 not callable unless using. [ruby-core:69064] [Bug #11117] 8825 8826Sun May 3 22:40:06 2015 Rei Odaira <Rei.Odaira@gmail.com> 8827 8828 * ext/-test-/file/fs.c: need to include sys/statvfs.h 8829 to use statvfs(). 8830 8831 * ext/-test-/file/extconf.rb: check the existence of 8832 sys/statvfs.h 8833 8834Sun May 3 21:59:48 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8835 8836 * lib/yaml.rb: fix typo. [ci skip][fix GH-890] 8837 Patch by @miketheman 8838 8839Sun May 3 10:02:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8840 8841 * range.c (linear_object_p, range_include): test if covered for 8842 linear objects. [ruby-core:69052] [Bug #11113] 8843 8844Fri May 1 13:30:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8845 8846 * dln.c (dln_load): check if a different libruby is loaded by the 8847 extension library, and then bail out to get rid of very 8848 frequently reported stale bug reports. 8849 8850Thu Apr 30 19:51:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8851 8852 * compile.c (iseq_compile_each): revert r46873 and r46875, not to 8853 allow to execute private readers by pretending op assign. 8854 [ruby-core:68984] [Bug #11096] 8855 8856Thu Apr 30 17:02:33 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8857 8858 * rational.c: Added documentation for rational literal. 8859 [Bug #11075][fix GH-885][ci skip] Patch by @shishir127 8860 8861Thu Apr 30 16:39:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8862 8863 * ext/socket/ipsocket.c (init_inetsock_internal): preserve errno 8864 before other library calls and use rb_syserr_fail. 8865 [ruby-core:68531] [Bug #10975] 8866 8867Thu Apr 30 16:22:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8868 8869 * parse.y (lambda): push and reset cmdarg_stack in lambda body. 8870 [ruby-core:69017] [Bug #11107] 8871 8872Sun Apr 26 07:36:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8873 8874 * enc/utf_8.c (code_to_mbclen, code_to_mbc): reject values larger 8875 than UTF-8 max codepoints. [Feature #11094] 8876 8877Sat Apr 25 14:26:19 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8878 8879 * string.c (str_buf_cat): expand later so that the buffer can be 8880 larger for further use. [Bug #11080] [Bug #11095] 8881 8882Fri Apr 24 23:48:45 2015 Akinori MUSHA <knu@iDaemons.org> 8883 8884 * misc/ruby-electric.el: Import version 2.2.3 from 8885 https://github.com/knu/ruby-electric.el. 8886 8887Fri Apr 24 10:40:02 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8888 8889 * win32/win32.c (rb_w32_{getc,putc}): removed. they are needed for old 8890 ruby (before 1.8), but not now. 8891 8892Fri Apr 24 08:40:13 2015 NARUSE, Yui <naruse@ruby-lang.org> 8893 8894 * win32/win32.c: remove bcc related code. 8895 8896 * include/ruby/win32.h: ditto. 8897 8898Fri Apr 24 08:21:07 2015 NARUSE, Yui <naruse@ruby-lang.org> 8899 8900 * win32/win32.c (rb_acrt_lowio_lock_fh): wrap _pioinfo(i)->lock. 8901 8902 * win32/win32.c (rb_acrt_lowio_unlock_fh): ditto. 8903 8904Fri Apr 24 06:47:19 2015 NARUSE, Yui <naruse@ruby-lang.org> 8905 8906 * win32/win32.c (_filbuf): msvc14 doesn't have it, use _fgetc_nolock. 8907 8908 * win32/win32.c (_flsbuf): msvc14 doesn't have it, use _fputc_nolock. 8909 8910 * win32/win32.c (vcruntime_file): define vcruntime_file on msvc14 8911 because it doesn't export FILE's internal structure. 8912 8913 * win32/win32.c (FILE_COUNT): added to abstract FILE->_cnt. 8914 8915 * win32/win32.c (FILE_READPTR): added to abstract FILE->_ptr. 8916 8917 * win32/win32.c (FILE_FILENO): added to abstract FILE->_file. 8918 8919 * win32/win32.c (init_stdhandle): use FILE_FILENO. 8920 8921 * win32/win32.c (rb_w32_getc): use FILE_COUNT and FILE_READPTR. 8922 8923 * win32/win32.c (rb_w32_putc): ditto. 8924 8925Fri Apr 24 06:37:07 2015 NARUSE, Yui <naruse@ruby-lang.org> 8926 8927 * win32/win32.c (dupfd): use _set_osfhnd. 8928 8929 * win32/win32.c (rb_w32_wopen): use _set_osflags. 8930 8931Thu Apr 24 05:38:01 2015 Koichi Sasada <ko1@atdot.net> 8932 8933 * gc.c (gc_mark_roots): fox to work PRINT_ROOT_TICKS. 8934 8935Fri Apr 24 04:49:05 2015 NARUSE, Yui <naruse@ruby-lang.org> 8936 8937 * win32/Makefile.sub: MSVC14 have struct timespec. 8938 8939 * win32/rtname.cmd: support vcruntime140.dll. 8940 8941 * time.c (localtime_with_gmtoff_zone): MSVC14 doesn't have tzname and 8942 daylight but have _tzname and _daylight. 8943 8944Thu Apr 23 11:35:55 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 8945 8946 * vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow 8947 symbols to just instance_eval/exec, except for definition of 8948 singletons. [ruby-core:68961] [Bug #11086] 8949 8950Thu Apr 23 10:01:36 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8951 8952 * lib/delegate.rb: fix a typo. 8953 [fix GH-881][ci skip] Patch by @Zorbash 8954 8955Wed Apr 22 18:36:50 2015 Shugo Maeda <shugo@ruby-lang.org> 8956 8957 * lib/net/imap.rb (move, uid_move): support the MOVE command defined 8958 in RFC6851. Patch by ojab ojab. 8959 [ruby-core:68960] [Feature #11077] 8960 8961Tue Apr 22 12:42:12 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 8962 8963 * test/ruby/test_object.rb: add tests for Kernel#String and Kernel#Array. 8964 [fix GH-879][fix GH-880] Patch by @yui-knk 8965 8966Tue Apr 21 20:46:02 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 8967 8968 * test/ruby/test_object.rb: renamed tests to explicitly class name. 8969 [fix GH-877] Patch by @yui-knk 8970 8971Tue Apr 21 05:31:00 2015 Eric Wong <e@80x24.org> 8972 8973 * ext/socket/lib/socket.rb (connect_internal): avoid common exceptions 8974 from connect_nonblock. [ruby-core:68909] 8975 8976Mon Apr 20 23:46:53 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8977 8978 * win32/win32.c (rb_w32_wreadlink): follow the official format of 8979 REPARSE_DATA_BUFFER structure. 8980 8981Mon Apr 20 20:23:04 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8982 8983 * common.mk ($(arch)-fake.rb): revert r50354 because bsdmake seems not 8984 to handle such substitution. 8985 8986 * tool/expand-config.rb: convert path separators here. 8987 8988Mon Apr 20 16:52:20 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8989 8990 * tool/fake.rb: don't fake libdir. use libdirname instead. 8991 8992Mon Apr 20 16:49:52 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8993 8994 * lib/mkmf.rb (MakeMakefile#configuration): DESTDIR should never affect 8995 top_srcdir and builddir. 8996 8997Mon Apr 20 16:18:17 2015 NAKAMURA Usaku <usa@ruby-lang.org> 8998 8999 * common.mk ($(arch)-fake.rb): fix the path separator up for Windows. 9000 9001Mon Apr 20 15:02:47 2015 NAKAMURA Usaku <usa@ruby-lang.org> 9002 9003 * win32/win32.c (rb_w32_wreadlink): fixed a bug that a junction misses 9004 its drive letter. 9005 9006Mon Apr 20 12:54:56 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 9007 9008 * ext/openssl/*: use license instead of licence. 9009 [fix GH-876][ci skip] Patch by @davydovanton 9010 * lib/net/https.rb: ditto. 9011 9012Mon Apr 20 12:42:40 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 9013 9014 * benchmark/bm_so_meteor_contest.rb: fix a typo. 9015 [fix GH-876][ci skip] Patch by @davydovanton 9016 * tool/bisect.sh: ditto. 9017 * tool/update-deps: ditto. 9018 9019Mon Apr 20 11:10:46 2015 Eric Wong <e@80x24.org> 9020 9021 * ext/socket/socket.c (sock_connect_nonblock): do not raise EISCONN 9022 [ruby-core:68926] [Feature #11072] 9023 * test/socket/test_nonblock.rb: check non-EISCONN on 2nd connect 9024 9025Sun Apr 19 12:19:17 2015 Chad Brewbaker <crb002@gmail.com> 9026 9027 * ext/{etc,openssl,tk}: Adding parens and comparisons around 9028 assignments to get rid of Wparentheses warnings. [Fix GH-875] 9029 9030Sun Apr 19 10:42:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9031 9032 * hash.c (get_env_cstr): environment variables must be ASCII 9033 compatible, as dummy encodings and wide char encodings are 9034 unsupported now. 9035 9036Sat Apr 18 15:18:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9037 9038 * ext/json/parser/parser.rl: raise with messages in UTF-8 9039 encoding. [ruby-core:67386] [Bug #10705] 9040 9041Fri Apr 17 11:58:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9042 9043 * string.c (STR_SET_EMBED): clear NOFREE flag at embedding as 9044 embedded strings no longer refer static strings. 9045 [ruby-core:68436] [Bug #10942] 9046 9047Thu Apr 16 05:15:50 2015 Eric Wong <e@80x24.org> 9048 9049 * NEWS: note IO#wait_readable change in r50263 9050 9051Thu Apr 16 05:09:36 2015 Eric Wong <e@80x24.org> 9052 9053 * lib/net/protocol.rb (rbuf_fill): use IO#wait_*able 9054 * lib/net/http/generic_request.rb (wait_for_continue): ditto 9055 [ruby-core:68891] [Feature #11056] 9056 9057Wed Apr 15 18:43:43 2015 Koichi Sasada <ko1@atdot.net> 9058 9059 * vm_trace.c (rb_tracepoint_new): fix documentation. 9060 Commented by @emilsoman. 9061 9062Wed Apr 15 17:36:51 2015 Koichi Sasada <ko1@atdot.net> 9063 9064 * vm_trace.c (rb_tracepoint_new): Add documentation for 9065 rb_tracepoint_new C level API [ci skip] 9066 Provided by @emilsoman. [fix GH-869] 9067 9068Wed Apr 15 10:37:40 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org> 9069 9070 * doc/contributors.rdoc: fix a typo. Patch by @davydovanton 9071 [fix GH-872][ci skip] 9072 * doc/syntax/methods.rdoc: ditto. 9073 * ext/digest/sha2/sha2.c: ditto. 9074 * ext/socket/ipsocket.c: ditto. 9075 * ext/tk/*: ditto. 9076 9077Wed Apr 15 07:51:23 2015 Yuki Yugui Sonoda <yugui@yugui.jp> 9078 9079 * doc/extension.ja.rdoc: Added description of TypedData_XXX. 9080 Deprecated the old DATA_XXX. 9081 Reviewed by ko1 and nobu. 9082 Fixes [ruby-dev:40881] #3064 9083 9084 * doc/extension.rdoc: ditto. 9085 9086Wed Apr 15 07:34:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9087 9088 * thread_pthread.c (reserve_stack): keep sp safe zone to get rid 9089 of crash by -fstack-check. [ruby-core:68740] [Bug #11030] 9090 9091Tue Apr 14 16:03:49 2015 NAKAMURA Usaku <usa@ruby-lang.org> 9092 9093 * tool/merger.rb (versionup): should also increment revision when 9094 changing teeny. 9095 9096Tue Apr 14 11:24:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9097 9098 * ext/-test-/printf/printf.c (uint_to_str): renamed to get rid of 9099 conflict on cygwin. [ruby-core:68877] [Bug #11065] 9100 9101Tue Apr 14 08:59:04 2015 Zachary Scott <e@zzak.io> 9102 9103 * gc.c: [DOC] Improve documentation for ObjectSpace.count_objects 9104 with regards to `:TOTAL` key, with patch by @schneems [Fixes GH-871] 9105 https://github.com/ruby/ruby/pull/871 [Bug #11067] 9106 9107Mon Apr 13 22:44:07 2015 Tanaka Akira <akr@fsij.org> 9108 9109 * test/lib/envutil.rb (File.mkfifo): Defined using mkfifo command. 9110 9111 * test/ruby/test_io.rb: Use File.mkfifo. 9112 9113 * test/ruby/test_file_exhaustive.rb: Ditto. 9114 9115 * test/ruby/test_process.rb: Ditto. 9116 9117Mon Apr 13 21:20:20 2015 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 9118 9119 * ext/openssl/lib/openssl/ssl.rb: stricter hostname verification 9120 following RFC 6125. with the patch provided by Tony Arcieri and 9121 Hiroshi Nakamura [ruby-core:61545] [Bug #9644] 9122 * test/openssl/test_ssl.rb: add tests for above. 9123 9124Sun Apr 12 18:40:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9125 9126 * ext/json/json.gemspec: bump version to 1.8.2. 9127 * ext/json/lib/json/version.rb: ditto. 9128 9129Sun Apr 12 18:12:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9130 9131 * ext/json/json.gemspec, lib/rdoc/rdoc.gemspec: added gemspec directly. 9132 * defs/default_gems, tool/rbinstall.rb: removed default_gems definition. 9133 it make simple installation for default gems. 9134 9135Sun Apr 12 17:35:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9136 9137 * ext/json/*, test/json/*: Reverted r50231. Because it's not 9138 working with cross-compile environment. 9139 9140Sun Apr 12 15:34:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9141 9142 * parse.y (arg): fix segfault by null caused by syntax error. 9143 [ruby-core:68851] [Bug #10957] 9144 9145Sun Apr 12 15:11:16 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9146 9147 * lib/rubygems/test_case.rb: use explicitly exception class and reverted 9148 to require JSON library for rubygems tests with Ruby 2.2.0 or earlier. 9149 9150Sun Apr 12 15:10:18 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9151 9152 * ext/io/wait/wait.c (io_wait_readable): simply returns that IO is 9153 readable without blocking, but no longer returns EOF. 9154 9155 * ext/io/wait/wait.c (io_ready_p, io_wait_readable): try polling 9156 first and check FIONREAD optionally to see if EOF. 9157 [ruby-core:36805] [Feature #4849] 9158 9159Sun Apr 12 14:53:23 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9160 9161 * lib/rubygems/test_case.rb: fixed json load error for rubygems tests. 9162 9163Sun Apr 12 14:13:28 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9164 9165 * gc.c: Document require name for ObjectSpace methods. 9166 [ci skip][fix GH-860] Patch by @schneems 9167 9168Sun Apr 12 13:54:05 2015 Tanaka Akira <akr@fsij.org> 9169 9170 * test/ruby/test_io.rb: New test that open(fifo) doesn't block other 9171 threads. 9172 9173Sun Apr 12 13:52:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9174 9175 * ext/coverage/coverage.c: Remove extension from require argument. 9176 [ci skip][fix GH-870] Patch by @yui-knk 9177 9178Sun Apr 12 10:29:14 2015 Eric Wong <e@80x24.org> 9179 9180 * ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): 9181 support `exception: false' 9182 * (get_no_exception): move function location 9183 * ext/socket/socket.c (sock_connect_nonblock): 9184 support `exception: false' 9185 * test/openssl/test_pair.rb (test_connect_accept_nonblock_no_exception): 9186 test `exception: false' on connect, 9187 rename from `test_accept_nonblock_no_exception' 9188 * test/socket/test_nonblock.rb (test_connect_nonblock_no_exception): 9189 new test 9190 9191Sun Apr 12 09:57:16 2015 Tanaka Akira <akr@fsij.org> 9192 9193 * test/ruby/test_file_exhaustive.rb: Test a block device on GNU/Linux. 9194 9195Sun Apr 12 09:24:03 2015 Tanaka Akira <akr@fsij.org> 9196 9197 * test/ruby/test_file_exhaustive.rb: Test a file not owned. 9198 9199Sun Apr 12 09:05:44 2015 Tanaka Akira <akr@fsij.org> 9200 9201 * ext/fiddle/depend: Fix "Wrong mix of special targets" error with 9202 OpenBSD make. 9203 9204Sun Apr 12 09:04:37 2015 NAKAMURA Usaku <usa@ruby-lang.org> 9205 9206 * test/ruby/test_file_exhaustive.rb: Windows doesn't support Unix file 9207 modes. 9208 9209Sun Apr 12 08:56:44 2015 Tanaka Akira <akr@fsij.org> 9210 9211 * ext/-test-/file/fs.c: OpenBSD needs sys/param.h before sys/mount.h. 9212 9213Sun Apr 12 08:52:01 2015 Tanaka Akira <akr@fsij.org> 9214 9215 * test/ruby/test_file_exhaustive.rb: Test suid, sgid and sticky file. 9216 9217Sat Apr 11 23:48:30 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9218 9219 * template/fake.rb.in: Don't assign baseruby, Because it's affect to 9220 Makefile of native gem like json on bundled gems. 9221 9222Sat Apr 11 23:33:22 2015 Tanaka Akira <akr@fsij.org> 9223 9224 * file.c (rb_f_test): Consider nsec for "=", "<" and ">" for "test" 9225 method. 9226 9227Sat Apr 11 23:26:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9228 9229 * tool/rbinstall.rb: support destdir for native extension gem. 9230 9231Sat Apr 11 21:02:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> 9232 9233 * test/ruby/test_file_exhaustive.rb 9234 (TestFileExhaustive#test_stat_socket_p): r50226 accidentally missed 9235 the guard for non-unix environments. 9236 9237Sat Apr 11 20:14:21 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9238 9239 * ext/json/*, test/json/*, defs/default_gems: Gemify JSON library. 9240 [fix GH-867][Feature #11057] 9241 * test/ruby/test_extlibs.rb: removed json gem from existence extensions. 9242 * gems/bundled_gems: added json gem into bundled gem. 9243 * lib/rdoc/rubygems_hook.rb: ignored no json environment. 9244 * lib/rubygems/test_case.rb, test/rubygems/*: ditto. 9245 * lib/rdoc/test_case.rb, test/rdoc/*: ditto. 9246 9247Sat Apr 11 15:56:58 2015 Tanaka Akira <akr@fsij.org> 9248 9249 * test/ruby/test_file_exhaustive.rb: Create sample files lazily. 9250 9251Sat Apr 11 14:03:47 2015 Tanaka Akira <akr@fsij.org> 9252 9253 * test/ruby/test_file_exhaustive.rb: Test character device using 9254 /dev/null. 9255 9256Sat Apr 11 10:59:58 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9257 9258 * lib/mkmf.rb (append_cppflags, append_cflags, append_ldflags): 9259 utility methods to append compiler options. 9260 9261Sat Apr 11 08:22:24 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9262 9263 * lib/rdoc/text.rb: removed duplicated code. 9264 9265Sat Apr 11 04:46:42 2015 Eric Wong <e@80x24.org> 9266 9267 * lib/net/protocol.rb (rbuf_fill): avoid exception with read_nonblock 9268 [ruby-core:68787] [Feature #11044] 9269 9270Fri Apr 10 23:57:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9271 9272 * dir.c (need_normalization): use getattrlist() if fgetattrlist() 9273 is unavailable, on OSX 10.5. [ruby-core:68829] [Bug #11054] 9274 9275Fri Apr 10 22:29:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9276 9277 * lib/mkmf.rb (try_compile): pass the given werror flag to try_do 9278 to check if stderr is empty. 9279 9280 * lib/mkmf.rb (try_cflags, try_ldflags): default werror to true. 9281 9282 * win32/Makefile.sub (WERRORFLAG): remove useless option. VC does 9283 not make warnings of unknown command option an error. 9284 9285Fri Apr 10 19:34:24 2015 Tanaka Akira <akr@fsij.org> 9286 9287 * test/ruby/test_file_exhaustive.rb: Test socket. 9288 9289Fri Apr 10 19:38:46 2015 Koichi Sasada <ko1@atdot.net> 9290 9291 * test/objspace/test_objspace.rb: remove debug prints. 9292 9293Fri Apr 10 19:35:51 2015 Koichi Sasada <ko1@atdot.net> 9294 9295 * ext/objspace/objspace.c: add ObjectSpace.count_imemo_objects method 9296 to count imemo objects for each type. 9297 9298 * test/objspace/test_objspace.rb: add a test. 9299 9300 * NEWS: describe about this addition. 9301 9302Fri Apr 10 19:34:24 2015 Tanaka Akira <akr@fsij.org> 9303 9304 * test/ruby/test_file_exhaustive.rb: Test anonymous pipe. 9305 9306Fri Apr 10 19:31:56 2015 Tanaka Akira <akr@fsij.org> 9307 9308 * test/ruby/test_file_exhaustive.rb: Test named pipe. 9309 9310Fri Apr 10 19:10:34 2015 Koichi Sasada <ko1@atdot.net> 9311 9312 * ext/objspace/objspace.c (setup_hash): unify common routine. 9313 9314Fri Apr 10 18:29:49 2015 Tanaka Akira <akr@fsij.org> 9315 9316 * process.c (rb_execarg_parent_start1): Handle EINTR. 9317 9318Fri Apr 10 17:27:58 2015 Koichi Sasada <ko1@atdot.net> 9319 9320 * vm.c (vm_exec): check other events when RETURN is thrown. 9321 [Bug #10724] 9322 9323 * test/ruby/test_settracefunc.rb: add a test. 9324 9325Fri Apr 10 11:44:09 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9326 9327 * ext/date/extconf.rb: check warnings. 9328 9329 * lib/mkmf.rb (try_cflags): pass options to try_compile. 9330 9331 * win32/Makefile.sub (WERRORFLAG): make unknown command line 9332 options an error. 9333 9334Fri Apr 10 08:00:17 2015 NAKAMURA Usaku <usa@ruby-lang.org> 9335 9336 * test/ruby/test_process.rb: unfortunately, windows is not POSIX... 9337 cygwin has mkfifo command, but it does not affect system-wide. 9338 9339Fri Apr 10 02:18:53 2015 Tanaka Akira <akr@fsij.org> 9340 9341 * test/ruby/test_process.rb: Use mkfifo command instead of mknod 9342 command to create a named pipe. mkfifo command is defined by POSIX. 9343 9344Fri Apr 10 01:29:05 2015 Tanaka Akira <akr@fsij.org> 9345 9346 * process.c: Release GVL when opening a file in spawn() to avoid whole 9347 process blocking when opening a named pipe. 9348 (open_func): New function. 9349 (rb_execarg_parent_start1): Extracted from rb_execarg_parent_start and 9350 use rb_thread_call_without_gvl2 to release GVL when opening a file. 9351 (rb_execarg_parent_start): Invoke rb_execarg_parent_start1 via 9352 rb_protect and invoke rb_execarg_parent_end when error. 9353 9354Thu Apr 9 22:19:19 2015 Tanaka Akira <akr@fsij.org> 9355 9356 * process.c (redirect_open): Removed. 9357 9358Thu Apr 9 21:38:20 2015 Tanaka Akira <akr@fsij.org> 9359 9360 * internal.h (rb_execarg_parent_end): Declared. 9361 9362 * process.c: "spawn" opens files in the parent process. 9363 (check_exec_redirect): Add an placeholder for fd in parameters 9364 for fd_open. 9365 (check_exec_fds_1): Delete fd_open condition. 9366 (check_exec_fds): Don't call check_exec_fds_1 with fd_open. 9367 (rb_execarg_parent_start): Open files specified as "spawn" options 9368 and add "dup2" options. 9369 (rb_execarg_parent_end): New function to close opened fds. 9370 (run_exec_open): Removed. 9371 (rb_execarg_run_options): Don't call run_exec_open. 9372 (rb_spawn_internal): Call rb_execarg_parent_end. 9373 9374 * io.c (pipe_open): Call rb_execarg_parent_end. 9375 9376 * ext/pty/pty.c (establishShell): Call rb_execarg_parent_end. 9377 9378Thu Apr 9 20:52:31 2015 Tanaka Akira <akr@fsij.org> 9379 9380 * internal.h (rb_execarg_parent_start): Renamed from rb_execarg_fixup. 9381 9382 * process.c: Follows the above change. 9383 9384 * io.c: Ditto. 9385 9386 * ext/pty/pty.c: Ditto. 9387 9388Thu Apr 9 20:35:12 2015 Tanaka Akira <akr@fsij.org> 9389 9390 * process.c (fd_clear_cloexec): Extracted from run_exec_dup2. 9391 9392Thu Apr 9 09:26:47 2015 Eric Wong <e@80x24.org> 9393 9394 * ccan/list/list.h: sync with ccan upstream 9395 [ccan commit c2fbfe5282ba264f3485586e7efa8a5967f2d386] 9396 9397Thu Apr 9 08:24:03 2015 Masahiro Tomita <tommy@tmtm.org> 9398 9399 * ext/socket/raddrinfo.c (addrinfo_mload): fix memory leak of 9400 addrinfo. [ruby-dev:48923] [Bug #11051] 9401 9402Wed Apr 8 17:45:02 2015 Shannon Skipper <shannonskipper@gmail.com> 9403 9404 * version.c (Init_version): the version of the engine or 9405 interpreter. [Fix GH-858] 9406 9407Wed Apr 8 16:15:30 2015 Kenta Murata <mrkn@cookpad.com> 9408 9409 * bigdecimal: conform to ruby's license. [ruby-core:68466] [Bug #10952] 9410 9411Wed Apr 8 14:57:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> 9412 9413 * win32/win32.c (rb_w32_wreadlink): should treat junctions like as 9414 symlinks. 9415 9416Wed Apr 8 14:03:47 2015 Koichi Sasada <ko1@atdot.net> 9417 9418 * test/ruby/test_symbol.rb: fix syntax error. 9419 9420Wed Apr 8 13:01:06 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9421 9422 * hash.c (rb_any_hash): Symbols are compared by the identities 9423 always. [ruby-core:68767] [Bug #11035] 9424 9425Tue Apr 7 10:22:51 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9426 9427 * internal.h: fix typo. Patch by @sferik [fix GH-865] 9428 9429Mon Apr 6 22:52:35 2015 Tanaka Akira <akr@fsij.org> 9430 9431 * enum.c: Enumerable#chunk and Enumerable#slice_before no longer takes 9432 the initial_state argument. [Feature #10958] 9433 9434Mon Apr 6 16:09:58 2015 Koichi Sasada <ko1@atdot.net> 9435 9436 * vm_args.c: protect value stack from calling other methods 9437 during complex parameter setting process (splat, kw, and so on). 9438 [Bug #11027] 9439 9440 * vm_core.h: remove rb_thread_t::mark_stack_len. 9441 With this modification, we don't need to use th->mark_stack_len. 9442 9443 * test/ruby/test_keyword.rb: add a test. 9444 9445 * cont.c (cont_capture): catch up this fix. 9446 9447 * vm.c (rb_thread_mark): ditto. 9448 9449Mon Apr 6 11:26:42 2015 NARUSE, Yui <naruse@ruby-lang.org> 9450 9451 * tool/downloader.rb (http_options): prevent content auto decoding 9452 because this is a downloader. 9453 9454Sun Apr 5 09:55:18 2015 NAKAMURA Usaku <usa@ruby-lang.org> 9455 9456 * doc/contributing.rdoc: update Maintainers list. 9457 9458Sun Apr 5 09:11:00 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9459 9460 * tool/rbinstall.rb: fix bin script permission of bundled gems. 9461 9462Sun Apr 5 08:46:08 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9463 9464 * tool/rbinstall.rb: support --program-suffix option. 9465 9466Sat Apr 4 21:31:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9467 9468 * lib/rake/*: Gemify rake [fix GH-862][Feature #11025] 9469 * test/rake/*: ditto. 9470 * tool/rbinstall.rb: ditto. 9471 9472Sat Apr 4 11:30:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9473 9474 * string.c (rb_str_setbyte): check the argument first not to 9475 discard shared string and code range unnecessarily until 9476 actually changing the contents. pointed out by headius. 9477 9478Sat Apr 4 08:16:43 2015 NARUSE, Yui <naruse@ruby-lang.org> 9479 9480 * lib/net/http.rb (edit_path): use path which is absolute ftp url 9481 on using ftp_proxy. 9482 9483Fri Apr 3 11:43:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9484 9485 * vm_eval.c (vm_call0_cfunc): update invoker arguments. 9486 9487 * vm_insnhelper.c (vm_call_cfunc_latter): ditto. 9488 9489 * vm_insnhelper.c (rb_vm_call_cfunc_push_frame): ditto, and prefix 9490 with rb_. 9491 9492Thu Apr 2 16:26:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9493 9494 * common.mk, tool/mkconfig.rb: check the running ruby version in 9495 rbconfig.rb with the program version, as RUBY_VERSION has never 9496 been affected by --with-ruby-version option. 9497 [ruby-core:68639] [Bug #11002] 9498 9499 * configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be 9500 valid version numbers, not an arbitrary string. 9501 9502Wed Apr 1 11:09:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9503 9504 * dir.c (push_glob): remove indirect links of arguments for 9505 trampoline. 9506 9507Wed Apr 1 09:59:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9508 9509 * lib/fileutils.rb (FileUtils#mv): show the exact target path in 9510 the error message instead of the destination parent directory 9511 name. patched by Joao Britto <jabcalves AT gmail.com> at 9512 [ruby-core:68706]. [Bug #11021] 9513 9514Tue Mar 31 15:25:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9515 9516 * doc/ChangeLog-0.06_to_0.52: added archived Changelog. 9517 [ruby-list:50105] 9518 * doc/ChangeLog-0.50_to_0.60: ditto. 9519 * doc/ChangeLog-0.60_to_1.1: ditto. 9520 9521Mon Mar 30 22:02:55 2015 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 9522 9523 * README.EXT.ja: add redirect [ruby-core:68631] 9524 9525Mon Mar 30 14:42:41 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9526 9527 * win32/win32.c (fileattr_to_unixmode, winnt_lstat): deal with 9528 symbolic link than directory, and set executable bits. 9529 9530Mon Mar 30 11:27:54 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9531 9532 * io.c (copy_stream_body): use the arguments without conversion if 9533 having read, readpartial, and write methods, than conversion by 9534 to_path method. [ruby-core:68676] [Bug #11015] 9535 9536Sun Mar 29 21:08:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9537 9538 * gc.c (objspace_allrefs_destruct_i): fix a typo. 9539 [Bug #11013] 9540 9541Sun Mar 29 11:51:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9542 9543 * proc.c (proc_binding): replicate env from method object, and 9544 allocate the local variable area for the iseq local table. 9545 [ruby-core:68673] [Bug #11012] 9546 9547Sat Mar 28 09:19:41 2015 NARUSE, Yui <naruse@ruby-lang.org> 9548 9549 * ext/date/extconf.rb: try_cflags("-std=iso9899:1999") [Bug #10906] 9550 ruby itself (including numeric.c) is built with strict compile 9551 options including -std=iso9899:1999, but ext/date is not. 9552 By the way -std=iso9899:1999 is not only a warning option but also 9553 changes behavior like MACRO definitions for example INFINITY. 9554 gcc on Solaris affect this. 9555 9556Fri Mar 27 16:34:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9557 9558 * common.mk: revert using BOOTSTRAPRUBY for enc.mk, as 9559 enc/depend uses CONFIG. [ruby-core:68647] [Bug #11004] 9560 9561Thu Mar 26 10:05:13 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9562 9563 * test/test_observer.rb: add tests for Observable module. 9564 [fix GH-859] Patch by @brightbits 9565 9566Thu Mar 26 06:35:10 2015 Eric Wong <e@80x24.org> 9567 9568 * README.EXT: add redirect [ruby-core:68631] 9569 9570Wed Mar 25 16:46:49 2015 NARUSE, Yui <naruse@ruby-lang.org> 9571 9572 * ext/socket/extconf.rb: Solaris 11 has struct tcp_info.tcpi_ca_state, 9573 but it is a dummy. 9574 9575 * ext/socket/option.c: Solaris 11 doesn't have u_intN_t. 9576 9577 * ext/socket/option.c: Solaris 11 needs inspect_tcpi_msec. 9578 9579 * ext/socket/raddrinfo.c: Solaris 11 has AF_PACKET but doesn't have 9580 related macros. 9581 9582Wed Mar 25 17:03:08 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9583 9584 * ext/-test-/file/fs.c (get_fsname): try magic number only if 9585 f_type is included. [ruby-dev:48913] [Bug #11000] 9586 9587Wed Mar 25 11:20:40 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9588 9589 * benchmark/bm_hash_aref_flo.rb: make more realistic data. 9590 [ruby-core:68632] [[Bug #10999] 9591 9592Wed Mar 25 10:39:06 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9593 9594 * .document: removed needless entries. 9595 9596Wed Mar 25 08:07:28 2015 Eric Wong <e@80x24.org> 9597 9598 * doc/extension.rdoc: fix spelling of filename 9599 * doc/extension.ja.rdoc: ditto. 9600 9601Tue Mar 25 06:55:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 9602 9603 * complex.c (k_inexact_p, k_exact_zero_p): use k_exact_zero_p macro 9604 to remove k_inexact_p macro. 9605 9606 * complex.c (k_exact_one_p): remove unused macro k_exact_one_p. 9607 9608Tue Mar 24 22:23:33 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9609 9610 * doc/extension.rdoc: move from toplevel document and added extname. 9611 * doc/extension.ja.rdoc: ditto. 9612 9613Tue Mar 24 22:06:58 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9614 9615 * doc/standard_library.rdoc: strip. 9616 9617Tue Mar 24 22:06:27 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9618 9619 * doc/standard_library.rdoc: move Thread to Extensions. 9620 9621Tue Mar 24 21:59:10 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9622 9623 * doc/contributing.rdoc: update Maintainers list. 9624 9625Tue Mar 24 19:10:24 2015 Koichi Sasada <ko1@atdot.net> 9626 9627 * gc.c (gc_writebarrier_generational): fix messages for rb_bug(). 9628 Remove `rb_' prefix. 9629 9630 * gc.c (gc_writebarrier_incremental): ditto. 9631 9632Tue Mar 24 17:34:01 2015 Shugo Maeda <shugo@ruby-lang.org> 9633 9634 * README.ja.md: should be chunibyo. 9635 9636Tue Mar 24 17:30:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9637 9638 * ext/-test-/file/fs.c (get_fsname): return filesystem name by 9639 statfs/statvfs. [ruby-core:68624] [Bug #10998] 9640 9641Tue Mar 24 16:46:02 2015 NAKAMURA Usaku <usa@ruby-lang.org> 9642 9643 * tool/redmine-backporter.rb: now doesn't required spaces just after 9644 `!`. 9645 9646Mon Mar 23 23:18:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9647 9648 * dir.c (dir_close): don't raise on double close for consistent to 9649 IO#close. [Feature #10950] 9650 9651Mon Mar 23 21:22:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9652 9653 * win32/file.c (rb_readlink): move from file.c for better buffer 9654 allocation and the result encoding. 9655 9656 * win32/win32.c (wreadlink, rb_w32_ureadlink): implement readlink(). 9657 9658Mon Mar 23 14:40:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9659 9660 * win32/win32.c (winnt_stat): stat with following symbolic links. 9661 9662 * win32/win32.c (winnt_lstat): rename old winnt_stat, which does 9663 not follow symbolic links. 9664 9665Mon Mar 23 01:44:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9666 9667 * marshal.c (r_symreal): register symbol names as strings first so 9668 that r_symlink always returns valid names. 9669 [ruby-core:68587] [Bug #10991] 9670 9671 * marshal.c (r_ivar, r_object0): now need to intern symbol names. 9672 9673 * marshal.c (r_object0): compare with symbol names. 9674 9675Sun Mar 22 22:07:40 2015 Kouhei Sutou <kou@cozmixng.org> 9676 9677 * doc/etc.rd.ja: Fix wrong coding for Emacs. 9678 9679Sun Mar 22 09:53:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9680 9681 * tool/make-snapshot (package): add default CONFIGURE name to 9682 follow r50039. 9683 9684 * tool/make-snapshot (package): substitute configuration variables 9685 in Makefile.in instead of passing by the command line, and make 9686 temporary Makefile instead of a pipe. 9687 9688Sun Mar 22 08:09:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9689 9690 * common.mk (ext/ripper/ripper.c, ext/rbconfig/sizeof/sizes.c): 9691 strip autogenerated dependencies which have invalid syntax in 9692 other than nmake. 9693 9694Sat Mar 21 15:01:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9695 9696 * ext/io/console/console.c (console_set_winsize): use handle for 9697 writing. GetConsoleScreenBufferInfo seems failing on a handle 9698 for reading. 9699 9700 * io.c: [DOC] update the example of IO#winsize to use $stdout 9701 instead of $stdin, which does not work on Windows. a patch by 9702 Jan Lelis <mail AT janlelis.de> at [ruby-core:68574]. 9703 [Bug #10986] 9704 9705Fri Mar 20 18:41:03 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9706 9707 * proc.c (respond_to_missing_p): check if the receiver responds to 9708 the given method by respond_to_missing?. 9709 9710 * proc.c (mnew_missing): create Method object for method_missing. 9711 [ruby-core:68564] [Bug #10985] 9712 9713Fri Mar 20 17:43:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9714 9715 * .travis.yml: enabled email notification. 9716 9717Fri Mar 20 17:39:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9718 9719 * .travis.yml: removed Ruby 1.9.3 build on Travis CI 9720 9721Fri Mar 20 12:38:36 2015 Koichi Sasada <ko1@atdot.net> 9722 9723 * gc.c (obj_info): obj_info() can receive internal objects. 9724 9725 * gc.c (check_rvalue_consistency): obj_info() returns const char *. 9726 9727Fri Mar 20 12:14:37 2015 Koichi Sasada <ko1@atdot.net> 9728 9729 * gc.c (obj_info): show class name and T_DATA type_name. 9730 9731Thu Mar 19 22:12:46 2015 Koichi Sasada <ko1@atdot.net> 9732 9733 * gc.c (rb_copy_wb_protected_attribute): `dest' can be WB unprotected. 9734 9735Thu Mar 19 21:25:25 2015 Koichi Sasada <ko1@atdot.net> 9736 9737 * gc.c (rb_copy_wb_protected_attribute): demote `dest' object. 9738 9739Thu Mar 19 16:18:00 2015 Koichi Sasada <ko1@atdot.net> 9740 9741 * gc.c, internal.h: export rb_gc_verify_internal_consistency(). 9742 9743Thu Mar 19 16:15:24 2015 Koichi Sasada <ko1@atdot.net> 9744 9745 * gc.c (obj_info): show allocation site if GC_DEBUG is not 0. 9746 9747Thu Mar 19 16:12:01 2015 Koichi Sasada <ko1@atdot.net> 9748 9749 * gc.c (newobj_of): fix RGENGC_OLD_NEWOBJ_CHECK logics. 9750 * skip on incremental marking because not sure what happen :p 9751 * rb_gc_writebarrier_remember() is enough to mark children. 9752 9753Thu Mar 19 16:08:42 2015 Koichi Sasada <ko1@atdot.net> 9754 9755 * gc.c (rb_copy_wb_protected_attribute): need demote for old objects. 9756 9757Thu Mar 19 10:31:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9758 9759 * random.c (fill_random_bytes): release the handle in the static 9760 variable, not a local variable. 9761 9762Thu Mar 19 06:30:35 2015 Koichi Sasada <ko1@atdot.net> 9763 9764 * object.c (rb_obj_clone): do not touch age (FL_PROMOTED[01]) because 9765 rb_obj_alloc() can return old object in debug. 9766 9767Thu Mar 19 06:29:28 2015 Koichi Sasada <ko1@atdot.net> 9768 9769 * test/objspace/test_objspace.rb: flag name was changed 9770 (long_lived -> uncollectible). 9771 9772Thu Mar 19 05:30:13 2015 Koichi Sasada <ko1@atdot.net> 9773 9774 * iseq.c (iseq_mark): skip some marking if iseq->orig is available. 9775 9776 * iseq.c (rb_iseq_clone): need WB for iseq1->klass = iseq0->klass 9777 (done in MEMCPY). 9778 9779Thu Mar 19 04:55:53 2015 Koichi Sasada <ko1@atdot.net> 9780 9781 * internal.h (IMEMO_DEBUG): added. 9782 9783 * internal.h: remove unused FL_IMEMO_MARK_V[0-3]. 9784 9785 * gc.c (rb_imemo_new_debug): added. 9786 9787 * gc.c (obj_info): show imemo type name. 9788 9789Thu Mar 19 04:52:26 2015 Koichi Sasada <ko1@atdot.net> 9790 9791 * gc.c (RGENGC_OLD_NEWOBJ_CHECK): add check mechanism. 9792 9793 If RGENGC_OLD_NEWOBJ_CHECK > 0, then create old objects 9794 (not new objects) periodically. 9795 9796 Create one old objects per RGENGC_OLD_NEWOBJ_CHECK objects are 9797 created. 9798 9799Thu Mar 19 04:46:36 2015 Koichi Sasada <ko1@atdot.net> 9800 9801 * enum.c (enum_sort_by): add WBs. 9802 9803Thu Mar 19 03:37:52 2015 Koichi Sasada <ko1@atdot.net> 9804 9805 * gc.c (check_rvalue_consistency): refactoring. 9806 * not inline on RGENGC_CHECK_MODE > 0. 9807 * check SPECIAL_CONST_P(obj) first. 9808 * add a check that remembered_bit is only TRUE when old (age == 3). 9809 9810 * gc.c (RVALUE_DEMOTE): should clear RVALUE_REMEMBERED bit. 9811 9812 remembered_bit should be TRUE only for old (age == 3) objects. 9813 9814 Actually there are no effect because demoted objects will be 9815 uncollectible WB unprotected objects (marked at the beginning of 9816 every minor GC). 9817 9818Thu Mar 19 02:52:48 2015 Koichi Sasada <ko1@atdot.net> 9819 9820 * gc.c: rename terminologies. 9821 * long_lived -> uncollectible: 9822 because this bitmap does not mean "long lived objects in past", 9823 but means "prohibit collection these objects until next major GC". 9824 9825 Uncollectible objects consist of two types objects, one is old 9826 objects (WB protected objects which age == 3) and another is 9827 uncollectible WB unprotected objects which are referred from old 9828 objects 9829 9830 * remembered_wb_unprotected_objects -> 9831 uncollectible_wb_unprotected_objects: 9832 because uncollectible objects does not mean remembered objects. 9833 9834Wed Mar 18 17:21:12 2015 Koichi Sasada <ko1@atdot.net> 9835 9836 * gc.c (gc_writebarrier_generational): add an alternative write 9837 barrier (WB) implementation. 9838 When finding reference from [Old obj] to [New obj] by WB, current 9839 implementation marks [Old obj] as remembered old objects and marks 9840 children of [Old obj] at the beginning of marking. 9841 9842 Added (but disabled) code changes current behaviour. This fix promote 9843 [New obj] to old and marks as a remembered old object. We can assume 9844 "new objects referred from old objects are maybe long-lived old 9845 objects". 9846 9847 Disadvantage of added algorithm is we may promote unwilling 9848 short-lived objects. For example, consider many new objects push and 9849 pop to an old stack object. All of new objects (short-lived objects) 9850 promote to old objects unexpectedly. 9851 9852 To compare these behaviour, I add this new code (but disabled it). 9853 9854Wed Mar 18 17:14:39 2015 Koichi Sasada <ko1@atdot.net> 9855 9856 * gc.c (RVALUE_PROMOTE_RAW): rename to RVALUE_OLD_LONG_LIVED_SET() 9857 to make clear. 9858 9859Wed Mar 18 17:10:01 2015 Koichi Sasada <ko1@atdot.net> 9860 9861 * gc.c (check_rvalue_consistency): do not need to check is_sweeping(). 9862 9863Wed Mar 18 14:13:22 2015 Koichi Sasada <ko1@atdot.net> 9864 9865 * benchmark/bm_vm1_gc_wb_ary.rb: run GC to finish "marking" phase. 9866 9867 * benchmark/bm_vm1_gc_wb_obj.rb: ditto. 9868 9869 * benchmark/bm_vm1_gc_wb_ary_promoted.rb: add parameter 9870 full_mark: false to invoke only minor GC. 9871 9872 * benchmark/bm_vm1_gc_wb_obj_promoted.rb: ditto. 9873 9874Wed Mar 18 12:07:36 2015 Koichi Sasada <ko1@atdot.net> 9875 9876 * string.c: add a comment about RSTRING_FSTR. 9877 9878Wed Mar 18 12:01:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9879 9880 * hash.c (rb_any_hash): use same hash values with Float#hash so 9881 that -0.0 and +0.0 will be identical. 9882 [ruby-core:68541] [Bug #10979] 9883 9884Wed Mar 18 05:34:32 2015 Koichi Sasada <ko1@atdot.net> 9885 9886 * string.c: introduce STR_FAKESTR to show string is FAKESTR or not. 9887 9888 * string.c (STR_SET_SHARED): ignore FAKESTR because only Ruby objects 9889 can use write barrier. 9890 9891Tue Mar 17 18:59:16 2015 Koichi Sasada <ko1@atdot.net> 9892 9893 * include/ruby/ruby.h: use rb_gc_writebrrier() simply. 9894 For incremental GC, we need to get a pointer to the objspace. 9895 We can share this pointer for the following WB process. 9896 And considering icache hit ratio, process in the GC. 9897 9898 * gc.c (rb_gc_writebarrier): added. 9899 9900 * gc.c (gc_writebarrier_generational, gc_writebarrier_incremental): 9901 make them NOINLINE because inlining them into rb_gc_writebarrier() 9902 makes a prologue code of rb_gc_writebarrier() longer (storing callee 9903 save registers). 9904 9905 This patch improve the performance of WB on micro-benchmarks. 9906 9907 name ruby 2.1 trunk modified 9908 vm1_gc_wb_ary* 0.511 0.632 0.532 9909 vm1_gc_wb_ary_promoted* 0.578 0.701 0.674 9910 vm1_gc_wb_obj* 0.419 0.575 0.492 9911 vm1_gc_wb_obj_promoted* 0.537 0.664 0.618 9912 (sec) 9913 9914Tue Mar 17 18:51:43 2015 Koichi Sasada <ko1@atdot.net> 9915 9916 * benchmark/bm_vm1_gc_wb_ary(_promoted).rb: separate fastpath and 9917 slowpath for WB. 9918 9919 Before this change bm_vm1_gc_wb_ary.rb tried to check the performance 9920 for WB slowpath (making a reference from oldobj to newobj). However, 9921 from Ruby 2.2, 3 GCs are needed to promote new objects because 9922 only 3 age objects are promoted objects. 9923 9924 To compare fastpath and slowpath, introduce new "promoted" version 9925 benchmark. 9926 9927 bm_vm1_gc_wb_ary.rb is for fastpath and 9928 bm_vm1_gc_wb_ary_promoted.rb is for slowpath. 9929 9930 * benchmark/bm_vm1_gc_wb_obj(_promoted).rb: ditto. 9931 9932Tue Mar 17 17:23:11 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9933 9934 * dir.c (glob_helper): distinguish not-yet-stated and DT_UNKNOWN 9935 by readdir, and traverse recursively for the former. Linux 9936 readdir returns DT_UNKNOWN on some filesystems, e.g., smbfs, 9937 iso9660. 9938 9939Mon Mar 16 17:43:21 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 9940 9941 * lib/webrick/server.rb: Fix regression bug in WEBrick's 9942 :DoNotReverseLookup config option implementation. 9943 [fix GH-731] Patch by @vais 9944 * test/webrick/test_do_not_reverse_lookup.rb: ditto. 9945 9946Sat Mar 14 20:05:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 9947 9948 * math.c (math_gamma): optimization for passed small integer. 9949 9950Sat Mar 14 18:07:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 9951 9952 * enum.c: [DOC] Fixes Enumerable#member? documentation 9953 [fix GH-756][ci skip] Patch by @shamanime 9954 9955Sat Mar 14 12:23:53 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9956 9957 * dir.c (glob_helper): use d_type to reduce lstat system calls. 9958 9959 * win32/dir.h (struct direct): add d_type instead of d_isdir and 9960 d_isrep. SYMLINKD is unreliable, since the target can be 9961 replaced after a link was created. 9962 9963 * win32/win32.c (readdir_internal): set d_type. 9964 9965Sat Mar 14 02:14:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9966 9967 * parse.y (primary): empty parentheses at cmdarg can be null. 9968 [ruby-core:68477] [Bug #10957] 9969 9970Fri Mar 13 15:04:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9971 9972 * ext/stringio/stringio.c (strio_close): don't raise on double 9973 close for consistent to IO#close. 9974 9975Fri Mar 13 15:03:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9976 9977 * io.c (rb_io_close_read, rb_io_close_write): don't raise after 9978 close same as IO#close. 9979 9980Fri Mar 13 12:29:07 2015 Tanaka Akira <akr@fsij.org> 9981 9982 * test/readline/test_readline.rb: Restore environment variables: 9983 COLUMNS LINES 9984 9985Fri Mar 13 11:37:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 9986 9987 * ext/fiddle/extconf.rb: needs --enable-shared when linked to 9988 libruby or fiddle.so. since --with-static-linked-ext does no 9989 longer link extensions to ruby program with --enable-shared, the 9990 only combination needs --enable-static is --disable-shared and 9991 --with-static-linked-ext. [ruby-dev:48901] [Bug #10960] 9992 9993Fri Mar 13 07:02:20 2015 Eric Wong <e@80x24.org> 9994 9995 * ext/socket/init.c (rsock_s_accept_nonblock): use rb_hash_lookup2 9996 * ext/openssl/ossl_ssl.c (get_no_exception): new function 9997 (ossl_ssl_accept_nonblock): use get_no_exception 9998 (ossl_ssl_read_internal): ditto 9999 (ossl_ssl_write_nonblock): ditto 10000 [ruby-core:68511] 10001 10002Fri Mar 13 07:01:38 2015 Eric Wong <e@80x24.org> 10003 10004 * ext/openssl/ossl_ssl.c: predefine wait_*able symbols 10005 10006Thu Mar 12 22:59:53 2015 Tanaka Akira <akr@fsij.org> 10007 10008 * test/lib/leakchecker.rb: Check environment variables. 10009 10010Thu Mar 12 05:54:27 2015 Eric Wong <e@80x24.org> 10011 10012 * ext/socket/init.c (rsock_s_accept_nonblock): 10013 support exception: false 10014 [ruby-core:66385] [Feature #10532] 10015 * ext/socket/init.c (rsock_init_socket_init): define new symbols 10016 * ext/socket/rubysocket.h: adjust prototype 10017 * ext/socket/socket.c (sock_accept_nonblock): support exception: false 10018 * ext/openssl/ossl_ssl.c (ossl_ssl_accept_nonblock): ditto 10019 * ext/socket/socket.c (Init_socket): adjust accept_nonblock definition 10020 * ext/openssl/ossl_ssl.c (Init_ossl_ssl): ditto 10021 * ext/socket/tcpserver.c (rsock_init_tcpserver): ditto 10022 * ext/socket/unixserver.c (rsock_init_unixserver): ditto 10023 * ext/socket/tcpserver.c (tcp_accept_nonblock): adjust 10024 rsock_s_accept_nonblock call 10025 * ext/socket/unixserver.c (unix_accept_nonblock): ditto 10026 * ext/openssl/ossl_ssl.c (ossl_start_ssl): support no_exception 10027 * ext/openssl/ossl_ssl.c (ossl_ssl_connect): adjust ossl_start_ssl call 10028 * ext/openssl/ossl_ssl.c (ossl_ssl_connect_nonblock): ditto 10029 * ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto 10030 * test/socket/test_nonblock.rb (test_accept_nonblock): test for 10031 "exception :false" 10032 * test/socket/test_tcp.rb (test_accept_nonblock): new test 10033 * test/socket/test_unix.rb (test_accept_nonblock): ditto 10034 * test/openssl/test_pair.rb (test_accept_nonblock_no_exception): ditto 10035 10036Thu Mar 12 10:53:06 2015 Koichi Sasada <ko1@atdot.net> 10037 10038 * internal.h, node.h: move a definition of `struct rb_global_entry' 10039 and related functions from node.h to internal.h. 10040 10041 * variable.c: remove unused include pragma. 10042 10043 * common.mk: remove unused dependency. 10044 10045Thu Mar 12 10:32:39 2015 Koichi Sasada <ko1@atdot.net> 10046 10047 * common.mk: remove unused dependency. 10048 10049Thu Mar 12 08:20:14 2015 Koichi Sasada <ko1@atdot.net> 10050 10051 * load.c: removed unused header file "node.h". 10052 10053 * method.h: ditto. 10054 10055 * symbol.c: ditto. 10056 10057Thu Mar 12 08:14:48 2015 Koichi Sasada <ko1@atdot.net> 10058 10059 * gc.c: RGENGC_CHECK_MODE should be 0. 10060 10061Thu Mar 12 07:44:17 2015 Koichi Sasada <ko1@atdot.net> 10062 10063 * internal.h: use T_IMEMO to represent `struct MEMO' value. 10064 memo->v1 and memo->v2 is WB protected values. 10065 So use MEMO_V1/V2_SET() macros to set these values. 10066 memo->u3 is ambiguous (sometimes a VALUE, sometimes an integer 10067 value), so use gc_mark_maybe() in gc.c to mark it. 10068 10069 Rename NEW_MEMO() to MEMO_NEW(). 10070 10071 Move MEMO_FOR and NEW_MEMO_FOR macros from node.h. 10072 10073 Export a rb_imemo_new() function for ext/ripper. 10074 10075 * node.h: remove NODE_MEMO. 10076 10077 * enum.c: catch up these change. 10078 10079 * enumerator.c: ditto. 10080 10081 * load.c: ditto. 10082 10083 * ext/objspace/objspace.c (count_nodes): ditto. 10084 10085 * gc.c (gc_mark_children): mark imemo_memo type. 10086 10087 * parse.y (new_args_gen): use T_IMEMO. 10088 (I'm not sure it is working correctly...) 10089 10090Wed Mar 11 22:36:34 2015 Koichi Sasada <ko1@atdot.net> 10091 10092 * eval.c (frame_called_id): it should use vm_ifunc type. 10093 10094 * eval.c (frame_func_id): ditto. 10095 10096Wed Mar 11 22:27:05 2015 Koichi Sasada <ko1@atdot.net> 10097 10098 * node.h: remove NODE_IFUNC, NEW_IFUNC. 10099 10100 * internal.h: use T_IMEMO for IFUNC. 10101 10102 rename `struct IFUNC' to `struct vm_ifunc' and move the definition 10103 from vm_insnhelper.h. Add imemo_ifunc. 10104 10105 * gc.c (gc_mark_children): mark imemo_ifunc type T_IMEMO object. 10106 10107 * compile.c: catch up these changes. 10108 10109 * proc.c: ditto. 10110 10111 * vm_core.h (RUBY_VM_IFUNC_P): ditto. 10112 10113 * vm_eval.c (rb_iterate): ditto. 10114 10115 * vm_insnhelper.c: ditto. 10116 10117 * ext/objspace/objspace.c: ditto. 10118 10119Wed Mar 11 21:53:43 2015 Koichi Sasada <ko1@atdot.net> 10120 10121 * internal.h, eval_intern.h: move CREF accessors. 10122 10123 List IMEMO supported types in internal.h. 10124 10125Wed Mar 11 21:45:36 2015 Koichi Sasada <ko1@atdot.net> 10126 10127 * vm_insnhelper.h: use T_IMEMO to create THROW_DATA. 10128 10129 Add THROW_DATA_NEW(). 10130 10131 * internal.h: move definition of `struct THROW_DATA' 10132 from vm_insnhelper.h to internal.h. 10133 10134 Rename `THROW_DATA' to `vm_throw_data'. 10135 10136 * eval_intern.h (THROW_DATA_P): move to internal.h. 10137 THROW_DATA is no longer T_NODE, so check T_IMEMO. 10138 10139 * gc.c (gc_mark_children): mark THROW_DATA. 10140 10141 * vm.c: catch up these changes. 10142 10143 * vm_eval.c: ditto. 10144 10145 * vm_insnhelper.c: ditto. 10146 10147Wed Mar 11 21:21:56 2015 Koichi Sasada <ko1@atdot.net> 10148 10149 * vm_insnhelper.c: use T_IMEMO to create SVAR. 10150 10151 * internal.h, vm_insnhelper.h: move definition `struct SVAR' 10152 from vm_insnhelper.h to internal.h. And rename it to struct vm_svar. 10153 10154 new imemo_type imemo_svar is added. 10155 10156 * gc.c (gc_mark_children): mark imemo_svar. 10157 10158 * node.c (rb_gc_mark_node): remove useless marking. 10159 10160Wed Mar 11 19:35:46 2015 Koichi Sasada <ko1@atdot.net> 10161 10162 * include/ruby/ruby.h: introduce new type T_IMEMO. 10163 T_IMEMO is Internal Memo type, internal use only. 10164 T_IMEMO has same purpose of NODE_MEMO. 10165 10166 To insert T_IMEMO, type numbers are modified a little. 10167 10168 * internal.h: define struct RIMemo. Each RIMemo objects 10169 has imemo_type. We can observe it by the imemo_type() function. 10170 10171 * gc.c (rb_imemo_new): added. 10172 10173 * node.h: remove NODE_CREF and NEW_CREF(). 10174 10175 * node.c (rb_gc_mark_node): ditto. 10176 10177 * vm.c (vm_cref_new): use rb_imem_new(). 10178 10179 * vm_eval.c: ditto. 10180 10181 * vm_insnhelper.c: use RIMemo objects for CREF. 10182 10183 * ext/objspace/objspace.c: support T_IMEMO. 10184 10185Wed Mar 11 17:03:20 2015 Koichi Sasada <ko1@atdot.net> 10186 10187 * gc.c: fix memory leak by prepend method. 10188 10189 It is easy to reproduce with such script: 10190 10191 module M; def bar; end; end 10192 loop{ 10193 Class.new do 10194 def foo; end 10195 prepend M 10196 end 10197 } 10198 10199 * gc.c (obj_free): free T_ICLASS::m_tbl if it is created by prepend. 10200 To recognize it, check RICLASS_IS_ORIGIN flag. 10201 10202 * gc.c (gc_mark_children): T_ICLASS objects only need to mark 10203 T_ICLASS::m_tbl if RICLASS_IS_ORIGIN is set. 10204 10205 * gc.c (obj_memsize_of): count T_ICLASS if RICLASS_IS_ORIGIN is set. 10206 10207 * internal.h (RCLASS_SET_ORIGIN): add to set RCLASS_SET_ORIGIN. 10208 10209 TODO: The word `origin' seems not good name. We need to invent 10210 another good name. 10211 10212 * class.c: use RCLASS_SET_ORIGIN(). 10213 10214 * class.c (class_alloc): zero clear rb_classext_t. 10215 10216Wed Mar 11 13:28:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10217 10218 * configure.in: check also procstat_getvmmap, which is not 10219 available on FreeBSD 9. [ruby-core:68468] [Bug #10954] 10220 10221 * vm_dump.c (procstat_vm): use kinfo_getvmmap instead if 10222 procstat_getvmmap is not available. 10223 10224Wed Mar 11 09:15:21 2015 Koichi Sasada <ko1@atdot.net> 10225 10226 * internal.h: define struct MEMO. 10227 10228 * enum.c: use MEMO. 10229 10230 * enumerator.c: ditto. 10231 10232 * load.c: ditto. 10233 10234 * node.h: return (struct MEMO *) pointer. 10235 10236Wed Mar 11 06:26:21 2015 Koichi Sasada <ko1@atdot.net> 10237 10238 * vm_insnhelper.h (THROW_DATA_STATE): return int, not VALUE. 10239 10240 * vm_insnhelper.h (THROW_DATA_STATE_SET): accept int value. 10241 10242Wed Mar 11 05:06:46 2015 Koichi Sasada <ko1@atdot.net> 10243 10244 * vm_eval.c (rb_catch_protect): use THROW_DATA_VAL(). 10245 10246Wed Mar 11 04:56:04 2015 Koichi Sasada <ko1@atdot.net> 10247 10248 * vm_insnhelper.h: define struct IFUNC. 10249 10250 * vm_eval.c (rb_iterate): use it. 10251 10252 * vm_insnhelper.c (vm_yield_with_cfunc): ditto. 10253 10254Wed Mar 11 03:52:12 2015 Koichi Sasada <ko1@atdot.net> 10255 10256 * eval_intern.h (THROW_DATA_P): use RB_TYPE_P() instead of 10257 BUILTIN_TYPE(). 10258 10259 * thread.c (thread_join): use THROW_DATA_P(). 10260 10261Wed Mar 11 03:48:01 2015 Koichi Sasada <ko1@atdot.net> 10262 10263 * proc.c: use RUBY_VM_IFUNC_P() to recognize IFUNC or not. 10264 10265 * vm.c: ditto. 10266 10267 * vm_dump.c: ditto. 10268 10269 * vm_insnhelper.c: ditto. 10270 10271 * vm_core.h (RUBY_VM_IFUNC_P): use RB_TYPE_P() instead of 10272 BUILTIN_TYPE(). 10273 10274Wed Mar 11 03:21:37 2015 Koichi Sasada <ko1@atdot.net> 10275 10276 * vm_insnhelper.h: define struct THROW_DATA to represent 10277 throwing data. Also define accessor functions. 10278 10279 * eval_intern.h: move related changes into vm_insnhelper.h. 10280 Now these MACROs (functions) are only used in vm*.c. 10281 10282 There is only THROW_DATA_P(err) to check this data type or not. 10283 10284 * vm.c: catch up these changes. 10285 10286 * vm_eval.c: ditto. 10287 10288 * vm_insnhelper.c: ditto. 10289 10290Wed Mar 11 00:57:00 2015 Rei Odaira <Rei.Odaira@gmail.com> 10291 10292 * test/rubygems/test_gem_security_trust_dir.rb: The return value of 10293 File::Stat#mode is OS dependent. In AIX, 0200000 is set. 10294 10295Tue Mar 10 20:03:41 2015 Tanaka Akira <akr@fsij.org> 10296 10297 * lib/webrick/server.rb: Invoke setup_shutdown_pipe in start method 10298 instead of listen method. 10299 [ruby-core:68476] [Bug #10956] Reported by Shintaro Kojima. 10300 10301Tue Mar 10 17:27:27 2015 Koichi Sasada <ko1@atdot.net> 10302 10303 * thread.c (thread_join): Fixnum (except TAG_FATAL) and 10304 NODE should not be reached here. 10305 10306Mon Mar 9 21:42:10 2015 Koichi Sasada <ko1@atdot.net> 10307 10308 * vm_insnhelper.c (ep_cref): rename to lep_cref() because it should be 10309 local ep. 10310 10311Mon Mar 9 16:34:36 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10312 10313 * ext/stringio/stringio.c (strio_close): don't raise on double 10314 close for consistent to IO#close. 10315 10316Mon Mar 09 06:44:48 2015 Koichi Sasada <ko1@atdot.net> 10317 10318 * vm_insnhelper.h: define struct SVAR for SVAR. 10319 This data type is also same layout of NODE (NODE_IF). 10320 10321 * vm_insnhelper.c: catch up this change. 10322 10323Mon Mar 9 06:43:21 2015 Koichi Sasada <ko1@atdot.net> 10324 10325 * vm_insnhelper.c (lep_svar_set): add WBs. 10326 10327Mon Mar 9 06:19:06 2015 Koichi Sasada <ko1@atdot.net> 10328 10329 * internal.h: define rb_cref_t and change to use it. 10330 10331 rb_cref_t is data type of CREF. Now, the body is still NODE. 10332 It is easy to understand what is CREF and what is pure NODE. 10333 10334Mon Mar 9 06:00:37 2015 Koichi Sasada <ko1@atdot.net> 10335 10336 * vm_insnhelper.h (COPY_CREF_OMOD): fix translation miss. 10337 10338Mon Mar 9 04:47:58 2015 Koichi Sasada <ko1@atdot.net> 10339 10340 * internal.h: define CREF accessor macros. 10341 * CREF_CLASS(cref) 10342 * CREF_NEXT(cref) 10343 * CREF_VISI(cref) 10344 * CREF_VISI_SET(cref, v) 10345 * CREF_REFINEMENTS(cref) 10346 * CREF_PUSHED_BY_EVAL(cref) 10347 * CREF_PUSHED_BY_EVAL_SET(cref) 10348 * CREF_OMOD_SHARED(cref) 10349 * CREF_OMOD_SHARED_SET(cref) 10350 * CREF_OMOD_SHARED_UNSET(cref) 10351 10352 This is process to change CREF data type from NODE. 10353 10354Sun Mar 8 22:50:57 2015 Tanaka Akira <akr@fsij.org> 10355 10356 * ext/zlib/zlib.c (rb_gzfile_close): Don't raise on double 10357 close for consistent to IO#close. 10358 10359Sun Mar 8 16:57:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10360 10361 * dir.c (glob_helper): match patterns against legacy short names 10362 too, not only ordinary names. [ruby-core:67954] [Bug #10819] 10363 10364 * win32/dir.h (struct direct): add short name members. 10365 10366 * win32/win32.c (opendir_internal, readdir_internal): ditto. 10367 10368Sat Mar 7 09:36:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10369 10370 * array.c: document that first element is kept when using 10371 Array#uniq and #uniq! [fix GH-845][ci skip] 10372 Patch by @riffraff 10373 10374Sat Mar 7 09:28:02 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10375 10376 * thread.c: Mutex#owned? is no longer experimental since 2.1.0 10377 [fix GH-839][ci skip] Patch by @takiy33 10378 10379Sat Mar 7 09:18:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10380 10381 * tool/merger.rb: Added documentation to version method. 10382 [fix GH-847][ci skip] Patch by @magikid 10383 10384Fri Mar 6 22:50:36 2015 Koichi Sasada <ko1@atdot.net> 10385 10386 * class.c (rb_prepend_module): need a WB for klass -> origin. 10387 10388Fri Mar 6 20:18:38 2015 Koichi Sasada <ko1@atdot.net> 10389 10390 * fix namespace issue on singleton class expressions. [Bug #10943] 10391 10392 * vm_core.h, method.h: remove rb_iseq_t::cref_stack. CREF is stored 10393 to rb_method_definition_t::body.iseq_body.cref. 10394 10395 * vm_insnhelper.c: modify SVAR usage. 10396 When calling ISEQ type method, push CREF information onto method 10397 frame, SVAR located place. Before this fix, SVAR is simply nil. 10398 After this patch, CREF (or NULL == Qfalse for not iseq methods) 10399 is stored at the method invocation. 10400 10401 When SVAR is required, then put NODE_IF onto SVAR location, 10402 and NDOE_IF::nd_reserved points CREF itself. 10403 10404 * vm.c (vm_cref_new, vm_cref_dump, vm_cref_new_toplevel): added. 10405 10406 * vm_insnhelper.c (vm_push_frame): accept CREF. 10407 10408 * method.h, vm_method.c (rb_add_method_iseq): added. This function 10409 accepts iseq and CREF. 10410 10411 * class.c (clone_method): use rb_add_method_iseq(). 10412 10413 * gc.c (mark_method_entry): mark method_entry::body.iseq_body.cref. 10414 10415 * iseq.c: remove CREF related codes. 10416 10417 * insns.def (getinlinecache/setinlinecache): CREF should be cache key 10418 because a different CREF has a different namespace. 10419 10420 * node.c (rb_gc_mark_node): mark NODE_IF::nd_reserved for SVAR. 10421 10422 * proc.c: catch up changes. 10423 10424 * struct.c: ditto. 10425 10426 * insns.def: ditto. 10427 10428 * vm_args.c (raise_argument_error): ditto. 10429 10430 * vm_eval.c: ditto. 10431 10432 * test/ruby/test_class.rb: add a test. 10433 10434Fri Mar 6 18:19:13 2015 Koichi Sasada <ko1@atdot.net> 10435 10436 * test/webrick/test_filehandler.rb: on vboxsf (on VirtualBox 10437 on Windows 7), file name and permissions are strange (can access 10438 by short file name and so on). 10439 10440 Simply skip on such tests on such FS. To detect strange FS, this 10441 patch use a part of code `File.executable?(__FILE__)`. 10442 Please correct them if there are better ways. 10443 10444Fri Mar 6 17:31:29 2015 Koichi Sasada <ko1@atdot.net> 10445 10446 * test/ruby/test_beginendblock.rb: do not change directory. 10447 10448 Run system command in the directory mounted by vboxsf on Windows 7 10449 and get warning like that "warning: Insecure world writable dir...". 10450 10451Fri Mar 6 10:31:00 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10452 10453 * vm_eval.c (vm_call_super): search next super class from the 10454 original class, to get rid of infinite recursion with 10455 prepending. a patch by Seiei Higa <hanachin AT gmail.com> at 10456 [ruby-core:68434]. [ruby-core:68093] [Bug #10847] 10457 10458Fri Mar 6 08:45:26 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 10459 10460 * lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens. 10461 [Fixes GH-802] 10462 10463Fri Mar 6 07:33:03 2015 Koichi Sasada <ko1@atdot.net> 10464 10465 * gc.c (obj_info): show node name too. 10466 10467Fri Mar 6 07:00:44 2015 Koichi Sasada <ko1@atdot.net> 10468 10469 * internal.h: remove struct method_table_wrapper. 10470 struct method_table_wrapper was introduced to avoid duplicate marking 10471 for method tables. 10472 10473 For example, `module M1; def foo; end; end` make one method table 10474 (mtbl) contains a method `foo`. M1 (T_MODULE) points mtbl. 10475 Classes C1 and C2 includes M1, then two T_ICLASS objects are created 10476 and they points mtbl too. In this case, three objects (one T_MODULE 10477 and two T_ICLASS objects) points same mtbl. On marking phase, these 10478 three objects mark same mtbl. To avoid such duplication, struct 10479 method_table_wrapper was introduced. 10480 10481 However, created two T_ICLASS objects have same or shorter lifetime 10482 than M1 (T_MODULE) object. So that we only need to mark mtbl from M1, 10483 not from T_ICLASS objects. This patch tries marking only from M1. 10484 In other words, original module (M1) has responsibility to mark mtbl. 10485 Because of no duplicate marking, we don't need method_table_wrapper 10486 any more. 10487 10488 Note that one `Module#prepend` call creates two T_ICLASS objects. 10489 One for referring to a prepending Module object, same as 10490 `Module#include`. We don't need to care this T_ICLASS. 10491 One for moving original mtbl from a prepending class. We need to 10492 mark such mtbl from this T_ICLASS object. To mark the mtbl, 10493 we need to use `RCLASS_ORIGIN(klass)` on marking from a prepended 10494 class `klass`. 10495 10496 * class.c: ditto. 10497 10498 * eval.c (rb_using_refinement): ditto. 10499 10500 * gc.c: ditto. 10501 10502 * include/ruby/ruby.h: define m_tbl directly. The definition of 10503 struct RClass should be moved to (srcdir)/internal.h. 10504 10505 * method.h: remove decl of rb_free_m_tbl_wrapper(). 10506 10507 * object.c: use RCLASS_M_TBL() directly. 10508 10509Fri Mar 6 02:50:12 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10510 10511 * dir.c (replace_real_basename): need to check the return value of 10512 GLOB_REALLOC(). 10513 10514Fri Mar 6 02:26:03 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10515 10516 * dir.c (replace_real_basename): shouldn't create Ruby object before 10517 the object system is loaded. 10518 [ruby-core:68430] [Bug #10941] 10519 10520Wed Mar 5 16:58:43 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 10521 10522 * hash.c: [DOC] #delete method actually returns nil, if the key 10523 is not found. [fix GH-844][ci skip] Patch by @ivdma 10524 10525Wed Mar 5 12:22:23 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 10526 10527 * math.c: refactoring: remove unnecessary variable d0 to unify code 10528 appearance. 10529 10530Thu Mar 5 11:50:54 2015 Shugo Maeda <shugo@ruby-lang.org> 10531 10532 * vm_eval.c (eval_string_with_cref): A binding should keep 10533 refinements activation information and the refinements should be 10534 activated in subsequent eval calls with the binding. 10535 [ruby-core:67945] [Bug #10818] 10536 10537Thu Mar 5 11:16:55 2015 Shugo Maeda <shugo@ruby-lang.org> 10538 10539 * test/ruby/test_refinement.rb: There is no need anymore to suppress 10540 warnings. 10541 10542Thu Mar 5 08:31:02 2015 Rei Odaira <Rei.Odaira@gmail.com> 10543 10544 * random.c (random_raw_seed): Avoid calling fill_random_bytes() 10545 if the requested size is 0. AIX returns -1 for 0-byte read from 10546 /dev/urandom, while other UNIX returns 0. With this change, 10547 Random.raw_seed(0) consistently returns "" in any UNIX. 10548 10549Wed Mar 4 12:43:32 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 10550 10551 * test/ruby/test_math.rb (assert_float_and_int): Refactor test cases 10552 by introducing assert_float_and_int. [misc #10810] 10553 10554Wed Mar 4 11:52:30 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10555 10556 * symbol.c (Init_sym): make dsym_fstrs a hash compared by identity 10557 as the keys are unique fstrings, to get rid of running hash and 10558 compare methods and causing new object allocation during garbage 10559 collection phase. [ruby-dev:48891] [Bug #10933] 10560 10561Wed Mar 4 10:16:57 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10562 10563 * enum.c: Fix typo in slice_after's exception message. 10564 [fix GH-842][ci skip] Patch by @jsyeo 10565 10566Wed Mar 4 10:15:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10567 10568 * doc/syntax/methods.rdoc: add some missing spaces and 10569 fix a grammatical error in method docs. 10570 [fix GH-843][ci skip] Patch by @nikolas 10571 10572Wed Mar 4 02:13:06 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10573 10574 * tool/redmine-backporter.rb (backport_command_string): pick up only 10575 when the revision exists in trunk. 10576 10577Wed Mar 4 00:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10578 10579 * thread.c (rb_thread_io_blocking_region): assigned variables 10580 inside EXEC_TAG() should be volatile. 10581 10582 * thread.c (rb_thread_s_handle_interrupt): ditto. 10583 10584 * thread.c (exec_recursive): ditto. 10585 10586Wed Mar 4 00:29:18 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10587 10588 * tool/redmine-backporter.rb: now can specify shorten form of commands. 10589 10590Tue Mar 3 23:41:42 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10591 10592 * tool/redmine-backporter.rb (Readline.readline): drop untreated control 10593 characters. 10594 10595Tue Mar 3 22:25:24 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10596 10597 * test/lib/envutil.rb (EnvUtil.invoke_ruby): need to rescue because 10598 Signal.signame may raise exception. 10599 10600Tue Mar 3 16:57:39 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10601 10602 * tool/redmine-backporter.rb: use 'b' instead of 's' for showing 10603 Backport options for merger.rb. 10604 10605Tue Mar 3 16:55:23 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10606 10607 * tool/redmine-backporter.rb: show selected ticket number at prompt. 10608 10609Tue Mar 3 14:47:30 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 10610 10611 * math.c (num2dbl_with_to_f): direct casting from Rational to double. 10612 [Feature #10909] 10613 10614 * test/ruby/test_math.rb: add tests for the above change. 10615 10616Tue Mar 3 07:52:20 2015 Rei Odaira <Rei.Odaira@gmail.com> 10617 10618 * test/ruby/test_symbol.rb: avoid a false positive in AIX. 10619 10620Tue Mar 3 00:59:39 2015 Naohisa Goto <ngotogenome@gmail.com> 10621 10622 * configure.in: set PRELOADENV in Solaris to avoid "wrong ELF class" 10623 error. [Bug #10926] [ruby-dev:48888] 10624 * configure.in: set LIBPATHENV for 32-bit compile in Solaris 10625 in addition to 64-bit. 10626 10627Mon Mar 2 15:36:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10628 10629 * configure.in: do not check _setjmp unless _longjmp is available, 10630 so that configure results will not be changed by cache. 10631 10632Mon Mar 2 14:44:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10633 10634 * configure.in (RUBY_REPLACE_TYPE): restore unsigned type from 10635 cached variable only if the target type is not available. 10636 10637Mon Mar 2 13:04:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10638 10639 * signal.c (sig_signame): return nil if the argument is a valid 10640 signal number. 10641 10642Mon Mar 2 12:05:04 2015 Naohisa Goto <ngotogenome@gmail.com> 10643 10644 * test/net/ftp/test_ftp.rb (create_ftp_server): set SO_OOBINLINE 10645 for receiving OOB data which is sent with MSG_OOB flag in 10646 portable way. [Bug #10915] [ruby-dev:48885] 10647 * test/net/ftp/test_ftp.rb (test_abort, test_status): use gets 10648 for receiving OOB data in portable way. 10649 10650Mon Mar 2 11:43:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10651 10652 * configure.in (RUBY_REPLACE_TYPE): restore unsigned type from 10653 cached variable. 10654 10655Mon Mar 2 06:01:41 2015 Eric Wong <e@80x24.org> 10656 10657 * ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX 10658 Thanks to Yura Sokolov <funny.falcon@gmail.com> 10659 [ruby-core:68369] [Bug#10923] 10660 * test/io/wait/test_io_wait.rb (test_nread_buffered): 10661 fix broken test 10662 10663Sun Mar 1 20:21:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10664 10665 * configure.in (RUBY_REPLACE_TYPE): restore convertible type from 10666 cached variable, so that configured results will be stable. 10667 10668Sun Mar 1 18:10:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10669 10670 * configure.in (rb_cv_broken_memmem): check before adding the 10671 result HAVE_MEMMEM macro to confdefs.h, so that configured 10672 results will be stable. 10673 10674Sun Mar 1 11:17:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10675 10676 * gc.c (id2ref): prohibit from accessing internal objects. 10677 [ruby-core:68348] [Bug #10918] 10678 10679Sun Mar 1 09:06:11 2015 Tanaka Akira <akr@fsij.org> 10680 10681 * lib/time.rb (strptime): Support %s.%N. 10682 [ruby-core:68301] [Bug #10904] Patch by Sadayuki Furuhashi. 10683 10684Sat Feb 28 17:18:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10685 10686 * enum.c (enum_each_slice, enum_each_cons): limit elements size by 10687 the enumerator size. suggested by Hans Mackowiak <hanmac AT 10688 gmx.de> at [ruby-core:68335] 10689 10690Sat Feb 28 15:44:20 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10691 10692 * vm_dump.c (rb_vm_bugreport): get rid of making new strings 10693 inside signal context. 10694 10695 * variable.c (rb_tmp_class_path): defer making temporary class 10696 path string. 10697 10698 * variable.c (rb_search_class_path): search class path or return 10699 Qnil or Qfalse if unnamed, not creating a temporary path. 10700 10701Sat Feb 28 15:02:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10702 10703 * variable.c (rb_tmp_class_path): preserve name encoding of an 10704 anonymous instance of module/class subclass. 10705 10706Sat Feb 28 08:24:30 2015 Rei Odaira <Rei.Odaira@gmail.com> 10707 10708 * ext/pty/pty.c: AIX supports autopush. 10709 Patch by Perry Smith [ruby-core:58539] [Bug #9144] 10710 10711Fri Feb 27 22:00:05 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10712 10713 * lib/rubygems: Update to RubyGems 2.4.6 and HEAD(800f2e6). 10714 Fixed #1159, #1171, #1173 on rubygems/rubygems 10715 * test/rubygems: ditto. 10716 10717Fri Feb 27 20:55:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10718 10719 * lib/rake: Update to rake (9237e74), typo fix and remove needless 10720 private syntax. 10721 * test/rake: ditto. 10722 10723Fri Feb 27 17:06:44 2015 Koichi Sasada <ko1@atdot.net> 10724 10725 * vm_core.h: define vm_svar_index. 10726 10727 * vm_insnhelper.c, vm.c, compile.c: use vm_svar_index names. 10728 10729 * iseq.h: remove DEFAULT_SPECIAL_VAR_COUNT. 10730 use VM_SVAR_FLIPFLOP_START instead. 10731 10732Fri Feb 27 13:57:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10733 10734 * io.c (setup_narg): wipe away expanded part of buffer to get rid 10735 of revealing uncleaned data. reported by Dongkwan Kim <dkay AT 10736 kaist.ac.kr>. 10737 10738Wed Feb 25 22:25:07 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10739 10740 * spec/default.mspec: use default configuration file name. 10741 https://github.com/ruby/rubyspec/commit/cc69f337b06362e5607ffa3e3ad40ef7494960cf 10742 10743Wed Feb 25 22:21:56 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10744 10745 * spec/default.mspec: remove specific version number. 10746 https://github.com/ruby/rubyspec/commit/7a909e925c1baa9c700bd44af9241aef6e596714 10747 10748Wed Feb 25 22:04:04 2015 NAKAMURA Usaku <usa@ruby-lang.org> 10749 10750 * ext/win32/Win32API.rb (initialize): accept both a string and an array 10751 for the arguments of the imported function. 10752 reported by Aaron Stone [ruby-core:68208] [Bug #10876] [Fixes GH-835] 10753 10754Wed Feb 25 18:12:11 2015 Eric Wong <e@80x24.org> 10755 10756 * signal.c (sighandler): preserve errno 10757 Patch by Steven Stewart-Gallus <sstewartgallus00@mylangara.bc.ca> 10758 [ruby-core:68172] [Bug #10866] 10759 10760Wed Feb 25 15:59:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10761 10762 * dir.c (push_pattern, push_glob): make globbed file names same 10763 encoding to the given pattern. 10764 10765Wed Feb 25 15:27:16 2015 NARUSE, Yui <naruse@ruby-lang.org> 10766 10767 * tool/merger.rb: support 2.1+ versioning scheme. 10768 10769Tue Feb 25 08:49:12 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 10770 10771 * lib/cmath.rb (log): raise ArgumentError when more than 2 arguments 10772 are passed. [ruby-core:66143] [Bug #10487] 10773 10774Tue Feb 25 02:15:17 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 10775 10776 * test/ruby/test_math.rb: Use assert_infinity instead of assert_equal(1.0/0, ...). 10777 10778 * test/ruby/test_math.rb: Add tests for overriding Integer#to_f. 10779 [ruby-core:67919] [Misc #10809] 10780 10781Tue Feb 24 22:58:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10782 10783 * complex.c (nucomp_mul): calculate as rotation in complex plane 10784 if matrix calculation resulted in NaN. 10785 10786Tue Feb 24 21:45:39 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 10787 10788 * test/ruby/test_math.rb(test_cbrt): Add an assertion for Math.cbrt(1.0/0) 10789 and move #test_cbrt to more proper place. 10790 10791Tue Feb 24 19:09:25 2015 Koichi Sasada <ko1@atdot.net> 10792 10793 * vm_insnhelper.c (lep_svar_place, lep_svar_get): do not create 10794 additional T_NODE object (svars holder) when only getting 10795 svars. 10796 10797Tue Feb 24 11:49:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10798 10799 * time.c (time_zone_name): should be US-ASCII only if all 7-bits, 10800 otherwise locale encoding. [ruby-core:68230] [Bug #10887] 10801 10802Tue Feb 24 09:47:07 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10803 10804 * string.c (chompped_length): enable smart chomp for all non-dummy 10805 encoding strings, not only default_rs. 10806 [ruby-core:68258] [Bug #10893] 10807 10808Mon Feb 23 23:19:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10809 10810 * tool/vcs.rb (IO.popen): support :chdir option. 10811 10812 * tool/vcs.rb (VCS::GIT.get_revisions): use :chdir option instead 10813 of -C option which is not supported by older git. 10814 [ruby-dev:48880] [Bug #10890] 10815 10816Mon Feb 23 15:26:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10817 10818 * string.c (rb_str_split_m): raise ArgumentError at broken string 10819 not RegexpError, as Regexp is not involved in. 10820 [ruby-core:68229] [Bug #10886] 10821 10822Mon Feb 23 07:25:29 2015 Benoit Daloze <eregontp@gmail.com> 10823 10824 * time.c: Zone encoding should be US-ASCII if all 7-bits. Fix r46907. 10825 10826 * test/ruby/test_time.rb, test/ruby/test_time_tz.rb: Update tests. 10827 10828Sun Feb 22 18:33:42 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10829 10830 * common.mk: use ruby organization for rubyspec. 10831 10832Sun Feb 22 15:56:06 2015 Kazuki Tsujimoto <kazuki@callcc.net> 10833 10834 * vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements 10835 of original crefs. It fixes segmentation fault when calling 10836 refined method in duplicate module. [ruby-dev:48878] [Bug #10885] 10837 10838 * vm_core.h, class.c: change accordingly. 10839 10840 * test/ruby/test_refinement.rb: add a test for above. 10841 10842Sun Feb 22 10:43:37 2015 Koichi Sasada <ko1@atdot.net> 10843 10844 * gc.c (rb_objspace_call_finalizer): control GC execution during 10845 force firnalizations at the end of interpreter process. 10846 [Bug #10768] 10847 10848 1) Prohibit incremental GC while running Ruby-level finalizers 10849 to avoid any danger. 10850 2) Prohibit GC while invoking T_DATA/T_FILE data structure 10851 because these operations break object relations consistency. 10852 10853 This patch can introduce another memory consuming issue because 10854 Ruby-level finalizers can run after (2), GC is disabled. 10855 However, basically object consistency was broken at (2) as I 10856 described above. So that running Ruby-level finalizers contains 10857 danger originally. Because of this point, I need to suggest to 10858 remove these 3 lines (invoking remaining finalizers). And add a 10859 rule to add that finalizers should not add new finalizers, or 10860 say there is no guarantee to invoke finalizers that added by 10861 another finalizer. 10862 10863Sun Feb 22 04:07:05 2015 Zachary Scott <e@zzak.io> 10864 10865 * ext/openssl/ossl_asn1.c: [DOC] RDoc formatting fixes for 10866 ASN1::ObjectId with patch from @vbatts [Fixes GH-834] 10867 10868 * ext/openssl/ossl_bn.c: ditto. 10869 10870Sat Feb 21 19:51:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10871 10872 * re.c (match_aref): RMatch::regexp is Qnil after matching by a 10873 string since r45451. [ruby-core:68209] [Bug #10877] 10874 10875Sat Feb 21 16:18:42 2015 Stefan Schuler <mail@stefanschuessler.de> 10876 10877 * compar.c (Init_Comparable): [DOC] Replace camelcase variable name. 10878 [Fix GH-833] 10879 10880Fri Feb 20 17:27:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10881 10882 * file.c (rb_file_identical_p): fix handle leak, ensure to close 10883 the handle of the first argument. 10884 10885Fri Feb 20 17:19:23 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10886 10887 * win32/win32.c (different_device_p): compare by volume serial 10888 numbers, not by path names. [ruby-core:68162] [Bug #10865] 10889 10890Thu Feb 19 01:58:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10891 10892 * win32/file.c (rb_file_expand_path_internal): neither the drive 10893 of base directory nor the current drive are involved in the 10894 result if different than the drive of path. 10895 [ruby-core:68130] [Bug #10858] 10896 10897Wed Feb 18 10:48:56 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10898 10899 * win32/win32.c (wrename): return EXDEV if moving a directory to 10900 another drive, since MoveFileExW does not set proper error code. 10901 [ruby-core:68162] [Bug #10865] 10902 10903Wed Feb 18 03:13:52 2015 Aaron Patterson <aaron@tenderlovemaking.com> 10904 10905 * ext/psych/lib/psych.rb: bump psych version. 10906 * ext/psych/psych.gemspec: ditto 10907 * ext/psych/yaml/scanner.c: add latest libyaml change. 10908 * test/psych/helper.rb: support newer minitest 10909 * test/psych/test_to_yaml_properties.rb: ditto 10910 10911Tue Feb 17 11:47:17 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10912 10913 * lib/resolv.rb (Resolv::DNS::Resource#==, #hash): elements 10914 returned by Kernel#instance_variables are Symbols now. 10915 [ruby-core:68128] [Bug #10857] 10916 10917Tue Feb 17 10:59:10 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10918 10919 * doc/syntax/calling_methods.rdoc: Fix documentation for "calling_methods" 10920 Patch by @sos4nt [fix GH-830][ci skip] 10921 10922Tue Feb 17 10:53:29 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10923 10924 * win32/file.c (rb_file_expand_path_internal): do not make invalid 10925 (or ADS) path if the path has a drive letter, the result also 10926 should have be under it. [ruby-core:68130] [Bug #10858] 10927 10928Tue Feb 17 10:47:20 2015 Iain Beeston <iain.beeston@gmail.com> 10929 10930 * hash.c: Added docs to explain that #include? and #member? do not 10931 check member equality 10932 * lib/set.rb: ditto 10933 10934Mon Feb 16 20:58:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10935 10936 * compile.c (compile_massign): optimization for special case, 10937 assignments by aset or attrset. 10938 http://kokizzu.blogspot.jp/2015/02/c-java-hhvm-ruby-nodejsrhinojscspidermo.html 10939 http://www.atdot.net/~ko1/diary/201502.html#d16 10940 10941Sun Feb 15 10:41:23 2015 Sho Hashimoto <sho-h@ruby-lang.org> 10942 10943 * doc/standard_library.rdoc: [DOC] delete removed libraries. 10944 [misc #10843] [ci skip] 10945 10946Sat Feb 14 12:20:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10947 10948 * random.c (rand_random_number): add a method to return a random 10949 number like SecureRandom to Random::Formatter. 10950 10951 * lib/securerandom.rb (random_bytes): move to Random::Formatter, 10952 the base method of the module. 10953 10954Sat Feb 14 12:01:32 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 10955 10956 * random.c (random_raw_seed): extract platform dependent random 10957 seed initialization function as a new method Random.raw_seed. 10958 10959 * lib/securerandom.rb (SecureRandom): use Random.raw_seed. 10960 10961Sat Feb 14 00:49:37 2015 Aaron Patterson <aaron@tenderlovemaking.com> 10962 10963 * ext/coverage/coverage.c: Add Coverage.peek_result. Allows you to 10964 capture coverage information without stopping the coverage tool. 10965 [ruby-core:67940] [Feature #10816] 10966 10967 * test/coverage/test_coverage.rb: test for change. 10968 10969Fri Feb 13 21:52:05 2015 Yusuke Endoh <mame@tsg.ne.jp> 10970 10971 * string.c (str_discard): does not free for STR_NOFREE string. 10972 [Bug #10853][ruby-core:68110] 10973 10974 * bootstraptest/test_string.rb: test for above. 10975 10976Fri Feb 13 21:16:00 2015 Yusuke Endoh <mame@tsg.ne.jp> 10977 10978 * lib/base64.rb: make urlsafe mode user-friendly. 10979 10980 * lib/base64.rb (Base64.urlsafe_encode64): a new option "padding" to 10981 suppress the padding character ("="). 10982 10983 * lib/base64.rb (Base64.urlsafe_decode64): now it accepts not only 10984 correctly-padded input but also unpadded input. 10985 [Feature #10740][ruby-core:67570] 10986 10987 * test/base64/test_base64.rb: Test for above 10988 10989Fri Feb 13 14:19:06 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 10990 10991 * ext/json: merge upstream from flori/json 10992 change usage of TypedData. [Feature #10739][ruby-core:67564] 10993 10994Thu Feb 12 18:34:01 2015 multisnow <infinity.blick.winkel@gmail.com> 10995 10996 * ext/openssl/extconf.rb: check RAND_edg to support libressl. 10997 10998 * ext/openssl/ossl_rand.c (ossl_rand_egd): define only if RAND_edg 10999 is available. [Fix GH-829] 11000 11001Thu Feb 12 10:46:14 2015 Eric Hodel <drbrain@segment7.net> 11002 11003 * proc.c (proc_call): Improve Proc#call documentation. Patch by 11004 Hsing-Hui Hsu. [fix GH-761] 11005 11006Thu Feb 12 04:33:02 2015 Benoit Daloze <eregontp@gmail.com> 11007 11008 * compar.c (cmp_equal): no more error hiding for Comparable#==. 11009 It now behaves as other Comparable methods. See #7688. 11010 11011 * test/ruby/test_comparable.rb: update related test. 11012 11013Thu Feb 12 03:28:05 2015 Eric Wong <e@80x24.org> 11014 11015 * lib/set.rb (initialize): internal hash defaults to false 11016 11017 * lib/set.rb (include?): use Hash#[] for optimized dispatch. 11018 Patch by Ismael Abreu <ismaelga@gmail.com> 11019 [ruby-core:67664] [Misc #10754] 11020 11021Wed Feb 11 11:09:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11022 11023 * ext/digest/digest_conf.rb (digest_conf): check for CommonDigest. 11024 11025 * ext/digest/*/*cc.h: for Apple CommonCrypto/CommonDigest.h. 11026 11027 * ext/digest/digest.h (DEFINE_FINISH_FUNC_FROM_FINAL): macro for 11028 finish functions, by inverting arguments order. 11029 11030 * ext/digest/digest_conf.rb (digest_conf): extract common 11031 configurations. 11032 11033Wed Feb 11 11:01:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11034 11035 * ext/json/generator/generator.c (generate_json): get rid of 11036 unnecessary recursive calls which can cause infinite recursion. 11037 T_STRING may not have rb_cString. 11038 11039Wed Feb 11 07:53:35 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> 11040 11041 * test/win32ole/test_word.rb: use skip method to skip test. 11042 11043Tue Feb 10 11:38:28 2015 Shugo Maeda <shugo@ruby-lang.org> 11044 11045 * vm_insnhelper.c (vm_call_method): stop method search when a method 11046 is not found in a refinement, to support undef in refinements. 11047 [ruby-core:66741] [Bug #10578] 11048 11049Tue Feb 10 11:19:11 2015 Shugo Maeda <shugo@ruby-lang.org> 11050 11051 * lib/net/ftp.rb (chdir, delete, gettextfile, mdtm, mkdir, nlst, 11052 putbinaryfile, puttextfile, rename, rmdir, size): support 11053 Pathname. Patch by Joe Rafaniello. [fix GH-828] 11054 11055Mon Feb 9 16:36:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11056 11057 * tool/make-snapshot (package): get rid of loading unbundled and 11058 unexpected libraries. [ruby-core:67977] [Bug #10822] 11059 11060Sun Feb 8 20:09:37 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11061 11062 * lib/net/http/header.rb: pass header names as symbols. 11063 Patch by @DamirSvrtan [fix GH-805] 11064 * test/net/http/test_httpheader.rb: added test. 11065 11066Sun Feb 8 13:04:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11067 11068 * ext/socket/getaddrinfo.c (get_addr): reject too long hostname to 11069 get rid of GHOST vulnerability on very old platforms. 11070 11071 * ext/socket/raddrinfo.c (make_hostent_internal): ditto, paranoic 11072 check for the canonical name. 11073 11074Sun Feb 8 12:48:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11075 11076 * ext/win32/lib/win32/registry.rb (Win32::Registry::API): use wide 11077 versions of RegDeleteValue and RegDeleteKey. 11078 [ruby-core:67958] [Bug #10820] 11079 11080Sat Feb 7 22:13:08 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> 11081 11082 * test/win32ole/test_win32ole_record.rb: remove test using .NET 11083 Framework 3.5 because it is not included in Windows 8/8.1. 11084 11085Sat Feb 7 19:25:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11086 11087 * dir.c (has_magic): always get long path name on Windows even if 11088 no tilde is there. [ruby-core:68011] [Bug #10819] 11089 11090 * dir.c (replace_real_basename): FindFirstFile ignore redirection 11091 character, check if exists before call it. cf. [Bug #8597] 11092 11093Sat Feb 7 13:30:11 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> 11094 11095 * test/win32ole/test_win32ole_record.rb 11096 (test_ole_instance_variable_get): correct VT_RECORD type and 11097 instance variables. 11098 11099Fri Feb 6 17:47:05 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11100 11101 * ext/psych/lib/psych/visitors/yaml_tree.rb: register nodes when 11102 dumping objects with custom coders. [ruby-core:66215] [Bug #10496] 11103 11104 * test/psych/test_coder.rb: test for fix 11105 11106Fri Feb 6 16:58:31 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11107 11108 * ext/psych/lib/psych/visitors/to_ruby.rb: fix support for regular 11109 expressions with newlines. tenderlove/psych#222 11110 11111 * test/psych/test_yaml.rb: test for change. 11112 11113Fri Feb 6 10:31:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11114 11115 * vm_core.h (rb_call_info_kw_arg_struct): make keywords a symbols 11116 list to get rid of inadvertent creation by variable keyword 11117 arguments. [ruby-core:68031] [Bug #10831] 11118 11119Thu Feb 5 22:42:34 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11120 11121 * lib/rubygems: Update to RubyGems HEAD(5c3b6f3). 11122 Fixed #1156, #1142, #1115, #1142, #1139 on rubygems/rubygems 11123 * test/rubygems: ditto. 11124 11125Thu Feb 5 13:41:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11126 11127 * vm_eval.c (send_internal), vm_insnhelper.c (vm_call_opt_send): 11128 convert String method name into a Symbol, as method_missing 11129 method expects its first argument to be a Symbol. [Bug #10828] 11130 11131 * vm_insnhelper.c (ci_missing_reason): return the reason of method 11132 missing in call info. 11133 11134 * vm_insnhelper.c (vm_call_opt_send): re-apply r49500 with the 11135 proper missing reason. [Bug #10828] 11136 11137Thu Feb 5 10:31:46 2015 Shugo Maeda <shugo@ruby-lang.org> 11138 11139 * class.c (rb_obj_singleton_methods): should use RTEST() to convert 11140 VALUE to int. 11141 11142Thu Feb 5 03:59:33 2015 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 11143 11144 * vm_insnhelper.c: Fix symbol leak with +send+ [Bug #10828] 11145 11146Wed Feb 4 20:26:54 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> 11147 11148 * ext/win32ole/win32ole.c (Init_win32ole): should not use atexit to 11149 free allocated hash table to avoid error on Cygwin. 11150 11151Wed Feb 4 15:34:25 2015 Shugo Maeda <shugo@ruby-lang.org> 11152 11153 * class.c (method_entry_i, class_instance_method_list, 11154 rb_obj_singleton_methods): should not include methods of 11155 superclasses if recur is false. [ruby-dev:48854] [Bug #10826] 11156 11157Wed Feb 4 16:32:40 2015 Matt Hoyle <matt@deployable.co> 11158 11159 * ext/bigdecimal/bigdecimal.c (VpSetPTR): fix a typo, 'expoennt' 11160 to 'exponent'. [ruby-core:67980] [Bug #10823] [Fix GH-825] 11161 11162Wed Feb 4 15:55:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11163 11164 * ext/sdbm/_sdbm.c: include ruby/ruby.h for PRIdPTRDIFF when a 11165 macro `DEBUG` is defined. based on the patch by Owen Rodley in 11166 [ruby-core:67987]. [Bug #10825] 11167 11168Wed Feb 4 11:12:43 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11169 11170 * Makefile.in (probes.stamp): rebuild dtrace dependent objects 11171 only when `dtrace -G` modifies its input files. 11172 11173Tue Feb 3 19:27:16 2015 Naohisa Goto <ngotogenome@gmail.com> 11174 11175 * common.mk (ruby-glommed.o): dependency on $(OBJ) should be written 11176 in common.mk (in which OBJ is defined) because of Makefile include 11177 and parse order. This partly reverts r49419. 11178 [ruby-dev:48849] [Bug #10808] 11179 11180 * Makefile.in (ruby-glommed.o): ditto. 11181 11182 * Makefile.in (ruby-glommed.o): remove excess $(DTRACE_OBJ) because 11183 it is included in $(OBJS) since r49451. 11184 11185 * Makefile.in (probes.o): should depend on $(DTRACE_DEPENDENT_OBJS) 11186 11187Tue Feb 3 17:15:45 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11188 11189 * lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of 11190 interference by modifying global variables in have_devel? method. 11191 [ruby-core:67962] [Bug #10821] 11192 11193Tue Feb 3 15:23:58 2015 Shugo Maeda <shugo@ruby-lang.org> 11194 11195 * vm_method.c (remove_method): When remove refined 11196 method, raise a NameError if the method is not 11197 defined in refined class. 11198 11199 But if the method is defined in refined class, 11200 it should keep refined method and remove original 11201 method. 11202 11203 Patch by Seiei Higa. [ruby-core:67722] [Bug #10765] 11204 11205Tue Feb 3 14:04:47 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11206 11207 * dir.c (glob_helper): obtain real name with FindFirstFile API 11208 instead of matching all entries, on Windows. 11209 [ruby-core:67954] [Bug #10819] 11210 11211Tue Feb 3 12:26:35 2015 Katsuhiko Nishimra <ktns.87@gmail.com> 11212 11213 * lib/mkmf.rb (configuration): set the default cxxflags, which is 11214 referred from the default CXXFLAGS, for extension libraries. 11215 [Fix GH-823] 11216 11217Tue Feb 3 05:52:00 2015 Aman Gupta <ruby@tmm1.net> 11218 11219 * gc.c (rb_objspace_free): cause rb_bug if lazy sweep is in progress 11220 during rb_objspace_free. Adds extra protection for r46340. 11221 Patch by Vicent Marti. [Bug #10768] [ruby-core:67734] 11222 * gc.c (rb_objspace_call_finalizer): Ensure GC is completed after 11223 finalizers have run. We already call gc_rest() before invoking 11224 finalizers, but finalizer can allocate new objects and start new GC 11225 cycle, so we call gc_rest() again after finalizers are complete. 11226 11227Mon Feb 2 10:51:34 2015 Ari Pollak <ajp@aripollak.com> 11228 11229 * doc/security.rdoc (Symbols): update about Symbol GC. Symbols 11230 explicitly converted from Strings now can be collected, but 11231 reflection/metaprogramming still can cause memory flooding. 11232 [Fix GH-725] 11233 11234Sun Feb 1 13:46:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11235 11236 * tool/rbinstall.rb (bin-comm): drop batch file installation. 11237 Windows 95 support has not been supported already. 11238 [Feature #10806] 11239 11240Sat Jan 31 12:06:23 2015 Scott Francis <scott.francis@shopify.com> 11241 11242 * thread_pthread.c (reserve_stack): fix intermittent SIGBUS on 11243 Linux, by reserving the stack virtual address space at process 11244 start up so that it will not clash with the heap space. 11245 [Fix GH-822] 11246 11247Fri Jan 30 17:28:29 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 11248 11249 * math.c (num2dbl_with_to_f): make faster when Bignum passed by 11250 direct conversion using rb_big2dbl(). [Feature #10800] 11251 11252Thu Jan 29 23:30:00 2015 Kenta Murata <mrkn@mrkn.jp> 11253 11254 * ext/bigdecimal/bigdecimal.c (rb_rational_num): add fallback function 11255 for rubies lower than 2.2.0. 11256 11257 * ext/bigdecimal/bigdecimal.c (rb_rational_den): ditto. 11258 11259 * ext/bigdecimal/extconf.rb: check the existences of struct RRational, 11260 rb_rational_num, and rb_rational_den. 11261 11262 * ext/bigdecimal/bigdecimal.bundle: bump version. 11263 11264Thu Jan 29 20:28:25 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11265 11266 * tool/make-snapshot: removed md5 digest with package information 11267 11268Thu Jan 29 10:41:52 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org> 11269 11270 * math.c (Get_Double): direct casting from Fixnum to double. 11271 [Feature #10785] 11272 11273Thu Jan 29 02:34:27 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11274 11275 * ext/psych/lib/psych/visitors/to_ruby.rb: fix parsing hashes with 11276 instance variables when it is referenced multiple times. 11277 * ext/psych/lib/psych.rb: bump version 11278 * ext/psych/psych.gemspec: bump version 11279 * test/psych/test_hash.rb: test for fix 11280 11281Thu Jan 29 02:06:09 2015 Eric Wong <e@80x24.org> 11282 11283 * thread.c (struct join_arg): restructure and make smaller 11284 (thread_join_sleep): avoid timeofday() call if forever 11285 (thread_join): pass join_arg.delay directly 11286 (rb_thread_inspect_msg): remove, inline into rb_thread_inspect 11287 (rb_thread_inspect): reduce branching and string creation 11288 * thread_pthread.c (native_set_thread_name): create string directly 11289 to avoid reparsing. [Misc #10723] 11290 11291Wed Jan 28 21:32:24 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11292 11293 * thread.c: Improve documentation for Thread#value 11294 [Bug #10694][ruby-core:67324][ci skip] 11295 11296Tue Jan 27 16:04:19 2015 NAKAMURA Usaku <usa@ruby-lang.org> 11297 11298 * tool/redmine-backporter.rb: added `!` command. 11299 11300Tue Jan 27 15:58:23 2015 NAKAMURA Usaku <usa@ruby-lang.org> 11301 11302 * tool/redmine-backporter.rb: added history feature for platforms which 11303 lack readline. 11304 11305Mon Jan 26 22:09:35 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11306 11307 * .gitignore: ignored temporary file with git. 11308 11309Mon Jan 26 18:06:03 2015 Akinori MUSHA <knu@iDaemons.org> 11310 11311 * misc/ruby-electric.el: Import version 2.2.2 from 11312 https://github.com/knu/ruby-electric.el. 11313 11314Mon Jan 26 11:37:49 2015 Dave Stevens <dave@crowdlab.com> 11315 11316 * string.c (str_make_independent_expand): terminate String when 11317 moved from heap to embedded. [Fix GH-821]. 11318 11319Sun Jan 25 12:04:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11320 11321 * array.c (flatten): no need to call to_ary method on elements 11322 beyond the given level. [ruby-core:67637] [Bug #10748] 11323 11324Sun Jan 25 00:42:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11325 11326 * ext/fiddle/win32/libffi.mk.tmpl: assemble without directory prefix. 11327 workaround of a bug of VC12 ml, by unak at [ruby-core:67792]. 11328 [ruby-core:67789] [Bug #10780] 11329 11330Sat Jan 24 19:56:25 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11331 11332 * dln_find.c (dln_find_1): search regular files only. based on 11333 the patch by Alex Coomans in [ruby-core:67766]. [Bug #10776] 11334 11335Fri Jan 23 23:57:05 2015 Misumi Rize <r@ayase-e.li> 11336 11337 * vm_insnhelper.c (vm_throw_start): search the target to break 11338 from a block with nested rescue, from the nested blocks. 11339 [ruby-core:67765] [Bug #10775] [Fix GH-820] 11340 11341Fri Jan 23 20:00:59 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11342 11343 * marshal.c (w_object, marshal_dump): use identity tables for 11344 arbitrary VALUE keys, because of performance of FLONUM. 11345 [Bug #10761] 11346 11347 * marshal.c (obj_alloc_by_klass, marshal_load): ditto. 11348 11349Fri Jan 23 17:12:33 2015 Eric Wong <e@80x24.org> 11350 11351 * benchmark/bm_marshal_dump_flo.rb: new benchmark for [Bug #10761] 11352 11353Thu Jan 22 18:03:19 2015 NAKAMURA Usaku <usa@ruby-lang.org> 11354 11355 * tool/redmine-backporter.rb (find_svn_log): use double quotes instead 11356 of single quotes because cmd.exe doesn't handle them. 11357 11358 * tool/redmine-backporter.rb (done): the 2nd element of matched data 11359 is the offset of the end of matched string, not length. 11360 11361Thu Jan 22 16:45:24 2015 Eric Wong <e@80x24.org> 11362 11363 * st.c (st_numhash): mix float value for flonum 11364 * hash.c (rb_any_hash): ditto 11365 * benchmark/bm_hash_aref_flo.rb: new benchmark 11366 * benchmark/bm_hash_ident_flo.rb: ditto 11367 [Bug #10761] 11368 11369Wed Jan 21 22:33:51 2015 Akinori MUSHA <knu@iDaemons.org> 11370 11371 * misc/ruby-electric.el: Import version 2.2.1 from 11372 https://github.com/knu/ruby-electric.el. Improve compatibility 11373 with and optimize for Emacs 24.4. 11374 11375Wed Jan 21 09:40:52 2015 Zachary Scott <e@zzak.io> 11376 11377 * file.c: Document other cases of missing birthtime on OS with patch 11378 provided by @sho-h similar to GH-817. [ci skip] [DOC] 11379 11380Wed Jan 21 09:09:19 2015 Tanaka Akira <akr@fsij.org> 11381 11382 * NEWS: References to tickets added. 11383 [ruby-core:67701] [Bug #10760] Suggested by Zachary Scott. 11384 11385Tue Jan 20 22:59:54 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11386 11387 * tool/vcs.rb: fix the exception given remote-url of svn. 11388 11389Tue Jan 20 12:58:33 2015 NAKAMURA Usaku <usa@ruby-lang.org> 11390 11391 * tool/redmine-backporter.rb: now can change the page of `ls`. 11392 11393Tue Jan 20 12:28:37 2015 NAKAMURA Usaku <usa@ruby-lang.org> 11394 11395 * tool/redmine-backporter.rb (readline): fallback to normal gets on 11396 Windows because IO.console.getch is not always do as expected. 11397 11398Tue Jan 20 11:31:07 2015 NAKAMURA Usaku <usa@ruby-lang.org> 11399 11400 * tool/redmine-backporter.rb: update usage. 11401 11402Tue Jan 20 11:23:47 2015 NARUSE, Yui <naruse@ruby-lang.org> 11403 11404 * tool/redmine-backporter.rb (mygets): to support Backspace 11405 implement gets by itself. 11406 11407Tue Jan 20 02:54:11 2015 Zachary Scott <e@zzak.io> 11408 11409 * file.c: NotImplementedError is raised if birthtime is unavailable. 11410 Patch by @y-yagi san and [Fixes GH-817] [ci skip] [DOC] 11411 11412 * ext/pathname/pathname.c: ditto. 11413 11414Mon Jan 19 22:08:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11415 11416 * class.c (include_modules_at): allow to prepend each module up to 11417 once for each classe. [EXPERIMENTAL] 11418 11419Sun Jan 18 18:32:20 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11420 11421 * math.c (math_atan2): revive documentation before r49220. 11422 http://d.hatena.ne.jp/nagachika/20150112/ruby_trunk_changes_49213_49226 11423 11424Sun Jan 18 15:57:32 2015 Seiei Higa <hanachin@gmail.com> 11425 11426 * vm_method.c (check_definition): Module#public_method_defined?, 11427 Module#private_method_defined?, Module#protected_method_defined? 11428 should not use refinements. [ruby-core:67656] [Bug #10753] 11429 11430Sun Jan 18 15:50:39 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11431 11432 * vm_dump.c (rb_vm_bugreport): check by configured result instead 11433 of system name for old FreeBSD. based on a patch by Steve Wills 11434 at [ruby-core:67655]. [Bug #10752] 11435 11436Sun Jan 18 12:56:49 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11437 11438 * Makefile.in (VPATH, NEWLINE_C), common.mk (common-srcs): make 11439 and use newline.c under enc/trans directory, not toplevel. no 11440 longer search enc directory implicitly. 11441 11442 * configure.in, enc/Makefile.in (BUILTIN_ENCS, BUILTIN_TRANSES): 11443 prefix respective directory names to builtin encodings and 11444 transcoder source names. 11445 11446Sun Jan 18 11:49:46 2015 Masaki Suketa <masaki.suketa@nifty.ne.jp> 11447 11448 * ext/win32ole/win32ole.c (ole_invoke): avoid SEGV when VT_RECORD 11449 variable is passed by reference. [ruby-dev:48803] [Bug #10697] 11450 11451Sat Jan 17 23:59:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11452 11453 * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): 11454 anchors like `\Z` are not valid inside character class. use 11455 negative-lookahead instead. 11456 Fixes: https://github.com/tenderlove/psych/issues/221 11457 11458Sat Jan 17 23:42:27 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11459 11460 * configure.in: get rid of pattern substitution, which is not 11461 supported by ash, and ash on NetBSD parses whole source first 11462 and fails to start. [ruby-dev:48823] [Bug #10750] 11463 11464Fri Jan 16 18:42:58 2015 NARUSE, Yui <naruse@ruby-lang.org> 11465 11466 * tool/redmine-backporter.rb: support adding related revisions 11467 to issues. 11468 11469Fri Jan 16 17:20:33 2015 Koichi Sasada <ko1@atdot.net> 11470 11471 vm.c, vm_core.h: constify VM_CF_LEP, VM_CF_PREV_EP, VM_CF_BLOCK_PTR 11472 and rb_vm_control_frame_block_ptr. 11473 11474Fri Jan 16 15:41:21 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11475 11476 * ext/psych/lib/psych.rb: bump version 11477 11478 * ext/psych/psych.gemspec: ditto 11479 11480Fri Jan 16 15:37:49 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11481 11482 * ext/psych/lib/psych/visitors/yaml_tree.rb: only dump hash 11483 subclasses. Thanks Joe Eli McIlvain <joe.eli.mac@gmail.com> 11484 11485 * test/psych/test_hash.rb: test for change 11486 11487Fri Jan 16 15:35:21 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11488 11489 * ext/psych/lib/psych.rb: bump version 11490 11491 * ext/psych/lib/psych/visitors/yaml_tree.rb: fix line width wrapping 11492 for long strings. Thanks Jakub Jirutka <jakub@jirutka.cz> 11493 11494 * test/psych/test_string.rb: test for change 11495 11496Fri Jan 16 11:44:44 2015 Kazuki Tsujimoto <kazuki@callcc.net> 11497 11498 * eval_intern.h, vm.c, vm_eval.c, vm_insnhelper.c: 11499 change throw mechanism (not save target ep, but save target cfp). 11500 It fixes `unexpected break' bug that occurs when 11501 TracePoint#binding is called. 11502 [ruby-dev:48797] [Bug #10689] 11503 11504 * test/ruby/test_settracefunc.rb: add a test. 11505 11506Thu Jan 15 23:55:15 2015 Tanaka Akira <akr@fsij.org> 11507 11508 * io.c (rb_io_close_m): Don't raise when the IO object is closed. 11509 [ruby-core:67444] [Feature #10718] 11510 11511Thu Jan 15 21:34:57 2015 Seiei Higa <hanachin@gmail.com> 11512 11513 * proc.c (rb_obj_singleton_method): Kernel#singleton_method should 11514 not use refinements, as well as Kernel#method. 11515 [ruby-core:67603] [Bug #10744] 11516 11517Thu Jan 15 10:45:04 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11518 11519 * array.c (rb_ary_select_bang, ary_reject_bang): linear 11520 performance. [ruby-core:67418] [Feature #10714] 11521 11522Wed Jan 14 18:06:06 2015 Martin Duerst <duerst@it.aoyama.ac.jp> 11523 11524 * lib/uri/mailto.rb: raising URI::InvalidComponentError instead 11525 of failing with undefined method `split' for nil:NilClass for 11526 mailto: URIs without opaque part. [Bug #10738] 11527 * test/uri/testuri.rb: Test for above 11528 11529Wed Jan 14 16:45:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11530 11531 * tool/downloader.rb (RubyGems.download): verify downloaded gem 11532 packages. LowSecurity to allow untrusted certificates now. 11533 11534Wed Jan 14 15:43:48 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11535 11536 * ext/readline/readline.c (readline_s_refresh_line): initialize 11537 before rl_refresh_line(), as some function make the internal 11538 state non-clean but rl_refresh_line() does not re-initialize it. 11539 [ruby-core:43957] [Bug #6232] 11540 11541Tue Jan 13 21:59:24 2015 Michal Papis <mpapis@gmail.com> 11542 11543 * tool/rbinstall.rb (gem): fix changing permissions of installed 11544 bundled gems. [Fix GH-812] 11545 11546Tue Jan 13 21:57:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11547 11548 * common.mk (distclean-local): remove autom4te.cache generated by 11549 autoconf. 11550 11551 * common.mk (realclean-local): remove id sources and dummy header 11552 for dtrace. [ruby-core:67562] [Bug #10737] 11553 11554Tue Jan 13 21:08:22 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11555 11556 * ext/json, test/json: merge JSON HEAD(259dee6) 11557 separate implementation of Typed_Data macro. 11558 https://github.com/flori/json/compare/v1.8.1...v1.8.2 11559 11560Tue Jan 13 14:16:35 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11561 11562 * test/net/http/test_http.rb: get rid of accessing DNS actually 11563 for some servers returning wrong results. 11564 [ruby-core:67454] [Bug #10721] 11565 11566Mon Jan 12 23:21:57 2015 NAKAMURA Usaku <usa@ruby-lang.org> 11567 11568 * gems/bundled_gems: update test-unit to 3.0.9. 11569 11570Mon Jan 12 18:35:44 2015 Eric Wong <e@80x24.org> 11571 11572 * numeric.c (bit_coerce): use original value for error message 11573 [ruby-core:67405] [Bug #10711] 11574 * test/ruby/test_numeric.rb (test_coerce): check error message 11575 11576Mon Jan 12 18:01:24 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11577 11578 * lib/rdoc/text.rb (expand_tabs): get rid of infinite loop with 11579 CR. should check if substitution occurred too. 11580 [ruby-dev:48813] [Bug #10732] 11581 11582Mon Jan 12 16:45:46 2015 Seiei Higa <hanachin@gmail.com> 11583 11584 * vm_method.c (rb_alias): raise a NameError when creating alias to 11585 a refined method if the original method of the refined method is 11586 not defined. [ruby-core:67523] [Bug #10731] 11587 11588Mon Jan 12 13:53:17 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11589 11590 * math.c (math_atan2): improve documentation. 11591 [Feature #10323][ruby-core:65400][ci skip] 11592 11593Mon Jan 12 13:50:49 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11594 11595 * ext/bigdecimal/bigdecimal.c: fixes documentation like labeled lists, 11596 code examples etc. [ruby-core:66730][Bug #10576][ci skip] 11597 11598Mon Jan 12 13:36:44 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11599 11600 * lib/optparse.rb: improvements for OptionParser documentation. 11601 [misc #10608][ruby-core:66901][ci skip] 11602 11603Mon Jan 12 13:33:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11604 11605 * array.c (rb_ary_each): documented return value. 11606 [misc #10469][ruby-core:66063] 11607 11608Sun Jan 11 15:11:38 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11609 11610 * test/webrick/test_utils.rb (test_create_listeners): use 11611 dynamically chosen port number, not hardcoded port number. 11612 [ruby-core:67508] 11613 11614Sat Jan 10 12:57:12 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11615 11616 * ext/zlib/zlib.c: fix document of method signatures. 11617 [Bug #10668][ruby-core:67186][ci skip] 11618 11619Sat Jan 10 12:32:44 2015 NAKAMURA Usaku <usa@ruby-lang.org> 11620 11621 * eval_error.c (error_print): pos and len parameters of rb_str_substr() 11622 are counted by characters, not bytes. use rb_str_subseq() instead. 11623 [Bug #10727] [ruby-core:67473] 11624 11625Sat Jan 10 10:58:55 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11626 11627 * complex.c: removed commented-out code. 11628 11629Sat Jan 10 10:57:19 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11630 11631 * rational.c: removed commented-out code. 11632 [Feature #10376][ruby-core:65643] 11633 11634Sat Jan 10 10:12:15 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11635 11636 * array.c (rb_ary_select_bang): keep the array consistent by 11637 removing unselected values soon. [ruby-dev:48805] [Bug #10722] 11638 11639Fri Jan 9 23:20:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11640 11641 * lib/rubygems: Update to RubyGems HEAD(e53c54a). 11642 * test/rubygems: ditto. 11643 11644Fri Jan 9 11:13:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11645 11646 * parse.y (assocs, assoc): eliminate splatting empty literal 11647 hashes. [ruby-core:67446] [Bug #10719] 11648 11649 * compile.c (compile_array_): support splatted hash in hash type. 11650 11651Fri Jan 9 10:57:09 2015 Vit Ondruch <vondruch@redhat.com> 11652 11653 * configure.in (RUBY_SETJMP_TYPE): Remove superfluous semicolon 11654 which causes a syntax error with autoconf 2.63. 11655 [ruby-core:67429] [Bug #10716] 11656 11657Fri Jan 9 07:23:32 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11658 11659 * ext/psych/lib/psych/visitors/yaml_tree.rb: correctly quote non-ascii 11660 letters. Thanks @jirutka for the patch. 11661 11662 * test/psych/test_string.rb: test for change 11663 11664Fri Jan 9 07:13:55 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11665 11666 * ext/psych/lib/psych/visitors/to_ruby.rb: call `allocate` on hash 11667 subclasses. Fixes github.com/tenderlove/psych/issues/196 11668 11669 * test/psych/test_hash.rb: test for change 11670 11671Fri Jan 9 06:58:43 2015 Aaron Patterson <aaron@tenderlovemaking.com> 11672 11673 * ext/psych/lib/psych/visitors/to_ruby.rb: revive hashes with ivars 11674 11675 * ext/psych/lib/psych/visitors/yaml_tree.rb: dump hashes with ivars. 11676 Fixes github.com/psych/issues/43 11677 11678 * test/psych/test_hash.rb: test for change 11679 11680Thu Jan 8 17:05:00 2015 Seiei Higa <hanachin@gmail.com> 11681 11682 * vm_method.c (rb_method_entry): if no super class, no original 11683 method entry. [ruby-core:67389] [Bug #10707] 11684 11685Thu Jan 8 16:31:43 2015 Seiei Higa <hanachin@gmail.com> 11686 11687 * vm_method.c (rb_export_method): bail out if the original method 11688 is undefined when the method is refined. 11689 [ruby-core:67387] [Bug #10706] 11690 11691Thu Jan 8 12:53:44 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11692 11693 * dir.c (glob_helper): match in case-folding only if the directory 11694 resides on a case-insensitive file system, on OSX. 11695 [ruby-core:67364] [Bug #10700] 11696 11697Thu Jan 8 11:39:18 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11698 11699 * .travis.yml: Remove redundant configuration option. 11700 [fix GH-809] Patch by @gxworld 11701 11702Thu Jan 8 07:17:14 2015 Eric Wong <e@80x24.org> 11703 11704 * lib/resolv.rb: consider ENETUNREACH as ResolvTimeout 11705 [ruby-core:67411] [Bug #10712] 11706 11707Thu Jan 8 00:13:52 2015 Tanaka Akira <akr@fsij.org> 11708 11709 * lib/open3.rb: Open3 properly passes non-keyword hash args to spawn. 11710 Fixed by Josh Cheek. [Fix GH-808] 11711 Related to [ruby-core:67347] [Bug #10699] 11712 11713Wed Jan 7 19:19:26 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11714 11715 * dir.c (dir_initialize): workaround of opendir failure at symlink 11716 directories on Windows via CIFS. 11717 11718Wed Jan 7 18:52:50 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11719 11720 * dir.c (need_normalization): not only HFS+, CIFS (SMB) is also 11721 decomposed. [Bug #10704] 11722 11723 * dir.c (NORMALIZE_UTF8PATH): Unicode decomposition seems to 11724 perform in an upper layer than file systems on OSX, as all path 11725 names are always decomposed regardless of file system types. 11726 11727Tue Jan 6 21:41:04 2015 Tanaka Akira <akr@fsij.org> 11728 11729 * time.c (timelocalw): Set tm_isdst field -1 if vtm->isdst is 11730 VTM_ISDST_INITVAL. This bug is introduced at packing struct 11731 vtm (r45155). 11732 [ruby-core:67345] [Bug #10698] Reported by Boris Ruf. 11733 11734Tue Jan 6 03:10:54 2015 Koichi Sasada <ko1@atdot.net> 11735 11736 * test/fiddle/test_handle.rb: fix syntax. 11737 11738Tue Jan 6 00:16:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11739 11740 * test/fiddle/test_handle.rb (test_NEXT): use -test-/dln/empty 11741 which is always a shared object and is not used by others. 11742 [ruby-dev:48629] [Bug #10384] 11743 11744Mon Jan 5 14:58:01 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11745 11746 * test/ruby/test_io.rb: added timeout for AIX environment. 11747 [ruby-core:62983][Bug #9917] 11748 11749Sun Jan 4 22:33:33 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11750 11751 * test/lib/test/unit.rb (ExcludesOption): add "excludes" support 11752 to test suite, for alternative implementations and platforms. 11753 [Feature #10682] 11754 11755Sun Jan 4 22:32:42 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11756 11757 * test/lib/test/unit.rb (Test::Unit): reorder modules and merge 11758 each modules. 11759 11760 * test/lib/test/unit.rb (Test::Unit): split the large class into 11761 each modules. 11762 11763Sun Jan 4 21:32:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11764 11765 * parse.y (f_label): return tLABEL value as it is. 11766 [ruby-core:67315] [Bug #10693] 11767 11768Sun Jan 4 14:02:37 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11769 11770 * test/lib/test/unit/parallel.rb (run): expand the file name to be 11771 loaded, so that relative paths work in parallel mode. 11772 11773Sun Jan 4 13:36:56 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11774 11775 * test/test_tempfile.rb: use assert_file for more descriptive message. 11776 following r49131. 11777 11778Sun Jan 4 13:05:09 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11779 11780 * string.c: improve docs for String#<=>. [ruby-core:65399][Feature #10322] 11781 Patch by gogo tanaka. 11782 11783Sun Jan 4 12:42:24 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11784 11785 * array.c: improve docs for Array#reject. [ruby-core:65324][misc #10307] 11786 Patched by Nebu Pookins. 11787 11788Sun Jan 4 12:24:11 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11789 11790 * string.c: improve docs for String#strip and variations. 11791 [ruby-core:66081][Bug #10476] 11792 11793Sun Jan 4 09:21:04 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11794 11795 * lib/drb/drb.rb: removed unused argument. Patch by @vipulnsward 11796 [fix GH-515] 11797 11798Sun Jan 4 09:18:31 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11799 11800 * lib/tempfile.rb: provide default basename parameter. 11801 [fix GH-523] Patch by @dissolved 11802 * test/test_tempfile.rb: ditto. 11803 11804Sun Jan 4 00:43:41 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11805 11806 * README.ja.md: add guidance of mailing list and bugs.r-l.o. 11807 11808Sat Jan 3 23:56:28 2015 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11809 11810 * hash.c: fix docs for Hash#invert. [ruby-core:66917] [Bug #10612] 11811 11812Sat Jan 3 19:52:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11813 11814 * include/ruby/intern.h (rb_str_new_literal): define on all 11815 platforms, not only gcc. 11816 11817Sat Jan 3 18:53:28 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11818 11819 * ext/fiddle/lib/fiddle/cparser.rb (parse_ctype): limit split word 11820 number as the rest are not used. 11821 11822Sat Jan 3 18:19:50 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11823 11824 * ext/fiddle/lib/fiddle/cparser.rb: r49110 broke Fiddle::Import with 11825 type_alias. 11826 * test/fiddle/test_cparser.rb: added type_alias test for parse_ctype 11827 and parse_struct_signature. 11828 11829Sat Jan 3 11:50:16 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11830 11831 * ext/openssl/ossl.h: avoid to build failure of Windows environment. 11832 * ext/openssl/ossl_ssl_session.c: ditto. 11833 11834Sat Jan 3 11:27:46 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11835 11836 * array.c: Improve performance of Array#shift. use shared instead of 11837 MEMMOVE if with arguments. Patch by @ksss [fix GH-537] 11838 * test/ruby/test_array.rb: ditto. 11839 * benchmark/bm_array_shift.rb: Added benchmark of GH-537 issue. 11840 11841Sat Jan 3 10:38:52 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11842 11843 * lib/net/http.rb: More descriptive error message when net/http fails 11844 to connect to a server. Patch by @xaviershay [fix GH-700] 11845 * test/net/http/test_http.rb: ditto. 11846 11847Sat Jan 3 10:14:51 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11848 11849 * ext/openssl/ossl.h: Make `SSL_SESSION_cmp` use `CRYPTO_memcmp` 11850 [fix GH-591] Patch by @PiPeep 11851 * ext/openssl/ossl_ssl_session.c: ditto. 11852 11853Sat Jan 3 09:54:32 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11854 11855 * ext/fiddle/lib/fiddle/cparser.rb: Support for Fiddle::CParser 11856 to handle rich signatures including parameter names and function 11857 pointer types. Patch by @theryan [fix GH-590] 11858 * test/fiddle/test_cparser.rb: ditto. 11859 11860Sat Jan 3 09:01:43 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11861 11862 * NEWS: added compatibility entry of r49101. 11863 11864Fri Jan 2 21:06:59 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11865 11866 * lib/net/http.rb (Net::HTTP#send_request): there is no response body 11867 with HEAD request. Patch by @rodrigosaito [fix GH-520] 11868 11869Fri Jan 2 21:04:36 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11870 11871 * test/net/http/test_http.rb (_test_send_request__HEAD): Added 11872 failing test for send_request with HEAD method. 11873 11874Fri Jan 2 18:41:20 2015 Tanaka Akira <akr@fsij.org> 11875 11876 * eval.c (ruby_init): Print ruby_setup() error only in debug mode. 11877 Unsuppressable error message is not a good idea. 11878 Note that the message is printed sometimes with following 11879 code (highly timing dependent, though): 11880 pid = spawn("ruby -e ''"); Process.kill(:TERM, pid) 11881 11882Fri Jan 2 16:18:44 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11883 11884 * test/ruby/test_module.rb: Refactor invalid testcase. 11885 [fix GH-472][ruby-core:59035][Bug #9240] 11886 11887Fri Jan 2 15:53:00 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11888 11889 * lib/webrick/utils.rb: removed unused argument variable. 11890 [fix GH-356] Patch by @vipulnsward 11891 * lib/webrick/server.rb: ditto. 11892 * lib/webrick/ssl.rb: ditto. 11893 * test/webrick/test_utils.rb: added test for WEBrick::Utils#create_listeners. 11894 11895Fri Jan 2 15:35:53 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11896 11897 * lib/securerandom.rb: improve syntax and grammar of documentation. 11898 [fix GH-796][ci skip] Patch by @Erol 11899 11900Fri Jan 2 15:10:01 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11901 11902 * test/openssl/test_ssl_session.rb (OpenSSL#test_ctx_client_session_cb): 11903 fix test failure with OpenSSL disabled SSLv3 protocol. 11904 [ruby-core:63772] [Bug #10046] 11905 11906Fri Jan 2 09:08:31 2015 Tanaka Akira <akr@fsij.org> 11907 11908 * lib/resolv.rb (Resolv::DNS::Label::Str#==): Check class equality. 11909 (Resolv::DNS::Name#initialize): Normalize labels as 11910 Resolv::DNS::Label::Str objects. 11911 11912Thu Jan 1 21:41:49 2015 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11913 11914 * doc/regexp.rdoc: fix regexp docs for whitespace character. 11915 [ruby-dev:48765] [Bug #10624] 11916 11917Thu Jan 1 17:50:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11918 11919 * test/ruby/test_rubyoptions.rb: try locale encoding name. 11920 [ruby-core:67109] [Bug #10643] 11921 11922Thu Jan 1 11:07:12 2015 Eric Wong <e@80x24.org> 11923 11924 * symbol.c (rb_gc_free_dsymbol): delete from global fstr hash 11925 * test/ruby/test_symbol.rb (test_symbol_fstr_leak): test for bug 11926 [ruby-core:67268] [Bug #10686] 11927 11928Thu Jan 1 09:14:21 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> 11929 11930 * vm_args.c (keyword_hash_p): fix non-symbol keys hash. 11931 rb_extract_keywords() returns 0 not Qnil when no symbol keys is 11932 included. [ruby-core:67264] [Bug #10685] 11933 11934Wed Dec 31 17:48:43 2014 Tanaka Akira <akr@fsij.org> 11935 11936 * lib/resolv.rb (Resolv::DNS::Label::Str#initialize): Set encoding 11937 ASCII-8BIT before downcase. case insensitivity of DNS labels doesn't 11938 apply non-ASCII characters. [RFC 4343] 11939 11940Wed Dec 31 16:48:44 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 11941 11942 * parse.y (gettable_gen): disable warnings of possible reference 11943 to a local variable defined in a past scope. 11944 [ruby-core:67162] [Bug #10661] 11945 11946Wed Dec 31 13:43:48 2014 Tanaka Akira <akr@fsij.org> 11947 11948 * lib/resolv.rb (Resolv::DNS::Name#==): Compare an array of Label:Str 11949 objects. Label#Str#== is case-insensitive. 11950 11951Tue Dec 30 16:16:12 2014 Ben Miller <bmiller@rackspace.com> 11952 11953 * lib/resolv.rb (Resolv::DNS::Name#==): DNS is case-insensitive, so the 11954 comparison should be case-insensitive as well. 11955 [ruby-core:66498] [Bug #10550] 11956 11957Tue Dec 30 16:03:45 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 11958 11959 * lib/resolv.rb (Resolv::DNS::Name): names with different dots 11960 should be different. 11961 11962Tue Dec 30 13:16:56 2014 Martin Duerst <bernhard+git@lsmod.de> 11963 11964 * lib/uri/common.rb: Initialize HTML5ASCIIINCOMPAT to empty Array 11965 to avoid error during bootstrap when encodings are not yet defined. 11966 [Bug #10678] 11967 11968Tue Dec 30 09:29:26 2014 Bernhard M. Wiedemann <bernhard+git@lsmod.de> 11969 11970 * ext/dbm/dbm.c (Init_dbm): [DOC] as UNIX permissions are octal 11971 numbers, needs to be prefixed by 0. [Fix GH-800] 11972 11973Tue Dec 30 08:57:39 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 11974 11975 * lib/unicode_normalize.rb: typo fix. [ci skip] 11976 [ruby-dev:48794][misc #10675] 11977 11978Mon Dec 29 19:38:01 2014 Yukihiro Matsumoto <matz@ruby-lang.org> 11979 11980 * version.h (RUBY_VERSION): 2.3.0 development has started. 11981 11982Mon Dec 29 18:58:46 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 11983 11984 * re.c (unescape_nonascii): append escape sequence as-is not 11985 unescaped character, to get rid of unexpected meta-character. 11986 [ruby-core:67193] [Bug #10670] 11987 11988Mon Dec 29 14:27:33 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 11989 11990 * doc/syntax/literals.rdoc (Symbols): now Symbols created by 11991 interpolation can be garbage collected. patch by Yihang Ho in 11992 [ruby-core:67194]. [Bug #10671] 11993 11994Mon Dec 29 11:18:17 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 11995 11996 * thread.c (rb_thread_variable_get): fix dynamic symbol keys. 11997 rb_check_id() returns non-zero only for static symbols, whereas 11998 thread local variable keys can be dynamic symbols. 11999 [ruby-core:67185] [Bug #10667] 12000 12001Mon Dec 29 10:37:27 2014 Thiago Lewin <thiago_lewin@yahoo.com.br> 12002 12003 * io.c (rb_f_select): [DOC] workaround for YARD doc. [Fix GH-799] 12004 12005 * process.c (proc_detach): [DOC] fix missing closing parenthesis. 12006 [Fix GH-799] 12007 12008Mon Dec 29 07:27:23 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 12009 12010 * ext/json, test/json: merge JSON HEAD(17fe8e7) 12011 https://github.com/flori/json/compare/v1.8.1...17fe8e7 12012 12013Sun Dec 28 23:49:37 2014 Michal Papis <mpapis@gmail.com> 12014 12015 * rbinstall.rb: fix target location for installing bundled gems. 12016 install to the prepared directory instead of default Gem.dir, 12017 not to be affected GEM_HOME environment variable. [Fix GH-798] 12018 12019Sun Dec 28 18:19:28 2014 Eric Wong <e@80x24.org> 12020 12021 * test/-ext-/iseq_load/test_iseq_load.rb 12022 (test_next_in_block_in_block): test using ISeq#eval 12023 (test_break_ensure): ditto 12024 [ruby-core:66988] 12025 12026Sun Dec 28 16:25:12 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12027 12028 * cygwin/GNUmakefile.in (EXTOBJS): override to add resource files 12029 always. [ruby-core:67153] [Bug #10657] 12030 12031Sun Dec 28 13:54:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12032 12033 * parse.y (f_kwrest, new_args_tail_gen): unnamed rest keyword and 12034 keywords bits arguments should be unique. since internal IDs 12035 depend on the local variable index in the current scope, new ID 12036 should be made before popping those vtables. 12037 [ruby-core:67157] [Bug #10659] 12038 12039Sat Dec 27 20:12:55 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12040 12041 * ext/json/generator/generator.c (JSON_Generator_State_type): add 12042 #ifdef for backward compatibility. 12043 12044 * ext/json/parser/parser.rl (JSON_Parser_type): ditto. 12045 12046 * ext/json/generator/generator.h (ZALLOC): add fallback definition. 12047 12048 * ext/json/parser/parser.h (ZALLOC): ditto. 12049 12050Sat Dec 27 16:54:05 2014 Tanaka Akira <akr@fsij.org> 12051 12052 * process.c: Unused code removed. 12053 It seems waitpid() is universally available on POSIX platforms. 12054 12055Sat Dec 27 15:08:27 2014 Eric Wong <e@80x24.org> 12056 12057 * vm_core.h (rb_vm_living_threads_insert): preserve order 12058 [Bug #10660] [ruby-core:67154] [ruby-core:67159] 12059 12060Sat Dec 27 13:08:20 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 12061 12062 * ext/socket/socket.c: improved document for YARD doc. 12063 [fix GH-795][ci skip] Patch by @tlewin 12064 12065Sat Dec 27 10:11:21 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 12066 12067 * ext/tk/lib/tkextlib/tcllib/plotchart.rb: fix to invoke correct function 12068 of tcllib. Patch by @zalt50 [fix GH-787] 12069 12070Sat Dec 27 10:03:41 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com> 12071 12072 * tool/make-snapshot: show sha1 digest when making packages. 12073 it's request from https://github.com/ruby/www.ruby-lang.org/issues/921 12074 [fix GH-794] 12075 12076Fri Dec 26 15:32:16 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12077 12078 * ext/tk/tcltklib.c (ip_invoke_core): remove probably duplicate 12079 dead code. 12080 12081Fri Dec 26 15:28:27 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12082 12083 * ext/tk/tcltklib.c (ip_ruby_cmd_receiver_const_get): simply use 12084 rb_path2class() to get a class/module from its name. 12085 12086Fri Dec 26 15:20:54 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12087 12088 * marshal.c (w_long): append at once by w_nbyte() instead of 12089 appending byte by byte. 12090 12091Fri Dec 26 15:13:13 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12092 12093 * ext/json/parser/parser.rl (unescape_unicode): check if valid 12094 before bit-or assignments. 12095 reported by Denis Denisov <denji0k AT gmail.com>. 12096 12097 * ext/nkf/nkf-utf8/nkf.c (nkf_iconv_t): fix a missing semicolon. 12098 reported by Denis Denisov <denji0k AT gmail.com>. 12099 12100 * process.c (rb_spawn_process): get rid of usage of uninitialized 12101 variable. 12102 reported by Denis Denisov <denji0k AT gmail.com>. 12103 12104 * regexec.c (match_at): ditto. 12105 12106 * ext/win32ole/win32ole.c (ole_wc2mb_alloc, ole_vstr2wc, ole_mb2wc): 12107 ditto. 12108 12109 * dir.c (ruby_glob0): no need to check never-NULL pointer. 12110 reported by Denis Denisov <denji0k AT gmail.com>. 12111 12112 * win32/file.c (rb_file_expand_path_internal): ditto. 12113 12114 * win32/file.c (code_page_i): handle realloc failure. 12115 reported by Denis Denisov <denji0k AT gmail.com>. 12116 12117 * win32/stub.c (stub_sysinit): ditto. 12118 12119 * fix printf format conversion specifiers. 12120 reported by Denis Denisov <denji0k AT gmail.com>. 12121 12122Fri Dec 26 01:41:40 2014 NAKAMURA Usaku <usa@ruby-lang.org> 12123 12124 * tool/rbinstall.rb: skip installing bundle gems if zlib is unavailable. 12125 [Bug #10647] [ruby-dev:48787] 12126 12127Fri Dec 26 01:24:42 2014 NAKAMURA Usaku <usa@ruby-lang.org> 12128 12129 * tool/downloader.rb: support old versions of ruby. 12130 12131 * tool/downloader.rb: now can download gems by http if openssl is not 12132 available (this may be danger!) 12133 12134Fri Dec 26 00:13:48 2014 NAKAMURA Usaku <usa@ruby-lang.org> 12135 12136 * test/ruby/test_extlibs.rb: check existence of extension libraries 12137 which not depend on outer libraries. (experimental) 12138 12139Thu Dec 25 21:58:15 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12140 12141 * ext/fiddle/extconf.rb: make PIC objects if it will be linked as 12142 a shared object eventually. [ruby-core:67128] 12143 12144Thu Dec 25 19:01:13 2014 NAKAMURA Usaku <usa@ruby-lang.org> 12145 12146 * ext/fiddle/win32/libffi-3.2.1-mswin.patch: support mswin32. 12147 12148Thu Dec 25 17:30:40 2014 Naohisa Goto <ngotogenome@gmail.com> 12149 12150 * gc.c (wmap_final_func): fix memory size shortage when realloc wmap. 12151 Fix SEGV during finalize of WeakRef on Solaris (though the SEGV 12152 could occur on all OS/platforms). [ruby-dev:48779] [Bug #10646] 12153 12154Thu Dec 25 17:27:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12155 12156 * configure.in (NET_LUID): include winsock2.h instead of windows.h. 12157 patch by Jon Forums in [ruby-core:67125]. [Bug #10640] 12158 12159Thu Dec 25 16:14:10 2014 Nobuyoshi Nakada <nobu@ruby-lang.org> 12160 12161 * ext/io/console/console.c (console_dev): send the given arguments 12162 to the opened console. as a special case, do nothing if :close 12163 is given. 12164 12165 * test/lib/leakchecker.rb (LeakChecker#check_fd_leak): close if 12166 console. 12167 12168For the changes before 2.2.0, see doc/ChangeLog-2.2.0 12169For the changes before 2.1.0, see doc/ChangeLog-2.1.0 12170For the changes before 2.0.0, see doc/ChangeLog-2.0.0 12171For the changes before 1.9.3, see doc/ChangeLog-1.9.3 12172For the changes before 1.8.0, see doc/ChangeLog-1.8.0 12173 12174Local variables: 12175coding: us-ascii 12176add-log-time-format: (lambda () 12177 (let* ((time (current-time)) 12178 (system-time-locale "C") 12179 (diff (+ (cadr time) 32400)) 12180 (lo (% diff 65536)) 12181 (hi (+ (car time) (/ diff 65536)))) 12182 (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t))) 12183indent-tabs-mode: t 12184tab-width: 8 12185change-log-indent-text: 2 12186end: 12187vim: tabstop=8 shiftwidth=2 12188