1Fri Feb 8 19:56:54 2013 NAKAMURA Usaku <usa@ruby-lang.org> 2 3 * array.c (rb_ary_dup): reverted r39004. see [Bug #7768], and 4 release manager finally decided to revert it. 5 6Fri Feb 8 16:09:45 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 7 8 * eval.c (rb_ensure): preserve errinfo across ensure proc before 9 JUMP_TAG(). [ruby-core:52022] [Bug #7802] 10 11Fri Feb 8 16:08:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 12 13 * test/ruby/envutil.rb (assert_separately): check also terminating 14 signal not only if core dumped. 15 16Fri Feb 8 13:12:04 2013 Eric Hodel <drbrain@segment7.net> 17 18 * lib/rdoc/generator/darkfish.rb: Set encoding on output template to 19 user-specified encoding. 20 * test/rdoc/test_rdoc_generator_darkfish.rb: Test for above. 21 22 * lib/rdoc.rb: Bump version 23 24Fri Feb 8 11:53:33 2013 Eric Hodel <drbrain@segment7.net> 25 26 * lib/rubygems/security/policy.rb: Raise proper exceptions when 27 verifying unsigned gems (instead of crashing). 28 * test/rubygems/test_gem_security_policy.rb: Tests for the above. 29 30Fri Feb 8 10:44:44 2013 Eric Hodel <drbrain@segment7.net> 31 32 * test/rubygems/test_gem_dependency_installer.rb: Improve coverage of 33 --install-dir feature of gem install. 34 35Fri Feb 8 10:11:09 2013 Eric Hodel <drbrain@segment7.net> 36 37 * lib/rubygems/config_file.rb: Add missing require for 38 user_interaction.rb 39 40 * lib/rubygems/dependency_installer.rb: Minor refactor for clarity. 41 42Fri Feb 8 09:35:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 43 44 * lib/mkmf.rb (MakeMakefile#configuration): set all ruby names. 45 hdrdir now needs RUBY_VERSION_NAME. 46 47Fri Feb 8 08:58:26 2013 Eric Hodel <drbrain@segment7.net> 48 49 * lib/rubygems/package/old.rb: Fix loading old format gems on ruby 50 1.8. This commit is only so trunk and rubygems master have the same 51 code. 52 53Fri Feb 8 08:53:27 2013 Aaron Patterson <aaron@tenderlovemaking.com> 54 55 * ext/psych/lib/psych/visitors/yaml_tree.rb: fixing string quotation 56 when dumping Ruby strings. Thanks Ingy 57 58 * test/psych/test_psych.rb: appropriate tests. 59 60 * test/psych/test_yaml.rb: ditto 61 62Fri Feb 8 08:50:42 2013 Aaron Patterson <aaron@tenderlovemaking.com> 63 64 * ext/psych/lib/psych/visitors/yaml_tree.rb: change output reference 65 ids to be sequential numbers. 66 67Fri Feb 8 07:47:56 2013 Eric Hodel <drbrain@segment7.net> 68 69 * lib/rubygems/package/old.rb: Disallow installation of old-format 70 gems when a security policy is active. 71 * test/rubygems/test_gem_package_old.rb: Test for above. 72 73Fri Feb 8 07:34:00 2013 Zachary Scott <zachary@zacharyscott.net> 74 75 * lib/net/http.rb (HTTP.post_form): Fix module scope in documentation 76 Patch by David Albert [Bug #7794] [ruby-core:51955] 77 78Fri Feb 8 07:33:00 2013 Zachary Scott <zachary@zacharyscott.net> 79 80 * compar.c (cmp_equal): Document ignored exception and return false 81 By Makoto Kishimoto [Bug #7790] [ruby-dev:46925] [ruby-dev:46910] 82 83Fri Feb 8 07:17:00 2013 Eric Hodel <drbrain@segment7.net> 84 85 * lib/rubygems/dependency_installer.rb: Only install local gems if 86 they end in '.gem'. Fixes github rubygems issue #407. 87 * test/rubygems/test_gem_dependency_installer.rb: Test for the above. 88 89Fri Feb 8 00:02:48 2013 Tanaka Akira <akr@fsij.org> 90 91 * process.c (obj2gid): use getgrnam_r() only if getgrnam_r() and 92 _SC_GETGR_R_SIZE_MAX is available. 93 MirOS BSD (MirBSD 10 GENERIC#1382 i386) have getgrnam_r() but 94 no _SC_GETGR_R_SIZE_MAX. 95 (obj2uid): use getpwnam_r() only if getpwnam_r() and 96 _SC_GETPW_R_SIZE_MAX is available. 97 This is consistency for obj2gid. 98 MirOS BSD have neither getpwnam_r() nor _SC_GETPW_R_SIZE_MAX. 99 100Thu Feb 7 22:01:18 2013 Tanaka Akira <akr@fsij.org> 101 102 * configure.in: define linker for shared library on MirOS BSD. 103 104Thu Feb 7 21:09:23 2013 NAKAMURA Usaku <usa@ruby-lang.org> 105 106 * test/rubygems/test_gem_config_file.rb 107 (TestGemConfigFile#test_check_credentials_permissions): skip on 108 Windows. see [Bug #7784] [ruby-core:51864] and r39070. 109 110Thu Feb 7 20:52:40 2013 NAKAMURA Usaku <usa@ruby-lang.org> 111 112 * win32/Makefile.sub (config.status): added variables which were 113 missing at r39130. 114 115Thu Feb 7 15:33:17 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 116 117 * lib/mkmf.rb (MakeMakefile#merge_libs): insert following reversal 118 ordered elements just after the duplicated element, not overwriting 119 successive elements. [ruby-core:50314] [Bug #7467] 120 121Thu Feb 7 14:56:15 2013 Eric Hodel <drbrain@segment7.net> 122 123 * lib/rubygems/package.rb: Ensure digests are generated for signing. 124 * test/rubygems/test_gem_package.rb: Test for the above. 125 126 * lib/rubygems/security/policy.rb: Ensure digests are present when 127 verifying a gem and match the number of signatures bidirectionally. 128 * test/rubygems/test_gem_security_policy.rb: Test for the above. 129 130 * lib/rubygems.rb: Documentation improvements (by zzak) 131 132Thu Feb 7 05:52:00 2013 Zachary Scott <zachary@zacharyscott.net> 133 134 * doc/pty/README: Remove static documentation file 135 * ext/pty/pty.c: Add License to PTY module overview 136 137Thu Feb 7 02:31:10 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 138 139 * vm_insnhelper.c: attr_writer should return its argument [Bug #7773] 140 141 * test/ruby/test_basicinstructions.rb: Test for above 142 143Thu Feb 7 01:35:00 2013 Zachary Scott <zachary@zacharyscott.net> 144 145 * doc/security.rdoc: Link to japanese version of CVE page patch by 146 nagachika 147 148Wed Feb 6 23:30:00 2013 Zachary Scott <zachary@zacharyscott.net> 149 150 * doc/pty/README.expect: Removed static documentation file 151 * ext/pty/lib/expect.rb: Documentation for IO#expect 152 153Wed Feb 6 22:25:00 2013 Charlie Somerville <charlie@charliesomerville.com> 154 155 * hash.c (env_reject_bang): hide keys array from ObjectSpace 156 * hash.c (env_select_bang): ditto 157 158Wed Feb 6 17:33:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 159 160 * configure.in (multiarch): add option to move architecture dependent 161 directories. [Feature #6111] 162 163 * template/ruby.pc.in: add arch dependent paths. 164 165 * configure.in (rubyarchhdrdir, sitearchhdrdir, vendorarchhdrdir): add 166 options to customize architecture dependent header directories. 167 168 * configure.in (rubyarchprefix, sitearchdir, vendorarchdir): add 169 options to customize architecture dependent library directories. 170 171 * template/ruby.pc.in, tool/mkconfig.rb, tool/rbinstall.rb: use 172 configured values. 173 174 * tool/mkconfig.rb: expand rubyarchdir to extract prefix. 175 176 * configure.in (RUBY_VERSION_NAME), template/ruby.pc.in: add 177 substitution and define. 178 179 * configure.in, version.c: parametric architecture name for paths. 180 181 * configure.in (shvar_to_cpp): convert sh variable references 182 by replacing with string literal forms in cpp. 183 184Wed Feb 6 17:05:26 2013 Eric Hodel <drbrain@segment7.net> 185 186 * lib/rdoc: Import RDoc 4.0.0.rc.2 187 188Mon Feb 4 02:22:49 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 189 190 * test/ruby/test_process.rb (test_setsid): ensure to call 191 Process.wait(). Reported by George Koehler. Thanks. 192 193Mon Feb 4 02:18:00 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 194 195 * test/ruby/test_process.rb (test_setsid): skip when platform is 196 OpenBSD. Contributed from George Koehler. 197 [Bug #7789] [ruby-core:51889] 198 199Wed Feb 6 13:35:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 200 201 * proc.c (rb_method_entry_location, rb_{mod,obj}_method_location): new 202 functions to obtain source location of method definition. 203 204 * vm_method.c (rb_obj_respond_to): show the location of old style 205 respond_to? method. 206 207Wed Feb 6 13:03:00 2013 Zachary Scott <zachary@zacharyscott.net> 208 209 * doc/security.rdoc: Add link to CVEs on ruby-lang.org/en/security 210 211Wed Feb 6 12:49:00 2013 Zachary Scott <zachary@zacharyscott.net> 212 213 * NEWS: Add note about removal of CSV::load and CSV::dump from r39077 214 215Wed Feb 6 05:57:00 2013 Zachary Scott <zachary@zacharyscott.net> 216 217 * lib/racc/parser.rb: Hide copyright notice from Racc doc 218 219Wed Feb 6 05:50:00 2013 Zachary Scott <zachary@zacharyscott.net> 220 221 * doc/rubygems/*: Removed outdated documentation files 222 * lib/rubygems/LICENSE.txt: Include license file 223 * lib/rubygems.rb: Move Gem module documentation so rdoc can parse it 224 and link to LICENSE.txt 225 * lib/rubygems/*: Hide useless documentation from Gem module rdoc 226 227Wed Feb 6 03:45:19 2013 Zachary Scott <zachary@zacharyscott.net> 228 229 * doc/security.rdoc: Remove documentation for unsafe CSV.load which 230 was deleted in r39077 231 232Wed Feb 6 03:27:19 2013 James Edward Gray II <james@graysoftinc.com> 233 234 * lib/csv.rb: Remove the dangerous serialization feature. 235 236Wed Feb 6 00:56:00 2013 Zachary Scott <zachary@zacharyscott.net> 237 238 * lib/irb.rb: Remove example from restrictions, it works [Github #246] 239 Based on patch by Ryunosuke SATO 240 241Wed Feb 6 00:46:53 2013 Kazuki Tsujimoto <kazuki@callcc.net> 242 243 * vm.c (rb_vm_stack_to_heap): call rb_vm_get_binding_creatable_next_cfp 244 instead of rb_vm_get_ruby_level_next_cfp to prevent a segfault by 245 calling Kernel#callcc. See r39067 for more details. 246 [ruby-dev:46908] [ruby-trunk - Bug #7774] 247 248 * test/ruby/test_settracefunc.rb: add a test. 249 250Tue Feb 5 18:48:00 2013 Charlie Somerville <charlie@charliesomerville.com> 251 252 * doc/security.rdoc: add regex, eval and drb sections 253 254Tue Feb 5 17:24:02 2013 Eric Hodel <drbrain@segment7.net> 255 256 * lib/rdoc/servlet.rb: Fixed root search paths, filesystem paths 257 instead of HTTP paths were returned. 258 * test/rdoc/test_rdoc_servlet.rb: Test for above. 259 260Tue Feb 5 16:37:00 2013 Eric Hodel <drbrain@segment7.net> 261 262 * lib/rubygems/config_file.rb: Ignore permissions check on windows. 263 Windows writes 0600 file as 0644 permissions making the check 264 useless. 265 266Tue Feb 5 16:25:25 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 267 268 * vm_method.c (rb_obj_respond_to): drop optional include_all flag if 269 respond_to? method is defined in old style. [Bug #7722] 270 271Tue Feb 05 15:04:34 2013 Koichi Sasada <ko1@atdot.net> 272 273 * proc.c (rb_binding_new_with_cfp): permit to create binding object 274 of IFUNC frame. 275 When `rb_binding_new_with_cfp()' is called, VM finds out the first 276 normal (has iseq) frame and create a binding object of this frame 277 and create Env objects. `ep's of related frames are updated 278 (`ep's point Env object managed spaces). 279 However, `ep' of skipped IFUNC frame was not updated and 280 old invalid `ep' was remained. It causes serious problems. 281 To solve this issue, permit IFUNC to create binding. 282 (Maybe there is no problem on it) 283 [ruby-dev:46908] [ruby-trunk - Bug #7774] 284 285 * test/ruby/test_settracefunc.rb: add a test. 286 287 * vm.c (rb_vm_get_binding_creatable_next_cfp), vm_core.h: added. 288 289 * vm_trace.c: fix to use `rb_vm_get_binding_creatable_next_cfp()'. 290 291Tue Feb 5 14:43:15 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 292 293 * lib/matrix.rb: Fix error message, patch by pypypy [Bug #7777] 294 295Tue Feb 5 14:36:04 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 296 297 * numeric.c (fix_pow): Handle special cases when base is 0, -1 or +1 298 [Bug #5713] [Bug #5715] 299 300 * rational.c (nurat_expt): ditto 301 302Tue Feb 5 13:27:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 303 304 * ext/io/console/console.c (rawmode_opt): use default values by `stty 305 raw`. 306 307Tue Feb 5 12:50:47 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 308 309 * range.c: Use div instead of / for bsearch 310 311 * test/ruby/test_range.rb: Test showing bug when requiring mathn 312 313Tue Feb 5 12:48:38 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 314 315 * enumerator.c: Use to_enum for Enumerable methods returning 316 Enumerators. 317 This makes Lazy#cycle no longer needed, so it was removed. 318 Make Enumerator#chunk and slice_before return lazy Enumerators. 319 [Bug #7715] 320 321 * internal.h: Remove ref to rb_enum_cycle_size; no longer needed 322 323 * enum.c: Make enum_cycle_size static. 324 325 * test/ruby/test_lazy_enumerator.rb: Test for above 326 327Tue Feb 5 12:48:10 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 328 329 * enumerator.c: Finalize and document Lazy.new. [Bug #7248] 330 Add Lazy#to_enum and simplify Lazy#size. 331 332 * test/ruby/test_lazy_enumerator.rb: tests for above 333 334Tue Feb 5 11:35:35 2013 Eric Hodel <drbrain@segment7.net> 335 336 * lib/rubygems/commands/push_command.rb: Fixed credential download for 337 `gem push --host` 338 * lib/rubygems/gemcutter_utilities.rb: ditto. 339 * test/rubygems/test_gem_commands_push_command.rb: Test for the above. 340 * test/rubygems/test_gem_gemcutter_utilities.rb: ditto. 341 342 * lib/rubygems/config_file.rb: Abort if the `gem push` credentials 343 file has insecure permissions. 344 * test/rubygems/test_gem_config_file.rb: Test for the above. 345 346 * lib/rubygems/ext/builder.rb: Do not look for Gemfile, Isolate, etc. 347 while building gem extensions. 348 349 * lib/rubygems/package.rb: Unset spec and files list if a gem's 350 signatures cannot be verified. 351 * test/rubygems/test_gem_package.rb: Test for the above. 352 353 * lib/rubygems/specification.rb: Reduce use of eval. 354 * lib/rubygems/test_case.rb: ditto. 355 356 * test/rubygems/test_gem_specification.rb: Test setting 357 specification_version for legacy gems. Dup Gem.ruby before 358 untainting in case it's frozen. 359 360 * lib/rubygems.rb: Reduce use of eval. Only read files when looking 361 for Gemfile, Isolate, etc. 362 * test/rubygems/test_gem.rb: Test for the above. 363 364Tue Feb 5 10:15:00 2013 Zachary Scott <zachary@zacharyscott.net> 365 366 * doc/security.rdoc: Wrap security guide at 80 columns 367 368Tue Feb 5 10:15:00 2013 Zachary Scott <zachary@zacharyscott.net> 369 370 * doc/security.rdoc: Grammatical error on security guide 371 Patch by Josh Bassett [Github fixes #245] 372 373Tue Feb 5 10:00:00 2013 Zachary Scott <zachary@zacharyscott.net> 374 375 * lib/racc/parser.rb: Update #do_parse and #yyparse from upstream 376 See [Github tenderlove/racc@7d954b5] 377 378Tue Feb 5 09:55:00 2013 Zachary Scott <zachary@zacharyscott.net> 379 380 * lib/racc: Merge Racc documentation downstream, add grammar ref file 381 382Tue Feb 5 08:03:00 2013 Zachary Scott <zachary@zacharyscott.net> 383 384 * lib/irb.rb, lib/irb/ext/save-history.rb: Add documentation on how to 385 enabled irb history [ruby-core:51347] [Bug #7679] 386 387Tue Feb 5 07:35:00 2013 Zachary Scott <zachary@zacharyscott.net> 388 389 * lib/irb.rb, lib/irb/context.rb: Add documentation on how to enable 390 auto-indentation and autocompletion using irbrc and irb_context 391 [ruby-core:51209] [Bug #7642] and [ruby-core:51348] [Bug #7680] 392 393Tue Feb 5 05:20:00 2013 Zachary Scott <zachary@zacharyscott.net> 394 395 * doc/standard_library.rdoc: Document list of libraries and extensions 396 and their purpose or short description 397 * lib/README: Remove lib/README in favor of doc/standard_library.rdoc 398 399Tue Feb 5 04:40:00 2013 Zachary Scott <zachary@zacharyscott.net> 400 401 * ext/json/lib/json.rb: Move module overview definition for rdoc 402 403Tue Feb 5 03:00:00 2013 Zachary Scott <zachary@zacharyscott.net> 404 405 * lib/tracer.rb: Move class overview definition and reformat 406 407Mon Feb 4 15:10:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 408 409 * ext/io/console/console.c (rawmode_opt): initialize options for the 410 case all options are not given. 411 412Mon Feb 4 12:44:13 2013 Koichi Sasada <ko1@atdot.net> 413 414 * vm_dump.c (control_frame_dump): capitalize prefix of `ep' 415 if `ep' points an env object. 416 417Mon Feb 4 04:20:00 2013 Zachary Scott <zachary@zacharyscott.net> 418 419 * lib/English.rb: Add English module for RDoc to parse, then 420 remove_const to avoid confusion. Include full list of aliases and 421 their associated global variable. 422 423Mon Feb 4 02:40:00 2013 Zachary Scott <zachary@zacharyscott.net> 424 425 * lib/yaml.rb (YAML::EngineManager): Documentation for #yamler and 426 #yamler= for using the removed Syck gem as the YAML::ENGINE 427 428Sun Feb 3 16:54:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 429 430 * ext/io/console/io-console.gemspec: bump. [Bug #7762] 431 432 * test/io/console/test_io_console.rb (test_stringio_getch): use more 433 descriptive assertions. 434 435 * ext/io/console/console.c (rawmode_opt): min is minimum characters, 436 not tenths. 437 438Sun Feb 3 16:13:00 2013 Charlie Somerville <charlie@charliesomerville.com> 439 440 * doc/security.rdoc: add first cut at a Ruby security document 441 442Sun Feb 3 10:25:00 2013 Zachary Scott <zachary@zacharyscott.net> 443 444 * random.c: Document range argument for Kernel#rand. 445 [ruby-core:51794] [Bug #7770] 446 447Sun Feb 3 10:00:00 2013 Zachary Scott <zachary@zacharyscott.net> 448 449 * numeric.c: Document Float constants [ruby-core:51484] [Bug #7709] 450 451Sun Feb 3 09:38:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 452 453 * lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): add b_call 454 and b_return to profile block calls. 455 456 * lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): split 457 PROFILE_PROC for call and return events. 458 459Sat Feb 2 14:32:00 2013 Zachary Scott <zachary@zacharyscott.net> 460 461 * lib/minitest/mock.rb, lib/minitest/hell.rb: nodoc top-level module 462 463Sat Feb 2 14:05:00 2013 Zachary Scott <zachary@zacharyscott.net> 464 465 * lib/debug.rb: Documentation for DEBUGGER__ class methods based on 466 patch by Vincent Batts [ruby-core:51253] 467 468Sat Feb 2 13:37:00 2013 Zachary Scott <zachary@zacharyscott.net> 469 470 * lib/net/smtp.rb: Fix rdoc title for Net::SMTP 471 472Sat Feb 2 13:32:00 2013 Zachary Scott <zachary@zacharyscott.net> 473 474 * lib/net/pop.rb: Fix rdoc title for Net::POP3 475 476Sat Feb 2 13:00:11 2013 Yusuke Endoh <mame@tsg.ne.jp> 477 478 * lib/gserver.rb (GServer#start): fix a timing issue. patch from 479 Charles Nutter. [Bug #7081] 480 481Sat Feb 2 12:36:54 2013 Yusuke Endoh <mame@tsg.ne.jp> 482 483 * lib/fileutils.rb (copy_entry, wrap_traverse): preserve attributes of 484 directories on FileUtils.cp_r. The fix was proposed by Jan 485 Wedekind. [Bug #7246] 486 487 * test/fileutils/test_fileutils.rb: add a test for above. 488 489Sat Feb 2 12:30:00 2013 Zachary Scott <zachary@zacharyscott.net> 490 491 * lib/uri/ftp.rb (URI::FTP.new2): nodoc method from r39013 [Bug #7301] 492 493Sat Feb 2 12:15:36 2013 Yusuke Endoh <mame@tsg.ne.jp> 494 495 * lib/uri/ftp.rb (URI::FTP.new2): remove the rdoc because it is not 496 well tested yet. [Bug #7301] 497 498Sat Feb 2 12:07:41 2013 Yusuke Endoh <mame@tsg.ne.jp> 499 500 * ChangeLog: Forgot to add a reference to the ChangeLog of the 501 previous commit. 502 503Sat Feb 2 12:05:18 2013 Yusuke Endoh <mame@tsg.ne.jp> 504 505 * lib/fileutils.rb: chmod/chmod_R with a string mode (e.g., "+x") 506 caused error in verbose mode. [Bug #7373] 507 508 * test/fileutils/test_fileutils.rb: add a test for above. 509 510Sat Feb 2 11:44:42 2013 Yusuke Endoh <mame@tsg.ne.jp> 511 512 * lib/English.rb: Remove some confusing words from rdoc. [Bug #7406] 513 514Sat Feb 2 10:17:12 2013 Kazuki Tsujimoto <kazuki@callcc.net> 515 516 * NEWS: add keyword arguments. 517 518Sat Feb 2 07:45:44 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 519 520 * proc.c (proc_curry): Fix arity check [Bug #5747] 521 522 * test/ruby/test_proc.rb: Test for above 523 524Sat Feb 2 07:44:15 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 525 526 * proc.c: Add {*}_min_max_arity and refactor. 527 [Bug #7765] 528 529 * test/ruby/test_proc.rb: Fix wrong test 530 531Fri Feb 2 00:46:00 2013 Charlie Somerville <charlie@charliesomerville.com> 532 533 * marshal.c: add security considerations to marshal overview, refer to 534 overview from Marshal.load documentation [#7759] 535 536Fri Feb 1 23:04:00 2013 Charlie Somerville <charlie@charliesomerville.com> 537 538 * array.c (rb_ary_dup): make returned array the same class as the original 539 array [Bug #7768] [ruby-core:51792] 540 * test/ruby/test_array.rb (class TestArray): add test 541 542Fri Feb 1 16:35:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 543 544 * marshal.c (r_object0): prohibit setting instance variables of 545 existing class/module. 546 547Fri Feb 1 14:34:29 2013 Shugo Maeda <shugo@ruby-lang.org> 548 549 * ext/readline/extconf.rb, ext/readline/readline.c: check 550 RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE directly in 551 readline.c. Patch by Zachary Scott. [Bug #7397] [ruby-core:49561] 552 553Thu Jan 31 21:55:00 2013 Charlie Somerville <charlie@charliesomerville.com> 554 555 * marshal.c (marshal_load): Add documentation warning against using 556 Marshal.load on untrusted data [Bug #7759] [ruby-core:51765] 557 558Thu Jan 31 16:33:27 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 559 560 * parse.y (local_push_gen): no assigned but unused variable warnings 561 in eval as well as -e. [Feature #7730] [ruby-core:51580] 562 563Wed Jan 30 12:30:08 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 564 565 * test/ruby/test_signal.rb (test_trap_puts): Fix typo. "sync" 566 should be "STDOUT.sync". 567 568Thu Jan 31 15:39:00 2013 Zachary Scott <zachary@zacharyscott.net> 569 570 * string.c (rb_str_aset_m): Documentation for String#[]= fix 571 Raises an IndexError if Regexp match is out of range. 572 Github fixes #243 Patch by Dmtiriy Budnik 573 574Thu Jan 31 13:54:44 2013 Shugo Maeda <shugo@ruby-lang.org> 575 576 * ext/socket/raddrinfo.c (rsock_unix_sockaddr_len): return 577 sizeof(sa_family_t) if path is empty. see "Autobind Feature" in 578 unix(7) for details. 579 580 * ext/socket/lib/socket.rb (unix_socket_abstract_name?): treat an 581 empty path as an abstract name. 582 583 * test/socket/test_unix.rb: related test. 584 585Wed Jan 30 20:58:50 2013 Tanaka Akira <akr@fsij.org> 586 587 * ext/socket/basicsocket.c (bsock_getsockname): ignore truncated 588 part of socket address. 589 (bsock_getpeername): ditto. 590 (bsock_local_address): ditto. 591 (bsock_remote_address): ditto. 592 593 * ext/socket/unixsocket.c (unix_path): ditto. 594 (unix_addr): ditto. 595 (unix_peeraddr): ditto. 596 597 * ext/socket/init.c (cloexec_accept): ditto. 598 599Wed Jan 30 17:08:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 600 601 * include/ruby/win32.h (fstat): revert r37337, which uses _fstati64() 602 instead of fstati64() on mingw32. [Bug #7276] 603 604Wed Jan 30 15:26:37 2013 Shugo Maeda <shugo@ruby-lang.org> 605 606 * ext/socket/unixsocket.c (rsock_init_unixsock): use rb_inspect() 607 because rb_sys_fail_str() fails if its argument contains NUL. 608 609 * test/socket/test_unix.rb: related test. 610 611Wed Jan 30 15:21:30 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 612 613 * vm_dump.c (rb_vm_bugreport): show the most important message, Crash 614 Report log information, first. 615 616Wed Jan 30 15:00:05 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 617 618 * array.c (rb_ary_bsearch): Raise TypeError on bad return from block 619 620 * range.c (range_bsearch): ditto 621 622 * test/ruby/test_array.rb (class): Test for above 623 624 * test/ruby/test_range.rb (class): ditto 625 626Wed Jan 30 14:46:28 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 627 628 * range.c: Restrict bsearch to integers [#7728] 629 630 * test/ruby/test_range.rb: Test for above 631 632Wed Jan 30 14:10:52 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 633 634 * array.c (rb_ary_bsearch): Return enumerator if no block [#7725] 635 636 * range.c (range_bsearch): ditto 637 638 * test/ruby/test_array.rb: Test for above 639 640 * test/ruby/test_range.rb: ditto 641 642Wed Jan 30 13:53:43 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 643 644 * lib/matrix.rb: Take conjugate for inner product 645 [rubyspec:5a01ad5719f2] [ruby-dev:46101] 646 647Wed Jan 30 13:22:05 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 648 649 * parse.y (local_push_gen): warn assigned but unused variables also in 650 toplevel, except for -e option. [Feature #7730] [ruby-core:51580] 651 652Wed Jan 30 13:17:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 653 654 * cont.c (cont_restore_thread): svar should be separate per fibers. 655 [ruby-core:51331] [Bug #7678] 656 657Wed Jan 30 07:15:04 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 658 659 * re.c (reg_operand): Simplify and reuse error handling [Bug #7539] 660 661 * test/ruby/test_regexp.rb: Test for above 662 663Wed Jan 30 07:00:16 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 664 665 * object.c: Improve error for failed implicit conversions [Bug #7539] 666 667 * error.c: Adapt rdoc 668 669 * test/ruby/test_object.rb: Test for above 670 671Tue Jan 29 21:40:12 2013 Tanaka Akira <akr@fsij.org> 672 673 * lib/net/http/generic_request.rb (encode_multipart_form_data): remove 674 tempfile explicitly. 675 676Tue Jan 29 19:27:18 2013 Benoit Daloze <eregontp@gmail.com> 677 678 * array.c: Improve documentation about 679 comparison by hash for concerned methods. [ruby-core:51266] 680 681Tue Jan 29 17:03:28 2013 Koichi Sasada <ko1@atdot.net> 682 683 * vm_backtrace.c: fix issue of rb_debug_inspector_open(). 684 The order of making binding should be stack (frame) top to bottom. 685 [Bug #7635] 686 And also fix issue of collecting klass. Collecting klass is same 687 as TracePoint#defined_class. 688 (previous version, it returns T_ICLASS (internal objects). 689 690 * test/-ext-/debug/test_debug.rb: add a test. 691 692 * ext/-test-/debug/extconf.rb, init.c, inspector.c: ditto. 693 694 * vm_backtrace.c: remove magic number and add enum CALLER_BINDING_*. 695 696 * vm_backtrace.c, include/ruby/debug.h: add new C api (experimental) 697 rb_debug_inspector_frame_self_get(). 698 699 * vm.c, vm_core.h, vm_trace.c: move decl. of 700 rb_vm_control_frame_id_and_class() and constify first parameter. 701 702Tue Jan 29 16:50:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 703 704 * vm_trace.c (rb_tracepoint_enable, rb_tracepoint_disable): check safe 705 level as well as set_trace_func. 706 707 * vm_trace.c (set_trace_func, thread_{add,set}_trace_func_m): check 708 safe level as well as 1.8. 709 710Tue Jan 29 16:49:19 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 711 712 * proc.c (rb_mod_method_arity): return original arity of the method if 713 aliased because of visibility change, like as Method#arity. 714 715Tue Jan 29 12:05:18 2013 Tanaka Akira <akr@fsij.org> 716 717 * test/ruby/test_marshal.rb: remove temporally files early. 718 719 * test/ruby/test_process.rb: ditto. 720 721 * test/psych/test_exception.rb: ditto. 722 723Tue Jan 29 09:26:20 2013 Shugo Maeda <shugo@ruby-lang.org> 724 725 * ext/socket/socket.c (sock_s_pack_sockaddr_un): calculate the 726 correct address length of an abstract socket. 727 728 * test/socket/test_unix.rb: related test. 729 730Mon Jan 28 18:02:16 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 731 732 * vm_backtrace.c (rb_debug_inspector_frame_{class,binding,iseq}_get): 733 use long as index as well as RARRAY_LEN(). 734 735Mon Jan 28 17:51:38 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 736 737 * test/ruby/envutil.rb (assert_separately): imply no core dump. 738 739Mon Jan 28 12:32:31 2013 Tanaka Akira <akr@fsij.org> 740 741 * ext/fcntl/fcntl.c: update document. use "file descriptor" instead 742 of "file handle" because it is not used other Ruby documents and 743 it is confusing with Windows file handle. 744 correct F_DUPFD behavior. 745 746Sat Jan 26 22:39:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 747 748 * marshal.c (w_object): dump instance variables of the result of 749 marshal_dump not the original object. [ruby-core:51163] [Bug #7627] 750 751 * complex.c (nucomp_marshal_dump): need to copy instance variables. 752 753 * rational.c (nurat_marshal_dump): ditto. 754 755Sat Jan 26 13:35:56 2013 Eric Hodel <drbrain@segment7.net> 756 757 * ext/fcntl/fcntl.c: Document Fcntl constants 758 759Sat Jan 26 12:54:40 2013 Eric Hodel <drbrain@segment7.net> 760 761 * hash.c (rb_env_size): Restored documentation for ENV.size 762 763 * lib/drb/drb.rb: Documented DRb::DRb#run. 764 765 * lib/erb.rb (class ERB): Improved documentation of ERb. 766 767 * transcode.c: Documented Encoding::Converter constants. 768 769Sat Jan 26 10:09:57 2013 Eric Hodel <drbrain@segment7.net> 770 771 * lib/webrick/accesslog.rb: Improved WEBrick documentation. 772 * lib/webrick/cgi.rb: ditto. 773 * lib/webrick/config.rb: ditto. 774 * lib/webrick/cookie.rb: ditto. 775 * lib/webrick/httpauth/authenticator.rb: ditto. 776 * lib/webrick/httpauth/basicauth.rb: ditto. 777 * lib/webrick/httpauth/digestauth.rb: ditto. 778 * lib/webrick/httpproxy.rb: ditto. 779 * lib/webrick/httprequest.rb: ditto. 780 * lib/webrick/httpresponse.rb: ditto. 781 * lib/webrick/https.rb: ditto. 782 * lib/webrick/httpserver.rb: ditto. 783 * lib/webrick/httpservlet/cgihandler.rb: ditto. 784 * lib/webrick/httpservlet/filehandler.rb: ditto. 785 * lib/webrick/httpservlet/prochandler.rb: ditto. 786 * lib/webrick/httputils.rb: ditto. 787 * lib/webrick/httpversion.rb: ditto. 788 * lib/webrick/log.rb: ditto. 789 * lib/webrick/server.rb: ditto. 790 * lib/webrick/ssl.rb: ditto. 791 * lib/webrick/utils.rb: ditto. 792 * lib/webrick/version.rb: ditto. 793 794Sat Jan 26 08:29:33 2013 Shugo Maeda <shugo@ruby-lang.org> 795 796 * ext/socket/raddrinfo (rsock_unix_sockaddr_len): renamed from 797 rsock_unixpath_len, because it returns not the length of the path, 798 but the length of a socket address for the path. 799 800Sat Jan 26 01:12:23 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 801 802 * test/ruby/test_io.rb (test_ioctl_linux): skip if a platform is 803 not x86 because linux ioctl request number depend on cpu arch. 804 At least, alpha, mips, sparc and ppc have a different number. 805 [Bug #7718] [ruby-core:51544] 806 807Fri Jan 25 19:14:24 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp> 808 809 * ext/win32ole/win32ole.c: use TlsAlloc instead of __declspec(thread) 810 to avoid SEGV if win32ole.so loaded with LoadLibrary in Windows 811 XP or earlier. 812 813Fri Jan 25 16:47:31 2013 Shugo Maeda <shugo@ruby-lang.org> 814 815 * ext/socket/raddrinfo.c (rsock_unixpath_len, init_unix_addrinfo), 816 ext/socket/unixsocket.c (unixsock_connect_internal, 817 rsock_init_unixsock): calculate the correct address length of 818 an abstract socket. Without this fix, sizeof(struct sockaddr_un) 819 is specified as the length of an abstract socket for bind(2) or 820 connect(2), so the address of the socket is filled with extra NUL 821 characters. See unix(7) for details. 822 823 * ext/socket/lib/socket.rb (unix_server_socket): don't access the 824 file system if the platform is Linux and path starts with NUL, 825 which means that the socket is an abstract socket. 826 827 * test/socket/test_unix.rb: related test. 828 829Fri Jan 25 13:02:27 2013 Eric Hodel <drbrain@segment7.net> 830 831 * lib/drb/drb.rb: Updated documentation based on patch from Vincent 832 Batts. [ruby-trunk - Bug #7714] 833 * lib/drb/ssl.rb: ditto. 834 835Fri Jan 25 12:23:29 2013 Eric Hodel <drbrain@segment7.net> 836 837 * lib/drb/drb.rb: Improved documentation by adding or hiding methods. 838 * lib/drb/eq.rb: ditto. 839 * lib/drb/extserv.rb: ditto. 840 * lib/drb/gw.rb: ditto. 841 * lib/drb/invokemethod.rb: ditto. 842 * lib/drb/observer.rb: ditto. 843 * lib/drb/ssl.rb: ditto. 844 * lib/drb/timeridconv.rb: ditto. 845 * lib/drb/unix.rb: ditto. 846 847 * sample/drb/gw_cu.rb: Fixed bug in DRb gateway sample. 848 849Fri Jan 25 12:01:56 2013 Koichi Sasada <ko1@atdot.net> 850 851 * vm_core.h: modify a comment about rb_iseq_t::local_size. 852 A patch by davidbalbert (David Albert) [Bug #6750] 853 854Fri Jan 25 10:36:31 2013 Eric Hodel <drbrain@segment7.net> 855 856 * lib/mkmf.rb: Documented MakeMakefile constants. Hide implementation 857 details from RDoc 858 859Fri Jan 25 10:04:07 2013 Eric Hodel <drbrain@segment7.net> 860 861 * lib/rubygems/compatibility.rb: Hide compatibility shims from RDoc 862 863 * lib/rubygems/config_file.rb: Hide RbConfig use from RDoc 864 865 * lib/rubygems/test_case.rb: Added note to use realpath when 1.8 866 support is dropped. 867 868Fri Jan 25 09:14:43 2013 Eric Hodel <drbrain@segment7.net> 869 870 * lib/rdoc/generator/darkfish.rb: Fixed debug message. RDoc bug #174 871 by Thomas Leitner. 872 873 * lib/rdoc/store.rb: Fixed deletion of ri attribute data when a class 874 was loaded then saved. RDoc bug #171 by Thomas Leitner. 875 * test/rdoc/test_rdoc_store.rb: Test for above. 876 877Thu Jan 24 19:55:25 2013 Shota Fukumori <her@sorah.jp> 878 879 * NEWS (yaml): Write about bundled libyaml. 880 881Thu Jan 24 16:54:34 2013 Eric Hodel <drbrain@segment7.net> 882 883 * doc/syntax/calling_methods.rdoc: Added a Method Lookup section. 884 * doc/syntax/refinements.rdoc (Method Lookup): Clarified that 885 refinement methods are looked up in classes, not instances. 886 887Thu Jan 24 16:49:17 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 888 889 * enum.c (enum_zip): Fix error message 890 891 * array.c (take_items): Same, for Array#zip 892 893Thu Jan 24 16:47:26 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 894 895 * enumerator.c (lazy_zip): raise error for bad arguments 896 [Bug #7706] 897 898Thu Jan 24 16:05:08 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 899 900 * enumerator.c: Optimize Lazy#zip when passed only arrays 901 [Bug #7706] 902 903Thu Jan 24 15:21:17 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 904 905 * enumerator.c: Fix state handling for Lazy#zip,{drop_take}{_while} 906 [bug #7696] [bug #7691] 907 908Thu Jan 24 11:43:47 2013 Narihiro Nakamura <authornari@gmail.com> 909 910 * eval.c (f_current_dirname): Add documentation about "__dir__ 911 returns always an absolute path". [Bug #7729] 912 913Thu Jan 24 10:28:30 2013 Eric Hodel <drbrain@segment7.net> 914 915 * NEWS (RDoc): Added mention of page support and markdown support. 916 917Thu Jan 24 09:40:13 2013 Eric Hodel <drbrain@segment7.net> 918 919 * doc/syntax/refinements.rdoc: Added refinements document based on 920 the specification from the wiki. 921 * doc/syntax.rdoc: Added link to refinements document. 922 923Wed Jan 23 16:29:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 924 925 * win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): fix missing 926 initialization. pointed out by phasis68 (Heesob Park) at 927 [ruby-core:51579]. [Bug #7721] 928 929Wed Jan 23 16:18:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 930 931 * lib/mkmf.rb (MakeMakefile#try_constant): fix for large unsigned. 932 933 * lib/mkmf.rb (MakeMakefile#try_constant): fix for larger constants. 934 935 * test/mkmf/test_constant.rb: tests for try_constant. 936 TODO: define check_constant and use it. 937 938Wed Jan 23 13:35:37 2013 Koichi Sasada <ko1@atdot.net> 939 940 * thread_pthread.c (ruby_init_stack): ignore `STACK_END_ADDRESS' 941 if Ruby interpreter is running on co-routine. 942 [Feature #2294] 943 https://bugs.ruby-lang.org/issues/2294#note-18 944 945Wed Jan 23 12:28:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 946 947 * win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): check the results 948 of acp_to_wstr() which can return NULL. [ruby-core:51557] [Bug #7721] 949 950Wed Jan 23 10:40:49 2013 Eric Hodel <drbrain@segment7.net> 951 952 * doc/syntax/assignment.rdoc (Implicit Array Assignment): Clarify 953 that "left-hand side" means "of the assignment". Suggested by Jorge 954 Dias. 955 * doc/syntax/assignment.rdoc (Multiple Assignment): ditto. 956 957Wed Jan 23 10:34:47 2013 Eric Hodel <drbrain@segment7.net> 958 959 * doc/syntax/assignment.rdoc (Local Variables and Methods): Fixed 960 example showing caching of a method's results into a local variable. 961 Added not about using an explicit receiver to call a method that 962 matches a local variable. Suggested by markov_twain on twitter. 963 964Wed Jan 23 10:20:08 2013 Eric Hodel <drbrain@segment7.net> 965 966 * lib/README: Fixed typo. Patch by Pradeep Sahoo. 967 Fixes #240 on github 968 969Wed Jan 23 09:53:39 2013 Eric Hodel <drbrain@segment7.net> 970 971 * lib/rdoc/servlet.rb: Fixed display of site and home documentation. 972 Fixes rdoc issue #170 by Thomas Leitner. 973 * test/rdoc/test_rdoc_servlet.rb: Test for above. 974 975 * lib/rdoc/code_object.rb: Split #initialize_visibility from 976 #initialize for reuse when loading a stored object. 977 Fixes rdoc issue #171 by Thomas Leitner. 978 979 * lib/rdoc/any_method.rb: Initialize visibility for #display? For 980 rdoc issue #171 981 * lib/rdoc/attr.rb: ditto. 982 * lib/rdoc/class_module.rb: ditto. 983 * lib/rdoc/top_level.rb: ditto. 984 * test/rdoc/test_rdoc_any_method.rb: Test for above. 985 * test/rdoc/test_rdoc_attr.rb: ditto. 986 * test/rdoc/test_rdoc_class_module.rb: ditto. 987 * test/rdoc/test_rdoc_constant.rb: ditto. 988 * test/rdoc/test_rdoc_top_level.rb: ditto. 989 990Wed Jan 23 06:43:26 2013 Eric Hodel <drbrain@segment7.net> 991 992 * lib/rubygems/test_case.rb: Use Dir.tmpdir for rubygems tests instead 993 of ./tmp/test. Fixes [ruby-trunk - Bug #7717] 994 995Tue Jan 22 22:58:03 2013 Akinori MUSHA <knu@iDaemons.org> 996 997 * misc/ruby-electric.el (ruby-electric-curlies): Fix the bug where 998 an open curly inserted in a string is always replaced with a 999 hash sign. 1000 1001Mon Jan 21 15:41:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1002 1003 * tool/mkconfig.rb: BASERUBY is transient at core build. 1004 1005Mon Jan 21 13:51:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1006 1007 * lib/mkmf.rb ($extmk): traverse parent directories for the case 1008 srcdir is a symlink. 1009 1010Sun Jan 20 23:55:37 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1011 1012 * marshal.c (w_object, r_object0): separate respond_to checks and 1013 calling, and get back to the old behavior for 2.0. [Bug #7564] 1014 1015Sun Jan 20 22:24:28 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1016 1017 * tool/vpath.rb (VPath#def_options): hack for msys make, which 1018 converts a command line argument to non-msys command seems like a 1019 path list automagically. [Bug #7710] [ruby-core:51489] 1020 1021Sat Jan 19 11:35:00 2013 Zachary Scott <zachary@zacharyscott.net> 1022 1023 * struct.c (Struct.new): Document Struct.new with block 1024 Patch by Hiroyuki Iwatsuki [Bug #7674] 1025 1026Sat Jan 19 09:52:46 2013 Eric Hodel <drbrain@segment7.net> 1027 1028 * doc/syntax/miscellaneous.rdoc: Added section on defined? 1029 1030Sat Jan 19 09:27:31 2013 Eric Hodel <drbrain@segment7.net> 1031 1032 * doc/syntax/assignment.rdoc (Local Variables and Methods): Made it 1033 more clear that local variables are created by the parser, not 1034 execution. Thanks to John Hawthorn. 1035 1036Sat Jan 19 09:15:58 2013 Eric Hodel <drbrain@segment7.net> 1037 1038 * doc/syntax/assignment.rdoc: Improved links 1039 * doc/syntax/methods.rdoc: ditto. 1040 1041 * doc/syntax.rdoc: Added link to assignment document 1042 1043Sat Jan 19 08:47:33 2013 Eric Hodel <drbrain@segment7.net> 1044 1045 * doc/syntax/assignment.rdoc: Added a syntax document on assignment. 1046 1047Fri Jan 18 14:11:01 2013 Eric Hodel <drbrain@segment7.net> 1048 1049 * doc/syntax/methods.rdoc: Added Array Decomposition. 1050 1051Fri Jan 18 12:54:21 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1052 1053 * tool/rbinstall.rb (gem): Gem.ensure_gem_subdirectories makes 1054 subdirectories group-writable, so make them with $dir_mode. 1055 1056Fri Jan 18 11:24:33 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1057 1058 * ext/win32ole/win32ole.c (ole_initialize): uninitialize OLE at thread 1059 ends. [Bug #2618] [ruby-core:27634] 1060 1061 * ext/win32ole/win32ole.c (ole_initialize): initialize OLE for each 1062 threads. [Bug #2618] [ruby-core:27634] 1063 1064Thu Jan 17 22:10:35 2013 Kouhei Sutou <kou@cozmixng.org> 1065 1066 * lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Remove 1067 .time dependency from *.rb install target. It causes needless 1068 *.rb install. [Bug #7698] [ruby-core:51437] 1069 Reported by Tadashi Saito. Thanks!!! 1070 * test/rubygems/test_gem_installer.rb 1071 (TestGemInstaller#test_install_extension_and_script): Add a test 1072 for the above change. 1073 1074Thu Jan 17 21:08:20 2013 Kouhei Sutou <kou@cozmixng.org> 1075 1076 * eval.c: Fix a typo in ruby_finalize() documentation. 1077 1078Thu Jan 17 20:28:18 2013 Benoit Daloze <eregontp@gmail.com> 1079 1080 * object.c: Typo in Kernel#hash documentation. 1081 Patch by zed_0xff [Github Fixes #237] 1082 1083Thu Jan 17 10:48:56 2013 Aaron Patterson <aaron@tenderlovemaking.com> 1084 1085 * ext/psych/lib/psych/scalar_scanner.rb: use constants rather than 1086 calculating Inf and NaN. 1087 1088Thu Jan 17 10:21:05 2013 Eric Hodel <drbrain@segment7.net> 1089 1090 * doc/syntax/miscellaneous.rdoc: Added Ending an Expression and 1091 indentation. 1092 1093Thu Jan 17 09:30:21 2013 Eric Hodel <drbrain@segment7.net> 1094 1095 * lib/rubygems/installer.rb: Untaint string when checking output 1096 for $SAFE=1 1097 1098 * lib/rubygems/specification.rb: Keep previously loaded specs as 1099 active. This prevents double loading when refreshing the gem list. 1100 * test/rubygems/test_gem.rb: Test for above 1101 1102 * lib/rubygems.rb: Bump version to 2.0.0.rc.2 1103 1104Thu Jan 17 09:08:37 2013 Eric Hodel <drbrain@segment7.net> 1105 1106 * doc/syntax/control_expressions.rdoc: Added ? : ternary if 1107 1108Thu Jan 17 08:36:04 2013 Eric Hodel <drbrain@segment7.net> 1109 1110 * doc/syntax/miscellaneous.rdoc: Added documentation for alias, undef, 1111 BEGIN, END. 1112 * doc/syntax/modules_and_classes.rdoc (Constants): Fixed unwrapped 1113 paragraph with trailing whitespace. 1114 * doc/syntax/modules_and_classes.rdoc (Scope): Added section pointing 1115 to alias and undef documentation. 1116 * doc/syntax.rdoc: Added link to miscellaneous section. 1117 1118Thu Jan 17 07:50:26 2013 Eric Hodel <drbrain@segment7.net> 1119 1120 * doc/syntax/control_expressions.rdoc (Flip-Flop): Added a section on 1121 the flip-flop. 1122 1123Thu Jan 17 06:59:51 2013 Eric Hodel <drbrain@segment7.net> 1124 1125 * doc/syntax/control_expressions.rdoc (if Expressions): Fixed markup 1126 error. Fixes #235 on github by FlyingFoX. 1127 1128Thu Jan 17 06:53:58 2013 Eric Hodel <drbrain@segment7.net> 1129 1130 * doc/syntax/literals.rdoc (Strings): Fixed typo. Fixes #236 on 1131 github by Doug Yun. 1132 1133Wed Jan 16 18:45:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1134 1135 * ext/win32ole/lib/win32ole.rb: use TracePoint to hook all thread 1136 creation not only by Thread.new and to get rid of interference with 1137 svar scope. [Bug #7681] [ruby-core:51365] 1138 1139Wed Jan 16 09:35:53 2013 Eric Hodel <drbrain@segment7.net> 1140 1141 * .document: Removed extra space 1142 * lib/irb/lc/.document: Hide help-message 1143 * lib/minitest/.document: Hide README.txt 1144 * lib/rake/lib/.document: Hide project.rake 1145 * lib/rdoc/generator/template/json_index/.document: Hide JavaScript 1146 files 1147 * lib/rubygems/ssl_certs/.document: Hide PEM files. 1148 1149Wed Jan 16 03:54:28 2013 Eric Hodel <drbrain@segment7.net> 1150 1151 * doc/syntax/control_expressions.rdoc: Omit optional "then" for if and 1152 unless expressions. Improved description of "a if a = 0.zero?" 1153 NameError. Note that "do" for for loop is optional. 1154 1155Wed Jan 16 03:28:47 2013 Eric Hodel <drbrain@segment7.net> 1156 1157 * doc/syntax/calling_methods.rdoc: Link to defining methods. 1158 * doc/syntax/methods.rdoc: Link to calling methods, fixed typo. 1159 1160Wed Jan 16 03:15:00 2013 Eric Hodel <drbrain@segment7.net> 1161 1162 * doc/syntax/methods.rdoc: Fixed link 1163 * doc/syntax/modules_and_classes.rdoc: Fixed link 1164 * doc/syntax.rdoc: Updated with links to the recently added pages 1165 1166Wed Jan 16 03:05:50 2013 Eric Hodel <drbrain@segment7.net> 1167 1168 * doc/syntax/control_expressions.rdoc (redo Statement): Added note 1169 about retry. 1170 * doc/syntax/exceptions.rdoc: Added retry statement 1171 1172Tue Jan 15 23:12:34 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1173 1174 * tool/vpath.rb (VPath#list): default separator to PATH_SEPARATOR from 1175 configure.in for make, not same name constant of File for use in ruby. 1176 1177Tue Jan 15 22:30:04 2013 Keiju Ishitsuka <keiju@ishitsuka.com> 1178 1179 * lib/irb/ext/save-history.rb: identify rightly a status of a 1180 history file that already exists [Bug #7694]. Thanks Nobuhiro IMAI 1181 for this patch. 1182 1183Tue Jan 15 15:55:28 2013 Eric Hodel <drbrain@segment7.net> 1184 1185 * doc/syntax/control_expressions.rdoc: Added description of control 1186 expressions in ruby. 1187 1188Tue Jan 15 13:33:00 2013 Eric Hodel <drbrain@segment7.net> 1189 1190 * doc/syntax/methods.rdoc (Method Names): Added method names including 1191 operator methods. 1192 * doc/syntax/methods.rdoc (Return Values): Added note that assignment 1193 methods ignore return values. 1194 * doc/syntax/precedence.rdoc: Added document describing precedence. 1195 1196Tue Jan 15 11:49:31 2013 Eric Hodel <drbrain@segment7.net> 1197 1198 * doc/syntax/methods.rdoc (Block Argument): Added section on block 1199 argument. Thanks to Andy Lindeman. 1200 1201Tue Jan 15 10:54:59 2013 Eric Hodel <drbrain@segment7.net> 1202 1203 * doc/syntax/calling_methods.rdoc (Arguments): Added improved 1204 introduction to arguments including passing style and lazy 1205 evaluation. Thanks to Matt Aimonetti. 1206 * doc/syntax/calling_methods.rdoc (Positional Arguments): Added 1207 description for sending a message to a method with *arguments 1208 * doc/syntax/calling_methods.rdoc (Default Positional Arguments): 1209 Added description. Thanks to Andy Lindeman. 1210 * doc/syntax/calling_methods.rdoc (Block Local Arguments): 1211 Added description of block locals. Thanks to Justin Collins. 1212 * doc/syntax/calling_methods.rdoc (Hash to Keyword Arguments): Added 1213 section describing ** operator. Thanks to Justin Collins. 1214 1215Tue Jan 15 10:40:18 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 1216 1217 * test_lazy_enumerator: Test that map & flat_map also require a block 1218 1219Tue Jan 15 09:22:47 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1220 1221 * thread_pthread.c (gvl_init): Reset gvl.wait_yield explicitly when 1222 fork()ing. Patch by Apollon Oikonomopoulos. Thanks! 1223 [Bug #7693][ruby-core:51424] 1224 1225Tue Jan 15 09:27:56 2013 Eric Hodel <drbrain@segment7.net> 1226 1227 * doc/syntax/calling_methods.rdoc (Receiver): Added :: as pointed out 1228 by Tony Arcieri 1229 * doc/syntax/calling_methods.rdoc (Block Argument): Fixed { } block 1230 examples as pointed out by David Copeland. 1231 1232Tue Jan 15 09:10:29 2013 Eric Hodel <drbrain@segment7.net> 1233 1234 * doc/syntax/methods.rdoc (Array/Hash Argument): Moved above Keyword 1235 Arguments 1236 * doc/syntax/methods.rdoc (Keyword Arguments): Described ** for 1237 gathering arbitrary keyword arguments. 1238 1239Tue Jan 15 08:56:37 2013 Eric Hodel <drbrain@segment7.net> 1240 1241 * doc/syntax/calling_methods.rdoc: Added document describing method 1242 calls. 1243 1244Tue Jan 15 07:39:21 2013 Eric Hodel <drbrain@segment7.net> 1245 1246 * lib/rdoc/top_level.rb: Fixed extension trimming for page names in 1247 RDoc HTML output. [ruby-trunk - Bug #7673] 1248 * test/rdoc/test_rdoc_top_level.rb: Test for above. 1249 1250Mon Jan 14 23:06:41 2013 Keiju Ishitsuka <keiju@ishitsuka.com> 1251 1252 * lib/irb/ext/save-history.rb: outputs its history to 1253 owner-only-readable file and change the permission of a file that 1254 already exists [Bug #7694]. Thanks Nobuhiro IMAI for bug reports. 1255 1256Mon Jan 14 17:12:48 2013 Shugo Maeda <shugo@ruby-lang.org> 1257 1258 * enumerator.c (lazy_flat_map_func): flat_map should call each only 1259 when the value of a block returns a forcable object. 1260 [ruby-core:51401] [Bug #7690] 1261 1262 * enumerator.c (lazy_flat_map): add documentation. 1263 1264 * test/ruby/test_lazy_enumerator.rb: related test. 1265 1266Mon Jan 14 16:42:28 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 1267 1268 * enumerator.c: Require block for Lazy#{take|drop}_while [Bug #7692] 1269 1270Mon Jan 14 14:41:00 2013 Kenta Murata <mrkn@mrkn.jp> 1271 1272 * ext/bigdecimal/bigdecimal.c (BigDecimal_to_s): use CRuby style. 1273 1274Mon Jan 14 14:39:00 2013 Kenta Murata <mrkn@mrkn.jp> 1275 1276 * ext/bigdecimal/bigdecimal.c: use `RB_TYPE_P(x, t)` instead of 1277 `TYPE(x) == t`. 1278 1279Mon Jan 14 10:18:56 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 1280 1281 * enumerator.c: Fix size for Enumerator::Lazy#flat_map 1282 1283Mon Jan 14 07:12:52 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 1284 1285 * lib/matrix/lup_decomposition: Fix bugs with LUP Decomposition of 1286 rectangular matrices. [rubyspec:ba849801a85] 1287 1288Mon Jan 14 06:46:53 2013 NARUSE, Yui <naruse@ruby-lang.org> 1289 1290 * regparse.c (add_ctype_to_cc): don't check dup warn on adding 1291 negative ctype to cclass. [Bug #7471] [ruby-core:50344] 1292 1293Mon Jan 14 06:06:03 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 1294 1295 * lib/matrix/eigenvalue_decomposition: Backport bugfix of Jama 1.0.3 1296 [rubyspec:df87040be371] 1297 1298Sun Jan 13 16:45:00 2013 Zachary Scott <zachary@zacharyscott.net> 1299 1300 * ext/psych/yaml/scanner.c: Fix typos, patch by James Dabbs 1301 [Github tenderlove/psych#118] 1302 1303Sun Jan 13 15:00:00 2013 Kenta Murata <mrkn@mrkn.jp> 1304 1305 * ext/bigdecimal/bigdecimal.c (BigDecimal_sub): 1306 need to specify precision for converting Rational and Float. 1307 [ruby-dev:46544] [Bug #7404] 1308 1309 * ext/bigdecimal/bigdecimal.c (BigDecimal_mult): ditto. 1310 1311 * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): ditto. 1312 1313 * ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): ditto. 1314 1315 * ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto. 1316 1317 * test/bigdecimal/test_bigdecimal.rb: add tests for the above fixes. 1318 1319Sun Jan 13 14:48:55 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 1320 1321 * lib/matrix/eigenvalue_decomposition: Fix eigensystem with complex 1322 eigenvectors. Patch by pypypy567. 1323 [Bug #7208] [ruby-dev:46251] [rubyspec:242f8e55bd] 1324 1325 * lib/matrix/lup_decomposition.rb: Fix error for rectangular matrices 1326 [bug#7620] [ruby-core:51118] [rubyspec:41f833ee2] 1327 1328Sun Jan 13 14:06:00 2013 Zachary Scott <zachary@zacharyscott.net> 1329 1330 * lib/irb.rb, lib/prime.rb: Typos in overview 1331 Patch by Ershad K [Github Fixes #234] 1332 1333Sun Jan 13 13:40:00 2013 Zachary Scott <zachary@zacharyscott.net> 1334 1335 * lib/open3.rb : Typo in Open3 overview. Patch by zed_0xff 1336 [Github Fixes #233] 1337 1338Sat Jan 12 17:42:00 2013 Kenta Murata <mrkn@cookpad.com> 1339 1340 * numeric.c (do_coerce): fix for the exceptions which the coerce 1341 method raises. The optimization done by r38756 is preserved. 1342 [Bug #7645] [ruby-core:51213] 1343 1344Sat Jan 12 16:12:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1345 1346 * win32/setup.mak (-runtime-): see msvcrt from link header on mswin 1347 instead of running testing executable file, for cross compiling. 1348 1349Sat Jan 12 08:58:47 2013 Aaron Patterson <aaron@tenderlovemaking.com> 1350 1351 * ext/psych/lib/psych/visitors/to_ruby.rb: merge key values that 1352 contain something besides a hash should be left in tact. 1353 1354 * test/psych/test_merge_keys.rb: test for change 1355 1356Sat Jan 12 07:52:47 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp> 1357 1358 * ext/win32ole/win32ole.c (ole_set_byref): support VT_UI8|VT_BYREF, 1359 VT_I8|VT_BYREF in cygwin and mingw. 1360 1361 * ext/win32ole/win32ole.c (ole_variant2val): ditto. 1362 1363 * test/win32ole/test_win32ole_variant.rb (test_s_new_with_i8_byref): 1364 ditto. 1365 1366 * test/win32ole/test_win32ole_variant.rb (test_s_new_with_ui8_byref): 1367 ditto. 1368 1369Sat Jan 12 02:45:00 2013 Zachary Scott <zachary@zacharyscott.net> 1370 1371 * man/ruby.1 (options): include --*-encoding from r38784 1372 1373Fri Jan 11 23:34:48 2013 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 1374 1375 * ruby.c (usage): sort --*-encoding in help. (same order of -E) 1376 1377Fri Jan 11 16:56:29 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1378 1379 * tool/mkconfig.rb: use configured libdir value to fix 1380 --enable-load-relative on systems where libdir is not default value, 1381 overridden in config.site files. [ruby-core:47267] [Bug #6903] 1382 1383Fri Jan 11 11:59:32 2013 NARUSE, Yui <naruse@ruby-lang.org> 1384 1385 * string.c (dispose_string): use rb_str_free for freeing string in 1386 parse.y. by Sokolov Yura <funny.falcon@gmail.com> 1387 https://github.com/ruby/ruby/pull/87 fix GH-87 1388 1389Fri Jan 11 09:56:22 2013 Shugo Maeda <shugo@ruby-lang.org> 1390 1391 * insns.def (defineclass): private constants should not be accessed 1392 by scoped module definitions. The bug was introduced in r38495. 1393 1394 * test/ruby/test_module.rb: related test. 1395 1396Fri Jan 11 02:11:59 2013 Shugo Maeda <shugo@ruby-lang.org> 1397 1398 * lib/rbconfig/obsolete.rb (respond_to_missing?): use send because 1399 RbConfig.respond_to_missing? is now private. 1400 1401Thu Jan 10 22:00:58 2013 Koichi Sasada <ko1@atdot.net> 1402 1403 * vm_core.h (VM_DEBUG_BP_CHECK): set 0 as default. 1404 This flag specifies checking BP consistency on each frame popping. 1405 Now, we don't have any trouble on it, so I remove it. 1406 If you feel any bugs about VM execution, then set it to 1. 1407 1408Thu Jan 10 21:03:05 2013 TAKANO `takano32' Mitsuhiro <tak@no32.tk> 1409 1410 * cont.c: define FIBER_USE_NATIVE as 0 in ia64. 1411 1412Thu Jan 10 19:39:05 2013 TAKANO `takano32' Mitsuhiro <tak@no32.tk> 1413 1414 * thread.c: fix RB_GC_SAVE_MACHINE_REGISTER_STACK define for ia64. 1415 1416Thu Jan 10 17:45:39 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1417 1418 * Makefile.in, win32/Makefile.sub ($(MKFILES)): continue if Makefile 1419 unchanged. 1420 1421Thu Jan 10 16:31:20 2013 Shugo Maeda <shugo@ruby-lang.org> 1422 1423 * vm_insnhelper.c (vm_search_super_method): raise a TypeError 1424 instead of a NotImplementedError if self is not an instance of the 1425 current class. [ruby-dev:39772] [Bug #2402] 1426 1427Thu Jan 10 16:47:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1428 1429 * ext/tk/extconf.rb (find_tcltk_header): use have_header instead of 1430 try_cpp, which is incredibly slow with VC. 1431 1432Thu Jan 10 15:55:28 2013 Shugo Maeda <shugo@ruby-lang.org> 1433 1434 * numeric.c (do_coerce): remove an unused variable. 1435 1436Thu Jan 10 15:35:55 2013 Shugo Maeda <shugo@ruby-lang.org> 1437 1438 * tool/gen_dummy_probes.rb: remove comments in probes.d to fix the 1439 compilation error introduced by r38755. 1440 1441Thu Jan 10 11:15:04 2013 Kenta Murata <mrkn@cookpad.com> 1442 1443 * numeric.c (do_coerce): speed optimization by using rb_check_funcall 1444 instead of rb_rescue + rb_funcall. 1445 This fix is based on the patch by Benoit Daloze. 1446 [Bug #7645] [ruby-core:51213] 1447 1448Thu Jan 10 11:15:04 2013 Aaron Patterson <aaron@tenderlovemaking.com> 1449 1450 * probes.d: updating probes to be more symmetrical, adding 1451 documentation. 1452 1453 * load.c: ditto 1454 1455Thu Jan 10 04:23:07 2013 Aaron Patterson <aaron@tenderlovemaking.com> 1456 1457 * ext/psych/lib/psych/scalar_scanner.rb: strip trailing dots from 1458 floats so that Float() will not raise an exception. 1459 1460 * test/psych/test_numeric.rb: test to ensure "1." can be loaded 1461 1462 * test/psych/test_string.rb: make sure "1." can round trip 1463 1464Thu Jan 10 03:38:40 2013 Aaron Patterson <aaron@tenderlovemaking.com> 1465 1466 * ext/psych/lib/psych/visitors/yaml_tree.rb: ascii only binary strings 1467 will be dumped as unicode. Thanks Paul Kunysch! 1468 1469 * test/psych/test_string.rb: appropriate test 1470 1471Thu Jan 10 03:29:55 2013 Koichi Sasada <ko1@atdot.net> 1472 1473 * compile.c (compile_array_): modify wrong optimization. 1474 A script "[print(1)]; print(2)" should output "12". 1475 However, the compiler had eliminated "[print(1)]" expression 1476 because it is void expression (unused array). 1477 Of course, side-effect should be remained. 1478 This issue is reported by Masaya Tarui. 1479 1480 * bootstraptest/test_literal.rb: add a test. 1481 1482Wed Jan 9 22:07:42 2013 Masaki Matsushita <glass.saga@gmail.com> 1483 1484 * load.c (load_lock): if thread shield is destroyed and there is no 1485 waiting thread, insert new thread shield into load_table. 1486 [Bug #7530] [ruby-core:50645] 1487 1488Wed Jan 9 21:43:32 2013 Masaki Matsushita <glass.saga@gmail.com> 1489 1490 * load.c (load_lock): revert r38744. it should acquire new thread 1491 shield. 1492 1493Wed Jan 9 15:40:18 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1494 1495 * vm.c (th_init, ruby_thread_init): initialize root_svar with Qnil, 1496 since lep_svar_place() expects uninitialized svar to be nil, not 0. 1497 1498Wed Jan 9 13:20:23 2013 Masaki Matsushita <glass.saga@gmail.com> 1499 1500 * test/ruby/test_require.rb: improve test for r38744. 1501 fix to use Tempfile instead of temporary file in current directory. 1502 the patch is from nobu (Nobuyoshi Nakada). 1503 1504Wed Jan 9 09:53:23 2013 Masaki Matsushita <glass.saga@gmail.com> 1505 1506 * load.c (load_lock): fix not to delete thread shield twice. 1507 it may break the shield locked by another thread. 1508 [Bug #7530] [ruby-core:50645] 1509 1510 * test/ruby/test_require.rb: a test for above. 1511 1512Wed Jan 9 02:13:22 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1513 1514 * include/ruby/ruby.h (RBasic): to be aligned on a VALUE size 1515 boundary. [Bug #7647] 1516 1517Tue Jan 8 14:41:41 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1518 1519 * vm_core.h (rb_iseq_t): move flip_cnt from struct iseq_compile_data, 1520 because it has same life span as enclosing iseq. [Bug #7671] 1521 [ruby-core:51296] 1522 1523Mon Jan 7 23:43:00 2013 Kenta Murata <mrkn@mrkn.jp> 1524 1525 * ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal): 1526 add RB_GC_GUARD to prevent the intermediate object is GCed too early. 1527 This patch was made by Yusuke Endoh. [Bug #7044] [ruby-core:47632] 1528 1529 * test/bigdecimal/test_bigdecimal.rb: add a reproduction test for 1530 the issue [Bug #7044] 1531 1532Mon Jan 7 21:40:36 2013 Shugo Maeda <shugo@ruby-lang.org> 1533 1534 * vm_method.c (Init_eval_method): main.public and main.private 1535 should be private. 1536 1537 * proc.c (Init_Proc): main.define_method should be private. 1538 1539 * test/ruby/test_module.rb: related test. 1540 1541Mon Jan 7 20:48:47 2013 Shugo Maeda <shugo@ruby-lang.org> 1542 1543 * eval.c (Init_eval): main.include should be private. 1544 [ruby-core:51293] [Bug #7670] 1545 1546 * test/ruby/test_module.rb (test_top_include_is_private): a new test 1547 for the above change. 1548 1549Mon Jan 7 20:29:50 2013 Shugo Maeda <shugo@ruby-lang.org> 1550 1551 * NEWS: remove description about `require "refinement"'. 1552 1553Mon Jan 7 20:15:49 2013 Shugo Maeda <shugo@ruby-lang.org> 1554 1555 * eval.c (Init_eval): enable Refinements by default. 1556 [ruby-core:51286] [Bug #7667] 1557 1558 * eval.c (rb_mod_refine, top_using): show a warning when 1559 Module#refine or main.using is called at the first time. 1560 1561 * ext/refinement/*: removed the extension library "refinement". 1562 1563 * test/ruby/test_refinement.rb: fix for the above changes. 1564 1565Mon Jan 7 17:34:22 2013 Koichi Sasada <ko1@atdot.net> 1566 1567 * include/ruby/ruby.h (RUBY_EVENT_SPECIFIED_LINE): make it special. 1568 This flag is not contained by RUBY_EVENT_TRACEPOINT_ALL. 1569 This event is experimental one. It is possible to remove/rename 1570 flag name after 2.0.1. 1571 1572 * vm_trace.c (get_event_id): return :line if SPECIFIED_LINE was 1573 occurred. `:specified_line' never been returned. 1574 1575Mon Jan 7 15:42:10 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1576 1577 * parse.y (f_kwrest): allow bare kwrest_mark as valid syntax. its 1578 semantics is still undefined. [Bug #7662] [ruby-core:51269] 1579 1580Mon Jan 7 15:31:58 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1581 1582 * parse.y (f_kwrest): reject duplicated kwrest argument name. 1583 1584Mon Jan 7 15:24:10 2013 Koichi Sasada <ko1@atdot.net> 1585 1586 * vm_trace.c (rb_threadptr_exec_event_hooks_orig): pop tag before 1587 JUMP_TAG() if frame is `finish' frame. 1588 Without this patch, there is an inconsistency between control 1589 frame stack and tags stack. 1590 [Bug #7668] 1591 1592 * test/ruby/test_settracefunc.rb: add a test for above. 1593 1594Mon Jan 7 15:21:48 2013 NAKAMURA Usaku <usa@ruby-lang.org> 1595 1596 * Makefile.in, common.mk (fake, yes-fake, no-make): these dependencies 1597 are not platform dependent. 1598 1599 * win32/Makefile.sub ($(arch)-fake.rb): workaround. 1600 1601Mon Jan 7 12:09:24 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1602 1603 * vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args): 1604 set keyrest hash after making rest array, so that the last element 1605 will not be overwritten. [ruby-core:51278] [Bug #7665] 1606 1607Mon Jan 7 09:37:24 2013 Koichi Sasada <ko1@atdot.net> 1608 1609 * NEWS: add a NEWS entry about RubyVM. 1610 1611Sun Jan 6 19:06:57 2013 Yuki Yugui Sonoda <yugui@yugui.jp> 1612 1613 * win32/Makefile.sub: Fix build with VC. 1614 Patch by Charlie Savage. Fixes [ruby-core:51261] 1615 1616Sun Jan 6 18:43:48 2013 Yuki Yugui Sonoda <yugui@yugui.jp> 1617 1618 * bootstraptest/test_io.rb: add a test for [ruby-dev:46834]. 1619 1620 * io.c (rb_cloexec_fcntl_dupfd) Use an emulation with dup(2) when 1621 fcntl(2) and/or F_DUPFD is unavailable. 1622 Suggested by akr. 1623 1624 * configure.in (HAVE_FCNTL): NativeClient does not provide fcntl(2). 1625 1626Sun Jan 6 11:11:26 2013 Eric Hodel <drbrain@segment7.net> 1627 1628 * doc/syntax/modules_and_classes.rdoc: Fixed typo. 1629 1630Sun Jan 6 05:35:18 2013 Eric Hodel <drbrain@segment7.net> 1631 1632 * doc/syntax/modules_and_classes.rdoc: Added singleton classes 1633 documentation. 1634 1635Sun Jan 6 02:22:00 2013 Zachary Scott <zachary@zacharyscott.net> 1636 1637 * lib/webrick/httpservlet/abstract.rb (WEBrick::HTTPServlet): Typo in 1638 example. Patch by shlensky [Fixes #232 on github] 1639 1640Sat Jan 5 21:15:10 2013 NARUSE, Yui <naruse@ruby-lang.org> 1641 1642 * lib/net/http/generic_request.rb: 1643 Amazon ECA API and GTE/1.3 disallow requests whose host has port 1644 number if its port number equals to default port number of the 1645 scheme. [Bug #7650] 1646 1647Sat Jan 5 13:58:59 2013 Eric Hodel <drbrain@segment7.net> 1648 1649 * doc/syntax/modules_and_classes.rdoc: Improved description of methods 1650 on a module or class as suggested by Tobias Buhlmann 1651 1652Sat Jan 5 13:38:07 2013 Masaki Matsushita <glass.saga@gmail.com> 1653 1654 * string.c (rb_str_enumerate_lines): fix invalid byte sequence error 1655 when a separator is passed. The patch is from yoshidam (Yoshida 1656 Masato). 1657 [Bug #7646] [ruby-dev:46827] 1658 1659 * test/ruby/test_string.rb: a test for above. 1660 1661Sat Jan 5 12:25:42 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> 1662 1663 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err): 1664 check stdout and stderr both. 1665 1666Sat Jan 5 10:21:54 2013 Eric Hodel <drbrain@segment7.net> 1667 1668 * doc/syntax/modules_and_classes.rdoc: Added documentation of syntax 1669 for Modules and Classes. 1670 * doc/syntax/methods.rdoc: Moved some text to the Modules and 1671 Classes syntax document. 1672 1673Sat Jan 5 08:38:27 2013 Eric Hodel <drbrain@segment7.net> 1674 1675 * doc/syntax/methods.rdoc: Added return values and scope sections, 1676 slightly modified from the original patch. Fixes #227 from github by 1677 Dave Brown. 1678 1679Sat Jan 5 08:21:41 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1680 1681 * io.c (rb_cloexec_fcntl_dupfd): improve #ifdef condition. 1682 * io.c (rb_maygvl_fd_fix_cloexec): ditto. 1683 1684Sat Jan 5 07:54:59 2013 Eric Hodel <drbrain@segment7.net> 1685 1686 * lib/rubygems/commands/cleanup_command.rb: Clean all possible gems 1687 using multiple passes. Fixes RubyGems bug #422. Refactored for 1688 maintainability. 1689 * test/rubygems/test_gem_commands_cleanup_command.rb: Test for above. 1690 1691Sat Jan 5 05:04:39 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 1692 1693 * gc.c (vm_xrealloc): add a few comment why we avoid realloc(ptr,0). 1694 1695Fri Jan 4 20:17:06 2013 Yuki Yugui Sonoda <yugui@yugui.jp> 1696 1697 * Makefile.in (RBCONFIG): Moved from common.mk in order to use the 1698 variable in Makefile.in. 1699 1700 * win32/Makefile.sub (RBCONFIG): Ditto. 1701 1702Fri Jan 4 19:45:50 2013 Yuki Yugui Sonoda <yugui@yugui.jp> 1703 1704 * common.mk (run, parse): Use BTESTRUBY instead of MINIRUBY to handle 1705 cross-compiling cases, e.g. NativeClient. 1706 1707Fri Jan 4 17:58:16 2013 Yuki Yugui Sonoda <yugui@yugui.jp> 1708 1709 * common.mk (yes-btest): btest depends on also $(arch)-fake.rb and 1710 rbconfig.rb on building for NativeClient. 1711 1712 * Makefile.in (fake): Avoid generating $(arch)-fake.rb unless cross 1713 compiling. 1714 1715 * configure.in (CROSS_COMPILING): New substitution. 1716 1717Fri Jan 4 16:26:45 2013 Eric Hodel <drbrain@segment7.net> 1718 1719 * lib/rubygems/doctor.rb: Process directories in order in case the 1720 filesystem doesn't. [ruby-trunk - Bug #7618] 1721 1722 Process specifications before other directories in case of bugs. 1723 * test/rubygems/test_gem_doctor.rb: Test for above. 1724 1725 * lib/rubygems.rb: Updated version. 1726 1727 * test/rubygems/test_require.rb: Fixed double require of 1728 benchmark.rb. RubyGems bug #420. 1729 1730 * test/rubygems/test_gem_commands_check_command.rb: Fixed unused 1731 variable warnings. 1732 * test/rubygems/test_gem_commands_query_command.rb: ditto 1733 * test/rubygems/test_gem_installer.rb: ditto 1734 1735Fri Jan 4 15:05:25 2013 Eric Hodel <drbrain@segment7.net> 1736 1737 * lib/rdoc/cross_reference.rb: Fixed matching of C#=== or #===. RDoc 1738 bug #164 1739 * test/rdoc/test_rdoc_cross_reference.rb: Test for above. 1740 1741 * lib/rdoc/parser/changelog.rb: Fixed parsing of dates. RDoc bug #165 1742 * test/rdoc/test_rdoc_parser_changelog.rb: Test for above. 1743 1744 * lib/rdoc/parser.rb: Fixed parsing multibyte files with incomplete 1745 characters at byte 1024. [ruby-trunk - Bug #6393] 1746 Fixed handling of -E. [ruby-trunk - Bug #6392] 1747 * test/rdoc/test_rdoc_options.rb: Test for above. 1748 * test/rdoc/test_rdoc_parser.rb: ditto. 1749 * test/rdoc/test_rdoc_parser_c.rb: ditto. 1750 * test/rdoc/test_rdoc_parser_changelog.rb: ditto. 1751 * test/rdoc/test_rdoc_parser_markdown.rb: ditto. 1752 * test/rdoc/test_rdoc_parser_rd.rb: ditto. 1753 * test/rdoc/test_rdoc_rdoc.rb: ditto. 1754 1755 * lib/rdoc/tom_doc.rb: Fixed parsing of [] in TomDoc arguments list. 1756 RDoc bug #167 1757 * test/rdoc/test_rdoc_tom_doc.rb: Test for above. 1758 1759 * lib/rdoc.rb: Update version. 1760 1761Fri Jan 4 11:51:00 2013 Zachary Scott <zachary@zacharyscott.net> 1762 1763 * lib/forwardable.rb: Fix rdoc parameters for ::def_single_delegator. 1764 Patch by Vladimir Andrijevik [Github Fixes #230] 1765 1766Fri Jan 4 00:35:11 2013 Yuki Yugui Sonoda <yugui@yugui.jp> 1767 1768 Fix failures on btest for NativeClient. 1769 * bootstraptest/runner.rb (nacl?): New method to distinguish NaCl 1770 cross build. 1771 1772 * bootstraptest/test_io.rb: Skip unsupported operations. 1773 1774 * bootstraptest/test_literal.rb: ditto. 1775 1776Fri Jan 4 00:29:40 2013 Yuki Yugui Sonoda <yugui@yugui.jp> 1777 1778 * io.c (rb_cloexec_fcntl_dupfd): Fix failures in 1779 bootstrap_test/test_io.rb. NativeClient does not support F_DUPFD 1780 but supports dup2(2). 1781 1782Thu Jan 3 17:46:50 2013 Kouhei Sutou <kou@cozmixng.org> 1783 1784 * lib/rexml/element.rb (REXML::Elements#add): Remove too much 1785 "elements" in document. Sorry... 1786 1787Thu Jan 3 17:42:32 2013 Kouhei Sutou <kou@cozmixng.org> 1788 1789 * lib/rexml/element.rb (REXML::Elements#each): Add missing 1790 "elements" in document. [ruby-talk:402713] 1791 Reported by Wesley Rishel. Thanks!!! 1792 1793Thu Jan 3 15:13:00 2013 Zachary Scott <zachary@zacharyscott.net> 1794 1795 * ext/psych/lib/psych.rb (Psych.load): Return value of 1796 Psych::SyntaxError.message should be same as example. 1797 Patch by Ippei Obayashi [ruby-core:51193] [Bug #7636] 1798 1799Thu Jan 3 14:58:00 2013 Zachary Scott <zachary@zacharyscott.net> 1800 1801 * lib/forwardable.rb (SingleForwardable): Fix example in overview 1802 Patch by Vladimir Andrijevik [Github Fixes #231] 1803 1804Thu Jan 3 14:32:47 2013 Yuki Yugui Sonoda <yugui@yugui.jp> 1805 1806 * configure.in (OBJCOPY): Fixes build error for NativeClient. 1807 Avoid disabling OBJCOPY for NativeClient. 1808 1809 * thread_pthread.c (rb_reserved_fd_p): USE_SLEEPY_TIMER_THREAD is 1810 always defined. Fixes compilation error for NativeClient. 1811 1812Wed Jan 02 03:09:00 2013 Zachary Scott <zachary@zacharyscott.net> 1813 1814 * ext/zlib/zlib.c (Zlib::GzipReader): Fix typo by zed_0xff 1815 [Fixes Github #229] 1816 1817Wed Jan 02 02:29:00 2013 Zachary Scott <zachary@zacharyscott.net> 1818 1819 * hash.c (rb_hash_update): Revert documentation from r38672 1820 See: https://github.com/ruby/ruby/pull/228#issuecomment-11791013 1821 1822Wed Jan 02 02:16:00 2013 Zachary Scott <zachary@zacharyscott.net> 1823 1824 * hash.c (rb_hash_update): Documentation for Hash#merge and shallow 1825 copies Patch by Yorick Peterse [Fixes Github #228] 1826 1827Mon Dec 31 15:10:00 2012 Zachary Scott <zachary@zacharyscott.net> 1828 1829 * vm_backtrace.c: Add documentation for Kernel#caller_locations, 1830 Kernel#caller, and Thread::Backtrace::Location 1831 1832Mon Dec 31 13:05:00 2012 Zachary Scott <zachary@zacharyscott.net> 1833 1834 * test/ruby/test_backtrace.rb: Add test for r37957 [Feature #7434] 1835 1836Sun Dec 30 23:33:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 1837 1838 * parse.y (simple_re_meta): escaped closing parenthesis has different 1839 meaning. [Bug #7610] [ruby-core:51088] 1840 1841Sun Dec 30 12:09:47 2012 Charlie Somerville <charlie@charliesomerville.com> 1842 1843 * configure.in: use 4 argument form of AC_CHECK_HEADERS to force 1844 autoconf to use compiler's result 1845 1846Sun Dec 30 10:58:04 2012 Kazuki Tsujimoto <kazuki@callcc.net> 1847 1848 * test/ruby/test_keyword.rb: add a test for passing hash 1849 as a last argument. [ruby-dev:46712] [Bug #7529] 1850 1851Sun Dec 30 10:51:29 2012 Kazuki Tsujimoto <kazuki@callcc.net> 1852 1853 * vm_insnhelper.c: set keyword hash on Proc/block calls. 1854 [ruby-core:51172] [Bug #7630] 1855 1856 * test/ruby/test_keyword.rb: add tests for above. 1857 1858Sat Dec 29 21:57:11 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1859 1860 * lib/irb/completion.rb: treat rightly completion for symbol on irb 1861 [Bug #7632]. 1862 1863Sat Dec 29 21:51:30 2012 Shugo Maeda <shugo@ruby-lang.org> 1864 1865 * ext/curses/curses.c (window_cury, window_curx, window_maxy, 1866 window_maxx, window_begy, window_begx): use RB_UNUSED_VAR() 1867 to suppress unused-but-set-variable warnings. 1868 1869Sat Dec 29 16:45:00 2012 Zachary Scott <zachary@zacharyscott.net> 1870 1871 * iseq.c (RubyVM::InstructionSequence): rdoc formatting 1872 1873Sat Dec 29 15:28:00 2012 Zachary Scott <zachary@zacharyscott.net> 1874 1875 * iseq.c (RubyVM::InstructionSequence): Add rdoc for new iseq features 1876 added from r38085, this includes ::of, #path, #absolute_path, 1877 #label, #base_label, #first_lineno, and #inspect 1878 1879Sat Dec 29 14:06:00 2012 Zachary Scott <zachary@zacharyscott.net> 1880 1881 * iseq.c (rb_iseq_line_trace_all, rb_iseq_line_trace_specify): Add 1882 rdoc for experimental C level api of iseq, from r38076 1883 1884Sat Dec 29 11:37:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 1885 1886 * object.c (rb_obj_clone): attach clone to its singleton class during 1887 cloning singleton class so that singleton_method_added will be called 1888 on it. based on the patch by shiba (satoshi shiba)[Bug #5283] in 1889 [ruby-dev:44477]. [Bug #5283] 1890 1891Sat Dec 29 10:10:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 1892 1893 * configure.in (crt_externs.h): use standard macro AC_CHECK_HEADERS. 1894 1895Fri Dec 28 23:12:44 2012 Charlie Somerville <charlie@charliesomerville.com> 1896 1897 * configure.in: check for the whether crt_externs.h is present when compiling 1898 for darwin (this header is missing in the iOS SDK) 1899 * eval_intern.h: check HAVE_CRT_EXTERNS_H before including crt_externs.h, if 1900 not defined, include missing/crt_externs.h instead 1901 * hash.c: ditto 1902 * missing/setproctitle.c: ditto 1903 * missing/crt_externs.h: declare _NSGetEnviron() function and define environ 1904 for iOS 1905 1906Fri Dec 28 21:40:36 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1907 1908 * lib/irb/context.rb: IRB::Context#new: Check from JobManager 1909 inside IRB namespace [Bug #7628]. Thanks rafaelfranca for bug 1910 report and its patch. 1911 1912Fri Dec 28 17:06:17 2012 Akinori MUSHA <knu@iDaemons.org> 1913 1914 * misc/ruby-electric.el (ruby-electric-curlies): Automatically 1915 indent closing curly brackets when 1916 ruby-electric-newline-before-closing-bracket is true. 1917 1918Fri Dec 28 11:50:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 1919 1920 * vm_insnhelper.c (vm_yield_setup_block_args): pass single argument to 1921 single optional parameter unchanged without splatting. [Bug #7621] 1922 [ruby-dev:46801] 1923 1924Fri Dec 28 11:17:47 2012 Shugo Maeda <shugo@ruby-lang.org> 1925 1926 * proc.c (method_eq): fix the documentation to refer to owner. 1927 [ruby-core:51105] [Bug #7613] 1928 1929 * test/ruby/test_method.rb (test_alias_onwer): new test to confirm 1930 that `a == b' returns false if owners of a and b are different. 1931 1932Fri Dec 28 07:07:43 2012 NARUSE, Yui <naruse@ruby-lang.org> 1933 1934 * def/id.def: use split(/^/) instead of String#lines to support 1935 Ruby 1.8.5 as BASERUBY. 1936 1937Thu Dec 27 21:56:56 2012 NARUSE, Yui <naruse@ruby-lang.org> 1938 1939 * variable.c (rb_mod_remove_const): fix segv caused by r38558. 1940 1941Tue Dec 28 01:13:48 2012 James Edward Gray II <james@graysoftinc.com> 1942 1943 * lib/csv.rb: Added more Hash methods to CSV::Row. 1944 1945Thu Dec 27 23:27:15 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1946 1947 * lib/irb/ruby-lex.rb: make lex_state to EXPR_END when next token 1948 is an operator after SYMBEG [Bug #6378]. 1949 1950Thu Dec 27 21:30:21 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1951 1952 * lib/irb/ruby-lex.rb: allow to handle recursive heredocs on 1953 irb[Bug #5648]. 1954 1955Thu Dec 27 20:45:29 2012 Masaki Matsushita <glass.saga@gmail.com> 1956 1957 * ext/stringio/stringio.c (strio_getline): fix not to raise TypeError 1958 when limit is nil. 1959 [Bug #7232] [ruby-core:48531] 1960 1961 * test/stringio/test_stringio.rb: a test for above. 1962 1963Thu Dec 27 21:08:23 2012 Charlie Somerville <charlie@charliesomerville.com> 1964 1965 * vm_core.h (VM_DEFINECLASS_TYPE): explicit cast to enum type to avoid 64->32 1966 shorten warning 1967 1968Thu Dec 27 20:11:29 2012 Masaki Matsushita <glass.saga@gmail.com> 1969 1970 * ext/stringio/stringio.c (strio_ungetc): raise IOError instead of RuntimeError 1971 if the string is frozen. 1972 [Bug #7231] [ruby-core:48530] 1973 1974 * ext/stringio/stringio.c (strio_ungetbyte): ditto. 1975 1976 * test/stringio/test_stringio.rb: a test for above. 1977 1978Wed Dec 26 23:55:18 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1979 1980 * lib/irb/context.rb: fix IRB::Inspector#keys_with_inspector [Bug #7598] 1981 1982Wed Dec 26 23:26:15 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1983 1984 * lib/irb/context.rb: IRB::Context#use_readline= has been obsolete 1985 [Bug #6339]. 1986 1987Wed Dec 26 21:32:46 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1988 1989 * lib/irb/context.rb: make a correct prompt from 1990 IRB.conf[:IRB_NAME] on irb [Bug #6338]. Patched by sho-h. 1991 1992Wed Dec 26 21:09:19 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1993 1994 * lib/irb/ext/math-mode.rb: make not able to change math-mode 1995 after irb starting [Bug #6302]. Patched by sho-h. 1996 1997Wed Dec 26 12:52:36 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 1998 1999 * lib/irb/init.rb: change default debug level for 2000 irb[ruby-dev:46805], [Bug #6301]. 2001 2002Wed Dec 26 11:54:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2003 2004 * configure.in: enable -fPIE when checking -pie for fixing 2005 OpenBSD build error. Patch by George Koehler. Thank you! 2006 [Bug #7606] [ruby-core:51082] 2007 2008Wed Dec 26 07:31:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2009 2010 * string.c (rb_enc_cr_str_copy_for_substr): empty string is always 2011 valid or 7bit. 2012 2013 * string.c (rb_str_enumerate_lines, rb_str_chop): reduce duplicated 2014 code. 2015 2016 * string.c (rb_str_enumerate_chars): prevent shared copy from GC. 2017 2018Wed Dec 26 01:31:16 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 2019 2020 * lib/irb/init.rb, lib/irb/context.rb: fix conf.debug_level= 2021 [Bug #6301] and fix irb command option: -- irb_debug_level for irb. 2022 2023Wed Dec 26 00:59:18 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 2024 2025 * lib/irb/ruby-lex.rb: improve RubyLex performance for large files 2026 [Bug #5202]. Patch by ryanmelt. 2027 2028Tue Dec 25 22:21:06 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 2029 2030 * lib/irb/output-method.rb: raise right exception when 2031 IRB::OutputMethod#print don't defined [Bug #6657]. 2032 2033Tue Dec 25 22:06:33 2012 Koichi Sasada <ko1@atdot.net> 2034 2035 * vm_trace.c (rb_threadptr_exec_event_hooks_and_pop_frame): 2036 pop a frame before JUMP_TAG() if exception occurred. 2037 This change fix bug of Ruby 1.9. 2038 [ruby-core:51128] [ruby-trunk - Bug #7624] 2039 2040 * vm_core.h (EXEC_EVENT_HOOK_AND_POP_FRAME): add to use 2041 `rb_threadptr_exec_event_hooks_and_pop_frame()'. 2042 2043 * vm.c (vm_exec): use EXEC_EVENT_HOOK_AND_POP_FRAME() while 2044 exception handling. While exception handling, if an exception 2045 is raised in hooks, need to pop current frame and raise this 2046 raised exception by hook. 2047 2048 * test/ruby/test_settracefunc.rb: add a test. 2049 2050Tue Dec 25 21:08:53 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 2051 2052 * lib/irb/init.rb, lib/irb/lc/ja/error.rb, lib/irb/lc/error.rb: 2053 raise exception when illegal RC_NAME_GENERATOR defined [Bug #6455]. 2054 2055Tue Dec 25 19:22:17 2012 Keiju Ishitsuka <keiju@ishitsuka.com> 2056 2057 * lib/irb/workspace.rb: define method to private on top-level irb 2058 [Bug #5776]. Patch by davidbalbert. 2059 2060Tue Dec 25 19:09:51 2012 NAKAMURA Usaku <usa@ruby-lang.org> 2061 2062 * bignum.c, include/ruby/intern.h (rb_big_eql): exported. 2063 2064 * thread.c (recursive_check): object_id maybe a Bignum, not Fixnum on 2065 LLP64. see also r38493 and r38548. 2066 reported by Heesob Park at [ruby-core:51083] [Bug #7607], and patched 2067 by shirosaki at [ruby-core:51095] 2068 2069Tue Dec 25 18:53:35 2012 Koichi Sasada <ko1@atdot.net> 2070 2071 * vm_core.h, eval_intern.h (CHECK_STACK_OVERFLOW): move 2072 CHECK_STACK_OVERFLOW() to vm_core.h and rename to 2073 CHECK_VM_STACK_OVERFLOW(). 2074 This change is only move and rename. 2075 2076 * tool/instruction.rb: catch up above changes. 2077 2078 * vm.c, vm_insnhelper.c: ditto. 2079 2080 * vm_insnhelper.c (vm_stackoverflow): add a function to unify 2081 raising vm stackoverflow exception. 2082 2083Tue Dec 25 16:16:54 2012 Koichi Sasada <ko1@atdot.net> 2084 2085 * vm_core.h (RUBY_VM_THREAD_VM_STACK_SIZE): change default 2086 VM stack size (128 KB or 256 KB -> 512 KB or 1024 KB). 2087 This re-sizing corrects smaller value introduced at r38478. 2088 Newer value is same VM stack size of Ruby 1.9. 2089 [ruby-dev:46797] [ruby-trunk - Bug #7603] 2090 2091Tue Dec 25 13:38:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2092 2093 * error.c (compile_err_append, compile_warn_print, warn_print): use 2094 rb_write_error_str() instead of writing to rb_stderr directly. 2095 2096 * io.c (rb_write_error_str): a stopgap measure not to unblock GVL. 2097 warning from require seems to still have race condition errors. 2098 2099Tue Dec 25 00:59:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2100 2101 * node.h (NODE_OP_CDECL), compile.c (iseq_compile_each), 2102 parse.y (stmt, arg): allow scoped constant op-assignment. 2103 [ruby-core:40154] [Bug #5449] 2104 2105Mon Dec 24 04:56:48 2012 NARUSE, Yui <naruse@ruby-lang.org> 2106 2107 * lib/net/http/generic_request.rb (Net::HTTPGenericRequest): 2108 set content-length to zero on empty post requests 2109 by Gregory Ostermayr <gregory.ostermayr@gmail.com> 2110 https://github.com/ruby/ruby/pull/201 fix GH-201 2111 2112Sun Dec 23 19:09:16 2012 Koichi Sasada <ko1@atdot.net> 2113 2114 * thread.c: rename methods: 2115 from Thread.async_interrupt_timing to Thread.handle_interrupt, 2116 from Thread.async_interrupted? to Thread.pending_interrupt?. 2117 Also rename option from `defer' to `never'. 2118 [ruby-core:51074] [ruby-trunk - Feature #6762] 2119 2120 * vm_core.c, thread.c: rename functions and data structure 2121 `async_errinfo' to `pending_interrupt'. 2122 2123 * thread.c: add global variables sym_immediate, sym_on_blocking and 2124 sym_never. 2125 2126 * cont.c, process.c, vm.c, signal.c: ditto. 2127 2128 * lib/sync.rb, lib/thread.rb: catch up this renaming. 2129 2130 * test/ruby/test_thread.rb: ditto. 2131 2132Sun Dec 23 17:57:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2133 2134 * lib/profiler.rb (Profiler__::PROFILE_PROC, print_profile): store 2135 profile data per threads for concurrent-execution. 2136 [ruby-core:22046] [Bug #1152] 2137 2138 * lib/profiler.rb (Profiler__::Wrapper): support calling singleton 2139 methods of an instance of BasicObject. 2140 2141 * lib/profiler.rb (Profiler__::PROFILE_PROC): use TracePoint. 2142 2143Sun Dec 23 16:13:00 2012 Zachary Scott <zachary@zacharyscott.net> 2144 2145 * lib/erb.rb: typos for ERB::new link 2146 2147Sun Dec 23 16:06:00 2012 Zachary Scott <zachary@zacharyscott.net> 2148 2149 * lib/erb.rb: Document ERB::new trim_mode '-' for lines ending in -%> 2150 [ruby-core:51084] [Bug #7608] 2151 2152Sun Dec 23 15:25:00 2012 Zachary Scott <zachary@zacharyscott.net> 2153 2154 * lib/irb/ruby-lex.rb: Add handling for %i and %I quoting to irb 2155 Patch by flori [ruby-core:49550] [Bug #7392] [Github Issue #157] 2156 2157Sun Dec 23 15:05:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2158 2159 * vm_eval.c (rb_check_funcall_with_hook): rb_check_funcall with hook 2160 which is called before calling method_missing or target method. 2161 2162 * marshal.c (w_object, r_object0): use rb_check_funcall_with_hook 2163 instead of respond_to? and call. 2164 2165Sun Dec 23 14:52:00 2012 Zachary Scott <zachary@zacharyscott.net> 2166 2167 * re.c (rb_reg_eqq): doc: #=== is not a synonym for #=~, added example 2168 [ruby-dev:46746] [Bug #7571] 2169 2170Sun Dec 23 14:35:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2171 2172 * thread.c (BLOCKING_REGION): if fail_if_interrupted is false ignore 2173 the result of blocking_region_begin(), since it always is true in 2174 that case. suppress "uninitialized" warnings. 2175 2176Sun Dec 23 09:34:07 2012 Eric Hodel <drbrain@segment7.net> 2177 2178 * lib/rubygems/commands/check_command.rb: Added --doctor and --dry-run 2179 options to clean up after failed uninstallation. 2180 * test/rubygems/test_gem_commands_check_command.rb: Test for above. 2181 2182 * lib/rubygems/commands/push_command.rb: Allow pushes from RubyGems 2183 2.0.0.preview3 2184 2185 * lib/rubygems/commands/update_command.rb: Use Gem.ruby_version 2186 2187 * lib/rubygems/dependency.rb: Update style. 2188 2189 * lib/rubygems/installer.rb: Ensure installed gem specifications will 2190 be useable. Refactor. 2191 * test/rubygems/test_gem_installer.rb: ditto. 2192 2193 * lib/rubygems/validator.rb: Fixed bug with unreadable files. 2194 2195 * lib/rubygems.rb: Fixed broken methods. 2196 * test/rubygems/test_gem.rb: Test for above. 2197 2198 * test/rubygems/test_gem_commands_push_command.rb: Fixed overridden 2199 Gem.latest_rubygems_version 2200 2201Sun Dec 23 01:52:01 2012 Akinori MUSHA <knu@iDaemons.org> 2202 2203 * io.c (rb_io_lines, rb_io_bytes, rb_io_chars, rb_io_codepoints): 2204 Deprecate IO#{lines,bytes,chars,codepoints} and those of ARGF. 2205 [Feature #6670] 2206 2207 * ext/stringio/stringio.c (strio_lines, strio_bytes, strio_chars) 2208 (strio_codepoints): Deprecate 2209 StringIO#{lines,bytes,chars,codepoints}. [Feature #6670] 2210 2211 * ext/zlib/zlib.c (rb_gzreader_lines, rb_gzreader_bytes): 2212 Deprecate Zlib::GzipReader#{lines,bytes}. [Feature #6670] 2213 2214Sat Dec 23 01:35:00 2012 Zachary Scott <zachary@zacharyscott.net> 2215 2216 * lib/optparse.rb: Documentation for OptionParser to remove 'shadowed 2217 outer local variable' from example and make obvious ARGV with 2218 non-option arguments. 2219 Patch by Marcus Stollsteimer [ruby-core:47460] [Bug #6997] 2220 2221Sat Dec 23 00:08:00 2012 Kenta Murata <mrkn@mrkn.jp> 2222 2223 * include/ruby/intern.h: add the prototype declaration of 2224 rb_num_coerce_bit. 2225 2226 * numeric.c (rb_num_coerce_bit): the new coerce function for bitwise 2227 binary operation. 2228 2229 * bignum.c (rb_big_and): use coerce to convert the argument, which isn't 2230 a Fixnum nor a Bignum, to the corresponding Integer object so that 2231 bitwise operations can support Integer-mimic objects. 2232 [Bug #1792] [ruby-core:39491] 2233 2234 * bignum.c (rb_big_or): ditto. 2235 2236 * bignum.c (rb_big_xor): ditto. 2237 2238 * numeric.c (bit_coerce): ditto. 2239 2240 * numeric.c (fix_and): ditto. 2241 2242 * numeric.c (fix_or): ditto. 2243 2244 * numeric.c (fix_xor): ditto. 2245 2246 * test/ruby/test_integer.rb: add tests for the above changes. 2247 2248 * test/ruby/test_bignum.rb: ditto. 2249 2250Sun Dec 23 00:04:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2251 2252 * internal.h (QUOTE, QUOTE_ID): quote unprintable chars in strings and 2253 IDs. [Bug #7574] [ruby-dev:46749] 2254 2255 * string.c (rb_str_quote_unprintable): ditto. 2256 2257Sat Dec 22 23:59:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2258 2259 * error.c (rb_compile_error, rb_compile_warn, rb_compile_warning), 2260 (rb_warn, rb_warning): support PRIsVALUE. 2261 2262Sat Dec 22 22:04:58 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 2263 2264 * cont.c (rb_fiber_start): unify conditions. 2265 2266Sat Dec 22 21:47:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2267 2268 * io.c (rb_io_wait_writable): use rb_thread_check_ints() instead 2269 of rb_thread_fd_writable(). 2270 * io.c (rb_io_wait_readable): ditto. 2271 2272Sat Dec 22 20:31:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2273 2274 * object.c (rb_mod_const_get): symbol cannot be nested constant name. 2275 2276Sat Dec 22 19:26:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2277 2278 * object.c (rb_mod_const_get): check more strictly. [ruby-dev:46748] 2279 [Bug #7573] 2280 2281Wed Dec 19 02:34:48 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 2282 2283 * cont.c (rb_fiber_start): in case of jump with TAG_FATAL, 2284 enqueue error into async_errinfo_queue, because you cannot call 2285 TH_TAG_JUMP() in this function. [ruby-dev:45218] [Bug #5993] 2286 2287 * thread.c (rb_threadptr_execute_interrupts): now INT2FIX(TAG_FATAL) 2288 can be popped from async_errinfo_queue. 2289 2290 * vm.c (rb_vm_make_jump_tag_but_local_jump): revert r38441. 2291 rb_vm_make_jump_tag_but_local_jump() shouldn't return exception 2292 in case of state == TAG_FATAL. 2293 2294 * test/ruby/test_fiber.rb (test_exit_in_fiber): fix a test to illuminate 2295 Thread.exit should terminate current Thread. 2296 2297Sat Dec 22 13:15:08 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 2298 2299 * gc.c (obj_id_to_ref): add a macro to treat Bignum object id. 2300 This follows the change r38493. 2301 2302 * gc.c (id2ref): fix for working fine with Bignum object id on x64 2303 Windows. 2304 * gc.c (wmap_finalize): ditto. 2305 2306Sat Dec 22 11:30:21 2012 Masaki Matsushita <glass.saga@gmail.com> 2307 2308 * struct.c (make_struct): remove junk ID check to allow members who 2309 have junk name like "foo\000". 2310 * test/ruby/test_struct.rb: Test for above. 2311 [Bug #7575] [ruby-dev:46750] 2312 2313Sat Dec 22 05:34:54 2012 Eric Hodel <drbrain@segment7.net> 2314 2315 * lib/net/http.rb: Requests may be created with a URI which sets the 2316 Host header. Responses contain the requested URI for easier redirect 2317 following. [ruby-trunk - Feature #6482] 2318 * lib/net/http/generic_request.rb: ditto. 2319 * lib/net/http/response.rb: ditto. 2320 * NEWS (net/http): Updated for above. 2321 * test/net/http/test_http.rb: Tests for above. 2322 * test/net/http/test_http.rb: ditto. 2323 * test/net/http/test_httpresponse.rb: ditto. 2324 2325Sat Dec 22 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net> 2326 2327 * lib/irb/slex.rb(#match): Typo, should be D_DETAIL 2328 [ruby-core:51071] [Bug#7600] 2329 2330Sat Dec 22 02:29:00 2012 Zachary Scott <zachary@zacharyscott.net> 2331 2332 * lib/irb/input-method.rb, lib/irb.rb: Typo in 2333 InputMethod#readable_atfer_eof? to #readable_after_eof? 2334 [ruby-core:51069] [Bug #7599] 2335 2336Sat Dec 22 02:19:38 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2337 2338 * vm_dump.c (rb_vm_bugreport): revert r38533. 2339 * addr2line.c (fill_lines): add ELF sanity check. 2340 [Bug #7597] [ruby-dev:46786] 2341 2342Sat Dec 22 02:05:00 2012 Zachary Scott <zachary@zacharyscott.net> 2343 2344 * lib/irb/inspector.rb, lib/irb/context.rb: Move IRB::INSPECTORS and 2345 class methods to IRB::Inspector [ruby-core:51067][Bug #7598] 2346 2347Sat Dec 22 00:28:46 2012 NAKAMURA Usaku <usa@ruby-lang.org> 2348 2349 * object.c (rb_obj_hash): shouldn't assume object_id can be long. 2350 based on a patch by Heesob Park at [ruby-core:51060]. 2351 cf. [Backport #7454] 2352 2353Fri Dec 21 23:15:25 2012 Kouhei Sutou <kou@cozmixng.org> 2354 2355 * ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes): 2356 CPtr -> Pointer. 2357 * test/fiddle/test_c_struct_entry.rb 2358 (Fiddle::TestCStructEntity#test_aref_pointer): 2359 Added the test for the above. 2360 2361Fri Dec 21 23:12:05 2012 Kouhei Sutou <kou@cozmixng.org> 2362 2363 * ext/fiddle/lib/fiddle/struct.rb (Fiddle::CStructEntity#set_ctypes): 2364 CPtr -> Pointer. 2365 * test/fiddle/test_c_struct_entry.rb 2366 (Fiddle::TestCStructEntity#test_aref_pointer_array): 2367 Added the test for the above. 2368 2369Fri Dec 21 22:43:36 2012 Kouhei Sutou <kou@cozmixng.org> 2370 2371 * ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): 2372 CPtr -> Pointer. 2373 * test/fiddle/test_import.rb (Fiddle::TestImport#test_sizeof): 2374 Added the test for the above. 2375 2376Fri Dec 21 22:34:17 2012 Koichi Sasada <ko1@atdot.net> 2377 2378 * test/ruby/test_iseq.rb: disable a test which checks features 2379 removed at r38532. 2380 2381Fri Dec 21 22:02:00 2012 NAKAMURA Usaku <usa@ruby-lang.org> 2382 2383 * win32/{dir.h,win32.c} (rb_w32_readdir): removed old rb_w32_readdir() 2384 and renamed from rb_w32_readdir_with_enc(). 2385 [ruby-core:24864] [Feature #1927] 2386 2387 * dir.c (READDIR): follow above change. 2388 2389Fri Dec 21 21:12:54 2012 Masaya Tarui <tarui@ruby-lang.org> 2390 2391 * vm_dump.c (rb_vm_bugreport): commentout addr2line call temporarily 2392 in order to avoid segv. anyone can fix addr2line? 2393 [Bug #7597] [ruby-dev:46786] 2394 2395Fri Dec 21 20:38:28 2012 Koichi Sasada <ko1@atdot.net> 2396 2397 * iseq.c (Init_ISeq): remove definition of the following methods: 2398 ISeq#line_trace_all and ISeq#line_trace_specify because they are 2399 half baked. 2400 C APIs are remained as experimental. These functions will be 2401 renamed, removed their parameters may be changed. 2402 You can use these methods by C exts. Please give us your comments. 2403 2404Fri Dec 21 20:21:04 2012 Koichi Sasada <ko1@atdot.net> 2405 2406 * vm_trace.c (tracepoint_new): add code to support specified thread. 2407 But not tested and this feature is not supported officially. 2408 2409Fri Dec 21 19:37:15 2012 Koichi Sasada <ko1@atdot.net> 2410 2411 * ruby.c (process_options): need to acquire env from TOPLEVEL_BINDING 2412 each time. 2413 `bind->env' may update after `eval()'. 2414 [Bug #7536] 2415 2416Fri Dec 21 18:46:50 2012 Koichi Sasada <ko1@atdot.net> 2417 2418 * include/ruby/debug.h, vm_core.h: define rb_trace_arg_t at 2419 include/ruby/debug.h (move from vm_core.h). 2420 2421Fri Dec 21 17:48:15 2012 Koichi Sasada <ko1@atdot.net> 2422 2423 * vm_core.h, vm_trace.c: fix multi-threading bug for tracing. 2424 Move `trace_arg' from rb_tp_t::trace_arg to rb_thread_t::trace_arg. 2425 `trace_arg' may changed by multiple threads. 2426 rb_thread_t::trace_arg can represent rb_thread_t::trace_running 2427 (null or non-null) and rb_thread_t::trace_running is removed. 2428 After that, `rb_tp_t' is not needed to check tracing or not 2429 (A running thread knows tracing or not). This is why I remove 2430 tp_attr_check_active() and make new function get_trace_arg(). 2431 2432 And this modification disable to work the following code: 2433 TracePoint.trace{|tp| 2434 Thread.new{p tp.event} # access `tp' from other threads. 2435 } 2436 I believe nobody mix threads at trace procedure. 2437 This is current limitation. 2438 [Bug #7590] 2439 2440 * cont.c (fiber_switch, rb_cont_call): use rb_thread_t::trace_arg 2441 instead of rb_thread_t::trace_running. 2442 2443 * test/ruby/test_settracefunc.rb: add a multi-threading test. 2444 2445Fri Dec 21 16:38:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2446 2447 * template/id.h.tmpl (ID2ATTRSET): compile time constant macro for 2448 ID_ATTRSET. 2449 2450 * defs/id.def (KeywordError): check duplication. 2451 2452 * defs/id.def: support for other scope IDs, 2453 ID_{INSTANCE,GLOBAL,CONST,CLASS}. 2454 2455Fri Dec 21 14:45:00 2012 Zachary Scott <zachary@zacharyscott.net> 2456 2457 * lib/irb.rb, lib/irb/*: Documentation for IRB 2458 2459Fri Dec 21 11:31:02 2012 Eric Hodel <drbrain@segment7.net> 2460 2461 * lib/rake/*: Updated to rake 0.9.6 2462 * doc/rake/*: ditto 2463 * test/rake/*: ditto 2464 2465Fri Dec 21 08:56:34 2012 Masaya Tarui <tarui@ruby-lang.org> 2466 2467 * vm_trace.c (rb_suppress_tracing): remove unused variable 'vm_tracing' 2468 2469Fri Dec 21 01:01:45 2012 Masaya Tarui <tarui@ruby-lang.org> 2470 2471 * lib/irb/completion.rb (CompletionProc): support completion of 2472 instance variables. [ruby-dev:46710] [Bug #7520] 2473 2474Thu Dec 20 20:58:25 2012 Masaya Tarui <tarui@ruby-lang.org> 2475 2476 * vm_trace.c (rb_suppress_tracing): bugfix for vm->trace_running 2477 counter. And if tracing is already true, vm_trace_running ops is 2478 skipped to control overflow. 2479 2480Thu Dec 20 18:29:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2481 2482 * include/ruby/ruby.h (RTEST, NIL_P): make bare expressions without 2483 outermost parentheses. 2484 2485Thu Dec 20 17:29:00 2012 Shugo Maeda <shugo@ruby-lang.org> 2486 2487 * NEWS: fix the description for Refinements. 2488 2489Thu Dec 20 16:53:59 2012 Shugo Maeda <shugo@ruby-lang.org> 2490 2491 * vm_core.h (rb_vm_defineclass_type_t), 2492 compile.c (iseq_compile_each), insns.def (defineclass): change the 2493 meaning of the third operand of defineclass as follows: 2494 lower 3bits: the type of the defineclass 2495 0 = class, 1 = singleton class, 2 = module 2496 4th bit: a flag represents whether the defineclass is scoped 2497 0 = not scoped (e.g., class Foo) 2498 1 = scoped (e.g., class Bar::Baz) 2499 5th bit: a flag represents whether the superclass is specified 2500 0 = not specified (e.g., class Foo) 2501 1 = specified (e.g., class Bar < Foo) 2502 If the superclass is specified and is not a class, a TypeError 2503 should be raised. [ruby-dev:46747] [Bug #7572] 2504 2505 * test/ruby/test_class.rb: related test. 2506 2507Thu Dec 20 16:52:37 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 2508 2509 * NEWS: announce AEAD encryption support in the OpenSSL extension. 2510 2511Thu Dec 20 16:40:13 2012 NAKAMURA Usaku <usa@ruby-lang.org> 2512 2513 * gc.c (nonspecial_obj_id): VALUE is not compatible with Fixnum on 2514 LLP64 platform, such as 64bit Windows. 2515 reported by Heesob Park at [ruby-core:50255] [Bug #7454], and the 2516 fix is suggested by akr. 2517 2518Thu Dec 20 16:39:04 2012 Martin Bosslet <Martin.Bosslet@gmail.com> 2519 2520 * ext/openssl/ossl_cipher.c: fix errors for installations that do not 2521 feature Authenticated Encryption. 2522 * ext/openssl/extconf.rb: detect presence of EVP_CTRL_GCM_GET_TAG to 2523 determine whether Authenticated Encryption can be used. 2524 [Feature #6980] [ruby-core:47426] 2525 2526Thu Dec 20 15:55:46 2012 Martin Bosslet <Martin.Bosslet@gmail.com> 2527 2528 * ext/openssl/ossl.c: do not use FIPS_mode_set if not available. 2529 * test/openssl/utils.rb: revise comment about setting FIPS mode to 2530 false. 2531 * test/openssl/test_fips.rb: remove tests that cause errors on 2532 ruby-ci. 2533 [Feature #6946] [ruby-core:47345] 2534 2535Thu Dec 20 15:22:59 2012 Eric Hodel <drbrain@segment7.net> 2536 2537 * lib/rdoc/parser/ruby.rb: Ignore methods defined on constants to 2538 prevent modules with the names of constants from appearing in the 2539 documentation. 2540 * test/rdoc/test_rdoc_parser_ruby.rb: Test for the above. 2541 2542Thu Dec 20 15:00:33 2012 Martin Bosslet <Martin.Bosslet@gmail.com> 2543 2544 * ext/openssl/ossl_cipher.c: add support for Authenticated Encryption 2545 with Associated Data (AEAD) for OpenSSL versions that support the 2546 GCM encryption mode. It's the only mode supported for now by OpenSSL 2547 itself. Add Cipher#authenticated? to detect whether a chosen mode 2548 does support Authenticated Encryption. 2549 * test/openssl/test_cipher.rb: add tests for Authenticated Encryption. 2550 [Feature #6980] [ruby-core:47426] Thank you, Stephen Touset for 2551 providing a patch! 2552 2553Thu Dec 20 12:56:53 2012 Eric Hodel <drbrain@segment7.net> 2554 2555 * lib/rdoc/markup/to_html.rb (class RDoc): Added current heading and 2556 top links to headings. 2557 * lib/rdoc/generator/template/darkfish/rdoc.css: ditto 2558 * test/rdoc/test_rdoc_generator_markup.rb: Test for above 2559 * test/rdoc/test_rdoc_markup_to_html.rb: ditto 2560 2561 * test/rdoc/test_rdoc_comment.rb: Removed trailing whitespace. 2562 2563Thu Dec 20 11:05:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2564 2565 * test/ruby/envutil.rb (assert_valid_syntax): move from 2566 test_syntax.rb. 2567 2568 * test/ruby/envutil.rb (assert_normal_exit): validate syntax before 2569 running because this assertion passes even if the code fails by 2570 SyntaxError. 2571 2572Thu Dec 20 10:29:58 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 2573 2574 * test/openssl/test_pkey_dh.rb: revert special treatment of 2575 FIPS-capable installations since FIPS mode is now disabled for the 2576 tests. 2577 2578Thu Dec 20 10:23:12 2012 Martin Bosslet <Martin.Bosslet@gmail.com> 2579 2580 * ext/openssl/ossl.c: add OpenSSL.fips_mode= to allow enabling FIPS 2581 mode manually. 2582 * test/openssl/utils.rb: turn off FIPS mode for tests. This prevents 2583 OpenSSL installations with FIPS mode enabled by default from raising 2584 FIPS-related errors during the tests. 2585 * test/openssl/test_fips.rb: add tests for FIPS-capable OpenSSL 2586 installations. 2587 [Feature #6946] [ruby-core:47345] 2588 2589Thu Dec 20 06:59:52 2012 Koichi Sasada <ko1@atdot.net> 2590 2591 * vm.c: support variable VM/Machine stack sizes. 2592 Specified by the following environment variables: 2593 - RUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation. 2594 default: 128KB (32bit CPU) or 256KB (64bit CPU). 2595 - RUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread 2596 creation. default: 512KB or 1024KB. 2597 - RUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation. 2598 default: 64KB or 128KB. 2599 - RUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber 2600 creation. default: 256KB or 256KB. 2601 This values are specified at launched timing. You can not change 2602 these values at running time. 2603 Environ variables are only *hints* because: 2604 - They are aligned to 4KB. 2605 - They have minimum values (depend on OSs). 2606 - Machine stack settings are ignored by some OSs. 2607 Default values especially fiber stack sizes are increased. 2608 This change affect Fiber's behavior: 2609 (1) You can run more complex program on a Fiber. 2610 (2) You can not make many (thousands) Fibers because of 2611 lack of address space (on 32bit CPU). 2612 If (2) bothers you, 2613 (a) Use 64bit CPU with big memory, or 2614 (b) Specify RUBY_FIBER_(VM|MACHINE)_STACK_SIZE correctly. 2615 You need to choose correct stack size carefully. These values 2616 are completely rely on systems (OS/compiler and so on). 2617 [Feature #4614], [Bug #7212] 2618 2619 * vm_core.h (rb_vm_t::default_params): add to record above settings. 2620 2621 * vm.c (RubyVM::DEFAULT_PARAMS): add new constant to see 2622 above setting. 2623 2624 * thread_pthread.c: support RUBY_THREAD_MACHINE_STACK_SIZE. 2625 2626 * cont.c: support RUBY_FIBER_(VM|MACHINE)_STACK_SIZE. 2627 2628 * test/ruby/test_fiber.rb: add tests for above. 2629 2630 * test/ruby/test_thread.rb: ditto. 2631 2632Thu Dec 20 06:25:44 2012 Koichi Sasada <ko1@atdot.net> 2633 2634 * test/ruby/test_fiber.rb: remove a strange single quote character. 2635 With this character, this script exits by SyntaxError. 2636 2637Thu Dec 20 01:03:00 2012 Zachary Scott <zachary@zacharyscott> 2638 2639 * ext/.document: Add missing ext modules to .document 2640 Patch by Ryunosuke SATO [Fixes Github #224] 2641 2642Wed Dec 19 23:52:16 2012 NAKAMURA Usaku <usa@ruby-lang.org> 2643 2644 * ruby.c (load_file_internal): use original C string as the filename 2645 for parser. 2646 reported by whiteleaf at [ruby-list:49085] [ruby-dev:46738] 2647 [Bug #7562] 2648 2649Wed Dec 19 23:36:12 2012 Naohisa Goto <ngotogenome@gmail.com> 2650 2651 * marshal.c (marshal_dump, marshal_load): fix SEGV during make rdoc 2652 and test failure in TestMarshal#test_gc and test_context_switch 2653 on SPARC Solaris 10 compiled with Oracle Solaris Studio 12.3. 2654 [Bug #7591] [ruby-dev:46772] 2655 2656Wed Dec 19 19:34:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 2657 2658 * object.c (rb_mod_const_get): nul byte is invalid as constant name. 2659 2660Wed Dec 19 17:54:18 2012 Masaya Tarui <tarui@ruby-lang.org> 2661 2662 * vm_trace.c (rb_threadptr_exec_event_hooks): get rid of race 2663 condition. [Bug #7589] [ruby-dev:46763] 2664 2665Wed Dec 19 16:30:28 2012 Eric Hodel <drbrain@segment7.net> 2666 2667 * doc/syntax/literals.rdoc: Added 0d decimal format. Thanks Nobu! 2668 2669Wed Dec 19 16:19:36 2012 Eric Hodel <drbrain@segment7.net> 2670 2671 * doc/syntax/methods.rdoc: Fixed typo. Thanks to Josh Susser. 2672 2673Wed Dec 19 16:18:22 2012 Eric Hodel <drbrain@segment7.net> 2674 2675 * lib/rubygems/commands/query_command.rb: Refactored to improve 2676 maintainability. 2677 * test/rubygems/test_gem_commands_query_command.rb: Note default gems 2678 in gem list details. 2679 2680 * lib/rubygems/uninstaller.rb: Detect all gems for uninstallation. 2681 This allows duplicate installs of default gems to be removed. 2682 * lib/rubygems/specification.rb: Allow use of ::each_spec. 2683 * lib/rubygems/test_case.rb: Added install_default_gems. 2684 * test/rubygems/test_gem_commands_uninstall_command.rb: Moved test 2685 down to the uninstaller tests. 2686 * test/rubygems/test_gem_uninstaller.rb: Test for uninstallation of 2687 default gems and duplicate default gems. 2688 2689Wed Dec 19 15:23:50 2012 Eric Hodel <drbrain@segment7.net> 2690 2691 * doc/syntax/methods.rdoc: Add () around keyword arguments example for 2692 consistency. Thanks to Josh Susser. 2693 2694Wed Dec 19 01:51:24 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 2695 2696 * vm.c (rb_vm_jump_tag_but_local_jump): remove unnecessary 2nd 2697 argument. 2698 2699 * load.c (rb_load_internal): ditto. 2700 2701 * eval_intern.h (rb_vm_jump_tag_but_local_jump): ditto. 2702 2703Tue Dec 18 18:57:58 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2704 2705 * io.c (rb_io_wait_writable): don't use rb_thread_wait_fd() 2706 because it is for waiting until io readable. 2707 2708 * io.c (rb_io_wait_writable): always use rb_thread_fd_writable() 2709 instead of bare rb_wait_for_single_fd(). we shouldn't ignore 2710 return value. 2711 * io.c (rb_io_wait_readable): ditto. always use rb_thread_wait_fd(). 2712 2713Tue Dec 18 18:55:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2714 2715 * thread.c (rb_thread_wait_fd_rw): fix infinite loop bug. 2716 rb_wait_for_single_fd() never return positive number. 2717 2718Tue Dec 18 17:24:40 2012 Eric Hodel <drbrain@segment7.net> 2719 2720 * lib/rdoc/encoding.rb: Do not remove #! line from document when 2721 setting encoding. This allows ruby executables to be parsed as ruby 2722 files. 2723 * test/rdoc/test_rdoc_encoding.rb: Test for above. 2724 2725 * lib/rdoc/parser.rb: Set the parser file name of ruby executables 2726 correctly. 2727 * test/rdoc/test_rdoc_parser.rb: Test for above. 2728 2729Tue Dec 18 16:46:15 2012 Eric Hodel <drbrain@segment7.net> 2730 2731 * doc/syntax/literals.rdoc: Used simplified heredoc example that 2732 doesn't include method definition. Added heredoc with backticks. 2733 2734Tue Dec 18 16:38:51 2012 Eric Hodel <drbrain@segment7.net> 2735 2736 * lib/rdoc/store.rb: Work around RDoc stores from older versions of 2737 RDoc. 2738 * test/rdoc/test_rdoc_store.rb: Test for above. 2739 2740Tue Dec 18 16:31:20 2012 Eric Hodel <drbrain@segment7.net> 2741 2742 * lib/rdoc/ruby_lex.rb: Return a TkHEREDOC instead of a TkSTRING when 2743 the heredoc identifier is followed by a line-end. This allows proper 2744 display of some HEREDOCs in source view. 2745 * lib/rdoc/ruby_token.rb: Added TkHEREDOC 2746 * test/rdoc/test_rdoc_ruby_lex.rb: Test for above. 2747 2748Tue Dec 18 09:45:14 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 2749 2750 * vm.c (rb_vm_make_jump_tag_but_local_jump): take care of the case 2751 TAG_JUMP() with TAG_FATAL (ex. rb_fatal()). [ruby-core:50917] 2752 [Bug #7570] 2753 2754 * test/ruby/test_fiber.rb (test_fatal_in_fiber): add a test for above. 2755 2756 * ext/-test-/fatal/extconf.rb, ext/-test-/fatal/rb_fatal.c: ditto. 2757 2758Tue Dec 18 13:17:00 2012 Zachary Scott <zachary@zacharyscott.net> 2759 2760 * vm_trace.c (tracepoint_attr_defined_class): Clean up rdoc for 2761 TracePoint#defined_class 2762 2763Tue Dec 18 12:15:59 2012 Eric Hodel <drbrain@segment7.net> 2764 2765 * lib/rubygems/specification.rb: Fixed ruby output of requirements 2766 with multiple version specifiers. 2767 * test/rubygems/test_gem_ext_cmake_builder.rb: Only look for specific 2768 lines in cmake output. Should fix [ruby-trunk - Bug #7579] 2769 2770Tue Dec 18 11:45:26 2012 Eric Hodel <drbrain@segment7.net> 2771 2772 * doc/syntax/literals.rdoc: Added 0o octal integers. 2773 2774Tue Dec 18 12:28:52 2012 Martin Bosslet <Martin.Bosslet@gmail.com> 2775 2776 * test/openssl/test_ssl.rb: Use :TLSv1_2_client explicitly in 2777 test_tls_v1_2 to prevent upstream bug. 2778 [Bug #7197] [ruby-dev:46240] 2779 2780Tue Dec 18 11:52:34 2012 Martin Bosslet <Martin.Bosslet@gmail.com> 2781 2782 * ext/openssl/lib/ssl.rb: Enable insertion of empty fragments as a 2783 countermeasure for the BEAST attack by default. The default options 2784 of OpenSSL::SSL:SSLContext are now: 2785 OpenSSL::SSL::OP_ALL & ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS 2786 [Bug #5353] [ruby-core:39673] 2787 2788 * test/openssl/test_ssl.rb: Adapt tests to new SSLContext default. 2789 2790 * NEWS: Announce the new default. 2791 2792Tue Dec 18 06:36:12 2012 Koichi Sasada <ko1@atdot.net> 2793 2794 * method.h: remove `VM_METHOD_TYPE_CFUNC_FRAMELESS' method type. 2795 This method type is for optimized CFUNC such as Fixnum#+ and so on. 2796 This feature is half-baked and no way to use them. 2797 [Background] 2798 Now, VM has opt_plus instructions to optimize `+' methods for 2799 some Classes (such as Fixnum, Float (flonum)). We call this 2800 type of instructions as `specialized instructions'. 2801 This simple technique improve simple program dramatically. 2802 However, we can make specialized instructions for only several 2803 types (classes) and selectors (method names) because a large 2804 instruction will be slow. In other words, this technique has no 2805 extensibility. 2806 To overcome this problem, VM_METHOD_TYPE_CFUNC_FRAMELESS was 2807 introduced (r37198). This type is a variant of CFUNC, but called 2808 their functions directly without building a method frame. 2809 Any CFUNC method can be defined as frameless methods if a method 2810 is not needed to make method frame. Frameless methods are faster 2811 as specialized instructions (a bit slower, but no need to care). 2812 No problem described at 2813 http://charlie.bz/blog/why-do-singleton-methods-make-ruby-slow 2814 because this technique doesn't see class, but see method body 2815 itself. Alias is also no problem. 2816 [Problem] 2817 However, we can't set frameless method type for polymorphic methods 2818 such as Array#[]. Necessity for method frame depends on which 2819 parameter type. For example, Fixnum#+ needs method frame if 2820 coerce is needed. Current VM_METHOD_TYPE_CFUNC_FRAMELESS is not 2821 flexible and need more tuning to introduce it. 2822 Expected behavior of frameless method type may be: 2823 result = optimized_cfunc(params); /* call optimized cfunc */ 2824 if (result == Qundef) { result = normal_cfunc(); } 2825 This is why I say this feature is half-baked. 2826 We need to learn primitive method in Smalltalk more. 2827 (I heard this name at RubyConf Taiwan this month. Thanks!) 2828 [Conclusion] 2829 I remove this feature and consider again. 2830 This feature goes to next minor (2.1?). 2831 Nobody may use this feature and there is no compatibility issue. 2832 2833 * proc.c (rb_method_entry_arity): ditto. 2834 2835 * vm_eval.c, vm_insnhelper.c, vm_method.c: ditto. 2836 2837Tue Dec 18 04:58:22 2012 Koichi Sasada <ko1@atdot.net> 2838 2839 * vm_trace.c (fill_id_and_klass): TracePoint#defined_class returns 2840 singleton class. `set_trace_func' passed attached class (which is 2841 attached/modified by singleton class) by 6th block parameter if it 2842 is singleton class. Previous behavior follows this spec. 2843 However, this method named `defined_class' should return singleton 2844 class directly because singleton methods are defined in singleton 2845 class. There are no compatible issue because TracePoint is introduced 2846 after 2.0. 2847 But compatibility with `set_trace_func' is broken. This means that 2848 you can not replace all `set_trace_func' code with TracePoint 2849 without consideration of this behavior. 2850 [Bug #7554] 2851 2852 * test/ruby/test_settracefunc.rb: change a test to catch up 2853 an above change. 2854 2855Tue Dec 18 03:03:10 2012 Aaron Patterson <aaron@tenderlovemaking.com> 2856 2857 * ext/psych/lib/psych/visitors/to_ruby.rb: speed up node mapping so 2858 common cases are evaluated first. Thanks Kevin Menard! 2859 2860Tue Dec 18 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net> 2861 2862 * lib/optparse.rb: Remove 'developer documentation' section from rdoc 2863 Patch by Marcus Stollsteimer [ruby-core:50526][Bug #7504] 2864 2865Tue Dec 18 02:35:00 2012 Zachary Scott <zachary@zacharyscott.net> 2866 2867 * lib/matrix.rb (#lup): typo in example [ruby-core:50946][Bug #7582] 2868 2869Mon Dec 17 18:03:34 2012 Charlie Somerville <charlie@charliesomerville.com> 2870 2871 * class.c (rewrite_cref_stack, clone_method): rewrite a method's cref 2872 stack when cloning into a new class to allow lexical const lookup to 2873 work as expected [ruby-core:47834] [Bug #7107] 2874 * test/ruby/test_class.rb (class TestClass): related test 2875 2876Mon Dec 17 13:56:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2877 2878 * io.c (io_flush_buffer_sync2): avoid to return 0. because 2879 rb_thread_call_without_gvl2 uses 0 internally. 2880 * io.c (io_flush_buffer_async2): adapt the above. 2881 2882Mon Dec 17 12:05:32 2012 Eric Hodel <drbrain@segment7.net> 2883 2884 * doc/syntax/methods.rdoc: Added a description of singleton methods. 2885 2886Mon Dec 17 11:35:57 2012 Eric Hodel <drbrain@segment7.net> 2887 2888 * doc/.document: Added doc/syntax 2889 2890Mon Dec 17 11:25:32 2012 Eric Hodel <drbrain@segment7.net> 2891 2892 * doc/syntax.rdoc: Added syntax guide table of contents 2893 * doc/syntax/exceptions.rdoc: Syntax guide for exceptions 2894 * doc/syntax/literals.rdoc: Syntax guide for literals 2895 * doc/syntax/methods.rdoc: Syntax guide for methods 2896 2897Mon Dec 17 07:59:40 2012 Eric Hodel <drbrain@segment7.net> 2898 2899 * lib/rubygems.rb: Updated VERSION 2900 2901 * test/rubygems/test_gem_installer.rb: Fixed ambiguous first argument 2902 warning. 2903 2904 * test/rubygems/test_gem_rdoc.rb: RDoc generation depends on installed 2905 version of RDoc. 2906 2907Sun Dec 16 02:04:41 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2908 2909 * signal.c (rb_sigaltstack_size): cast sysconf() return value 2910 explicitly. Fix compile error on Mac OS X. 2911 2912Sun Dec 16 00:39:43 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 2913 2914 * cont.c (rb_fiber_start): don't enqueue Qnil to async_errinfo_queue. 2915 rb_vm_make_jump_tag_but_local_jump() could return Qnil (ex. when 2916 finished by Thread.exit). [ruby-dev:45218] [Bug #5993] 2917 2918 * test/ruby/test_fiber.rb (test_exit_in_fiber): add test for it. 2919 2920Sat Dec 15 23:56:51 2012 Naohisa Goto <ngotogenome@gmail.com> 2921 2922 * ext/fiddle/pointer.c (rb_fiddle_ptr2cptr): fix error message 2923 forgotten to be changed from DL to Fiddle. 2924 2925Sat Dec 15 23:14:32 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2926 2927 * signal.c (default_handler): remove rb_register_sigaltstack() 2928 call. sigaltstack was already registered when creating threads. 2929 2930Sat Dec 15 23:08:56 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2931 2932 * signal.c (rb_sigaltstack_size): new. calculate stack size for 2933 sigsegv handler. enlarge value when x86 or x86_64 on Linux. 2934 Linux has very small MINSIGSTKSZ size (2048 bytes) and 2935 our sigsegv routine need 5KiB at least. [Bug #7141] 2936 * internal.h: add declaration of rb_sigaltstack_size(). 2937 * vm_core.h: remove ALT_STACK_SIZE definition. 2938 2939 * signal.c (rb_register_sigaltstack): replace ALT_STACK_SIZE with 2940 rb_sigaltstack_size(); 2941 * gc.c (Init_heap): ditto. 2942 * vm.c (th_init): ditto. 2943 2944Sat Dec 15 18:24:21 2012 Tadayoshi Funaba <tadf@dotrb.org> 2945 2946 * rational.c (f_round_common): should check overflow. 2947 2948Sat Dec 15 18:00:00 2012 Tadayoshi Funaba <tadf@dotrb.org> 2949 2950 * rational.c (float_rationalize): reduced. 2951 2952Sat Dec 15 14:18:44 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2953 2954 * io.c (finish_writeconv): uses rb_write_internal2 if 2955 fptr->write_lock have. 2956 2957Sat Dec 15 13:57:08 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2958 2959 * thread.c (rb_mutex_owned_p): remove static. 2960 * io.c (io_flush_buffer): don't hold mutex if already have. 2961 Now recursive lock may occur when following scenario. 2962 fptr_finalize -> finish_writeconv_sync -> finish_writeconv 2963 -> io_fflush. 2964 2965Sat Dec 15 13:38:30 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2966 2967 * io.c (io_flush_buffer): uses io_flush_buffer_async2 instead of 2968 io_flush_buffer_async. 2969 * io.c (io_flush_buffer_async2): new helper function for 2970 io_flush_buffer. It uses rb_thread_call_without_gvl2() instead 2971 of rb_thread_io_blocking_region. 2972 * io.c (io_flush_buffer_sync2): new helper function for 2973 io_flush_buffer_async2. 2974 2975Sat Dec 15 13:04:26 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2976 2977 * io.c (internal_write_func2): new helper function for rb_write_internal2(). 2978 * io.c (rb_write_internal2): new function. it uses 2979 rb_thread_call_without_gvl2() instead of rb_thread_io_blocking_region(). 2980 * io.c (rb_binwrite_string): uses rb_write_internal2 instead of 2981 rb_write_internal. [Bug #7134] 2982 2983Sat Dec 15 12:55:29 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2984 2985 * io.c (rb_io_wait_writable): add to call rb_thread_wait_fd() 2986 likes rb_io_wait_readable. 2987 2988Sat Dec 15 11:54:50 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2989 2990 * io.c (rb_io_wait_writable): don't call rb_thread_fd_writable() 2991 when EINTR. EINTR mean signal interrupt was happen. We don't 2992 need any wait. 2993 2994Sat Dec 15 11:53:36 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 2995 2996 * thread.c (rb_thread_wait_fd_rw): remove silly rb_thread_alone() 2997 check. 2998 2999Sat Dec 15 10:22:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3000 3001 * thread.c (rb_thread_polling): revert but deprecate. 3002 3003 * include/ruby/intern.h (rb_thread_polling): deprecate. 3004 3005Sat Dec 15 08:37:01 2012 Masaya Tarui <tarui@ruby-lang.org> 3006 3007 * test/rubygems/test_gem_ext_cmake_builder.rb (test_self_build): 3008 get rid of false positive. 3009 3010Sat Dec 15 08:05:56 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3011 3012 * test/ruby/test_thread.rb (test_uninitialized, test_backtrace, 3013 test_thread_timer_and_interrupt, test_thread_join_in_trap, 3014 test_thread_join_current, test_thread_join_main_thread, 3015 test_main_thread_status_at_exit, test_thread_status_in_trap, 3016 test_thread_status_raise_after_kill, test_mutex_owned, 3017 test_mutex_owned2): move these tests from TestThreadGroup class 3018 to TestThread because they are not thread group tests. 3019 3020 * test/ruby/test_thread.rb (test_thread_status_raise_after_kill): 3021 add t.join. 3022 3023 * test/ruby/test_threadgroup.rb: new file. moved ThreadGroup test 3024 from test_thread.rb. 3025 3026Sat Dec 15 08:02:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3027 3028 * test/ruby/test_thread.rb (TestThread::Thread::new.): remove 3029 th.abort_on_exception change. Test template shouldn't change 3030 global flag. It prevent to test a normal case. 3031 3032Sat Dec 15 06:15:14 2012 Eric Hodel <drbrain@segment7.net> 3033 3034 * configure.in (HAVE_GCC_ATOMIC_BUILTINS): Set -march=i486 to enable 3035 __sync_val_compare_and_swap. Patch by KOSAKI Motohiro. 3036 [ruby-trunk - Bug #7485] 3037 3038Sat Dec 15 03:42:34 2012 Naohisa Goto <ngotogenome@gmail.com> 3039 3040 * ext/.document: add fiddle/pointer.c, fiddle/handle.c, and 3041 fiddle/win32/lib as documentation. 3042 3043Sat Dec 15 03:06:40 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3044 3045 * file.c (rb_file_flock): use rb_thread_wait_for() instead of 3046 rb_thread_polling(). When getting EAGAIN, we need to wait a 3047 while even if no multi threading. 3048 * thread.c (sleep_for_polling, rb_thread_polling) removed. 3049 3050Sat Dec 15 00:03:31 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3051 3052 * signal.c (rb_f_kill): remove rb_thread_polling() because this 3053 has no good effect and makes meaningless 100ms delay. 1) 3054 when sending signal to another process, waiting has just silly. 3055 2) when sending signal to current process, 100ms is often not 3056 enough time to wait. It depend on kernel behavior. And, 3057 rb_thread_polling() doesn't make sense anyway. When rb_thread_alone() 3058 is true, it doesn't wait at all and Process.kill() users don't 3059 expect threading changes Process.kill() behavior. [Bug #7560] 3060 3061Fri Dec 14 17:10:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3062 3063 * parse.y (parser_params): parser_tokline to track the line number at 3064 which token started. [ruby-dev:46737] [Bug #7559] 3065 3066 * parse.y (fcall): operation with starting line number. 3067 3068 * parse.y (command, primary, method_call): point method name line. 3069 3070 * parse.y (gettable_gen): return token line for __LINE__. 3071 3072Fri Dec 14 16:56:59 2012 Shugo Maeda <shugo@ruby-lang.org> 3073 3074 * vm_insnhelper.c (vm_call_super_method): remove volatile introduced 3075 in r38365. 3076 3077 * vm_insnhelper.c (vm_call_method): use __forceinline to prevent 3078 VC++ to make vm_call_general and vm_call_super_method as the same 3079 method. Thanks, Heesob Park. [Bug #7556] [ruby-core:50867] 3080 3081Fri Dec 14 14:59:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3082 3083 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately): 3084 take file and line by using caller_locations if not given. 3085 3086 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately): 3087 count assertions in separated tests. 3088 3089Fri Dec 14 14:16:42 2012 Eric Hodel <drbrain@segment7.net> 3090 3091 * lib/rdoc/rubygems_hook.rb: Fixed generation of documentation. 3092 Disabled rdoc generation by default to match RubyGems defaults. 3093 Reduced diff with RubyGems::RDoc. 3094 * test/rdoc/test_rdoc_rubygems_hook.rb: Tests for the above. 3095 * test/rubygems/test_gem_rdoc.rb: ditto. 3096 3097 * lib/rdoc/store.rb: Removed useless variable assignment 3098 3099Fri Dec 14 13:58:40 2012 Eric Hodel <drbrain@segment7.net> 3100 3101 * lib/rubygems/commands/rdoc_command.rb: When overwriting 3102 documentation, remove existing documentation first. 3103 3104 * lib/rubygems/server.rb: Fixed documentation links. 3105 * test/rubygems/test_gem_server.rb: Test for the above. 3106 3107 * lib/rubygems/rdoc.rb: Reduced diff with RDoc::RubyGemsHook 3108 * test/rubygems/test_gem_rdoc.rb: ditto 3109 3110Fri Dec 14 04:08:05 2012 NARUSE, Yui <naruse@ruby-lang.org> 3111 3112 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately): 3113 added to execute given test source on separate process, 3114 catch its resulted exception and raise it on main process. 3115 3116Fri Dec 14 07:43:44 2012 Aaron Patterson <aaron@tenderlovemaking.com> 3117 3118 * ext/psych/lib/psych/visitors/yaml_tree.rb: quote strings that begin 3119 with non-word characters. Thanks Alex Tambellini! 3120 * test/psych/test_yaml.rb: appropriate test case 3121 3122Thu Dec 13 23:14:17 2012 Shugo Maeda <shugo@ruby-lang.org> 3123 3124 * vm_insnhelper.c (vm_call_super_method): a workaround for the 3125 failure of TestRefinement#test_refine_recursion in Windows. 3126 See [ruby-core:50871] for details. 3127 3128Thu Dec 13 23:10:52 Charlie Somerville <charlie@charliesomerville.com> 3129 3130 * object.c (Init_Object): use rb_mod_init_copy for Class#initialize_copy 3131 * class.c (rb_class_init_copy): rename to class_init_copy_check, performs type 3132 checks on arguments to prevent reinitialization of initialized class 3133 [ruby-core:50869] [Bug #7557] 3134 * class.c (rb_mod_init_copy): use class_init_copy_check if receiver is T_CLASS 3135 * test/ruby/test_class.rb (class TestClass): related test 3136 3137Thu Dec 13 16:53:10 2012 Eric Hodel <drbrain@segment7.net> 3138 3139 * lib/rdoc/class_module.rb: Fixed duplicate comments for classes and 3140 modules from C. 3141 * test/rdoc/test_rdoc_class_module.rb: Test for the above. 3142 3143 * lib/rdoc/parser/c.rb: Reload C variable names to allow proper 3144 updates of an ri store for C files. 3145 * lib/rdoc/rdoc.rb: ditto. 3146 * lib/rdoc/store.rb: ditto. 3147 * test/rdoc/test_rdoc_parser_c.rb: Test for the above. 3148 * test/rdoc/test_rdoc_store.rb: ditto. 3149 3150Thu Dec 13 14:20:00 2012 Zachary Scott <zachary@zacharyscott.net> 3151 3152 * lib/irb*: merge doc from doc/irb/ird.rd and improve overall 3153 documentation of IRB 3154 * doc/irb/irb.rd: remove stale documentation 3155 3156Thu Dec 13 14:10:00 2012 Shugo Maeda <shugo@ruby-lang.org> 3157 3158 * marshal.c (r_entry0): don't taint classes and modules because 3159 Marshal.load just returns the dumped classes and modules. 3160 [Bug #7325] [ruby-core:49198] 3161 3162 * test/ruby/test_marshal.rb: related test. 3163 3164Thu Dec 13 14:10:13 2012 NAKAMURA Usaku <usa@ruby-lang.org> 3165 3166 * test/ruby/test_require.rb (TestRequire#test_loaded_features_encoding): 3167 need to check compatibility, not equality of encodings. 3168 3169Thu Dec 13 14:02:15 2012 NAKAMURA Usaku <usa@ruby-lang.org> 3170 3171 * file.c (rb_file_join): check encoding compatibility before joining 3172 strings. 3173 3174Thu Dec 13 13:06:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3175 3176 * proc.c (umethod_bind): allow another form of method transplanting 3177 from a module via UnboundMethod. [ruby-core:34267][Feature #4254] 3178 3179Thu Dec 13 12:07:25 2012 Shugo Maeda <shugo@ruby-lang.org> 3180 3181 * include/ruby/ruby.h (RB_UNUSED_VAR): new macro to suppress 3182 warnings for unused variables. 3183 3184 * ext/bigdecimal/bigdecimal.c (ENTER): use RB_UNUSED_VAR() to 3185 suppress annoying warnings by -Wunused-but-set-variable in gcc 4.6. 3186 3187Thu Dec 13 11:22:33 2012 Koichi Sasada <ko1@atdot.net> 3188 3189 * method.h: remove "VM_METHOD_TYPE__MAX" from rb_method_type_t. 3190 rb_method_type_t is not a number and "_MAX" causes misunderstanding. 3191 3192 * proc.c (rb_method_entry_arity): ditto. 3193 3194 * vm_eval.c (vm_call0_body): ditto. 3195 3196 * vm_insnhelper.c (vm_call_method): ditto. 3197 3198Wed Dec 12 21:40:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3199 3200 * lib/tmpdir.rb (Dir::Tmpname#create): deal with a prefix name which 3201 starts with tilde as a plain name, not expanding as home directory. 3202 [ruby-core:50793] [Bug #7547] 3203 3204Wed Dec 12 19:48:59 2012 NARUSE, Yui <naruse@ruby-lang.org> 3205 3206 * ext/json: merge JSON 1.7.5. 3207 fix tests and other fixes. 3208 3209Wed Dec 12 18:30:29 2012 Shugo Maeda <shugo@ruby-lang.org> 3210 3211 * class.c (rb_prepend_module): move refined methods from the origin 3212 of a class to the class, because refinements should have priority 3213 over prepended modules. 3214 3215 * test/ruby/test_refinement.rb: related test. 3216 3217Wed Dec 12 18:27:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3218 3219 * time.c (zone_str): lookup or insert by using st_update() at once. 3220 3221Wed Dec 12 15:30:11 2012 NARUSE, Yui <naruse@ruby-lang.org> 3222 3223 * configure.in: add -fno-omit-frame-pointer if libexecinfo is used. 3224 At least on FreeBSD ruby will crash on getting C backtrace 3225 when it is compiled with other than -O0. 3226 3227 * vm_dump.c: enable backtrace on FreeBSD even if with optimizations. 3228 3229Wed Dec 12 16:08:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3230 3231 * test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_normalized_file_list_non_file_directory): 3232 use File::NULL for portability if possible. 3233 3234Wed Dec 12 16:07:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3235 3236 * method.h (rb_method_flag_t): name a magic number for NOEX_SAFE and 3237 NOEX_WITH as NOEX_SAFE_SHIFT_OFFSET. 3238 3239 * method.h (rb_method_type_t, method_optimized_type): C89 forbids a 3240 comma after the last element in enum. 3241 3242 * proc.c (rb_method_entry_arity), vm_eval.c (vm_call0_body), 3243 vm_insnhelper.c (vm_call_method): add VM_METHOD_TYPE__MAX case. 3244 3245Wed Dec 12 14:16:35 2012 Eric Hodel <drbrain@segment7.net> 3246 3247 * lib/rdoc/class_module.rb: Added RDoc::ClassModule#documented? which 3248 checks comment_location. Hide RDoc::ClassModule#comment=. 3249 * test/rdoc/test_rdoc_class_module.rb: Test for above. 3250 3251 * lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml: 3252 Fix display of the table of contents in the sidebar. 3253 3254 * lib/rdoc/generator/template/darkfish/table_of_contents.rhtml: 3255 Use #comment_location when displaying classes or modules. 3256 3257 * test/rdoc/test_rdoc_store.rb: Use comment_location. 3258 3259Wed Dec 12 13:40:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3260 3261 * vm_insnhelper.c (vm_getivar): no uninitialized instance variables 3262 warnings for non-object if attr method. 3263 3264Wed Dec 12 06:43:37 2012 Benoit Daloze <eregontp@gmail.com> 3265 3266 * iseq.c (rb_iseq_parameters): fix limit for optional arguments. 3267 3268 * test/ruby/test_keyword.rb: tests for above. 3269 3270 * vm_core.h (struct rb_iseq_struct): update documentation 3271 with keyword arguments. [Bug #7540] [ruby-core:50735] 3272 3273Wed Dec 12 03:45:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3274 3275 * vm.c (vm_exec): pass exceptions while handling an exception. 3276 3277 * vm_trace.c (rb_threadptr_exec_event_hooks): propagate exceptions. 3278 revert r38293 partially. 3279 3280Wed Dec 12 03:09:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3281 3282 * sample/test.rb (Progress#initialize): add --verbose option and show 3283 messages in one line unless --verbose is given. 3284 3285Wed Dec 12 01:47:02 2012 Shugo Maeda <shugo@ruby-lang.org> 3286 3287 * eval.c (rb_using_refinement): make the method table of an iclass 3288 for a refinement that of the refinement, not that of the origin of 3289 the refinement, which is set by rb_include_class_new(). This 3290 change is needed to make module prepend into a refinement work 3291 properly. 3292 3293 * test/ruby/test_refinement.rb: related test. 3294 3295Wed Dec 12 01:05:04 2012 NARUSE, Yui <naruse@ruby-lang.org> 3296 3297 * tool/make-snapshot: add --disable-rubygem to both MINIRUBY and RUBY. 3298 On making miniprelude.c, it seems use MINIRUBY. this fixes #7541 3299 but rubygems also needs to be fixed for older rubies. 3300 3301Wed Dec 12 00:32:11 2012 Naohisa Goto <ngotogenome@gmail.com> 3302 3303 * test/dl/test_func.rb (test_name_with_block, test_bind, test_qsort1): 3304 call unbind to release the callback closure because maximum number 3305 of callbacks is limited to DL::MAX_CALLBACK (== 5) with pure DL 3306 without Fiddle. 3307 3308Wed Dec 12 00:13:34 2012 Naohisa Goto <ngotogenome@gmail.com> 3309 3310 * ext/dl/lib/dl/func.rb (DL::Function#unbind, #bound?): suppress 3311 NoMethodError when Fiddle is available. [ruby-core:50756] [Bug #7543] 3312 * test/dl/test_func.rb (test_bound*, test_unbind*): tests for the above. 3313 3314Tue Dec 11 19:38:37 2012 Naohisa Goto <ngotogenome@gmail.com> 3315 3316 * ext/fiddle/function.c (Fiddle::Function.new): new keyword argument 3317 :name to set the name attribute. 3318 * ext/fiddle/lib/fiddle/import.rb (import_function, bind_function): 3319 set function name by using the :name keyword argument. 3320 Re-fixes r38243. [ruby-core:50566] 3321 * test/fiddle/test_function.rb (test_name): test for the :name keyword 3322 argument and Fiddle::Function#name. 3323 3324Tue Dec 11 16:57:33 2012 Eric Hodel <drbrain@segment7.net> 3325 3326 * common.mk: Added --pages-dir to rdoc creation. Now doc/ items show 3327 up at top-level. 3328 * .document: Moved doc/* entries to doc/.document 3329 * doc/.document: ditto 3330 3331Tue Dec 11 16:44:37 2012 Eric Hodel <drbrain@segment7.net> 3332 3333 * lib/rdoc/options.rb: Added --page-dir option for moving pages in 3334 doc/ to the top-level. 3335 * lib/rdoc/rdoc.rb: ditto. 3336 * test/rdoc/test_rdoc_options.rb: Test for the above. 3337 * test/rdoc/test_rdoc_rdoc.rb: ditto. 3338 3339Tue Dec 11 15:24:05 2012 Eric Hodel <drbrain@segment7.net> 3340 3341 * ext/pathname/lib/pathname.rb: Hide private methods from RDoc. 3342 3343Tue Dec 11 15:11:29 2012 NARUSE, Yui <naruse@ruby-lang.org> 3344 3345 * tool/make-snapshot (BASERUBY): add --disable-gem to avoid load gems. 3346 [Bug #7541] [ruby-core:50736] 3347 3348Tue Dec 11 12:00:19 2012 NARUSE, Yui <naruse@ruby-lang.org> 3349 3350 * ext/dl/win32/extconf.rb: Fix typo 3351 by Santiago Pastorino <santiago@wyeworks.com> 3352 https://github.com/ruby/ruby/pull/221 fix GH-221 3353 3354Tue Dec 11 01:53:37 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 3355 3356 * lib/matrix: alias {row|column}_size to {row|column}_count and use 3357 the latter. 3358 [Bug #7369] [ruby-core:49409] 3359 3360Tue Dec 11 00:26:58 2012 Shugo Maeda <shugo@ruby-lang.org> 3361 3362 * fix the behavior when a module is included into a refinement. 3363 This change is a little tricky, so it might be better to prohibit 3364 module inclusion to refinements. 3365 3366 * include/ruby/ruby.h (RMODULE_INCLUDED_INTO_REFINEMENT): new flag 3367 to represent that a module (iclass) is included into a refinement. 3368 3369 * class.c (include_modules_at): set RMODULE_INCLUDED_INTO_REFINEMENT 3370 if klass is a refinement. 3371 3372 * eval.c (rb_mod_refine): set the superclass of a refinement to the 3373 refined class for super. 3374 3375 * eval.c (rb_using_refinement): skip the above superclass (the 3376 refined class) when creating iclasses for refinements. Otherwise, 3377 `using Refinement1; using Refinement2' creates iclasses: 3378 <Refinement2> -> <RefinedClass> -> <Refinement1> -> RefinedClass, 3379 where <Module> is an iclass for Module, so RefinedClass is 3380 searched before Refinement1. The correct iclasses should be 3381 <Refinement2> -> <Refinement1> -> RefinedClass. 3382 3383 * vm_insnhelper.c (vm_search_normal_superclass): if klass is an 3384 iclass for a refinement, use the refinement's superclass instead 3385 of the iclass's superclass. Otherwise, multiple refinements are 3386 searched by super. For example, if a refinement Refinement2 3387 includes a module M (i.e., Refinement2 -> <M> -> RefinedClass, 3388 and if refinements iclasses are <Refinement2> -> <M>' -> 3389 <Refinement1> -> RefinedClass, then super in <Refinement2> should 3390 use Refinement2's superclass <M> instead of <Refinement2>'s 3391 superclass <M>'. 3392 3393 * vm_insnhelper.c (vm_search_super_method): do not raise a 3394 NotImplementError if current_defined_class is a module included 3395 into a refinement. Because of the change of 3396 vm_search_normal_superclass(), the receiver might not be an 3397 instance of the module('s iclass). 3398 3399 * test/ruby/test_refinement.rb: related test. 3400 3401Mon Dec 10 18:35:25 2012 Shugo Maeda <shugo@ruby-lang.org> 3402 3403 * vm_method.c (rb_method_entry_without_refinements): use 3404 rb_resolve_refined_method() to search superclasses if 3405 me->def->orig_me is 0. This change fixes make test-all 3406 TESTS="json ruby/test_refinement.rb". 3407 3408 * test/ruby/test_refinement.rb: related test. 3409 3410Mon Dec 10 17:59:07 2012 NAKAMURA Usaku <usa@ruby-lang.org> 3411 3412 * ext/fiddle/win32/*: library ports from DL to Fiddle. 3413 3414 * ext/dl/win32/extconf.rb: check fiddle. often case dl compiled prior 3415 to fiddle, so this change is no meaning. in most cases, simply 3416 fiddle/win32 overwrite dl/win32. 3417 3418Mon Dec 10 15:23:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3419 3420 * vm_trace.c (rb_threadptr_exec_event_hooks): exceptions in event 3421 hooks should not propagate outside. 3422 3423Mon Dec 10 15:11:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3424 3425 * compile.c (iseq_compile_each): count flip-flop state in local iseq 3426 not in each iseqs, so that the keys can be other than hidden 3427 strings. [ruby-core:47253] [Bug #6899] 3428 3429 * vm_insnhelper.c (lep_svar_get, lep_svar_set, vm_getspecial): store 3430 flip-flop states in an array instead of a hash. 3431 3432 * iseq.c (set_relation): main iseq also can has local scope. 3433 3434Mon Dec 10 10:36:12 2012 Narihiro Nakamura <authornari@gmail.com> 3435 3436 * lib/irb/magic-file.rb: set a encoding, which is detected from 3437 the file to read, to the internal encoding. 3438 [Bug #4281][ruby-dev:43036] 3439 3440Mon Dec 10 09:40:19 2012 Eric Hodel <drbrain@segment7.net> 3441 3442 * lib/rubygems/ext/cmake_builder.rb: Added a builder for cmake. 3443 * lib/rubygems/ext.rb: ditto. 3444 * lib/rubygems/installer.rb: ditto. 3445 * test/rubygems/test_gem_ext_cmake_builder.rb: Test for above. 3446 3447Mon Dec 10 09:13:08 2012 Eric Hodel <drbrain@segment7.net> 3448 3449 * lib/rubygems/package.rb: Omit directories when packaging gems like 3450 RubyGems 1.8.x 3451 * test/rubygems/test_gem_package.rb: Test for above. 3452 3453Sun Dec 9 17:36:59 2012 Shugo Maeda <shugo@ruby-lang.org> 3454 3455 * vm_insnhelper.c (vm_call_opt_send): Kernel#send should not use 3456 refinements. 3457 3458 * proc.c (mnew): Kernel#method, Kernel#public_method, 3459 Module#instance_method, and Module#public_instance_method should 3460 not use refinements. 3461 3462 * vm_method.c (rb_method_boundp): Kernel#respond_to? should not use 3463 refinements. 3464 3465 * test/ruby/test_refinement.rb: related test. 3466 3467Sun Dec 9 06:19:04 2012 Eric Hodel <drbrain@segment7.net> 3468 3469 * lib/rdoc/markdown/entities.rb: Added documentation. 3470 3471 * lib/rdoc/parser/ruby.rb: Updated style 3472 3473 * lib/rdoc/ruby_lex.rb: Parse characters up to \u{FFFFF} 3474 * test/rdoc/test_rdoc_ruby_lex.rb: Test for above. 3475 3476Sat Dec 8 22:38:35 2012 Shugo Maeda <shugo@ruby-lang.org> 3477 3478 * eval.c (rb_mod_refine): don't override Module#include. It's 3479 unnecessary now because refinements are activated only in refine 3480 blocks. 3481 3482Sat Dec 8 22:33:26 2012 Shugo Maeda <shugo@ruby-lang.org> 3483 3484 * eval.c: remove Module#refinements. 3485 3486 * test/ruby/test_refinement.rb: remove tests for Module#refinements. 3487 3488Sat Dec 8 13:17:55 2012 Shugo Maeda <shugo@ruby-lang.org> 3489 3490 * eval.c (top_using): raise a RuntimeError if using is called in a 3491 module definition or a method definition. 3492 3493 * test/ruby/test_refinement.rb: related test. 3494 3495Sat Dec 8 15:01:35 2012 Eric Hodel <drbrain@segment7.net> 3496 3497 * lib/rubygems/commands/cleanup_command.rb: Skip default gems when 3498 cleaning up. 3499 * test/rubygems/test_gem_commands_cleanup_command.rb: Test for above. 3500 3501 * lib/rubygems/commands/query_command.rb: Fixed listing remote gems. 3502 3503 * lib/rubygems/dependency_installer.rb: Ignore non-files when looking 3504 for local gems. 3505 * test/rubygems/test_gem_dependency_installer.rb: Test for above. 3506 3507 * lib/rubygems/uninstaller.rb: The user must confirm uninstalling gems 3508 that have dependencies. 3509 * test/rubygems/test_gem_uninstaller.rb: Test for above. 3510 3511 * lib/rubygems.rb (module Gem): Updated version. 3512 3513 * test/rubygems/*.pem: Updated to run in FIPS mode. 3514 * test/rubygems/test_gem_security.rb: ditto. 3515 * test/rubygems/test_gem_security_signer.rb: ditto. 3516 3517Sat Dec 8 12:34:01 2012 Shugo Maeda <shugo@ruby-lang.org> 3518 3519 * vm_insnhelper.c (vm_search_normal_superclass): super in a 3520 refinement always uses the refined class as its superclass. 3521 3522 * test/ruby/test_refinement.rb: related test. 3523 3524Sat Dec 8 11:59:59 2012 Shugo Maeda <shugo@ruby-lang.org> 3525 3526 * eval.c (rb_mod_refine): raise an ArgumentError if a given 3527 block is of a Proc object. 3528 3529 * vm_insnhelper.c (vm_call_method): store refined methods in inline 3530 cache to improve performance. It's safe now because blocks cannot 3531 be yielded with different refinements in the new specification. 3532 3533 * test/ruby/test_refinement.rb: related test. 3534 3535Sat Dec 8 11:17:53 2012 Shugo Maeda <shugo@ruby-lang.org> 3536 3537 * eval.c (rb_mod_refine), vm_eval.c (rb_yield_refine_block): 3538 Module#refine activates all refinements defined in that module 3539 only in a given block. 3540 3541 * string.c (sym_to_proc, sym_call): don't use refinements. 3542 3543 * test/ruby/test_refinement.rb: related test. 3544 3545Sat Dec 8 09:24:42 2012 Eric Hodel <drbrain@segment7.net> 3546 3547 * ext/openssl/ossl_x509name.c: Completed documentation for 3548 OpenSSL::X509::Name. 3549 3550Sat Dec 8 07:57:12 2012 Koichi Sasada <ko1@atdot.net> 3551 3552 * ext/objspace/objspace.c (iow_size): return size of internal object 3553 for ObjectSpace.memsize_of(). 3554 3555 * test/objspace/test_objspace.rb: add a test. 3556 3557Tue Dec 08 02:39:23 2012 James Edward Gray II <james@graysoftinc.com> 3558 3559 * lib/csv.rb: A fix for row comparison by Stephen Wattam. [Bug #7528] 3560 3561Sat Dec 8 01:27:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3562 3563 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): no need to 3564 check all reports. 3565 3566Sat Dec 8 00:10:34 2012 Shugo Maeda <shugo@ruby-lang.org> 3567 3568 * vm_eval.c (yield_under, eval_under): do not activate refinements 3569 of the receiver in module_eval and instance_eval. 3570 3571 * eval.c (ruby_Init_refinement): undef Class#refine. 3572 3573 * eval.c (ruby_Init_refinement): remove Module#using. 3574 3575 * eval.c (ruby_Init_refinement): main.using should be private. 3576 3577 * eval.c (rb_mod_refine): the argument of Module#refine should not 3578 be a module. 3579 3580 * insns.def (defineclass): do not activate refinements in a class or 3581 module. 3582 3583Fri Dec 7 23:42:11 2012 Shugo Maeda <shugo@ruby-lang.org> 3584 3585 * ext/refinement/refinement.c: include ruby/ruby.h instead of the 3586 declaration of rb_warn(). 3587 3588Fri Dec 7 16:07:00 2012 Zachary Scott <zachary@zacharyscott.net> 3589 3590 * doc/etc.rd: Removed stale documentation file 3591 * ext/etc/etc.c: Merged documentation from doc/etc.rd and updated 3592 rdoc, added documentation for Etc::Passwd and Etc::Group 3593 3594Fri Dec 7 16:00:57 2012 NAKAMURA Usaku <usa@ruby-lang.org> 3595 3596 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): no need to 3597 retry skipped test. this fix makes 40% faster the whole test-all 3598 with -j5 on Windows. 3599 3600Fri Dec 7 14:22:29 2012 Eric Hodel <drbrain@segment7.net> 3601 3602 * lib/rdoc/markup/to_joined_paragraph.rb: Completed documentation 3603 * lib/rdoc/parser/c.rb: ditto 3604 * lib/rdoc/parser/changelog.rb: ditto 3605 * lib/rdoc/servlet.rb: ditto 3606 * lib/rdoc/store.rb: ditto 3607 3608 * lib/rdoc/store.rb: Improved HTML error page. Completed 3609 documentation 3610 3611 * lib/rdoc/parser/ruby.rb: Fixed bug attaching a comment to A::B = 42 3612 * test/rdoc/test_rdoc_parser_ruby.rb: Test for above 3613 3614 * test/rdoc/test_rdoc_comment.rb: Removed garbage 3615 3616Fri Dec 7 14:03:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3617 3618 * lib/timeout.rb (Timeout#timeout): since async_interrupt_timing 3619 re-raises a deferred exception, replace the timeout exception with 3620 Timeout::Error after it. [Bug #7503] 3621 3622Fri Dec 7 13:07:00 2012 Zachary Scott <zachary@zacharyscott.net> 3623 3624 * doc/forwardable.rd: Remove stale documentation file 3625 * lib/forwardable.rb: Merge documentation from doc/forwardable.rd 3626 3627Fri Dec 7 09:47:35 2012 NARUSE, Yui <naruse@ruby-lang.org> 3628 3629 * time.c (time_mdump): dump timezone string to private instance variable 3630 on marshaling. 3631 3632 * time.c (time_mload): load timezone string from private instance 3633 variable named 'zone'. 3634 3635Fri Dec 7 01:15:07 2012 Naohisa Goto <ngotogenome@gmail.com> 3636 3637 * ext/fiddle/lib/fiddle/function.rb (Fiddle::Function#name): new 3638 attribute needed to switch Win32::Registry from DL to Fiddle. 3639 3640 * ext/fiddle/lib/fiddle/import.rb (import_function, bind_function): 3641 set function name to the returned Fiddle::Function object. 3642 3643Fri Dec 7 00:11:44 2012 Shugo Maeda <shugo@ruby-lang.org> 3644 3645 * test/ruby/test_refinement.rb: fix some tests to use neither 3646 Module#using nor Module#module_eval. 3647 3648Thu Dec 6 23:27:50 2012 Shugo Maeda <shugo@ruby-lang.org> 3649 3650 * eval.c (ruby_Init_refinement): a new function to enable 3651 Refinements with a warning "Refinements are experimental...". 3652 3653 * ext/refinement/refinement.c, ext/refinement/extconf.rb: a new 3654 extension library to enable Refinements. 3655 3656Thu Dec 6 18:23:05 2012 Shugo Maeda <shugo@ruby-lang.org> 3657 3658 * revised r37993 to avoid SEGV/ILL in tests. In r37993, a method 3659 entry with VM_METHOD_TYPE_REFINED holds only the original method 3660 definition, so ci->me is set to a method entry allocated in the 3661 stack, and it causes SEGV/ILL. In this commit, a method entry 3662 with VM_METHOD_TYPE_REFINED holds the whole original method entry. 3663 Furthermore, rb_thread_mark() is changed to mark cfp->klass to 3664 avoid GC for iclasses created by copy_refinement_iclass(). 3665 3666 * vm_method.c (rb_method_entry_make): add a method entry with 3667 VM_METHOD_TYPE_REFINED to the class refined by the refinement if 3668 the target module is a refinement. When a method entry with 3669 VM_METHOD_TYPE_UNDEF is invoked by vm_call_method(), a method with 3670 the same name is searched in refinements. If such a method is 3671 found, the method is invoked. Otherwise, the original method in 3672 the refined class (rb_method_definition_t::body.orig_me) is 3673 invoked. This change is made to simplify the normal method lookup 3674 and to improve the performance of normal method calls. 3675 3676 * vm_method.c (EXPR1, search_method, rb_method_entry), 3677 vm_eval.c (rb_call0, rb_search_method_entry): do not use 3678 refinements for method lookup. 3679 3680 * vm_insnhelper.c (vm_call_method): search methods in refinements if 3681 ci->me is VM_METHOD_TYPE_REFINED. If the method is called by 3682 super (i.e., ci->call == vm_call_super_method), skip the same 3683 method entry as the current method to avoid infinite call of the 3684 same method. 3685 3686 * class.c (include_modules_at): add a refined method entry for each 3687 method defined in a module included in a refinement. 3688 3689 * class.c (rb_prepend_module): set an empty table to 3690 RCLASS_M_TBL(klass) to add refined method entries, because 3691 refinements should have priority over prepended modules. 3692 3693 * proc.c (mnew): use rb_method_entry_with_refinements() to get 3694 a refined method. 3695 3696 * vm.c (rb_thread_mark): mark cfp->klass for iclasses created by 3697 copy_refinement_iclass(). 3698 3699 * vm.c (Init_VM), cont.c (fiber_init): initialize th->cfp->klass. 3700 3701 * test/ruby/test_refinement.rb (test_inline_method_cache): do not skip 3702 the test because it should pass successfully. 3703 3704 * test/ruby/test_refinement.rb (test_redefine_refined_method): new 3705 test for the case a refined method is redefined. 3706 3707Thu Dec 6 17:29:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3708 3709 * parse.y (parser_here_document): flush string content between new 3710 line and :string_embexpr. [ruby-core:48703] [Bug #7255] 3711 3712Thu Dec 6 16:35:21 2012 Eric Hodel <drbrain@segment7.net> 3713 3714 * test/rake/helper.rb: Load envutil correctly. Removed useless rescue 3715 for signal propagation tests 3716 * lib/rake/file_utils.rb: Prefer the built ruby. 3717 * test/rake/test_rake_functional.rb: ditto 3718 3719Thu Dec 6 15:20:34 2012 Eric Hodel <drbrain@segment7.net> 3720 3721 * lib/rdoc/context.rb: Don't warn for duplicate methods while loading. 3722 * test/rdoc/test_rdoc_context.rb: Test for above. 3723 3724Thu Dec 6 14:26:22 2012 Eric Hodel <drbrain@segment7.net> 3725 3726 * lib/rubygems/command_manager.rb: Removed string concatenation 3727 syntax. [Bug #6265] 3728 * lib/rubygems/commands/install_command.rb: ditto 3729 * lib/rubygems/commands/uninstall_command.rb: ditto 3730 * lib/rubygems/indexer.rb: ditto 3731 * lib/rubygems/security/policy.rb: ditto 3732 * lib/rubygems/security.rb: ditto 3733 * lib/rubygems/uninstaller.rb: ditto 3734 * test/rubygems/test_gem_commands_cert_command.rb: ditto 3735 * test/rubygems/test_gem_package.rb: ditto 3736 * test/rubygems/test_gem_security.rb: ditto 3737 * test/rubygems/test_gem_security_policy.rb: ditto 3738 3739Thu Dec 6 14:10:08 2012 Eric Hodel <drbrain@segment7.net> 3740 3741 * lib/rubygems/package.rb: Set rubygems_version before validation. 3742 Fixes issue with bundler. 3743 * test/rubygems/test_gem_package.rb: Test for above. 3744 3745 * lib/rubygems/remote_fetcher.rb: Only update the cache when we have 3746 permission. [ruby-trunk - Bug #7509] 3747 * lib/rubygems/source.rb (class Gem): ditto 3748 * test/rubygems/test_gem_remote_fetcher.rb: Test for above. 3749 * lib/rubygems/test_utilities.rb: ditto 3750 3751 * lib/rubygems/specification.rb: Derive base_dir properly for default 3752 gems. [ruby-trunk - Bug #7496] 3753 * test/rubygems/test_gem_specification.rb: Test for above. 3754 3755 * lib/rubygems.rb: Untaint Dir.pwd when searching for gemdeps files 3756 for operation under $SAFE=1 3757 3758Thu Dec 06 12:07:11 2012 Koichi Sasada <ko1@atdot.net> 3759 3760 * vm_trace.c: TracePoint#enable should not cause an error 3761 when it is already enabled. TracePoint#disable is too. 3762 [ruby-core:50561] [ruby-trunk - Bug #7513] 3763 3764 * test/ruby/test_settracefunc.rb: add tests. 3765 3766Thu Dec 6 07:19:58 2012 Eric Hodel <drbrain@segment7.net> 3767 3768 * lib/rdoc*: Improved display of ChangeLog files as HTML. 3769 * test/rdoc*: Test for above. 3770 3771Thu Dec 6 04:34:19 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3772 3773 * thread.c (rb_uninterruptible): helper function for providing 3774 temporary async_interrupt_timing(Object => :defer) 3775 3776 * io.c (rb_f_p): use rb_uninterruptible. 3777 * io.c (rb_f_p_internal): helper function for rb_f_p(). 3778 * io.c (struct rb_f_p_arg): new struct for rb_f_p_internal. 3779 3780 * test/ruby/test_thread.rb (test_async_interrupt_and_p): test for 3781 the above. 3782 3783Thu Dec 6 04:27:10 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3784 3785 * io.c (io_binwrite): check interrupt before io issue. 3786 * test/ruby/test_thread.rb (test_async_interrupt_and_io): 3787 test for the above. 3788 3789Thu Dec 6 01:10:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3790 3791 * vm_eval.c (rb_method_call_status): use Qundef as no self instead of 3792 the current self. 3793 3794 * vm_eval.c (send_internal): public_send does not consider how it is 3795 called, as mentioned in r14173. patched by charliesome (Charlie 3796 Somerville). [ruby-core:50489] [Bug #7499] 3797 3798Wed Dec 5 23:50:23 2012 Narihiro Nakamura <authornari@gmail.com> 3799 3800 * gc.c (getrusage_time): uses clock_gettime() with 3801 CLOCK_PROCESS_CPUTIME_ID when available, which provides a 1ns 3802 precision on linux. [ruby-core:50495] [Bug #7500] 3803 patched by Aman Gupta. 3804 3805Wed Dec 5 22:46:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3806 3807 * vm.c (rb_vm_make_proc): save the proc made from the given block so 3808 that it will not get collected. [ruby-core:50545] [Bug #7507] 3809 3810Wed Dec 5 22:13:57 2012 Naohisa Goto <ngotogenome@gmail.com> 3811 3812 * ext/dl/lib/dl/func.rb (DL::Function#bind): When Fiddle is used, 3813 @ptr should be updated. This fixes SEGV raised in DL::Function#call 3814 after calling DL::Function#bind. [Bug #7516] [ruby-dev:46708] 3815 3816 * test/dl/test_func.rb (test_bind): test for the above 3817 3818Wed Dec 5 18:53:00 2012 Masaya Tarui <tarui@ruby-lang.org> 3819 3820 * thread.c (rb_thread_s_async_interrupt_timing): have to check ints 3821 before jumping out. 3822 * test/ruby/test_thread.rb (test_async_interrupt_with_return): add test 3823 rescue has to catch a queued async exception at the time of return. 3824 * test/ruby/test_thread.rb (test_async_interrupt_with_break): add test 3825 rescue has to catch a queued async exception at the time of break. 3826 3827Wed Dec 5 16:54:28 2012 Koichi Sasada <ko1@atdot.net> 3828 3829 * test/ruby/memory_status.rb: suppress warning. 3830 A patch from NAKAMURA Usaku. 3831 3832Wed Dec 5 16:06:54 2012 Eric Hodel <drbrain@segment7.net> 3833 3834 * lib/rdoc/parser/changelog.rb: Parse more ChangeLog file variations. 3835 * test/rdoc/test_rdoc_parser_changelog.rb: Test for above. 3836 3837Wed Dec 5 12:17:11 2012 Naohisa Goto <ngotogenome@gmail.com> 3838 3839 * ext/dl/lib/dl/func.rb (DL::Function#initialize, DL::Function#bind): 3840 ABI should be set by using CFunc#calltype even when Fiddle is used. 3841 When Fiddle is used and a block is given, name should not be ignored. 3842 [ruby-core:50562] [Bug #7514] 3843 3844 * ext/dl/lib/dl/import.rb (DL::Importer#bind_function): should respect 3845 abi and name when Fiddle is used. 3846 3847 * test/dl/test_func.rb (test_name_with_block): test for "name" method 3848 with giving a block. 3849 3850Wed Dec 5 11:55:00 2012 Zachary Scott <zachary@zacharyscott.net> 3851 3852 * doc/shell.rd, doc/shell.rd.ja: Removed stale doc files 3853 * lib/shell.rb, lib/shell/*: Merge and updates docs from doc/shell.rd* 3854 3855Wed Dec 5 11:42:38 2012 Koichi Sasada <ko1@atdot.net> 3856 3857 * test/ruby/test_settracefunc.rb: disable trace. 3858 3859Wed Dec 5 11:37:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3860 3861 * lib/mkmf.rb (MakeMakefile#macro_defined?): use clearly different 3862 strings from conflict markers. 3863 3864Wed Dec 5 04:25:00 2012 Zachary Scott <zachary@zacharyscott.net> 3865 3866 * lib/README: Add rdoc modeline directive and formatting libs 3867 3868Wed Dec 5 04:04:02 2012 Masaya Tarui <tarui@ruby-lang.org> 3869 3870 * test/ruby/test_thread.rb (test_async_interrupt_blocking): bugfix 3871 about deferred check 3872 3873Wed Dec 5 03:35:37 2012 Masaya Tarui <tarui@ruby-lang.org> 3874 3875 * vm_core.h (RUBY_VM_CHECK_INTS_BLOCKING): check async queue everytime. 3876 * thread.c (sleep_forever): check RUBY_VM_CHECK_INTS_BLOCKING first. 3877 * thread.c (sleep_timeval): ditto. 3878 * test/ruby/test_thread.rb (test_async_interrupt_blocking): add a test 3879 exceptions are correctly deferred and raised on :on_blocking context. 3880 3881Wed Dec 5 02:36:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3882 3883 * common.mk, defs/id.def, template/id.c.tmpl: generate id.c as well as id.h. 3884 3885Wed Dec 5 00:56:21 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 3886 3887 * thread.c (rb_mutex_owned_p): new method that return current 3888 thread have the target mutex or not. [Feature #7505] [ruby-dev:46697] 3889 * test/ruby/test_thread.rb (test_mutex_owned, test_mutex_owned2): 3890 test for the above. 3891 * NEWS: new for the above. 3892 3893Wed Dec 5 00:05:47 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> 3894 3895 * lib/erb.rb (make_compiler, add_put_cmd, add_insert_cmd): extract 3896 methods. 3897 3898Tue Dec 4 18:21:04 2012 Naohisa Goto <ngotogenome@gmail.com> 3899 3900 * test/ruby/memory_status.rb (Memory): use fiddle/types if available. 3901 3902 * test/ruby/memory_status.rb (Memory::Win32): :stdcall is needed on 3903 x86 WIN32. This commit partly reverts r38054. 3904 3905Tue Dec 4 18:05:58 2012 Naohisa Goto <ngotogenome@gmail.com> 3906 3907 * ext/fiddle/lib/fiddle/types.rb: copied from ext/dl/lib/dl/types.rb 3908 and modified for Fiddle, needed for migration from DL to Fiddle. 3909 3910Tue Dec 4 17:57:09 2012 Naohisa Goto <ngotogenome@gmail.com> 3911 3912 * ext/fiddle/lib/fiddle/import.rb (import_function, bind_function): 3913 should respect call_type for migration from DL to Fiddle. 3914 [Bug #7484] [ruby-core:50405] 3915 3916Tue Dec 4 16:54:00 2012 Eric Hodel <drbrain@segment7.net> 3917 3918 * .document: Added ChangeLog and doc/ChangeLog-* as documentation 3919 3920Tue Dec 4 16:47:46 2012 Eric Hodel <drbrain@segment7.net> 3921 3922 * lib/rdoc/parser/changelog.rb: Added a ChangeLog parser to RDoc. 3923 * lib/rdoc/parser.rb: ditto 3924 * test/rdoc/test_rdoc_parser_changelog.rb: Test for above. 3925 3926Tue Dec 4 16:23:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3927 3928 * marshal.c (path2class, path2module): use PRIsVALUE. 3929 3930 * marshal.c (w_object, marshal_dump, marshal_load): use 3931 rb_check_funcall if possible. 3932 3933 * marshal.c (w_object, marshal_dump, r_object0, marshal_load): use 3934 RB_GC_GUARD() (directly or indirectly) instead of volatile. 3935 3936 * variable.c (rb_path_to_class): prevent the argument from GC. 3937 3938Tue Dec 04 13:55:07 2012 Koichi Sasada <ko1@atdot.net> 3939 3940 * vm_opts.h: enable optimization - operand unification. 3941 Operand unification technique enable to combine 3942 an instruction and specific operands and make new 3943 instruction. 3944 3945 * defs/opt_operand.def: add several configuration 3946 of operand unification. 3947 3948 * insns.def: use `int' instead to suppress warning. 3949 3950Mon Dec 3 17:58:53 2012 NARUSE, Yui <naruse@ruby-lang.org> 3951 3952 * parse.y: replace parser->enc with current_enc. 3953 3954Tue Dec 4 08:33:46 2012 Eric Hodel <drbrain@segment7.net> 3955 3956 * README.EXT: Converted to RDoc format 3957 * README.EXT.ja: ditto 3958 3959Tue Dec 4 08:32:10 2012 Eric Hodel <drbrain@segment7.net> 3960 3961 * lib/rdoc/ri/driver.rb: Fixed ri page display for files with 3962 extensions. 3963 * test/rdoc/test_rdoc_ri_driver.rb: Test for above 3964 3965Tue Dec 4 04:11:50 2012 Eric Hodel <drbrain@segment7.net> 3966 3967 * .document: Add NEWS for `ri ruby:NEWS` 3968 * NEWS: Set format as rdoc 3969 * doc/NEWS-1.8.7: ditto 3970 * doc/NEWS-1.9.1: ditto 3971 * doc/NEWS-1.9.2: ditto 3972 * doc/NEWS-1.9.3: ditto 3973 3974Mon Dec 3 20:37:22 2012 Koichi Sasada <ko1@atdot.net> 3975 3976 * vm_exec.c: check VM_COLLECT_USAGE_DETAILS. 3977 3978Mon Dec 3 20:28:02 2012 Koichi Sasada <ko1@atdot.net> 3979 3980 * compile.c (iseq_specialized_instruction): 3981 change condition of using `opt_send_simple'. 3982 More method invocations can be simple. 3983 3984Mon Dec 3 20:03:38 2012 Koichi Sasada <ko1@atdot.net> 3985 3986 * test/ruby/test_objectspace.rb: skip RuntimeError 3987 which says a message "can't modify frozen File". 3988 Is that correct behavior? 3989 3990Mon Dec 03 20:00:19 2012 Koichi Sasada <ko1@atdot.net> 3991 3992 * vm_exec.c: vm_analysis_insn should be static. 3993 3994Mon Dec 3 19:10:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 3995 3996 * random.c (Init_Random), rational.c (Init_Rational): make marshal 3997 methods private. [Feature #6539] 3998 3999Mon Dec 3 18:29:27 2012 Koichi Sasada <ko1@atdot.net> 4000 4001 * iseq.h: iseq_catch_table_entry::catch_type should be 4002 Fixnum because they are pushed into Array in a compiler. 4003 [Bug #7502] 4004 4005 * test/ruby/test_objectspace.rb: add a test of this issue. 4006 4007Mon Dec 3 18:25:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4008 4009 * template/id.h.tmpl (preserved_ids): "empty?" is not an attribute name. 4010 4011Mon Dec 3 16:23:09 2012 Koichi Sasada <ko1@atdot.net> 4012 4013 * vm_backtrace.c (vm_backtrace_to_ary): check negative size (2nd arg). 4014 4015Mon Dec 3 15:50:33 2012 Akinori MUSHA <knu@iDaemons.org> 4016 4017 * misc/ruby-additional.el (ruby-mode-set-encoding): Unbreak by 4018 fixing a typo, s/set/setq/. 4019 4020Mon Dec 3 14:14:19 2012 Koichi Sasada <ko1@atdot.net> 4021 4022 * compile.c (iseq_compile_each): joke shouldn't use id.h defined ids. 4023 4024 * id.c (Init_id): ditto. 4025 4026 * common.mk: fix dependency. 4027 4028Mon Dec 3 12:43:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4029 4030 * misc/ruby-mode.el (ruby-block-end-re, ruby-delimiter) 4031 (ruby-mode-syntax-table, ruby-parse-partial, ruby-beginning-of-indent): 4032 merge from Emacs. 4033 4034 * misc/ruby-mode.el (ruby-calculate-indent): fix indentation of 4035 argument lines in parentheses. [Bug #5140] 4036 4037Mon Dec 3 07:52:41 2012 Eric Hodel <drbrain@segment7.net> 4038 4039 * lib/rdoc/parser.rb: Improved modeline support. Patch by nobu. 4040 * test/rdoc/test_rdoc_parser.rb: Test for above. 4041 4042Sun Dec 3 00:06:00 2012 Kenta Murata <mrkn@mrkn.jp> 4043 4044 * ext/bigdecimal/bigdecimal.c (BigDecimal_new): stop checking string 4045 taintness. [Bug #5508] [ruby-core:40510] 4046 4047Sun Dec 2 19:26:47 2012 Masaya Tarui <tarui@ruby-lang.org> 4048 4049 * thread.c (RB_GC_SAVE_MACHINE_CONTEXT, rb_gc_save_machine_context): 4050 extract rb_gc_save_machine_context to RB_GC_SAVE_MACHINE_CONTEXT. 4051 NOTE: machine_regs and machine_stack_end must be set in current scope. 4052 4053Sun Dec 2 18:46:24 2012 Koichi Sasada <ko1@atdot.net> 4054 4055 * array.c, enum.c, insns.def, io.c, numeric.c, parse.y, process.c, 4056 range.c: use prepared IDs. 4057 A patch from charliesome (Charlie Somerville). 4058 [Bug #7495] 4059 4060 * common.mk: add dependency to id.h. 4061 4062 * common.mk: replace ID_H_INCLUDES with id.h. 4063 4064Sun Dec 2 16:48:00 2012 Zachary Scott <zachary@zacharyscott.net> 4065 4066 * lib/weakref.rb (rdoc): Clean up usage, add example, 4067 note ArgumentError on WeakRef.new 4068 4069Sun Dec 2 16:45:00 2012 Zachary Scott <zachary@zacharyscott.net> 4070 4071 * gc.c (WeakMap): Add doc for internal reference, use lib/weakref.rb 4072 4073Sun Dec 2 07:24:23 2012 Eric Hodel <drbrain@segment7.net> 4074 4075 * lib/rdoc/parser.rb: Parse files with a -*- rdoc -*- modeline 4076 * test/rdoc/test_rdoc_parser.rb: Test for above 4077 4078Sun Dec 2 06:02:00 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4079 4080 * gc.h (SET_MACHINE_STACK_END): add volatile for preventing 4081 harmful optimization. [ruby-dev:46665] [Bug #7468] 4082 4083Sun Dec 2 05:01:58 2012 Koichi Sasada <ko1@atdot.net> 4084 4085 * iseq.c (rb_iseq_line_trace_each): iterate `line' event only. 4086 4087 * test/ruby/test_iseq.rb: add a test for this change. 4088 4089Sun Dec 2 02:46:04 2012 Koichi Sasada <ko1@atdot.net> 4090 4091 * vm_trace.c: add TracePoint#inspect. 4092 4093 * test/ruby/test_settracefunc.rb: add a test for this change. 4094 4095Sat Dec 1 21:18:19 2012 Koichi Sasada <ko1@atdot.net> 4096 4097 * test/ruby/test_backtrace.rb: add a test for 4098 Thread::Backtrace::Location#inspect. 4099 BTW, tests for `caller_locations' are not enough. 4100 Any volunteers are welcome. 4101 4102Sat Dec 1 21:06:58 2012 Koichi Sasada <ko1@atdot.net> 4103 4104 * vm_backtrace.c (location_inspect_m): add 4105 Thread::Backtrace::Location#inspect. 4106 It same as loc_obj.to_s.inspect. 4107 4108Sat Dec 1 19:24:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4109 4110 * io.c (rb_io_puts): recurse for the argument itself, not converted 4111 array elements. [ruby-core:42444] [Bug #5986] 4112 4113Sat Dec 1 19:01:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4114 4115 * marshal.c (w_object, r_object0): call private marshal methods. 4116 [Feature #6539] 4117 4118Sat Dec 1 18:52:22 2012 Eric Hodel <drbrain@segment7.net> 4119 4120 * lib/rubygems/commands/cleanup_command.rb: Fix cleanup command for 4121 multiple gems. [ruby-trunk - #7481] by Kouhei Sutou 4122 * test/rubygems/test_gem_commands_cleanup_command.rb: Test for above. 4123 * lib/rubygems.rb: Autoload Gem::Source to prevent test failures 4124 4125Sat Dec 1 18:17:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4126 4127 * complex.c (Init_Complex), time.c (Init_Time): make marshal methods 4128 private. [Feature #6539] 4129 4130 * object.c (Init_Object): make remove_instance_variable public. 4131 [Feature #6539] 4132 4133 * id.c (Init_id), template/id.h.tmpl: add initialize_{copy,clone,dup} 4134 and respond_to_missing?. 4135 4136 * vm_method.c (rb_method_entry_make): make above methods private. 4137 [Feature #6539] 4138 4139Sat Dec 1 16:40:22 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4140 4141 * test/ruby/test_thread.rb: move ConditionVariable related test 4142 into test/thread/test_cv.rb. 4143 * test/thread/test_cv.rb: new file. 4144 * test/thread/test_cv.rb (test_condvar_empty_signal): new tests. 4145 * test/thread/test_cv.rb (test_condvar_empty_broadcast): ditto. 4146 4147Sat Dec 1 15:14:25 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4148 4149 * test/ruby/test_thread.rb (test_cv_wait_deadlock): enable 4150 cv deadlock test. 4151 4152Sat Dec 1 14:23:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4153 4154 * lib/thread.rb (ConditionVariable): use hash instead of array for 4155 @waiters. 4156 * test/thread/test_queue.rb (test_sized_queue_and_wakeup): remove 4157 a test because @waiters no longer have a chance to duplicated. Now it's 4158 a hash. 4159 4160Sat Dec 1 17:16:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4161 4162 * misc/ruby-electric.el (ruby-electric-curlies): use kill-region 4163 instead of interactive command delete-backward-char. 4164 4165Sat Dec 1 17:12:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4166 4167 * misc/inf-ruby.el (inferior-ruby-mode): fix the 4168 compilation-shell-minor-mode configuration. a patch by 4169 j2petkov (Jean-Christophe Petkovich) in [ruby-core:46518]. 4170 [Bug #6742] 4171 4172Sat Dec 1 15:05:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4173 4174 * dir.c (glob_helper): use NAMLEN() to tell the length of d_name 4175 instead of strlen(), which can access beyond the boundary. 4176 4177Sat Dec 1 13:48:13 2012 Eric Hodel <drbrain@segment7.net> 4178 4179 * lib/rubygems/specification.rb: Don't add default gems to $LOAD_PATH 4180 as they are already there. 4181 4182Sat Dec 1 12:22:17 2012 Kouhei Sutou <kou@cozmixng.org> 4183 4184 * re-added r38053 that is reverted by r38061. Problems by r38053 4185 are resolved by r38096. r38096 removed GEM_SKIP configuration. 4186 4187 The below is ChangeLog of r38053: 4188 4189 * defs/default_gems: Add base directory column. 4190 4191 * tool/rbinstall.rb: 4192 - Install .gemspecs of default gem to 4193 #{GEM_HOME}/specifications/default/. 4194 - Update files parameter of .gemspecs by relative path from 4195 library directory. 4196 4197Sat Dec 1 11:09:12 2012 Aaron Patterson <aaron@tenderlovemaking.com> 4198 4199 * variable.c (rb_class_path_no_cache): add a function to get the class 4200 path without caching the computed path. Some classes are frozen, and 4201 will raise an exception without this. 4202 4203 * probes.d (cmethod-entry, cmethod-return): separate cmethods from 4204 regular methods to match set trace func. 4205 4206 * probes_helper.h: refactor macros. Fix probes to avoid calling 4207 #inspect when profiling. 4208 4209 * insns.def: update for use with new macros. 4210 4211 * vm_eval.c: ditto 4212 4213 * vm_insnhelper.c: ditto 4214 4215 * test/dtrace/test_singleton_function.rb: fix test for new output. 4216 4217 * test/dtrace/test_cmethod.rb: test the cmethod probes. 4218 4219Sat Dec 1 09:44:16 2012 Eric Hodel <drbrain@segment7.net> 4220 4221 * test/rdoc/test_rdoc_options.rb: Windows drive letters are 4222 case-insensitive. 4223 4224Sat Dec 1 09:42:13 2012 Eric Hodel <drbrain@segment7.net> 4225 4226 * lib/rubygems.rb: Search for gem deps file up the directory tree. 4227 * test/rubygems/test_gem.rb: Test for above. 4228 4229Sat Dec 1 09:33:32 2012 Eric Hodel <drbrain@segment7.net> 4230 4231 * test/runner.rb: Set GEM_HOME, GEM_PATH and GEM_SKIP to empty set. 4232 With default_gem support in RubyGems GEM_SKIP prevents loading of 4233 built-in gems. 4234 4235Sat Dec 1 07:16:17 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 4236 4237 * compile.c (ADD_CATCH_ENTRY): add a cast to fix SEGV with x64 mingw 4238 on Windows 8. Without cast, 0 might be non zero value at higher bits 4239 in rb_ary_new3(). 4240 [ruby-core:50258] [Bug #7456] 4241 4242Sat Dec 1 04:07:57 2012 NARUSE, Yui <naruse@ruby-lang.org> 4243 4244 * parse.y (parser.utf8): remove unused property. 4245 4246 * parse.y (UTF8_ENC): remove unused macro. 4247 4248 * parse.y (parser_tokadd_utf8): use rb_utf8_encoding() directly. 4249 4250Sat Dec 1 03:49:45 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4251 4252 * lib/sync.rb (Sync_m#sync_synchronize): add Thread.async_interrupt_timing 4253 for protecting from async interrupt. 4254 * lib/sync.rb (Sync_m#sync_lock): ditto. 4255 4256Sat Dec 1 03:38:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4257 4258 * lib/thread.rb (ConditionVariable#broadcast): s/RuntimeError/StandardError/ 4259 * lib/thread.rb (ConditionVariable#signal): ditto. 4260 4261Sat Dec 1 03:29:52 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4262 4263 * lib/thread.rb (SizedQueue#pop): rewrite by using ConditionVariable. 4264 * lib/thread.rb (SizedQueue#push): ditto. 4265 * lib/thread.rb (SizedQueue#max): ditto. 4266 * lib/thread.rb (Queue#pop): ditto. 4267 * lib/thread.rb (Queue#push): ditto. 4268 4269 * lib/thread.rb (SizedQueue#num_waiting): adopt the above changes. 4270 * lib/thread.rb (SizedQueue#initialize): ditto. 4271 * lib/thread.rb (Queue#num_waiting): ditto. 4272 * lib/thread.rb (Queue#initialize): ditto. 4273 * test/thread/test_queue.rb (test_sized_queue_and_wakeup): ditto. 4274 4275Sat Dec 1 03:45:47 2012 Koichi Sasada <ko1@atdot.net> 4276 4277 * thread.c (Thread.async_interrupt_timing): fix RDoc. 4278 :never is not used any more. 4279 4280Sat Dec 1 02:56:19 2012 Koichi Sasada <ko1@atdot.net> 4281 4282 * iseq.c: add RubyVM::InstructionSequence (ISeq) inspection methods. 4283 * ISeq#path returns path of this ISeq written. 4284 * ISeq#absolute_path returns absolute path. 4285 * ISeq#label returns label (method name and so on). 4286 * ISeq#base_label returns base label (see Thread::Backtrace::Location). 4287 * ISeq#first_lineno returns first line number of this ISeq. 4288 * ISeq.of(obj) returns ISeq object which obj (Proc or Method) 4289 is contains. 4290 4291 * test/ruby/test_iseq.rb: add tests. 4292 4293Sat Dec 1 02:58:51 2012 Eric Hodel <drbrain@segment7.net> 4294 4295 * include/ruby/ruby.h (rb_event_flag_t): Maintain integer precision 4296 for clang error (VALUE aka unsigned long vs unsigned int) 4297 4298Sat Dec 1 02:53:18 2012 Eric Hodel <drbrain@segment7.net> 4299 4300 * test/rubygems/test_gem_dependency_installer.rb: Use Gem.read_binary 4301 instead of File.binread for ruby 1.8 compatibility in the rubygems 4302 source repository. Updates r38075 4303 4304Sat Dec 1 02:33:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4305 4306 * thread.c (rb_threadptr_interrupt_mask, async_interrupt_timing_func): 4307 merge into them into rb_thread_s_async_interrupt_timing. 4308 * thread.c (rb_thread_s_async_interrupt_timing): ditto. 4309 4310Sat Dec 1 02:11:47 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4311 4312 * thread.c (rb_threadptr_interrupt_mask): add argument check. 4313 * thread.c (async_interrupt_timing_arg_check_i): helper function 4314 for the above. 4315 * test/ruby/test_thread.rb (test_async_interrupt_timing_invalid_argument): 4316 test for the above. 4317 4318Sat Dec 1 01:19:34 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4319 4320 * lib/thread.rb (ConditionVariable#broadcast): protect from 4321 async interrupt by using Thread.async_interrupt_timing. 4322 * lib/thread.rb (ConditionVariable#signal): ditto. 4323 * lib/thread.rb (ConditionVariable#wait): ditto. 4324 4325Sat Dec 1 02:04:23 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 4326 4327 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err): 4328 raise if assert_in_out_err misused. 4329 4330Sat Dec 1 02:08:16 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4331 4332 * test/rdoc/test_rdoc_rubygems_hook.rb 4333 (TestRDocRubygemsHook#test_setup_unwritable): 1. check the existence 4334 of the file(directory) before touch it. 2. remove test 4335 file(directory) after the test. see [ruby-core:50388]. 4336 4337Sat Dec 1 01:51:06 2012 Koichi Sasada <ko1@atdot.net> 4338 4339 [EXPERIMENTAL] 4340 * iseq.c: add following two methods. 4341 * ISeq#line_trace_all returns all line traces (line numbers) 4342 * ISeq#line_trace_specify(pos, set) set `pos'th line event to 4343 specified_line event (if set is true). 4344 These features are introduced for debuggers (mainly to make 4345 breakpoint). 4346 4347 * iseq.h: add decl. of C APIs. 4348 4349 * test/ruby/test_iseq.rb: add tests. 4350 4351 * vm_trace.c: add `specified_line' event. 4352 4353 * include/ruby/ruby.h: ditto. 4354 4355Sat Dec 1 01:49:52 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4356 4357 * test/rubygems/test_gem_dependency_installer.rb: gems are of course 4358 binary files, so use a binary reading method when reading it. 4359 see [ruby-core:50388]. 4360 4361Sat Dec 1 01:21:07 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4362 4363 * lib/rubygems/command.rb (Gem::Command#get_all_gem_names_and_versions): 4364 who assumes that the pathname of a gem never contains ':' ? 4365 yes, on Unixen pathnames can contain ':', and on Windows they almost 4366 certainly contain ':'. see [ruby-core:50388]. 4367 4368 * lib/rubygems/requirement.rb (Gem::Requirement::PATTERN_RAW): extract 4369 the regexp to match the version specifier from PATTERN to use in 4370 above method. 4371 4372Sat Dec 1 00:48:19 2012 Naohisa Goto <ngotogenome@gmail.com> 4373 4374 * ext/fiddle/extconf.rb, ext/fiddle/function.c 4375 (Fiddle::Function::STDCALL): FFI_STDCALL is not a macro, but an 4376 enumeration. [ruby-core:50398] [Bug #7483] 4377 4378Sat Dec 1 00:08:55 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4379 4380 * test/rubygems/test_gem_installer.rb 4381 (TestGemInstaller#test_check_executable_overwrite_other_non_gem): 4382 on Windows, rubygems always generate a wrapper .bat file when 4383 installing a file into bin, so testing no-overwrite a wrapper file 4384 and a non-wrapper file is nonsense. see [ruby-core:50388]. 4385 4386Fri Nov 30 23:39:58 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4387 4388 * test/rubygems/test_gem_installer.rb 4389 (TestGemInstaller#test_check_executable_overwrite_default_bin_dir): 4390 if the executable to be overwritten was generated by rubygems, the 4391 error message differs from the only copied one's. 4392 see [ruby-core:50388]. 4393 4394Fri Nov 30 23:27:26 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4395 4396 * test/rubygems/test_gem_ext_ext_conf_builder.rb 4397 (TestGemExtExtConfBuilder::test_class_make): reading with binary mode 4398 of course introduce \r on Windows. see [ruby-core:50388]. 4399 4400Fri Nov 30 23:11:37 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4401 4402 * lib/rubygems/specification.rb 4403 (Gem::Specification.validate_permissions): don't check executability 4404 of the source on Windows. they will be wrapped to .bat files when 4405 installing. see [ruby-core:50388]. 4406 4407Fri Nov 30 22:44:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4408 4409 * vm_core.h (rb_vm_struct): add thread_destruct_lock field. 4410 * thread.c (Init_Thread): ditto. 4411 * thread.c (rb_vm_gvl_destroy): ditto. 4412 4413 * thread.c (thread_start_func_2): make sure vm->running_thread 4414 don't point to dead thread. 4415 * thread.c (timer_thread_function): close a race against thread 4416 destruction. [Bug #4911][ruby-dev:43859] 4417 4418 * vm_core.h (rb_thread_set_current): reset running time of 4419 current thread instead of previous thread. We no longer 4420 assume previous running thread still live. 4421 4422Fri Nov 30 21:57:43 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4423 4424 * revert r38053 because it causes too many test failures. 4425 if you've already installed r38053 or later, remove the installed 4426 lib/ruby/gems/2.0.0 directory and reinstall this revision or later. 4427 4428Fri Nov 30 21:07:56 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4429 4430 * lib/test/unit/parallel.rb (Test::Unit::Worker.run): wrap LoadError 4431 because it's Gem::LoadError sometimes. see [Bug #6882] 4432 4433Fri Nov 30 20:47:44 2012 Koichi Sasada <ko1@atdot.net> 4434 4435 * thread.c: TracePoint#self returns invoking/exiting thread object 4436 at thread_begin/end event. 4437 4438 * test/ruby/test_settracefunc.rb: fix test. 4439 4440Fri Nov 30 19:55:17 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4441 4442 * test/ruby/memory_status.rb (Memory::Win32): use fiddle instead of dl, 4443 but I doubt fiddle is not compatible with dl. (if you are interested, 4444 see the diff.) [ruby-core:50194] [Bug #7443] 4445 4446Fri Nov 30 19:37:44 2012 Kouhei Sutou <kou@cozmixng.org> 4447 4448 * defs/default_gems: Add base directory column. 4449 4450 * tool/rbinstall.rb: 4451 - Install .gemspecs of default gem to 4452 #{GEM_HOME}/specifications/default/. 4453 - Update files parameter of .gemspecs by relative path from 4454 library directory. 4455 4456Fri Nov 30 19:30:00 2012 Zachary Scott <zachary@zacharyscott.net> 4457 4458 * vm_trace.c: 4459 tracepoint_attr_return_value (TracePoint#return_value): 4460 include `:b_return` for method doc 4461 tracepoint_enable_m, tracepoint_disable_m (#enable/#disable): 4462 don't have block argument, document block scope 4463 4464Fri Nov 30 18:52:56 2012 Koichi Sasada <ko1@atdot.net> 4465 4466 * vm_trace.c (tracepoint_disable_m, tracepoint_enable_m): 4467 fix block parameter. 4468 No argument should be given to a block which is passed 4469 to TracePoint#enable (and disable). 4470 4471Fri Nov 30 18:23:26 2012 Koichi Sasada <ko1@atdot.net> 4472 4473 * thread.c: rename Thread.control_interrupt 4474 to Thread.async_interrupt_timing. 4475 The option name `:never' is also changed to `:defer'. 4476 [ruby-core:50375] [ruby-trunk - Feature #6762] 4477 4478 * thread.c: remove Thread.check_interrupt. 4479 This method is difficult to understand by name. 4480 4481 * thread.c: add Thread.async_interrupted?. 4482 This method check any deferred async interrupts. 4483 4484 * test/ruby/test_thread.rb: change tests for above. 4485 4486Fri Nov 30 18:24:00 2012 Zachary Scott <zachary@zacharyscott.net> 4487 4488 * vm_trace.c: Documentation for TracePoint API 4489 [ruby-core:47243] [Feature #6895] 4490 4491Fri Nov 30 17:43:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4492 4493 * string.c (rb_str_cmp_m): try to compare with to_str result if 4494 possible before calling <=> method. [ruby-core:49279] [Bug #7342] 4495 4496 * string.c (rb_str_cmp_m): use rb_check_funcall instead of respond_to 4497 and call. 4498 4499 * string.c (rb_str_cmp_m): return fixed value, one of -1,0,+1 always. 4500 4501Fri Nov 30 16:19:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4502 4503 * vm_dump.c (rb_vm_bugreport): get rid of calling methods in sigsegv 4504 handler. based on a patch by charliesome (Charlie Somerville) 4505 [ruby-core:49573] [Bug #7402] 4506 4507Fri Nov 30 16:05:44 2012 Eric Hodel <drbrain@segment7.net> 4508 4509 * NEWS: Added RubyGems 2.0.0 4510 4511Fri Nov 30 15:24:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4512 4513 * parse.y (parser_yylex): fix false usage of local variable, it cannot 4514 appear in fname state [ruby-core:49659] [Bug #7408] 4515 4516Fri Nov 30 15:20:12 2012 Eric Hodel <drbrain@segment7.net> 4517 4518 * lib/rubygems/package.rb: Load YAML for building gems. 4519 * test/rubygems/test_gem_commands_contents_command.rb: Sort expected 4520 output of default gem contents. Re-fixes r38004 and r38005. 4521 4522Fri Nov 30 15:15:00 2012 Zachary Scott <zachary@zacharyscott.net> 4523 4524 * vm_trace.c (set_trace_func): Formatting of params and events 4525 4526Fri Nov 30 14:45:00 2012 Zachary Scott <zachary@zacharyscott.net> 4527 4528 * lib/net/http.rb: Net::HTTP::Patch to list of HTTP Request Classes 4529 Patch by Ryunosuke SATO [Fixes #217 on github] 4530 4531Fri Nov 30 14:05:00 2012 Zachary Scott <zachary@zacharyscott.net> 4532 4533 * lib/cgi.rb: CGI example for HTML generation 4534 Patch by Marcus Stollsteimer [ruby-core:50303] [Bug #7465] 4535 4536Fri Nov 30 13:52:00 2012 Zachary Scott <zachary@zacharyscott.net> 4537 4538 * time.c: Documentation improvements, grammar and formatting 4539 Patch by Bernd Homuth [ruby-core:49203] [Bug #7326] 4540 4541Fri Nov 30 13:48:33 2012 Eric Hodel <drbrain@segment7.net> 4542 4543 * lib/rdoc.rb: Set version to 4.0.0.preview2 4544 * lib/rubygems.rb: Set version to 2.0.0.preview2 4545 4546Fri Nov 30 13:11:53 2012 Eric Hodel <drbrain@segment7.net> 4547 4548 * lib/rubygems/commands/setup_command.rb: Remove old files on install 4549 of RubyGems. (not by rbinstall.rb). 4550 * test/rubygems/test_gem_commands_setup_command.rb: Test for above. 4551 4552Fri Nov 30 12:47:59 2012 Akinori MUSHA <knu@iDaemons.org> 4553 4554 * lib/abbrev.rb (Abbrev#abbrev): A fixed string prefix pattern 4555 should only match the beginning of each word, not the beginning 4556 of every line in it. 4557 4558 * lib/abbrev.rb (Abbrev#abbrev): Stop using a regexp that causes a 4559 false warning. [Bug #7471] 4560 4561Fri Nov 30 12:30:55 2012 Akinori MUSHA <knu@iDaemons.org> 4562 4563 * test/test_abbrev.rb: Add tests for lib/abbrev.rb. 4564 4565Fri Nov 30 12:27:51 2012 Eric Hodel <drbrain@segment7.net> 4566 4567 * lib/rubygems/spec_fetcher.rb: Allow prerelease spec fetching to fail 4568 for bundler. 4569 * test/rubygems/test_gem_spec_fetcher.rb: Test for above. 4570 4571Fri Nov 30 12:20:53 2012 Eric Hodel <drbrain@segment7.net> 4572 4573 * lib/rake/backtrace.rb: Removed duplication in 4574 Rake::Backtrace::SUPPRESSED_PATHS 4575 * test/rake/test_rake_backtrace.rb: Skip tests when tmpdir is in the 4576 suppressed pattern. 4577 4578Fri Nov 30 11:07:45 2012 Shugo Maeda <shugo@ruby-lang.org> 4579 4580 * revert r37993 to avoid SEGV in tests. 4581 4582Fri Nov 30 10:38:54 2012 Eric Hodel <drbrain@segment7.net> 4583 4584 * lib/rdoc/ri/driver.rb: Relaxed matching for pages to be more 4585 user-friendly. 4586 * test/rdoc/test_rdoc_ri_driver.rb: Test for above. 4587 4588Fri Nov 30 09:50:16 2012 Eric Hodel <drbrain@segment7.net> 4589 4590 * lib/rdoc/markdown.rb: Fixed warnings with -w 4591 4592Fri Nov 30 09:38:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4593 4594 * include/ruby/ruby.h (RB_GC_GUARD_PTR): add note. 4595 4596 * vm_backtrace.c (backtrace_to_str_ary): use RB_GC_GUARD() instead of 4597 RB_GC_GUARD_PTR() which has no effect. 4598 (backtrace_to_location_ary): ditto. 4599 (vm_backtrace_to_ary): ditto. 4600 4601Fri Nov 30 09:22:52 2012 Eric Hodel <drbrain@segment7.net> 4602 4603 * lib/rubygems/commands/contents_command.rb: Sort output from command. 4604 Replaces r38004, r38005 4605 * test/rubygems/test_gem_commands_contents_command.rb: ditto. 4606 4607 * lib/rubygems/defaults.rb: Use Gem.path_separator for jruby support. 4608 * lib/rubygems/path_support.rb: ditto 4609 4610Fri Nov 30 08:34:03 2012 Eric Hodel <drbrain@segment7.net> 4611 4612 * lib/rdoc/generator/darkfish.rb: Silenced warning 4613 * test/rdoc/test_rdoc_rdoc.rb: ditto 4614 4615 * lib/rdoc/markup/parser.rb: Use byteslice when available for 4616 performance 4617 * test/rdoc/test_rdoc_markup_parser.rb: Test for above 4618 * lib/rdoc/test_case.rb: ditto 4619 4620 * lib/rdoc/parser/ruby.rb: Fixed bug parsing yield({}) 4621 * test/rdoc/test_rdoc_parser_ruby.rb (end): 4622 4623 * lib/rdoc/rubygems_hook.rb: Skip default gems. Display generator 4624 name properly. 4625 * test/rdoc/test_rdoc_rubygems_hook.rb: Test for above 4626 4627 * lib/rdoc/servlet.rb: Fixed typo. 4628 4629Fri Nov 30 08:09:56 2012 Narihiro Nakamura <authornari@gmail.com> 4630 4631 * gc.c : remove a unused function. 4632 4633Fri Nov 30 07:46:42 2012 Narihiro Nakamura <authornari@gmail.com> 4634 4635 * gc.c (rb_objspace_call_finalizer): finalize_deferred may free up 4636 a object which is reachable from a part after this function, 4637 e.g. ruby_vm_destruct(). [ruby-dev:46647] [Bug #7452] 4638 4639 * test/ruby/test_gc.rb (test_finalizing_main_thread): add a test 4640 for above. 4641 4642Fri Nov 30 07:43:44 2012 Koichi Sasada <ko1@atdot.net> 4643 4644 * thread.c (rb_thread_interrupted): avoid warning of 4645 implicit conversion. 4646 4647 * thread.c (rb_threadptr_execute_interrupts): ditto. 4648 4649Fri Nov 30 07:34:28 2012 Koichi Sasada <ko1@atdot.net> 4650 4651 * vm_backtrace.c: add GC guards. 4652 4653Fri Nov 30 07:21:33 2012 Koichi Sasada <ko1@atdot.net> 4654 4655 [EXPERIMENTAL: NEED DISCUSS] 4656 * vm_trace.c: add events 4657 * :thread_begin - hook at thread beginning. 4658 * :thread_end - hook at thread ending. 4659 * :b_call - hook at block enter. 4660 * :b_return - hook at block leave. 4661 This change slow down block invocation. 4662 Please try and give us feedback until 2.0 code freeze. 4663 4664 * include/ruby/ruby.h: ditto. 4665 4666 * compile.c (rb_iseq_compile_node): ditto. 4667 4668 * insns.def: ditto. 4669 4670 * thread.c: ditto. 4671 4672 * vm.c: ditto. 4673 4674 * include/ruby/debug.h: add a comment. 4675 4676 * test/ruby/test_settracefunc.rb: add a tests. 4677 4678Fri Nov 30 06:56:30 2012 Ryan Davis <ryand-ruby@zenspider.com> 4679 4680 * test/minitest/*: Imported minitest 4.3.2 (r8027) 4681 4682Fri Nov 30 04:16:29 2012 Eric Hodel <drbrain@segment7.net> 4683 4684 * lib/rake/*: Updated to rake 0.9.5 4685 * test/rake/*: ditto. 4686 * NEWS: ditto. 4687 4688Fri Nov 30 02:53:47 2012 Aaron Patterson <aaron@tenderlovemaking.com> 4689 4690 * vm.c: add a return hook when a method raises an exception. 4691 4692 * probes_helper.h: look up klass and method if none are provided. 4693 4694 * eval.c: update macro usage. 4695 4696 * vm_eval.c: ditto. 4697 4698 * vm_insnhelper.c: ditto. 4699 4700 * test/dtrace/test_function_entry.rb: test for change. 4701 4702Fri Nov 30 02:27:12 2012 NARUSE, Yui <naruse@ruby-lang.org> 4703 4704 * compile.c (compile_array_): refix r37991 remove assertion: 4705 it is true only if type == COMPILE_ARRAY_TYPE_HASH. 4706 [ruby-dev:46658] [Bug #7466] 4707 4708 * vm.c (m_core_hash_from_ary): add assertion instead of above. 4709 4710 * vm.c (m_core_hash_merge_ary): ditto. 4711 4712Thu Nov 29 19:15:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4713 4714 * compile.c (compile_array_): hash elements must be paired even for 4715 literal elements. [ruby-dev:46658] [Bug #7466] 4716 4717Thu Nov 29 22:39:35 2012 Naohisa Goto <ngotogenome@gmail.com> 4718 4719 * ext/openssl/ossl_ssl.c (ssl_npn_encode_protocol_i): fix byte order 4720 issue on big-endian architecture [ruby-core:50292] [Bug #7463] 4721 4722Thu Nov 29 22:23:31 2012 Hiroshi Nakamura <nahi@ruby-lang.org> 4723 4724 * test/openssl/test_cipher.rb (test_ctr_if_exists): add CTR mode test 4725 if underlying OpenSSL supports it. See #4408 4726 4727Thu Nov 29 21:42:16 2012 Shugo Maeda <shugo@ruby-lang.org> 4728 4729 * vm_method.c (rb_method_entry_make): add a method entry with 4730 VM_METHOD_TYPE_REFINED to the class refined by the refinement if 4731 the target module is a refinement. When a method entry with 4732 VM_METHOD_TYPE_UNDEF is invoked by vm_call_method(), a method with 4733 the same name is searched in refinements. If such a method is 4734 found, the method is invoked. Otherwise, the original method in 4735 the refined class (rb_method_definition_t::body.orig_def) is 4736 invoked. This change is made to simplify the normal method lookup 4737 and to improve the performance of normal method calls. 4738 4739 * vm_method.c (EXPR1, search_method, rb_method_entry), 4740 vm_eval.c (rb_call0, rb_search_method_entry): do not use 4741 refinements for method lookup. 4742 4743 * vm_insnhelper.c (vm_call_method): search methods in refinements if 4744 ci->me is VM_METHOD_TYPE_REFINED. If the method is called by 4745 super (i.e., ci->call == vm_call_super_method), skip the same 4746 method entry as the current method to avoid infinite call of the 4747 same method. 4748 4749 * class.c (include_modules_at): add a refined method entry for each 4750 method defined in a module included in a refinement. 4751 4752 * class.c (rb_prepend_module): set an empty table to 4753 RCLASS_M_TBL(klass) to add refined method entries, because 4754 refinements should have priority over prepended modules. 4755 4756 * proc.c (mnew): use rb_method_entry_with_refinements() to get 4757 a refined method. 4758 4759 * test/ruby/test_refinement.rb (test_inline_method_cache): do not skip 4760 the test because it should pass successfully. 4761 4762 * test/ruby/test_refinement.rb (test_redefine_refined_method): new 4763 test for the case a refined method is redefined. 4764 4765Thu Nov 29 17:45:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4766 4767 * variable.c (rb_const_set): show namespace in warning messages. 4768 [Feature #7190] 4769 4770Thu Nov 29 17:31:53 2012 NARUSE, Yui <naruse@ruby-lang.org> 4771 4772 * lib/rubygems.rb (Gem.load_yaml): return if Kernel#gem is not defined 4773 yet. This causes crash if test-all requires libraries in a certain 4774 order. A simple reproducible code is 4775 ruby --disable-gem -e'require"yaml";require"minitest/autorun"' 4776 4777Thu Nov 29 17:19:26 2012 Eric Hodel <drbrain@segment7.net> 4778 4779 * lib/tracer.rb: Updated to match removal of custom_require from 4780 RubyGems. 4781 * test/test_tracer.rb: ditto. Improved failure message if the test 4782 fails 4783 4784Thu Nov 29 17:15:00 2012 Zachary Scott <zachary@zacharyscott.net> 4785 4786 * gc.c: Documentation for GC, GC::Profiler, ObjectSpace, and 4787 ObjectSpace::WeakMap [ruby-core:50245] [Bug #7449] 4788 4789Thu Nov 29 17:12:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4790 4791 * tool/generic_erb.rb, tool/id2token.rb: add --path-separator option 4792 for mingw where make and built ruby live in different world. 4793 4794 * tool/vpath.rb: extract from tool/instruction.rb. 4795 4796Thu Nov 29 17:11:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 4797 4798 * test/io/wait/test_io_wait.rb (TestIOWait#fill_pipe): 4799 Errno::EWOULDBLOCK may not be the same as Errno::EAGAIN. patch by 4800 phasis68 (Heesob Park) at [ruby-core:49894]. [Bug #7420] 4801 4802Thu Nov 29 17:03:38 2012 Eric Hodel <drbrain@segment7.net> 4803 4804 * lib/rubygems/test_case.rb: Determine path to certificates to avoid 4805 build-dir problems. 4806 * test/rubygems/test_gem_security_signer.rb: Use predetermined paths 4807 to avoid build-dir problems. 4808 4809Thu Nov 29 16:18:14 2012 Eric Hodel <drbrain@segment7.net> 4810 4811 * lib/rubygems/test_case.rb: Disable loading of keys and certificates 4812 outside rubygems or ruby tests as the files are not available (or 4813 necessary). 4814 4815Thu Nov 29 16:14:41 2012 Koichi Sasada <ko1@atdot.net> 4816 4817 * vm_backtrace.c (rb_debug_inspector_open): use RARRAY_LENINT() for 4818 int variable. 4819 4820Thu Nov 29 15:59:55 2012 Koichi Sasada <ko1@atdot.net> 4821 4822 * include/ruby/debug.h: add rb_debug_inspector_* APIs. 4823 4824 * vm_backtrace.c: ditto. 4825 4826 * common.mk: add dependency from vm_backtrace.o to 4827 include/ruby/debug.h. 4828 4829 * proc.c (rb_binding_new_with_cfp): constify. 4830 4831 * vm.c (rb_vm_get_ruby_level_next_cfp): constify. 4832 4833 * vm_core.h, vm_trace.c: move decls. 4834 4835Thu Nov 29 15:56:14 2012 NARUSE, Yui <naruse@ruby-lang.org> 4836 4837 * lib/rdoc/test_case.rb (RDoc::TestCase#verbose_capture_io): 4838 defined for asserts of warnings. 4839 4840 * test/rdoc: use verbose_capture_io on asserts of warnings. 4841 they failed when tests was run with RUBYOPT=-W0. 4842 4843Thu Nov 29 15:53:38 2012 NAKAMURA Usaku <usa@ruby-lang.org> 4844 4845 * ext/psych/extconf.rb: added --enable-bundled-libyaml option. this 4846 enforces using bundled libyaml. 4847 4848Thu Nov 29 15:51:54 2012 Eric Hodel <drbrain@segment7.net> 4849 4850 * lib/rubygems*: Updated to RubyGems 2.0 4851 * test/rubygems*: ditto. 4852 4853 * common.mk (prelude): Updated for RubyGems 2.0 source rearrangement. 4854 4855 * tool/change_maker.rb: Allow invalid UTF-8 characters in source 4856 files. 4857 4858Thu Nov 29 15:38:14 2012 Koichi Sasada <ko1@atdot.net> 4859 4860 * include/ruby/debug.h: provide rb_tracearg_*() APIs, 4861 instead of rb_tracepoint_attr_*(). 4862 These APIs are for debuggers/profilers. 4863 They will be explained in another docs sometime. 4864 4865 * vm_trace.c: ditto. 4866 4867Thu Nov 29 15:10:45 2012 NARUSE, Yui <naruse@ruby-lang.org> 4868 4869 * test/minitest/test_minitest_unit.rb: restore orig_verbose only 4870 if it is set. This broke rdoc's tests. 4871 http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20121129T050102Z.diff.html.gz 4872 4873Thu Nov 29 14:56:30 2012 Koichi Sasada <ko1@atdot.net> 4874 4875 * vm_trace.c (rb_tracepoint_attr_method_id): 4876 rename TracePoint#id to TracePoint#method_id. 4877 4878 * include/ruby/debug.h: ditto. 4879 4880 * test/ruby/test_settracefunc.rb: ditto, 4881 4882Thu Nov 29 14:49:10 2012 Koichi Sasada <ko1@atdot.net> 4883 4884 * vm_trace.c (rb_tracepoint_attr_defined_class): 4885 rename TracePoint#klass to TracePoint#defined_class. 4886 [ruby-core:50187] Re: [ruby-trunk - Feature #6895] 4887 4888 * include/ruby/debug.h: ditto. 4889 4890 * test/ruby/test_settracefunc.rb: ditto. 4891 4892Thu Nov 29 14:27:57 2012 Koichi Sasada <ko1@atdot.net> 4893 4894 * gc.c (gc_stat): prepare Symbol objects at first time 4895 to make it fast. 4896 4897Thu Nov 29 14:02:15 2012 Koichi Sasada <ko1@atdot.net> 4898 4899 * gc.c (gc_stat): GC.stat supports new information 4900 * total_allocated_object: total allocated object number. 4901 * total_freed_object: total freed object number. 4902 Above two numbers are only accumulated and they will 4903 overflow (return to 0). Please use them as a hint. 4904 4905Thu Nov 29 12:13:54 2012 Ryan Davis <ryand-ruby@zenspider.com> 4906 4907 * lib/minitest/*: Imported minitest 4.3.2 (r8026) 4908 * test/minitest/*: ditto 4909 4910Thu Nov 29 11:06:06 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4911 4912 * thread.c (thread_start_func_2): remove unused code. When 4913 th->safe_level == 4, th->errinfo never be thrown. So, to 4914 create new exception makes no sense. 4915 4916Thu Nov 29 10:29:53 2012 Koichi Sasada <ko1@atdot.net> 4917 4918 * vm_backtrace.c: same as a last patch. 4919 4920Thu Nov 29 10:24:25 2012 Koichi Sasada <ko1@atdot.net> 4921 4922 * vm_backtrace.c: use `long' for return values of `NUM2LONG()'. 4923 4924Thu Nov 29 09:52:08 2012 NARUSE, Yui <naruse@ruby-lang.org> 4925 4926 * thread.c (do_select): suppress warning (uninitialized value warning) 4927 with UNINITIALIZED_VAR(). 4928 4929Thu Nov 29 09:36:09 2012 Koichi Sasada <ko1@atdot.net> 4930 4931 * eval.c (ruby_cleanup): delay THREAD_KILLED timing. 4932 It should be located just before rb_thread_terminate_all(). 4933 4934Thu Nov 29 09:10:17 2012 Koichi Sasada <ko1@atdot.net> 4935 4936 * vm_backtrace.c (vm_backtrace_to_ary): support range argument 4937 like Array#[]. 4938 [ruby-core:50092] [ruby-trunk - Feature #7434] 4939 Test and document is not available. Please help us. 4940 4941Thu Nov 29 06:46:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4942 4943 * thread.c (thread_start_func_2): small cleanups. 4944 4945Thu Nov 29 06:37:08 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4946 4947 * thread.c (thread_start_func_2): remove unused code. 4948 this function never be used for main thread. 4949 4950Thu Nov 29 06:27:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 4951 4952 * thread.c (thread_start_func_2): remove unused code. 4953 errinfo = th->errinfo; and errinfo = rb_errinfo(); are 4954 the same. 4955 4956Thu Nov 29 05:26:32 2012 Koichi Sasada <ko1@atdot.net> 4957 4958 * vm_backtrace.c (backtrace_to_str_ary2): rename to backtrace_to_str_ary. 4959 4960 * vm_backtrace.c (rb_backtrace_to_str_ary): use `backtrace_to_str_ary()'. 4961 4962 * vm_backtrace.c (backtrace_to_frame_ary): rename to 4963 backtrace_to_location_ary. 4964 4965Thu Nov 29 05:19:25 2012 Aaron Patterson <aaron@tenderlovemaking.com> 4966 4967 * probes.d: Change function-entry probe to method-entry. 4968 * insns.def: ditto 4969 * probes_helper.h: ditto 4970 * test/dtrace/test_function_entry.rb: ditto 4971 * test/dtrace/test_singleton_function.rb: ditto 4972 * vm.c: ditto 4973 * vm_eval.c: ditto 4974 * vm_insnhelper.c: ditto 4975 4976Thu Nov 29 04:45:17 2012 Koichi Sasada <ko1@atdot.net> 4977 4978 * vm_backtrace.c: rename Class name from 4979 ::RubyVM::Backtrace and ::RubyVM::Backtrace::Location 4980 to ::Thread::Backtrace and ::Thread::Backtrace::Location. 4981 4982Wed Nov 28 23:52:02 2012 Masaya Tarui <tarui@ruby-lang.org> 4983 4984 * NEWS (Thread) remove incompatible changes about trap. 4985 4986Wed Nov 28 23:39:01 2012 Koichi Sasada <ko1@atdot.net> 4987 4988 * thread.c (rb_mutex_sleep): fix to allow spurious wakeup. 4989 [ruby-dev:46654] [ruby-trunk - Bug #7455] 4990 4991 * NEWS: write about spurious wakeup. 4992 4993Wed Nov 28 22:57:23 2012 Koichi Sasada <ko1@atdot.net> 4994 4995 * thread_win32.c: catch up latest change of BLOCKING_REGION. 4996 4997Wed Nov 28 22:54:21 2012 Koichi Sasada <ko1@atdot.net> 4998 4999 * vm_insnhelper.c (vm_call_method): fix undefined behavior. 5000 Should not access scope local variable from outer scope. 5001 5002Wed Nov 28 22:20:55 2012 Masaya Tarui <tarui@ruby-lang.org> 5003 5004 * test/ruby/test_thread.rb (test_thread_status_in_trap): change test for 5005 thread status in trap. now can accept Thread#join and Thread#value in trap. 5006 5007Wed Nov 28 21:58:47 2012 Koichi Sasada <ko1@atdot.net> 5008 5009 * include/ruby/thread.h (rb_thread_call_without_gvl2): change 5010 meaning of function. 5011 This function is called with same parameters of 5012 `rb_thread_call_without_gvl()'. 5013 However, if interrupts are detected, then return immediately. 5014 5015 * thread.c: implement `rb_thread_call_without_gvl2()'. 5016 5017Wed Nov 28 21:31:21 2012 Masaya Tarui <tarui@ruby-lang.org> 5018 5019 * thread.c (thread_join_sleep): check spurious wakeup by itself for 5020 corresponding status change in trap context. 5021 * vm_core.h (struct rb_thread_struct): add rb_thread_list_t and use as join_list for 5022 reentry by trap context. 5023 * thread.c (thread_start_func_2): ditto. 5024 * thread.c (remove_from_join_list): ditto. 5025 * thread.c (rb_thread_atfork): ditto. 5026 * thread.c (thread_join): ditto. & remove trap handler check. 5027 * thread.c (sleep_forever): add argument : spurious_check. 5028 * thread.c (sleep_timeval): ditto. 5029 * thread.c (rb_thread_sleep_forever): set spurious_check. 5030 * thread.c (rb_thread_sleep_deadly): ditto. 5031 * thread.c (sleep_for_polling): ditto. 5032 * thread.c (rb_thread_wait_for): ditto. 5033 * thread.c (sleep_wait_for_interrupt): bypass spurious_check. 5034 5035Wed Nov 28 21:23:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5036 5037 * ext/psych/yaml/emitter.c (yaml_emitter_write_indicator): constify. 5038 5039 * ext/psych/yaml/emitter.c (yaml_emitter_write_block_scalar_hints): 5040 ditto. 5041 5042 * ext/psych/extconf.rb: mingw32 also needs macros for win32, not 5043 only mswin32. 5044 5045 * ext/psych/extconf.rb: compile sources in the source directory 5046 without copying by using VPATH. 5047 5048Wed Nov 28 21:18:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5049 5050 * lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for 5051 each VPATH elements. 5052 5053Wed Nov 28 16:40:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5054 5055 * vm_core.h (enum rb_thread_status): remove THREAD_TO_KILL 5056 * vm_core.h (struct rb_thread_struct): add to_kill field 5057 * thread.c (terminate_i): convert THREAD_TO_KILL to to_kill. 5058 * thread.c (rb_threadptr_to_kill): ditto. 5059 * thread.c (rb_thread_kill): ditto. 5060 * thread.c (rb_thread_wakeup_alive): ditto. 5061 * thread.c (thread_list_i): ditto. 5062 * thread.c (static const char): ditto. 5063 * thread.c (thread_status_name): ditto. 5064 * thread.c (rb_thread_status): ditto. 5065 * thread.c (rb_thread_inspect): ditto. 5066 * vm_backtrace.c (thread_backtrace_to_ary): ditto. 5067 5068 * thread.c (rb_threadptr_execute_interrupts): fix thread status 5069 overwritten issue. [Bug #7450] [ruby-core:50249] 5070 5071 * test/ruby/test_thread.rb (test_hread_status_raise_after_kill): 5072 test for the above. 5073 * test/ruby/test_thread.rb (test_thread_status_in_trap): test for 5074 thread status in trap. 5075 * test/ruby/test_thread.rb (test_status_and_stop_p): remove 5076 Thread.control_interrupt unsafe test. Thread#kill no longer 5077 changes thread status. Instead of, Thread#kill receiver changes 5078 their own status when receiving kill signal. 5079 5080Wed Nov 28 16:21:46 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5081 5082 * thread.c (struct rb_mutex_struct): add allow_trap field. 5083 * internal.h (rb_mutex_allow_trap): added. 5084 * thread.c (rb_mutex_lock, rb_mutex_unlock): check mutex->allow_trap. 5085 * thread.c (mutex_sleep): remove trap check because it uses 5086 rb_mutex_lock and rb_mutex_unlock internally. 5087 * thread.c (rb_mutex_allow_trap): new helper function for the above. 5088 5089 * io.c (io_binwrite): mark fptr->write_lock as writable in trap. 5090 5091 * test/ruby/test_signal.rb (test_trap_puts): test for the above. 5092 5093Wed Nov 28 16:59:12 2012 Koichi Sasada <ko1@atdot.net> 5094 5095 * proc.c: remove Proc#== and Proc#eql?. 5096 Proc objects compared with their object ids. 5097 [Bug #4559] 5098 5099 * test/ruby/test_proc.rb: remove related test. 5100 5101Wed Nov 28 16:41:04 2012 Eric Hodel <drbrain@segment7.net> 5102 5103 * lib/rdoc/servlet.rb: Add support for serving documentation from a 5104 subdirectory. 5105 * lib/rdoc/generator/darkfish.rb: ditto 5106 * test/rdoc/test_rdoc_servlet.rb: Test for above 5107 * test/rdoc/test_rdoc_servlet.rb: ditto 5108 5109Wed Nov 28 15:37:17 2012 NARUSE, Yui <naruse@ruby-lang.org> 5110 5111 * configure.in: fix r37924: run only on i[3-6]86-linux. 5112 5113Wed Nov 28 15:31:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5114 5115 * io.c (FMODE_SYNCWRITE): removed unused macro. 5116 5117Wed Nov 28 15:19:25 2012 Naohisa Goto <ngotogenome@gmail.com> 5118 5119 * configure.in: revert r37911, r37906 and r37904 which break build 5120 with non-gcc and/or non-IA32 compilers, e.g. Solaris Studio, 5121 Fujitsu C Compiler. [ruby-dev:46646] [Bug #7451] 5122 5123Wed Nov 28 14:50:55 2012 Koichi Sasada <ko1@atdot.net> 5124 5125 * ext/psych/extconf.rb: copy sources into build directory, 5126 not into srcdir. 5127 5128Wed Nov 28 14:34:06 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5129 5130 * thread.c (rb_mutex_lock): moved trap context check from 5131 rb_mutex_trylock because try_lock have no change to make 5132 a deadlock. 5133 * thread.c (rb_mutex_trylock): ditto. 5134 * NEWS: news for the above. 5135 5136Wed Nov 28 13:39:54 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5137 5138 * thread.c (thread_s_new): uses main_thread->status instead of 5139 th->inhibit_thread_creation for preventing thread creation. 5140 * vm_core.h (rb_vm_struct): remove inhibit_thread_creation field. 5141 * thread.c (rb_thread_terminate_all): ditto. 5142 5143Wed Nov 28 13:27:29 2012 Aaron Patterson <aaron@tenderlovemaking.com> 5144 5145 * ext/psych/extconf.rb: use embedded libyaml if no system libyaml is 5146 found. [ruby-core:49463] 5147 * ext/psych/lib/psych.rb: updating to psych 2.0.0 5148 * ext/psych/lib/psych/deprecated.rb: updated docs 5149 * ext/psych/psych.gemspec: updated to psych 2.0.0 5150 * ext/psych/psych.h: fixing header file include for rename 5151 * ext/psych/psych_emitter.c: renamed to avoid libyaml conflict. 5152 * ext/psych/psych_emitter.h: ditto 5153 * ext/psych/psych_parser.c: ditto 5154 * ext/psych/psych_parser.h: ditto 5155 * ext/psych/psych_to_ruby.c: ditto 5156 * ext/psych/psych_to_ruby.h: ditto 5157 * ext/psych/psych_yaml_tree.c: ditto 5158 * ext/psych/psych_yaml_tree.h: ditto 5159 * ext/psych/yaml/LICENSE: embedding libyaml 0.1.4 5160 * ext/psych/yaml/api.c: ditto 5161 * ext/psych/yaml/config.h: ditto 5162 * ext/psych/yaml/dumper.c: ditto 5163 * ext/psych/yaml/emitter.c: ditto 5164 * ext/psych/yaml/loader.c: ditto 5165 * ext/psych/yaml/parser.c: ditto 5166 * ext/psych/yaml/reader.c: ditto 5167 * ext/psych/yaml/scanner.c: ditto 5168 * ext/psych/yaml/writer.c: ditto 5169 * ext/psych/yaml/yaml.h: ditto 5170 * ext/psych/yaml/yaml_private.h: ditto 5171 5172Wed Nov 28 12:54:59 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5173 5174 * thread.c (thread_join): A trap handler check was moved from 5175 thread_join_m because Thread#value should be raised an exception 5176 too. 5177 * thread.c (thread_join_m): remove trap handler check. 5178 * test/ruby/test_thread.rb (test_thread_join_in_trap): add test 5179 for thread#value. 5180 * NEWS: documentation fix for the above. 5181 5182Wed Nov 28 11:07:00 2012 Zachary Scott <zachary@zacharyscott.net> 5183 5184 * ext/fiddle/closure.c: Documentation for Fiddle 5185 * ext/fiddle/lib/fiddle/import.rb: ditto 5186 * ext/fiddle/lib/fiddle/value.rb: ditto 5187 * ext/fiddle/lib/fiddle/pack.rb: ditto 5188 * ext/fiddle/lib/fiddle/cparser.rb: ditto 5189 * ext/fiddle/lib/fiddle/struct.rb: ditto 5190 * ext/fiddle/lib/fiddle/function.rb: ditto 5191 5192Wed Nov 28 09:15:51 2012 Ryan Davis <ryand-ruby@zenspider.com> 5193 5194 * ext/strscan/strscan.c: Added #charpos for multibyte string position. 5195 * test/strscan/test_stringscanner.rb: ditto 5196 5197Wed Nov 28 09:00:34 2012 Aaron Patterson <aaron@tenderlovemaking.com> 5198 5199 * ext/fiddle/fiddle.c: adding alignment constants for compatibility 5200 with DL. 5201 * ext/fiddle/fiddle.h: ditto 5202 * ext/fiddle/lib/fiddle/cparser.rb: importing the C parser for DL 5203 backwards compatibility. 5204 * ext/fiddle/lib/fiddle/import.rb: importing the import DSL for DL 5205 backwards compatibility. 5206 * ext/fiddle/lib/fiddle/pack.rb: importing structure pack for DL 5207 backwards compatibility. 5208 * ext/fiddle/lib/fiddle/value.rb: ditto 5209 * ext/fiddle/lib/fiddle/struct.rb: importing struct DSL for DL backwards 5210 compatibility. 5211 * test/dl/test_c_struct_entry.rb: importing tests 5212 * test/dl/test_c_union_entity.rb: ditto 5213 * test/dl/test_cparser.rb: ditto 5214 * test/dl/test_import.rb: ditto 5215 * test/fiddle/test_c_struct_entry.rb: ditto 5216 * test/fiddle/test_c_union_entity.rb: ditto 5217 * test/fiddle/test_cparser.rb: ditto 5218 * test/fiddle/test_import.rb: ditto 5219 5220Wed Nov 28 08:56:00 2012 Zachary Scott <zachary@zacharyscott.net> 5221 5222 * doc/globals.rdoc: Add documentation file for magic globals 5223 [ruby-core:29048] [Bug #3022] 5224 5225Wed Nov 28 08:55:00 2012 Zachary Scott <zachary@zacharyscott.net> 5226 5227 * .document: Add README's to be included with docs 5228 5229Wed Nov 28 08:26:00 2012 Zachary Scott <zachary@zacharyscott.net> 5230 5231 * ext/dl/lib/dl.rb: Deprecation notice for DL 5232 5233Wed Nov 28 08:25:00 2012 Zachary Scott <zachary@zacharyscott.net> 5234 5235 * ext/fiddle/closure.c: Documentation for Fiddle 5236 * ext/fiddle/pointer.c: ditto 5237 * ext/fiddle/function.c: ditto 5238 * ext/fiddle/lib/fiddle.rb: ditto 5239 * ext/fiddle/fiddle.c: ditto 5240 * ext/fiddle/handle.c: ditto 5241 5242Wed Nov 28 04:53:40 2012 Aaron Patterson <aaron@tenderlovemaking.com> 5243 5244 * ext/fiddle/handle.c: Make Fiddle independent of DL, copy DL::Handle 5245 to Fiddle::Handle. 5246 * ext/fiddle/pointer.c: Make Fiddle independent of DL, copy 5247 DL::Pointer to Fiddle::Pointer. 5248 * test/fiddle/test_func.rb: relevant tests 5249 * test/fiddle/test_handle.rb: ditto 5250 * test/fiddle/test_pointer.rb: ditto 5251 * ext/dl/lib/dl/struct.rb: use Fiddle::Pointer if available 5252 * ext/fiddle/extconf.rb: check for dlfcn.h 5253 * ext/fiddle/fiddle.c: add constants for sizeof() things 5254 * ext/fiddle/fiddle.h: include dlfcn.h 5255 * ext/fiddle/function.c: expose a C function for creating new 5256 Fiddle::Function objects. 5257 * ext/fiddle/lib/fiddle.rb: include constants for dl backwards compat 5258 * ext/fiddle/lib/fiddle/function.rb: read the pointer from the 5259 function for dl backwards compat. 5260 * test/dl/test_callback.rb: check the addresses of the pointers rather 5261 than their types. 5262 * test/fiddle/helper.rb: remove dependency on dl 5263 * test/fiddle/test_closure.rb: ditto 5264 * test/fiddle/test_fiddle.rb: ditto 5265 5266Wed Nov 28 03:03:28 2012 NARUSE, Yui <naruse@ruby-lang.org> 5267 5268 * configure.in (opt-dir): don't use non portable flag -E of sed. 5269 5270Wed Nov 28 02:55:35 2012 NARUSE, Yui <naruse@ruby-lang.org> 5271 5272 * configure.in (ARCH_FLAG): __sync_val_compare_and_swap_4 needs 5273 -march=$target_cpu on at least linux gcc 4.1. 5274 patched by KOSAKI Motohiro 5275 5276Tue Nov 27 22:03:09 2012 Akinori MUSHA <knu@iDaemons.org> 5277 5278 * string.c (rb_str_enumerate_chars, rb_str_enumerate_codepoints) 5279 (rb_str_enumerate_lines): Dummy initialization of ary has been 5280 replaced with UNINITIALIZED_VAR(). 5281 5282Tue Nov 27 21:29:00 2012 Kenta Murata <mrkn@mrkn.jp> 5283 5284 * bignum.c (bigdivrem): optimize the way to retry calculation of 5285 bigdivrem so that the calculation is started from the point where 5286 the last interruption was occurred. 5287 5288 * bignum.c (bigdivrem1): ditto. 5289 5290 * test/ruby/test_bignum.rb: add a test case for rb_bigdivrem in the 5291 case that an interruption is occurred during bigdivrem1 is running. 5292 5293Tue Nov 27 19:56:43 2012 Koichi Sasada <ko1@atdot.net> 5294 5295 * vm.c (rb_vm_make_env_object): make Proc object if Env is possible 5296 to point block. 5297 [ruby-core:41038] [ruby-trunk - Bug #5634] 5298 5299 * vm.c (rb_vm_make_proc): No need to make Proc object here. 5300 5301 * bootstraptest/test_proc.rb: add tests. 5302 5303Tue Nov 27 18:51:06 2012 Naohisa Goto <ngotogenome@gmail.com> 5304 5305 * ruby_atomic.h (ATOMIC_CAS): added for Solaris and other platforms. 5306 * ruby_atomic.h, signal.c (NEED_RUBY_ATOMIC_OPS): renamed from 5307 NEED_RUBY_ATOMIC_EXCHANGE. 5308 * signal.c (ruby_atomic_compare_and_swap): naive, non-atomic 5309 compare-and-swap implementation only used for platforms without 5310 valid support for atomic operations. 5311 5312Tue Nov 27 17:43:46 2012 Eric Hodel <drbrain@segment7.net> 5313 5314 * lib/rdoc/*: Added --root option for building documentation outside 5315 the source directory. 5316 * test/rdoc/*: ditto 5317 * common.mk (rdoc): Added --root to rdoc rule 5318 5319Tue Nov 27 16:24:45 2012 Eric Hodel <drbrain@segment7.net> 5320 5321 * test/rdoc/test_rdoc_ri_paths.rb: Fixed duplicate path bug which 5322 caused windows failures. 5323 5324Tue Nov 27 16:06:00 2012 Eric Hodel <drbrain@segment7.net> 5325 5326 * test/rdoc/test_rdoc_generator_darkfish.rb: Updated tests for windows 5327 * test/rdoc/test_rdoc_options.rb: ditto 5328 * test/rdoc/test_rdoc_parser.rb: ditto 5329 * test/rdoc/test_rdoc_rdoc.rb: ditto 5330 * test/rdoc/test_rdoc_ri_driver.rb: ditto 5331 * test/rdoc/test_rdoc_servlet.rb: ditto 5332 5333Tue Nov 27 15:13:51 2012 Eric Hodel <drbrain@segment7.net> 5334 5335 * common.mk (rdoc): Set --debug for rdoc generation in case of bugs 5336 5337Tue Nov 27 14:56:45 2012 Eric Hodel <drbrain@segment7.net> 5338 5339 * lib/rdoc/rubygems_hook.rb: Updated for (upcoming) RubyGems 2 5340 import. 5341 * test/rdoc/test_rdoc_rubygems_hook.rb: ditto 5342 5343Tue Nov 27 13:59:29 2012 Narihiro Nakamura <authornari@gmail.com> 5344 5345 * NEWS: add improvements of the garbage collector. 5346 5347Tue Nov 27 13:27:46 2012 Eric Hodel <drbrain@segment7.net> 5348 5349 * lib/rdoc*: Updated to RDoc 4.0 (pre-release) 5350 * bin/rdoc: ditto 5351 * test/rdoc*: ditto 5352 * NEWS: Updated with RDoc 4.0 information 5353 5354Tue Nov 27 12:17:11 2012 Koichi Sasada <ko1@atdot.net> 5355 5356 * thread.c (rb_thread_terminate_all): retry broadcast only when 5357 an exception is raised. 5358 5359Tue Nov 27 12:02:25 2012 Koichi Sasada <ko1@atdot.net> 5360 5361 * thread.c (rb_thread_terminate_all): broadcast terminate event 5362 not only an interrupt exception but any exceptions. 5363 5364Tue Nov 27 10:55:09 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5365 5366 * eval.c (ruby_cleanup): set thread status to THREAD_KILLED 5367 for preventing thr.raise. 5368 * test/ruby/test_thread.rb (test_main_thread_status_at_exit): 5369 test for the above. 5370 5371Tue Nov 27 10:31:29 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5372 5373 * thread.c (rb_thread_terminate_all): suppress a warning. 5374 5375Tue Nov 27 09:29:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5376 5377 * thread.c (thread_join): raises ThreadError if target thread 5378 is a main thread. 5379 * test/ruby/test_thread.rb (test_thread_join_main_thread): 5380 test for the above. 5381 * NEWS: news for the above. 5382 5383Tue Nov 27 09:24:47 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5384 5385 * thread.c (thread_join): raises ThreadError if target thread 5386 is a current thread. 5387 * test/ruby/test_thread.rb (test_thread_join_current): 5388 test for the above. 5389 * NEWS: news for the above. 5390 5391Tue Nov 27 09:59:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5392 5393 * ext/extmk.rb (extmake): close mkmf.log for each libraries so that 5394 failure messages are not mixed. 5395 5396Tue Nov 27 09:58:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5397 5398 * ext/digest/*/extconf.rb, ext/openssl/extconf.rb: get git rid of 5399 post-1.8 feature require_relative for cross compilation. 5400 [ruby-core:50160] [Bug #7439] 5401 5402Tue Nov 27 09:17:59 2012 Koichi Sasada <ko1@atdot.net> 5403 5404 * NEWS: add TracePoint. 5405 5406Tue Nov 27 08:16:03 2012 Koichi Sasada <ko1@atdot.net> 5407 5408 * vm_trace.c: rename TracePoint#file and TracePoint#line 5409 to TracePoint#path and TracePoint#lineno respectively. 5410 They are consistent to RubyVM::Backtrace::Location. 5411 5412 * include/ruby/debug.h: ditto. 5413 5414 * vm_core.h: ditto. 5415 5416 * test/ruby/test_settracefunc.rb: ditto. 5417 5418Tue Nov 27 08:04:26 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5419 5420 * thread.c (rb_thread_terminate_all): broadcast eTerminateSignal 5421 again when Ctrl-C was pressed. [Feature #1952] [ruby-dev:39107] 5422 5423Tue Nov 27 07:58:03 2012 Koichi Sasada <ko1@atdot.net> 5424 5425 * vm_core.h: add members to rb_trace_arg_t: 5426 * `klass_solved' represents klass and id is checked. 5427 * `line' represents line calculated from cfp. 5428 * `file' represents line calculated from cfp. 5429 5430 * vm_trace.c: fix to use above data structures. 5431 No need to calculate klass and id, line and file 5432 pairs for each trace points. 5433 5434Tue Nov 27 07:47:09 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5435 5436 * thread.c (rb_thread_terminate_all): add RUBY_VM_CHECK_INTS_BLOCKING(). 5437 Otherwise the loop in this function behave as busy loop because 5438 native_sleep() return immediately when RUBY_VM_INTERRUPTED() is true. 5439 5440Tue Nov 27 04:12:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5441 5442 * ext/extmk.rb (extmake): git rid of post-1.8 features for cross 5443 compilation. [ruby-core:50160] [Bug #7439] 5444 5445Tue Nov 27 00:13:41 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5446 5447 * thread.c (rb_mutex_trylock, rb_mutex_unlock, mutex_sleep): 5448 raises ThreadError if called from trap handler as Thread#join. 5449 * NEWS: news for the above. 5450 5451Mon Nov 26 23:55:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5452 5453 * NEWS: update for Thread#join incompatible change. 5454 5455Mon Nov 26 22:44:24 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5456 5457 * thread.c (rb_thread_terminate_all): use native_sleep() instead 5458 of rb_thread_schedule(). Otherwise, it consume 100% cpu meaninglessly. 5459 [Bug #5368] [ruby-dev:44546] 5460 * thread.c (thread_start_func_2): last sub-thread wakes up main thread. 5461 5462Mon Nov 26 21:16:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5463 5464 * vm_core.h (RUBY_VM_SET_TIMER_INTERRUPT, RUBY_VM_SET_INTERRUPT) 5465 (RUBY_VM_SET_FINALIZER_INTERRUPT, RUBY_VM_SET_TRAP_INTERRUPT) 5466 (RUBY_VM_INTERRUPTED): use enum symbol instead of immediate value. 5467 * thread.c (thread_join_m, rb_threadptr_execute_interrupts): ditto. 5468 * signal.c (signal_exec): ditto. 5469 5470Mon Nov 26 20:23:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5471 5472 * thread.c (thread_join_m): use th->interrupt_mask instead of 5473 th->in_trap. 5474 5475 * vm_core.h (struct rb_thread_struct): remove in_trap member. 5476 * signal.c (signal_exec): ditto. 5477 * thread.c (thread_create_core): ditto. 5478 * thread.c (Init_Thread): ditto. 5479 5480Mon Nov 26 20:23:49 2012 NAKAMURA Usaku <usa@ruby-lang.org> 5481 5482 * test/ruby/test_argf.rb (TestArgf#test_chars): since marshal data is 5483 binary, shouldn't pass via text mode. use base64 encoded data. 5484 5485Mon Nov 26 19:45:18 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5486 5487 * ruby_atomic.h (ATOMIC_CAS): new macro for compare-and-exchange. 5488 5489 * vm_core.h (struct rb_thread_struct): add interrupt_mask member. 5490 * thread.c (thread_create_core, Init_Thread): initialize 5491 th->thread_mask. 5492 5493 * vm_core.h (RUBY_VM_INTERRUPTED_ANY): new macro for avoiding 5494 bare th->interrupt_flag. 5495 * vm_core.h (RUBY_VM_INTERRUPTED, RUBY_VM_INTERRUPTED): check 5496 th->interrupt_mask. 5497 * thread.c (set_unblock_function, rb_thread_schedule): replace 5498 th->interrupt_flag with RUBY_VM_INTERRUPTED_ANY() 5499 5500 * signal.c (signal_exec): set up thread->interrupt_mask for 5501 preventing recursive trap handler. 5502 * vm_core.h (RUBY_VM_CHECK_INTS, RUBY_VM_CHECK_INTS_BLOCKING): ditto. 5503 5504 * thread.c (rb_threadptr_execute_interrupts): 5505 don't process interrupt if it is masked. 5506 [Bug #6009] [ruby-core:42524] 5507 5508Mon Nov 26 19:43:42 2012 Koichi Sasada <ko1@atdot.net> 5509 5510 * iseq.c (make_compile_option_value): add trace_instruction option. 5511 a patch by davidbalbert (David Albert). 5512 [Bug #6786] 5513 5514Mon Nov 26 19:10:53 2012 Koichi Sasada <ko1@atdot.net> 5515 5516 * bootstraptest/test_thread.rb: try to `join' each 100 5517 threads. 5518 This benchmark seems consuming long time on travis-ci 5519 several times (and make `failure'). 5520 5521Mon Nov 26 18:22:56 2012 Koichi Sasada <ko1@atdot.net> 5522 5523 * common.mk: specify label `built-ruby'. 5524 5525 * benchmark/driver.rb: quote path. 5526 5527Mon Nov 26 18:26:28 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5528 5529 * signal.c (signal_exec): add volatile to make sure setjmp safe. 5530 5531Mon Nov 26 18:19:47 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5532 5533 * signal.c (signal_exec): suppress "warning: variable 'signum' 5534 might be clobbered by 'longjmp' or 'vfork'" warning. 5535 5536Mon Nov 26 18:15:47 2012 Koichi Sasada <ko1@atdot.net> 5537 5538 * benchmark/driver.rb: accept multiple `-e'. 5539 You don't need to use `;' separation character. 5540 [ruby-core:50139] [ruby-trunk - Bug #7380] 5541 5542Mon Nov 26 17:10:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5543 5544 * string.c (rb_str_enumerate_chars, rb_str_enumerate_codepoints) 5545 (rb_str_enumerate_lines): suppress "may be used uninitialized in 5546 this function" warning. 5547 5548Mon Nov 26 17:00:12 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5549 5550 * vm_core.h (rb_thread_struct): added 'in_trap' member for marking 5551 running trap handler. 5552 * signal.c (signal_exec): turn on in_trap when running trap. 5553 * thread.c (Init_Thread, thread_create_core): initialize in_trap 5554 when creating new threads. 5555 * thread.c (thread_join_m): raise ThreadError when running trap 5556 handler.Bug [#6416][ruby-core:44956] 5557 * test/ruby/test_thread.rb (test_thread_join_in_trap): new test 5558 for the above. 5559 5560Mon Nov 26 16:36:13 2012 NARUSE, Yui <naruse@ruby-lang.org> 5561 5562 * io.c (argf_each_codepoint): add missing ARGF#codepoints [Bug #7438] 5563 5564Mon Nov 26 15:50:29 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5565 5566 * bignum.c (bigdivrem): restart calculation when bigdivrem1 was 5567 interrupted by signal. Otherwise, ruby script may see a garbage 5568 value. 5569 5570Mon Nov 26 15:33:02 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5571 5572 * bignum.c (big_div_struct): added volatile to 'stop' member. 5573 Otherwise, "if (bds->stop)" check in bigdivrem1 don't read 5574 memory and ignore interrupt. 5575 * bignum.c (bigdivrem, rb_big_stop): ditto. 5576 5577Mon Nov 26 12:11:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5578 5579 * win32/Makefile.sub (DLNOBJ): missing in r37821. 5580 5581Mon Nov 26 10:50:19 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5582 5583 * test/ruby/test_process.rb (test_setsid): added a few wait for 5584 preventing that Process.getsid(io.pid) makes Errno::ESRCH. 5585 5586Sun Nov 25 22:34:00 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 5587 5588 * array.c (ary_resize_smaller): new function to resize array. 5589 5590 * array.c (rb_ary_delete): refactoring to extract a function. 5591 5592 * array.c (rb_ary_delete_same): refactoring. 5593 It renames function, reduces duplicated code and removes unused 5594 code. 5595 5596 * gc.c (wmap_final_func): follow the above change. 5597 5598 * internal.h (rb_ary_delete_same): ditto. 5599 5600Sun Nov 25 22:27:33 2012 Benoit Daloze <eregontp@gmail.com> 5601 5602 * array.c: fixes for the updated documentation in r35858: 5603 Typos and #take/#drop accept to take/drop 0 elements. 5604 5605Sun Nov 25 19:43:29 2012 Kazuki Tsujimoto <kazuki@callcc.net> 5606 5607 * NEWS: add a news about iconv. 5608 5609Sun Nov 25 03:49:23 2012 Akinori MUSHA <knu@iDaemons.org> 5610 5611 * lib/set.rb, test/test_set.rb: Move tests embedded in lib/set.rb 5612 to test/test_set.rb. 5613 5614Sun Nov 25 03:44:50 2012 Akinori MUSHA <knu@iDaemons.org> 5615 5616 * string.c (rb_str_each_line, rb_str_lines): String#lines now 5617 returns an array instead of an enumerator. Passing a block is 5618 deprecated but still supported for backwards compatibility. 5619 Based on the patch by yhara. [Feature #6670] 5620 5621 * string.c (rb_str_each_char, rb_str_chars): Ditto for 5622 String#chars. 5623 5624 * string.c (rb_str_each_codepoint, rb_str_codepoints): Ditto for 5625 String#codepoints. 5626 5627 * string.c (rb_str_each_byte, rb_str_bytes): Ditto for 5628 String#bytes. 5629 5630 * NEWS: Add notes for the above changes. 5631 5632Sun Nov 25 02:07:37 2012 Akinori MUSHA <knu@iDaemons.org> 5633 5634 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_warning) 5635 (Test::Unit::Assertions#assert_warn), test/ruby/envutil.rb, 5636 test/ruby/test_enumerator.rb, test/ruby/test_io_m17n.rb, 5637 test/ruby/test_regexp.rb, test/ruby/test_syntax.rb: 5638 assert_warn() and assert_warning() are reversed. 5639 5640Sat Nov 24 21:08:50 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 5641 5642 * gc.c (wmap_final_func): rename variables to clarify the meaning. 5643 In wmap2obj the key is WeakRef and the value is referenced object. 5644 In obj2wmap the key is referenced object and the value is an array 5645 of WeakRef. 5646 5647 * gc.c (wmap_finalize): ditto. 5648 [ruby-core:49044] [Bug #7304] 5649 5650Sat Nov 24 21:01:55 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 5651 5652 * array.c (rb_ary_delete_same_obj): new function for WeakRef. 5653 This deletes same objects as item argument in the array. 5654 5655 * internal.h (rb_ary_delete_same_obj): add a declaration. 5656 5657 * gc.c (wmap_final_func): remove WeakRef object reference from the 5658 array. rb_ary_delete() is not usable because it uses rb_equal() to 5659 compare object references. 5660 5661 * gc.c (wmap_finalize): remove recycled object references from weak 5662 map hash properly. How to get object reference from object id was 5663 wrong. st_delete() doesn't work properly if key and value arguments 5664 are same. The key of obj2wmap is referenced object and the value of 5665 obj2wmap is WeakRef array. 5666 5667 * gc.c (wmap_aset): obj2wmap should contain WeakRef array in the 5668 definition. 5669 5670 * test/test_weakref.rb 5671 (TestWeakRef#test_not_reference_different_object, 5672 TestWeakRef#test_weakref_finalize): add tests for above. 5673 [ruby-core:49044] [Bug #7304] 5674 5675Sat Nov 24 19:44:41 2012 NARUSE, Yui <naruse@ruby-lang.org> 5676 5677 * ext/nkf/nkf-utf8/nkf.c (unicode_iconv_combine): returning flags are 5678 nkf_char. 5679 5680Sat Nov 24 19:29:18 2012 Tadayoshi Funaba <tadf@dotrb.org> 5681 5682 * test/ruby/test_rubyoptions.rb (test_usage, test_usage_long): 5683 reduced, renamed. 5684 5685Sat Nov 24 13:10:14 2012 Koichi Sasada <ko1@atdot.net> 5686 5687 * vm_trace.c (rb_tracepoint_attr_raised_exception): should not check 5688 value before event checking. 5689 5690 * vm_trace.c (rb_tracepoint_attr_return_value): ditto. 5691 5692 * test/ruby/test_settracefunc.rb: add tests for TracePoint#return_value 5693 and TracePoint#raised_exception. 5694 5695Sat Nov 24 12:47:27 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 5696 5697 * test/ruby/test_process.rb (TestProcess#test_setsid): "./ruby-trunk" 5698 doesn't work on all environments. EnvUtil.rubybin would be suitable. 5699 5700Sat Nov 24 12:28:04 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 5701 5702 * array.c (rb_ary_aref): fix Segmentation fault at TestArray#test_aref 5703 on x64 mingw. Variable argument of rb_scan_args() should be a pointer 5704 (VALUE *), but 0 of variable argument seems not equal to null pointer 5705 on x64 mingw. 5706 5707Sat Nov 24 11:47:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5708 5709 * process.c (proc_getsid): adds new method for getting session id. 5710 Contributed from fumiyas (Fumiyasu SATOH). Thank you! 5711 [Feature #6757] [ruby-dev:45977] 5712 * configure.in: adds getsid check. 5713 * test/ruby/test_process.rb (TestProcess#test_setsid): new test 5714 for the above. 5715 * NEWS: news for the above. 5716 5717Sat Nov 24 10:59:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5718 5719 * thread.c (thread_create_core): don't use th->thread_id before 5720 initialized. 5721 5722Sat Nov 24 00:00:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5723 5724 * ruby.c (proc_options, process_options, ruby_process_options): take 5725 care of the case argc is 0, and check if argv has NULL. 5726 [ruby-core:49889] [Bug #7423] 5727 5728Sat Nov 24 00:00:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5729 5730 * configure.in (--disable-dln): option to disable dynamic linking 5731 feature. [ruby-core:37676] [Feature #4946] 5732 5733Fri Nov 23 23:44:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5734 5735 * lib/mkmf.rb (MakeMakefile#pkg_config): strip all white spaces for 5736 mingw64+MSYS pkg-config which erroneously emits extra newlines. 5737 [ruby-core:47998] [Bug #7163] 5738 5739Fri Nov 23 17:31:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5740 5741 * ruby.c (usage): wrap description lines if options are too long. 5742 5743Fri Nov 23 11:13:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5744 5745 * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_usage2): refine 5746 assertion. 5747 5748 * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_usage2): now 5749 --help option is for modern terminals. 5750 5751Fri Nov 23 10:45:00 2012 Zachary Scott <zachary@zacharyscott.net> 5752 5753 * ext/socket/ipsocket.c (IPSocket#peeraddr): Fix example 5754 [ruby-core:46429] [Bug #6732] 5755 5756Fri Nov 23 02:40:00 2012 Zachary Scott <zachary@zacharyscott.net> 5757 5758 * lib/cgi/core.rb: Documentation for CGI#header alias 5759 Based on a patch by Marcus Stollsteimer 5760 [ruby-core:49585] [Bug #7405] 5761 5762Thu Nov 22 23:48:10 2012 Narihiro Nakamura <authornari@gmail.com> 5763 5764 * gc.c (is_swept_object): extract from is_dead_object(). 5765 5766 * gc.c (rb_gcdebug_print_obj_condition): add the function for debug. 5767 This function shows some conditions of given object (e.g., 5768 marked, in heap, swept). 5769 5770 * gc.c (rb_gcdebug_sentinel): add the function for debug. 5771 This function allow check to inadvertently free up an object. 5772 5773Thu Nov 22 23:45:18 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 5774 5775 * array.c (rb_ary_shared_with_p): fix cache validity check. 5776 If #pop or #shift has been called against $: or $", the array will 5777 be still shared with the snapshot. We check array length for cache 5778 validity. 5779 [ruby-core:49518] [Bug #7383] 5780 5781 * test/ruby/test_require.rb 5782 (TestRequire#test_require_with_array_pop, 5783 TestRequire#test_require_with_array_shift): add tests for above. 5784 5785Thu Nov 22 21:48:48 2012 NAKAMURA Usaku <usa@ruby-lang.org> 5786 5787 * common.mk, win32/Makefile.sub (probes.dmyh): now be made in current 5788 (=build) directory if build from the repository. 5789 5790Thu Nov 22 21:34:51 2012 Tadayoshi Funaba <tadf@dotrb.org> 5791 5792 * test/ruby/test_rubyoptions.rb: added a test. 5793 5794Thu Nov 22 20:32:07 2012 Tadayoshi Funaba <tadf@dotrb.org> 5795 5796 * complex.c (string_to_c_strict, string_to_c): check NUL. 5797 * rational.c (string_to_r_strict, string_to_r): ditto. 5798 5799Thu Nov 22 20:21:45 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5800 5801 * Makefile.in (.dmyh.h): removed $(VPATH). GNU make don't 5802 recognize suffix rule with VPATH. 5803 5804Thu Nov 22 18:11:27 2012 NAKAMURA Usaku <usa@ruby-lang.org> 5805 5806 * common.mk, Makefile.in, win32/Makefile.sub (.dmyh.h): nmake merges 5807 explicit rules for same target, but not merges explicit rules and 5808 implicit rules -- always explicit rules win. So, need to add an 5809 explicit rule for probes.h. [Bug #7421] [ruby-core:49839] 5810 5811Thu Nov 22 18:01:28 2012 NARUSE, Yui <naruse@ruby-lang.org> 5812 5813 * Makefile.in (probes.o): add -C to ignore #include in probes.d. 5814 5815 * probes.d: include vm_opts.h instead of vm_core.h. 5816 5817 * vm_opts.h (VM_COLLECT_USAGE_DETAILS): move definition from vm_core.h. 5818 5819Thu Nov 22 17:45:17 2012 NARUSE, Yui <naruse@ruby-lang.org> 5820 5821 * ext/nkf/nkf-utf8: Merge b0a6577a521d1bba5e19853f95d5c4b9be1072b5. 5822 Support JIS X 0213 and some bugfixes. 5823 5824Thu Nov 22 17:39:37 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5825 5826 * tool/gen_dummy_probes.rb: don't change #include, #if and #endif 5827 lines. [Bug #7370] 5828 5829Thu Nov 22 16:58:26 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5830 5831 * Makefile.in: run preprocessor when making probe.h 5832 * probes.d: define probe insn and insn__operand only when 5833 VM_COLLECT_USAGE_DETAILS is 1. [Bug #7370] 5834 5835Thu Nov 22 16:20:49 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5836 5837 * vm.c: Don't define vm_collect_usage_operand() and 5838 static void vm_collect_usage_insn() when disabling 5839 VM_COLLECT_USAGE_DETAILS. (refix r37796) 5840 5841Thu Nov 22 15:26:02 2012 NARUSE, Yui <naruse@ruby-lang.org> 5842 5843 * vm_insnhelper.h: partly revert r37631 (DTrace support). 5844 "vm usage information is always collected, so uncomment the 5845 functions." causes performance impact. [Bug #7370] 5846 Off course this revert disables related probes. 5847 5848Thu Nov 22 14:14:36 2012 Akinori MUSHA <knu@iDaemons.org> 5849 5850 * re.c (rb_memsearch_ss): Apply performance improvement to short 5851 byte array search for platforms without memmem(3). 5852 [Feature #6311] [ruby-dev:45530] 5853 5854Thu Nov 22 12:52:19 2012 Akinori MUSHA <knu@iDaemons.org> 5855 5856 * test/ruby/test_string.rb (TestString#test_index): Add some 5857 corner cases to tests for String#index, which might fail if ruby 5858 directly used a buggy memmem(3) implementation. 5859 5860Thu Nov 22 08:06:42 2012 Narihiro Nakamura <authornari@gmail.com> 5861 5862 * test/ruby/test_gc.rb (test_profiler_clear): fix wrong method 5863 calls [Bug #7419] [ruby-core:49828]. 5864 5865Thu Nov 22 02:22:33 2012 Tadayoshi Funaba <tadf@dotrb.org> 5866 5867 * NEWS: edited (order etc). 5868 5869Wed Nov 21 22:52:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5870 5871 * ext/io/wait/wait.c (io_wait_readable): add alias wait_readable. 5872 5873 * ext/io/wait/wait.c (io_wait_writable): this is easier to use than 5874 IO.select for a single IO object and is immune to the 5875 limitations/inefficiency of select() on platforms where poll/ppoll 5876 is available. patched by Eric Wong. [Feature #4646] 5877 5878Wed Nov 21 22:27:52 2012 Narihiro Nakamura <authornari@gmail.com> 5879 5880 * gc.c (garbage_collect): remove a duplicative probe. 5881 5882Wed Nov 21 22:08:48 2012 Narihiro Nakamura <authornari@gmail.com> 5883 5884 * gc.c (gc_profile_clear): realloc profile records if its size is 5885 higher than the threshold, GC_PROFILE_RECORD_DEFAULT_SIZE * 2. 5886 5887Wed Nov 21 21:53:29 2012 Tadayoshi Funaba <tadf@dotrb.org> 5888 5889 * complex.c (nucomp_to_c): added. 5890 5891Wed Nov 21 21:35:38 2012 Tadayoshi Funaba <tadf@dotrb.org> 5892 5893 * include/ruby/util.h: removed extra semicolon in definition of 5894 macro. 5895 * compile.c: ditto. 5896 * cont.c: ditto. 5897 * math.c: ditto. 5898 * node.c: ditto. 5899 * parse.y: ditto. 5900 5901Wed Nov 21 18:46:37 2012 Tadayoshi Funaba <tadf@dotrb.org> 5902 5903 * rational.c (read_digits): due to a bit tighter rb_cstr_to_inum(). 5904 5905Wed Nov 21 16:13:37 2012 Koichi Sasada <ko1@atdot.net> 5906 5907 * benchmark/bm_so_nsieve_bits.rb: add an encoding pragma because 5908 this benchmark using strings (literals) as binary sequence. 5909 Now, they are UTF-8 strings. [ruby-dev:46578] 5910 5911Wed Nov 21 00:57:43 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 5912 5913 * file.c (Init_File): null device definition uses rb_define_const 5914 instead of rb_file_const. 5915 5916Wed Nov 21 00:28:18 2012 NARUSE, Yui <naruse@ruby-lang.org> 5917 5918 * test/ruby/test_m17n_comb.rb (test_str_crypt): Use RbConfig to get 5919 libc's directory. Patched by Vit Ondruch [ruby-core:49763] [Bug #7312] 5920 5921Tue Nov 20 23:28:26 2012 Masaki Matsushita <glass.saga@gmail.com> 5922 5923 * marshal.c: add marshal readahead. marshalized Array, Hash and Struct 5924 have size at least number of its elements, marshal readahead will 5925 read the certain readable length and buffer when it needs more bytes. 5926 marshal readahead prevents many calls to IO#getbyte and IO#read, 5927 then it enables performance improvement. 5928 [ruby-dev:45637] [Feature #6440] 5929 5930Tue Nov 20 22:35:02 2012 NARUSE, Yui <naruse@ruby-lang.org> 5931 5932 * Makefile.in (.d.h): replace char * to const char * because somehow 5933 current dtrace removes const of function declaration in probes.d. 5934 5935Tue Nov 20 21:41:04 2012 Koichi Sasada <ko1@atdot.net> 5936 5937 * include/ruby/debug.h: introduced. 5938 Debugging/profiling features will be located. 5939 5940 * vm_trace.c: expose C-level TracePoint APIs. 5941 Note that they are experimental. 5942 5943 * vm_trace.c, include/ruby/debug.h: rename `rb_hook_flag_t' 5944 to `rb_event_hook_flag_t'. 5945 Macro names `RUBY_HOOK_FLAG_*' are also renamed to 5946 `RUBY_EVENT_HOOK_FLAG_*'. 5947 5948 * debug.h, vm_debug.h: rename debug.h to vm_debug.h. 5949 5950 * common.mk: ditto. 5951 5952 * debug.c, main.c, vm_core.h: ditto. 5953 5954Tue Nov 20 21:12:37 2012 NARUSE, Yui <naruse@ruby-lang.org> 5955 5956 * configure.in (RUBY_DTRACE_AVAILABLE): only check dtrace availability. 5957 5958 * configure.in (RUBY_DTRACE_POSTPROCESS): restore. 5959 5960Tue Nov 20 21:22:44 2012 Masaki Suketa <masaki.suketa@nifty.ne.jp> 5961 5962 * test/win32ole/test_win32ole_type.rb (test_implemented_ole_types): 5963 IShellDispatch6 bundled in Windows 8. Thanks to phasis68 (Heesob 5964 Park). [ruby-core:49580][Bug #7403] 5965 5966Tue Nov 20 21:06:41 2012 Tadayoshi Funaba <tadf@dotrb.org> 5967 5968 * complex.c: some improvements. 5969 * rational.c: ditto. 5970 5971Tue Nov 20 21:01:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 5972 5973 * common.mk (incs): BSD make cannot deal with non-prefixed dependency 5974 and prefixed target. 5975 5976Tue Nov 20 20:10:23 2012 Yusuke Endoh <mame@tsg.ne.jp> 5977 5978 * array.c (rb_ary_bsearch): fix rdoc bug (O(n log n) -> O(log n)). 5979 Patch by Charlie Somerville. [ruby-core:49661] [Bug #7409] 5980 5981 * range.c (range_bsearch): ditto. 5982 5983Tue Nov 20 19:02:44 2012 Koichi Sasada <ko1@atdot.net> 5984 5985 * vm_trace.c: rename and add TracePoint APIs. 5986 (1) TracePoint.new(...){...} creates a new trace point 5987 but does not make it enable. 5988 (2) TracePoint.trace(...){...} creates a new trace point 5989 and enable it (same as old behavior). 5990 (3) TracePoint#enable make it enable (renamed from TracePoint#retrace). 5991 If block given, when enable only in block. 5992 (4) TracePoint#disable make it disable (renamed from TracePoint#untrace). 5993 If block given, when disable only in block. 5994 (5) TracePoint#enabled? returns this trace is enable or not. 5995 [Feature #6895] 5996 5997 * test/ruby/test_settracefunc.rb: add tests. 5998 5999Tue Nov 20 18:35:05 2012 Koichi Sasada <ko1@atdot.net> 6000 6001 * vm_trace.c: add two methods: 6002 (1) TracePoint#return_value which returns return 6003 value on the :return and :c_return event. 6004 (2) TracePoint#raised_exception which returns raised exception 6005 value on the :raise event. 6006 Each methods raise RuntimeError if it is called at unsupported 6007 event. 6008 Please review and give us feedback until next preview 6009 release (Dec/2012) of Ruby 2.0.0. 6010 [Feature #6895] 6011 6012 * insns.def, vm.c, vm_eval.c, vm_insnhelper.c, eval.c, thread.c: 6013 ditto. 6014 6015 * vm_trace.c, vm_core.h: move definition of rb_trace_arg_t from 6016 vm_trace.c to vm_core.h. 6017 Caller fills rb_trace_arg_t and pass the pointer of this variable. 6018 6019 * test/ruby/test_settracefunc.rb: fix tests to test this change. 6020 6021Tue Nov 20 17:31:12 2012 NARUSE, Yui <naruse@ruby-lang.org> 6022 6023 * configure.in: fix dtrace didn't work on darwin. 6024 6025 * configure.in (RUBY_DTRACE_AVAILABLE): unify RUBY_DTRACE_POSTPROCESS 6026 and RUBY_DTRACE_BSD_BROKEN. 6027 6028Tue Nov 20 15:20:00 2012 Zachary Scott <zachary@zacharyscott.net> 6029 6030 * file.c (File.extname): Documentation for extname on dotfiles and 6031 files ending with a dot. Also, added example for this. 6032 [ruby-core:47852] [Bug #7112] 6033 6034Tue Nov 20 14:19:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6035 6036 * test/ruby/test_signal.rb (TestSignal#test_signame): fix windows 6037 test failure. Process.kill on windows can't send a signal to 6038 another process. 6039 6040Tue Nov 20 13:58:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6041 6042 * io.c (Init_IO): moved all rb_file_const() into file.c. 6043 * file.c (Init_File): replace with rb_file_const() with 6044 rb_define_const() because RDoc don't care rb_file_const. 6045 [Bug #5530] 6046 6047Tue Nov 20 12:35:00 2012 Zachary Scott <zachary@zacharyscott.net> 6048 6049 * ruby.c (usage_msg): Fix typo [ruby-core:49205] [Bug #7327] 6050 6051Tue Nov 20 12:35:00 2012 Zachary Scott <zachary@zacharyscott.net> 6052 6053 * file.c (File::NULL): Document File::NULL constant 6054 [ruby-core:49384] [Bug #7365] 6055 6056Tue Nov 20 12:05:15 2012 NAKAMURA Usaku <usa@ruby-lang.org> 6057 6058 * win32/win32.c (rb_w32_read): Windows 8 fixed one of a bug of console 6059 API. 6060 based on the patch by Heesob Park at [ruby-core:49479] [Bug #7379] 6061 6062Tue Nov 20 11:14:33 2012 NARUSE, Yui <naruse@ruby-lang.org> 6063 6064 * configure.in (--enable-dtrace): always call RUBY_DTRACE_BSD_BROKEN 6065 for portability. 6066 As the note, FreeBSD 8 has DTrace as the optional 6067 feature (it is enabled by the build option), but doesn't have USDT. 6068 FreeBSD 9 has USDT but they are still optional. FreeBSD 10 will 6069 enable them by default. 6070 The variable $rb_cv_prog_dtrace_g is "yes" only on FreeBSD 9 with 6071 optional DTrace or FreeBSD 10. If it is "no", you cannot know 6072 whether it doesn't need -G or DTrace is disabled. (by checking 6073 error code, you can know) 6074 6075Mon Nov 19 22:55:48 2012 Naohisa Goto <ngotogenome@gmail.com> 6076 6077 * configure.in (--enable-dtrace): change help message 6078 6079Tue Nov 20 11:05:00 2012 Zachary Scott <zachary@zacharyscott.net> 6080 6081 * lib/tracer.rb (Tracer.trace_func): printf to stdout 6082 Patch by Michal Fojtik [ruby-core:45219] [Bug #6490] 6083 6084Mon Nov 19 21:24:18 2012 Naohisa Goto <ngotogenome@gmail.com> 6085 6086 * vm_dump.c: not to include probes.h because the code does not depend 6087 on it. 6088 * common.mk (vm_dump.$(OBJEXT)): remove dependency on probes.h 6089 6090Tue Nov 20 10:14:22 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6091 6092 * thread.c (rb_thread_s_check_interrupt): removed redundant 6093 GET_THREAD(). 6094 6095Tue Nov 20 10:12:46 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6096 6097 * thread.c (rb_threadptr_async_errinfo_active_p): added a small 6098 comment. 6099 6100Tue Nov 20 10:05:56 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6101 6102 * thread.c (rb_thread_blocking_region_end): replaced GET_THREAD() 6103 with ruby_thread_from_native(). We don't have GVL here. 6104 6105Tue Nov 20 09:56:15 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6106 6107 * thread.c (rb_threadptr_execute_interrupts) removed. 6108 * thread.c (rb_threadptr_execute_interrupts_common) renamed to 6109 rb_threadptr_execute_interrupts. I.e. unified 6110 rb_threadptr_execute_interrupts and rb_threadptr_execute_interrupts_common. 6111 * thread.c (rb_thread_schedule, rb_thread_execute_interrupts) s/_common//. 6112 6113Tue Nov 20 09:48:34 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6114 6115 * signal.c (rb_get_next_signal): removed pointless signal 6116 disabling. pthread_sigmask() only changes current thread 6117 mask. 6118 6119Tue Nov 20 09:36:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6120 6121 * signal.c (install_sighandler): added comments why we need 6122 rb_disable_interrupt(). 6123 6124Tue Nov 20 09:31:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6125 6126 * signal.c (rb_disable_interrupt, rb_enable_interrupt): removed 6127 USE_TRAP_MASK. 6128 * signal.c (trap_arg, trap_ensure): removed. 6129 * signal.c (trap, sig_trap): removed pointless signal disabling. 6130 We don't need it because we no longer run trap handler on signal 6131 handler context. 6132 6133Tue Nov 20 09:20:49 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6134 6135 * prelude.rb: Moved Mutex#synchronize to 6136 * thread.c (rb_mutex_synchronize_m): here. [Bug #4266] 6137 6138Tue Nov 20 08:36:15 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 6139 6140 * signal.c (sig_signame): implements Signal.signame method 6141 [Feature #5613] 6142 * test/ruby/test_signal.rb (test_signame): adds test for above 6143 * NEWS: add an item about above 6144 6145Mon Nov 19 16:30:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6146 6147 * struct.c (rb_struct_each_pair): yield associated pairs so that 6148 an unsplat argument can get both, for consistency with Hash, 6149 OpenStruct, and etc. [ruby-dev:46533] [Bug #7382] 6150 6151Mon Nov 19 16:17:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6152 6153 * configure.in (LIBS): libelf is need on only FreeBSD. 6154 6155Mon Nov 19 16:08:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6156 6157 * common.mk (RUBYLIB): purelib option in runruby.rb is deprecated 6158 since r28841, so set to an empty list to get rid of a bogus path in 6159 child processes, which caused an insecure operation exception in 6160 test/ruby/test_encoding.rb:test_unsafe. 6161 6162Mon Nov 19 15:40:50 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 6163 6164 * .travis.yml (script): add OPTS=-v, requested by @_ko1. 6165 6166Mon Nov 19 15:09:07 2012 NARUSE, Yui <naruse@ruby-lang.org> 6167 6168 * configure.in: fix didn't enable_dtrace=yes on auto. 6169 6170 * configure.in: see enable_dtrace for adding libelf on FreeBSD. 6171 6172 * common.mk: VPATH is not needed. 6173 6174Mon Nov 19 14:55:51 2012 Koichi Sasada <ko1@atdot.net> 6175 6176 * thread.c: add `Thread#backtrace_locations' method. 6177 This method is similar to `caller_locations' method for 6178 specific method. 6179 And fix to accept `level' and `n' parameters for `Thread#backtrace' 6180 and `Thread#backtrace_locations'. 6181 `caller' (and `caller_locations') do not return `caller' method 6182 frame. 6183 However, `Thread#backtrace' (and `Thread#backtrace_locations') 6184 return `Thread#backtrace' method frame itself 6185 if `Thread.current.backtrace' was called. 6186 6187 * vm_backtrace.c: ditto. 6188 6189 * internal.h: ditto. 6190 6191 * test/ruby/test_backtrace.rb: add tests. 6192 6193Mon Nov 19 14:54:32 2012 NAKAMURA Usaku <usa@ruby-lang.org> 6194 6195 * Makefile.in, common.mk (probes.h): moved to common.mk and changed to 6196 see $(srcdir). 6197 6198 * common.mk (probes.dmyh): now created it on $(srcdir) always. 6199 6200 * win32/Makefile.sub (.SUFFIXES): removed common suffix. 6201 6202Mon Nov 19 10:00:10 2012 NARUSE, Yui <naruse@ruby-lang.org> 6203 6204 * Makefile.in (.SUFFIX): bsdmake needs .SUFFIX is defined before use. 6205 6206 * common.mk: fix path of probes.dmyh. 6207 6208 * common.mk (vm_dump.o): depend probes.h. 6209 6210 * configure.in: FreeBSD's USDT requires libelf. 6211 6212Mon Nov 19 01:11:59 2012 Naohisa Goto <ngotogenome@gmail.com> 6213 6214 * vm_core.h, probes_helper.h (RUBY_DTRACE_FUNC_ENTRY_HOOK, 6215 RUBY_DTRACE_FUNC_RETURN_HOOK): move from vm_core.h to new file 6216 probes_helper.h for narrowing dependency to probes.h. 6217 * common.mk (VM_CORE_H_INCLUDES): remove dependency to probes.h. 6218 * common.mk (vm.$(OBJEXT)): add dependency to probes_helper.h. 6219 * vm.c, vm_insnhelper.c: include probes_helper.h. 6220 6221Sun Nov 18 16:33:00 2012 Naohisa Goto <ngotogenome@gmail.com> 6222 6223 * configure.in, Makefile.in, common.mk: support DTrace on Solaris 10, 6224 based on r26235 by Yugui. On Solaris 10, low optimization level 6225 may also be needed, e.g. optflags="-xO1" or "-xO0" with Oracle 6226 SolarisStudio 12.3 cc. 6227 6228 * configure.in (--enable-dtrace): new option to enable/disable 6229 DTrace support. By default, trying to enable if dtrace command 6230 is found on the system. It is disabled when cross compiling. 6231 6232 * configure.in (RUBY_DTRACE_POSTPROCESS): new macro. checks whether 6233 the dtrace on the system needs postprocessing with "dtrace -G". 6234 The postprocessing is needed on Solaris 10 and other platforms. 6235 6236 * configure.in (RUBY_DTRACE_BSD_BROKEN): new macro. checks whether 6237 the dtrace supports USDT. 6238 6239 * configure.in (DTRACE): move after RUBY_DTRACE_POSTPROCESS. 6240 6241 * configure.in (LD): On Solaris, /usr/ccs/bin/ld is preferred. 6242 6243 * configure.in, Makefile.in, common.mk (DTRACE_OBJ): new macro for 6244 DTrace probe object generated by postprocessing with "dtrace -G". 6245 6246 * Makefile.in, common.mk (probes.$(OBJEXT)): DTrace probe object 6247 generated by the postprocessing. New file probes.stamp is for 6248 rebuilding related objects that may be modified by "dtrace -G". 6249 6250 * configure.in, Makefile.in, common.mk (DTRACE_GLOMMED_OBJ): new 6251 macro for DTrace static library hacks. 6252 6253 * configure.in, Makefile.in (LIBRUBY_A_OBJS): ditto. 6254 6255 * Makefile.in, common.mk (ruby-glommed.$(OBJEXT)): new target with 6256 rule for DTrace static library hacks. 6257 6258 * common.mk (DTRACE_DEPENDENT_OBJS): objects depended on probes.h. 6259 6260Sun Nov 18 09:31:47 2012 Tadayoshi Funaba <tadf@dotrb.org> 6261 6262 * complex.c (read_comp): mathn compliant. 6263 * rational.c (read_num): ditto. 6264 6265Sun Nov 18 02:50:12 2012 Luis Lavena <luislavena@gmail.com> 6266 6267 * win32/file.c (replace_to_long_name): correct logic around wildcard 6268 characters detection and ensure wide-chars are used as pattern. 6269 [ruby-core:49451] [Bug #7374] 6270 6271Sun Nov 18 02:02:46 2012 Tadayoshi Funaba <tadf@dotrb.org> 6272 6273 * complex.c (read_comp): modified handling of polar form. 6274 6275Sun Nov 18 00:50:44 2012 Tadayoshi Funaba <tadf@dotrb.org> 6276 6277 * complex.c (read_comp): fixed handling of polar form. 6278 6279Sun Nov 18 00:14:46 2012 Tadayoshi Funaba <tadf@dotrb.org> 6280 6281 * complex.c (string_to_c_strict, string_to_c): rewrote without regexp. 6282 * rational.c (string_to_r_strict, string_to_r): ditto. 6283 6284Sat Nov 17 23:53:05 2012 Tadayoshi Funaba <tadf@dotrb.org> 6285 6286 * complex.c (make_patterns): should not accept extra sign. 6287 6288Sat Nov 17 21:45:12 Luis Lavena <luislavena@gmail.com> 6289 6290 * win32/file.c (replace_to_long_name): skip expansion for all wildcard 6291 characters. 6292 [ruby-core:49451] [Bug #7374] 6293 6294 * test/ruby/test_file_exhaustive.rb: add more assertions to test. 6295 6296Sat Nov 17 12:14:50 2012 Aaron Patterson <aaron@tenderlovemaking.com> 6297 6298 * ext/psych/lib/psych/visitors/yaml_tree.rb: use literal YAML style 6299 when emitting multi-line strings. Thanks @atambo 6300 6301 * test/psych/test_yaml.rb: test for change. 6302 6303Sat Nov 17 12:03:41 2012 Aaron Patterson <aaron@tenderlovemaking.com> 6304 6305 * ext/psych/lib/psych/scalar_scanner.rb: avoid raising exceptions when 6306 parsing Floats and Integers. Thanks riffraff [ruby-core:44426] 6307 * test/psych/test_numeric.rb: associated test 6308 6309Sat Nov 17 11:34:31 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 6310 6311 * st.c (st_update): pass the key in st_table so that we can free 6312 memory of the key in st_table when deleting. 6313 [ruby-core:49220] [Bug #7330] 6314 6315 * test/-ext-/st/test_update.rb 6316 (Bug::StTable#test_pass_objects_in_st_table): add a test. 6317 6318Sat Nov 17 11:26:36 2012 Aaron Patterson <aaron@tenderlovemaking.com> 6319 6320 * ext/psych/lib/psych/core_ext.rb: move Kernel#y so that it can 6321 manually be required as 'psych/y'. 6322 6323 * ext/psych/lib/psych/y.rb: ditto 6324 6325Sat Nov 17 08:13:48 2012 Benoit Daloze <eregontp@gmail.com> 6326 6327 * lib/abbrev.rb: fix r37113. Correct examples, fix style 6328 and show explicit dependency (require 'abbrev'). 6329 6330Sat Nov 17 07:35:15 2012 Luis Lavena <luislavena@gmail.com> 6331 6332 * win32/file.c (replace_to_long_name): skip automatic path expansion 6333 when wildcard character is used. [ruby-core:49451] [Bug #7374] 6334 6335 * test/ruby/test_file_exhaustive.rb: add a test for above. 6336 6337Sat Nov 17 00:50:23 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 6338 6339 * marshal.c (w_object): add flonum to arg->data to keep reference index 6340 consistency. [ruby-core:49323] [Bug #7348] 6341 6342 * test/ruby/test_marshal.rb: add a test for above. 6343 6344Sat Nov 17 00:40:25 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6345 6346 * common.mk (incs): dist files need probes.dmyh. 6347 6348 * common.mk (probes.dmyh): depends on generator script. 6349 6350 * Makefile.in, common.mk, configure.in, win32/Makefile.sub (probes.h): 6351 select generating with dtrace or copying dummy file by suffix rules. 6352 6353Fri Nov 16 19:24:10 2012 Koichi Sasada <ko1@atdot.net> 6354 6355 * thread.c (rb_thread_call_without_gvl2): change the parameter of 6356 `func' from `int *skip_interrupt' to `VALUE *flags'. 6357 If (flags & RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS) is not zero, 6358 then skip checking interrupt. 6359 [ruby-core:46547] 6360 6361 * include/ruby/thread.h: ditto. 6362 6363Fri Nov 16 18:59:05 2012 NARUSE, Yui <naruse@ruby-lang.org> 6364 6365 * Makefile.in (no-dtrace-probes.h): dmyprobes.h is in srcdir. 6366 6367 * common.mk (dmyprobes.h): ditto. 6368 6369Fri Nov 16 17:57:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6370 6371 * Makefile.in (probes.h): split build commands for dtrace-available 6372 and unavailable platforms. 6373 6374 * Makefile.in (incs): probes.h is a platform dependent file, so it 6375 cannot be a part of prereq target. move it to all-incs. 6376 6377 * configure.in (DTRACE): move after AC_PROG_CC since cross_compiling 6378 is set in it. 6379 6380 * configure.in (DTRACE): ignore non-prefixed version if 6381 cross-compiling. 6382 6383 * Makefile.in, win32/Makefile.sub (probes.h): fix copying dmyprobes.h 6384 path when outplace-build. 6385 6386Fri Nov 16 15:27:36 2012 Masaki Matsushita <glass.saga@gmail.com> 6387 6388 * lib/net/pop.rb (POP3.certs): fix typo in comment. 6389 patch from no6v (Nobuhiro IMAI) <nov@yo.rim.or.jp>. 6390 [ruby-dev:46519] [Bug #7355] 6391 6392Fri Nov 16 12:36:47 2012 NARUSE, Yui <naruse@ruby-lang.org> 6393 6394 * test/rake/helper.rb (Rake::TestCase#setup): revert r37669. 6395 @orig_PWD should be the original pwd. 6396 6397 * test/rake/test_*.rb: don't use @orig_PWD to load libraries. 6398 It should be specified with relative path from the file. 6399 6400Fri Nov 16 10:22:52 2012 NARUSE, Yui <naruse@ruby-lang.org> 6401 6402 * test/rake/helper.rb (Rake::TestCase#setup): @orig_PWD shouldn't be 6403 Dir.pwd when the build directory is different from source directory. 6404 6405Fri Nov 16 09:41:08 2012 NARUSE, Yui <naruse@ruby-lang.org> 6406 6407 * lib/rake/version.rb: workaround fix to build. see #7366 6408 [ruby-dev:46522] 6409 6410Fri Nov 16 07:23:18 2012 Eric Hodel <drbrain@segment7.net> 6411 6412 * lib/rake*: Updated to rake 0.9.4 6413 http://rake.rubyforge.org/doc/release_notes/rake-0_9_4_rdoc.html for 6414 a list of changes in 0.9.4. 6415 6416 * test/rake*: ditto 6417 6418 * NEWS: ditto 6419 6420Fri Nov 16 06:58:52 2012 Eric Hodel <drbrain@segment7.net> 6421 6422 * lib/rake*: Updated to rake 0.9.3. See 6423 http://rake.rubyforge.org/doc/release_notes/rake-0_9_3_rdoc.html for 6424 a list of changes in 0.9.3. 6425 6426 * test/rake*: ditto 6427 6428 * bin/rake: ditto 6429 6430 * NEWS: ditto 6431 6432Thu Nov 15 22:39:32 2012 Yusuke Endoh <mame@tsg.ne.jp> 6433 6434 * range.c (range_bsearch): fix some bugs: a documentation bug, a wrong 6435 condition, missed break in switch/case, and workaround for GCC 6436 optimization. See [ruby-core:49364] in detail. A great patch from 6437 Heesob Park. [Bug #7352] [Feature #4766] 6438 6439 * array.c (rb_ary_bsearch): fix similar bug (missed break). 6440 6441 * test/ruby/test_range.rb: add two test cases for above. 6442 6443Thu Nov 15 22:41:57 2012 Koichi Sasada <ko1@atdot.net> 6444 6445 * vm_exec.h (GENTRY): GENTRY should be pointer size. 6446 A patch by yoshidam (Yoshida Masato) [Bug #7332]. 6447 6448Thu Nov 15 13:20:00 2012 Zachary Scott <zachary@zacharyscott.net> 6449 6450 * man/erb.1: Fix grammar and copyright dates 6451 * man/goruby.1: ditto 6452 * man/irb.1: ditto 6453 * man/rake.1: ditto 6454 * man/ri.1: ditto 6455 * man/ruby.1: ditto 6456 Patch by Arthur Gunn 6457 [Fixes Github #210] 6458 6459Thu Nov 15 11:35:00 2012 Zachary Scott <zachary@zacharyscott.net> 6460 6461 * man/ruby.1: Grammar edits for man page 6462 Based on a patch by Michael Endsley [Fixes Github #183] 6463 6464Thu Nov 15 00:47:20 2012 Yusuke Endoh <mame@tsg.ne.jp> 6465 6466 * array.c (rb_ary_bsearch): add Array#bsearch for binary search. 6467 [ruby-core:36390] [Feature #4766] 6468 6469 * test/ruby/test_array.rb: add a test for above. 6470 6471 * range.c (range_bsearch): add Range#bsearch for binary search. 6472 [ruby-core:36390] [Feature #4766] 6473 6474 * test/ruby/test_range.rb: add a test for above 6475 6476 * NEWS: added the two new methods. 6477 6478Wed Nov 14 13:25:00 2012 Zachary Scott <zachary@zacharyscott.net> 6479 6480 * lib/fileutils.rb (chmod): Add "X" to modes, convert format to table 6481 [ruby-core:48965] [Bug #7288] 6482 6483Wed Nov 14 11:51:00 2012 Zachary Scott <zachary@zacharyscott.net> 6484 6485 * lib/csv.rb (init_comments): Document private method #init_comments. 6486 Based on a patch from Vincent Batts [ruby-core:49172] [Bug #7319] 6487 6488Wed Nov 14 00:54:00 2012 Kenta Murata <mrkn@mrkn.jp> 6489 6490 * Makefile.in (probes.h): create from probes.d 6491 6492Tue Nov 13 18:44:01 2012 Koichi Sasada <ko1@atdot.net> 6493 6494 * vm_insnhelper.c (vm_call_cfunc_with_frame): don't use ci after 6495 EXEC_EVENT_HOOK because ci can be overridden. 6496 6497 * vm_eval.c: ditto. 6498 6499 * method.h: change invoker's parameters types. 6500 6501 * vm_method.c (call_cfunc_invoker_func): ditto. 6502 6503Tue Nov 13 18:01:54 2012 Shugo Maeda <shugo@ruby-lang.org> 6504 6505 * eval.c (rb_mod_using): raise an ArgumentError if cyclic using is 6506 detected. based on the patch by Charlie Somerville. 6507 [ruby-core:49092] Bug #7308 6508 6509 * test/ruby/test_refinement.rb: related test. 6510 6511Tue Nov 13 17:40:04 2012 NARUSE, Yui <naruse@ruby-lang.org> 6512 6513 * common.mk (vm_insnhelper.c): this target is useless and causes 6514 ruby always need rebuild. 6515 6516Tue Nov 13 17:35:49 2012 Koichi Sasada <ko1@atdot.net> 6517 6518 * compile.c (insn_data_to_s_detail): remove debug lines. 6519 6520Tue Nov 13 17:28:47 2012 Koichi Sasada <ko1@atdot.net> 6521 6522 * vm_insnhelper.c (vm_caller_setup_args): save and restore 6523 ci->argc and ci->blockptr before and after method invocations 6524 because these method dispatches can override call_info. 6525 6526 * bootstraptest/test_method.rb: add tests for this fix. 6527 6528Tue Nov 13 16:38:02 2012 NARUSE, Yui <naruse@ruby-lang.org> 6529 6530 * common.mk (dmyprobes.h): always create for make dist. 6531 6532 * Makefile.in (probes.h): create or copy dmyprobes.h 6533 6534 * win32/Makefile.sub: only do copy dmyprobes.h. 6535 6536Tue Nov 13 15:37:21 2012 NARUSE, Yui <naruse@ruby-lang.org> 6537 6538 * Makefile.in (.SUFFIX): .SUFFIX is needed here for .d.h on bsd make. 6539 6540Tue Nov 13 15:34:35 2012 NAKAMURA Usaku <usa@ruby-lang.org> 6541 6542 * common.mk Makefile.in win32/Makefile.sub (.d.h): it's not common. 6543 6544Tue Nov 13 12:27:11 2012 NARUSE, Yui <naruse@ruby-lang.org> 6545 6546 * configure.in: disable dtrace because it doesn't work on FreeBSD. 6547 6548 * common.mk (clean-local): rm probes.h. 6549 6550 * common.mk (parse.o): depend $(PROBES_H_INCLUDES). 6551 6552 * common.mk (.d.h): moved from Makefile.in and use BASERUBY. 6553 6554 * tool/gen_dummy_probes.rb: reimplemented with ruby because sed is not 6555 available on Windows Microsoft VC++ environment. 6556 6557Tue Nov 13 12:30:26 2012 NAKAMURA Usaku <usa@ruby-lang.org> 6558 6559 * win32/README.win32: added mention about build directory. currently 6560 we can not build ruby in win32 directory. this problem is reported 6561 by Masahiro Kitajima <katonbo@katontech.com>. 6562 6563Tue Nov 13 11:03:47 2012 Masaki Matsushita <glass.saga@gmail.com> 6564 6565 * re.c (rb_memsearch_ss): performance improvement by using memmem(3) if 6566 possible. [ruby-dev:45530] [Feature #6311] 6567 6568 * configure.in: check existence of memmem(3) and that it is not broken. 6569 6570Tue Nov 13 06:50:02 2012 Aaron Patterson <aaron@tenderlovemaking.com> 6571 6572 * probes.d: add DTrace probe declarations. [ruby-core:27448] 6573 6574 * array.c (empty_ary_alloc, ary_new): added array create DTrace probe. 6575 6576 * compile.c (rb_insns_name): allowing DTrace probes to access 6577 instruction sequence name. 6578 6579 * Makefile.in: translate probes.d file to appropriate header file. 6580 6581 * common.mk: declare dependencies on the DTrace header. 6582 6583 * configure.in: add a test for existence of DTrace. 6584 6585 * eval.c (setup_exception): add a probe for when an exception is 6586 raised. 6587 6588 * gc.c: Add DTrace probes for mark begin and end, and sweep begin and 6589 end. 6590 6591 * hash.c (empty_hash_alloc): Add a probe for hash allocation. 6592 6593 * insns.def: Add probes for function entry and return. 6594 6595 * internal.h: function declaration for compile.c change. 6596 6597 * load.c (rb_f_load): add probes for `load` entry and exit, require 6598 entry and exit, and wrapping search_required for load path search. 6599 6600 * object.c (rb_obj_alloc): added a probe for general object creation. 6601 6602 * parse.y (yycompile0): added a probe around parse and compile phase. 6603 6604 * string.c (empty_str_alloc, str_new): DTrace probes for string 6605 allocation. 6606 6607 * test/dtrace/*: tests for DTrace probes. 6608 6609 * vm.c (vm_invoke_proc): add probes for function return on exception 6610 raise, hash create, and instruction sequence execution. 6611 6612 * vm_core.h: add probe declarations for function entry and exit. 6613 6614 * vm_dump.c: add probes header file. 6615 6616 * vm_eval.c (vm_call0_cfunc, vm_call0_cfunc_with_frame): add probe on 6617 function entry and return. 6618 6619 * vm_exec.c: expose instruction number to instruction name function. 6620 6621 * vm_insnhelper.c: add function entry and exit probes for cfunc 6622 methods. 6623 6624 * vm_insnhelper.h: vm usage information is always collected, so 6625 uncomment the functions. 6626 6627Mon Nov 12 19:14:50 2012 Akinori MUSHA <knu@iDaemons.org> 6628 6629 * configure.in (isinf, isnan): isinf() and isnan() are macros on 6630 DragonFly which cannot be found by AC_REPLACE_FUNCS(). This 6631 workaround enforces the fact that they exist on DragonFly. 6632 6633Mon Nov 12 15:59:38 2012 Shugo Maeda <shugo@ruby-lang.org> 6634 6635 * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo), 6636 vm_insnhelper.c (vm_search_method): revert r37616 because it's too 6637 slow. [ruby-dev:46477] 6638 6639 * test/ruby/test_refinement.rb (test_inline_method_cache): skip 6640 the test until the bug is fixed efficiently. 6641 6642Mon Nov 12 14:28:01 2012 NAKAMURA Usaku <usa@ruby-lang.org> 6643 6644 * win32/mkexports.rb (each_export): skip garbage generated by VS2012's 6645 nmake. 6646 reported and patched by Yoshida Masato at [Bug #7333] [ruby-dev:46484] 6647 6648Sun Nov 11 18:58:55 2012 Tadayoshi Funaba <tadf@dotrb.org> 6649 6650 * test/date/test_date_{parse,strptime}.rb: changed the format of 6651 some extra messages. 6652 6653Sun Nov 11 18:41:34 2012 Tadayoshi Funaba <tadf@dotrb.org> 6654 6655 * ext/date/date_parse.c (date__parse): revised the tight parser 6656 (about handling of apostrophes). 6657 6658Sun Nov 11 15:39:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6659 6660 * hash.c (rb_hash_s_create): just warn for wrong elements now. 6661 [ruby-dev:46440] [Bug #7300] 6662 6663 * hash.c (rb_hash_s_create): refine error messages. 6664 6665 * error.c (rb_builtin_class_name): share for above. 6666 6667Sun Nov 11 15:12:18 2012 Shugo Maeda <shugo@ruby-lang.org> 6668 6669 * eval.c (top_using): remove Kernel#using, and add main.using instead. 6670 6671 * test/ruby/test_refinement.rb: related test. 6672 6673Sun Nov 11 13:41:01 2012 Shugo Maeda <shugo@ruby-lang.org> 6674 6675 * eval.c (rb_using_refinement, rb_mod_using, f_using): clear method 6676 cache only when using is called explicitly. 6677 6678 * test/ruby/test_refinement.rb: related test. 6679 6680Sun Nov 11 12:56:34 2012 Masaki Matsushita <glass.saga@gmail.com> 6681 6682 * lib/pstore.rb (PStore): fix not to replace ThreadError raised in 6683 #transaction block with PStore::Error. 6684 [ruby-core:39238] [Bug #5269] 6685 6686Sun Nov 11 11:36:19 2012 Shugo Maeda <shugo@ruby-lang.org> 6687 6688 * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): 6689 add a new field for inline method cache. 6690 6691 * vm_insnhelper.c (vm_search_method): check rb_call_info_t::refinements 6692 not to confuse inline method cache when module_eval is used with 6693 refinements. 6694 6695 * test/ruby/test_refinement.rb: related test. 6696 6697Sun Nov 11 08:45:45 2012 Martin Duerst <duerst@it.aoyama.ac.jp> 6698 6699 * ruby.c: removed a comma before "before" 6700 6701Sat Nov 10 23:02:31 2012 Narihiro Nakamura <authornari@gmail.com> 6702 6703 * gc.c: move immutable fields from struct heaps_slot and struct 6704 sorted_heaps_slot into struct heaps_header. 6705 Based on a patch from Sokolov Yura [Feature #6199][ruby-core:43592] 6706 6707Sat Nov 10 19:28:16 2012 Tadayoshi Funaba <tadf@dotrb.org> 6708 6709 * complex.c: modified doc. 6710 * rational.c: ditto. 6711 6712Sat Nov 10 18:20:10 2012 Tadayoshi Funaba <tadf@dotrb.org> 6713 6714 * ext/date/date_parse.c: edited about era. 6715 6716Sat Nov 10 12:13:41 2012 Kouhei Sutou <kou@cozmixng.org> 6717 6718 * tool/rbinstall.rb: Don't install *.gemspec under lib/. 6719 [ruby-core:48966] [Bug #7289] 6720 Reported by Vit Ondruch. Thanks!!! 6721 6722Sat Nov 10 00:49:26 2012 Naohisa Goto <ngotogenome@gmail.com> 6723 6724 * ruby_atomic.h: renamed from atomic.h to avoid header file name 6725 conflict on Solaris 10. [ruby-dev:46414] [Bug #7287] 6726 6727 * gc.c, signal.c, vm_core.h, common.mk: reflect the rename from 6728 atomic.h to ruby_atomic.h. 6729 6730Sat Nov 10 00:46:57 2012 Naohisa Goto <ngotogenome@gmail.com> 6731 6732 * atomic.h: Revert r37491 which is a temporary workaround. 6733 6734Sat Nov 10 00:33:31 2012 NAKAMURA Usaku <usa@ruby-lang.org> 6735 6736 * siphash.h: check configure macros before include newer headers. 6737 6738Fri Nov 9 23:33:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6739 6740 * lib/erb.rb (ERB#run, ERB#result): eval under isolated bindings for 6741 safe concurrent use. [ruby-core:47638] [Bug #7046] 6742 6743Fri Nov 9 23:05:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6744 6745 * random.c (BYTE_ORDER): define using configured WORDS_BIGENDIAN. 6746 6747 * siphash.c (sip_init_state): use union to suppress warnings by gcc 6748 4.7. 6749 6750Fri Nov 9 19:40:03 2012 NARUSE, Yui <naruse@ruby-lang.org> 6751 6752 * array.c (rb_ary_splice): fix r37583 doesn't consider the case when 6753 beg > array length. 6754 6755Fri Nov 9 16:11:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6756 6757 * random.c (rb_memhash): use siphash. 6758 6759Fri Nov 9 16:08:46 2012 Sokolov Yura funny-falcon <funny.falcon@gmail.com> 6760 6761 * array.c: speedup Array#unshift by using space in shared array. 6762 [Feature #6638] 6763 - when array owns its shared array (ARY_SHARED_NUM == 1), and there 6764 is enough space then try unshift values directly into shared 6765 array. 6766 - when resulting array is big (~>64 items) then make it shared with 6767 enough room for future #unshifts, and then insert into shared 6768 array. 6769 6770 * array.c (rb_ary_splice): use shared array in rb_ary_slice. 6771 [Feature #6638] 6772 - use ary_ensure_room_for_push when rb_ary_slice used to add at the 6773 end of array, cause rb_ary_concat use rb_ary_slice. 6774 6775 * array.c (ary_ensure_room_for_push): make array really suitable for 6776 queue. [Feature #6638] 6777 when array is shared (which happens after Array#shift), and 6778 ARY_SHARED_NUM == 1 (which is very often when array used as queue), 6779 then make rb_ary_push push directly into shared array. 6780 6781 * array.c (rb_ary_modify): steal shared array's container when 6782 ARY_SHARED_NUM == 1. [Feature #6638] 6783 - Do not allocate new memory in rb_ary_modify when ARY_SHARED_NUM == 1 6784 and length almost same. 6785 - Store ARY_CAPA instead of RARRAY_LEN in ary_make_shared, to make 6786 it useful. 6787 - Fix rb_ary_sort_bang accordantly. 6788 6789Fri Nov 9 16:00:00 2012 Zachary Scott <zzak@zacharyscott.net> 6790 6791 * ext/bigdecimal/bigdecimal.c: Documentation for BigDecimal 6792 Based on a patch from Vincent Batts [ruby-core:49047] [Bug #7305] 6793 6794Fri Nov 9 15:25:42 2012 Akinori MUSHA <knu@iDaemons.org> 6795 6796 * lib/shellwords.rb (Shellwords#shellescape): Add back my original 6797 real world example with some enhancement. 6798 6799 * lib/shellwords.rb (Shellwords#shelljoin): Undo part of the 6800 previous rdoc change. This new example using a string-only 6801 array was not in line with the description. 6802 6803Fri Nov 9 12:58:13 2012 NARUSE, Yui <naruse@ruby-lang.org> 6804 6805 * string.c (rb_str_crypt): crypt(3) may return NULL. 6806 Latest glibc (2.16?) crypt(3) actually returns NULL. [Bug #7312] 6807 6808Fri Nov 9 12:07:06 2012 Akinori MUSHA <knu@iDaemons.org> 6809 6810 * include/ruby/ruby.h (alloca), eval_intern.h (alloca), gc.c 6811 (alloca): Make alloca() globally available by moving the 6812 ultimate ifdef's to ruby/ruby.h. Gcc hides its builtin alloca() 6813 when compiling with -ansi, and linking thus fails on platforms 6814 that lack their own alloca() implementation in libc, which 6815 include OpenBSD and some ports of NetBSD. We use alloca() 6816 everywhere including from within third party C extensions, so 6817 alloca() must be made globally available. [Bug #7307] 6818 6819 * addr2line.c (alloca): Replace the alloca() part with the 6820 ultimate ifdef's. [Bug #7307] 6821 6822Fri Nov 9 09:30:00 2012 Zachary Scott <zachary@zacharyscott.net> 6823 6824 * io.c (IO#new): 6825 Fix indentation from r37444 6826 [ruby-core:48052] [Bug #7179] 6827 6828Fri Nov 9 07:36:00 2012 Kenta Murata <mrkn@mrkn.jp> 6829 6830 * bignum.c (bigmul0): enable big_mul_toom3. 6831 [ruby-core:48552] [Bug #7242] 6832 6833 * bignum.c (bigmul1_toom3): fix incorrect calculation. 6834 the patch is made by Heesob Park. 6835 [ruby-core:48552] [Bug #7242] 6836 6837Fri Nov 9 05:33:00 2012 Kenta Murata <mrkn@mrkn.jp> 6838 6839 * bignum.c (bigmul0): disable big_mul_toom3 temporarily. 6840 [ruby-core:48552] [Bug #7242] 6841 6842 * test/ruby/test_bignum.rb (test_mul_large_numbers): 6843 add a test for bigmul1_toom3 suggested in [Bug #7242]. 6844 6845Thu Nov 8 21:57:59 2012 Masaki Matsushita <glass.saga@gmail.com> 6846 6847 * re.c (rb_memsearch): performance improvement by using memchr(). 6848 [ruby-dev:45397] [Feature #6173] 6849 6850Thu Nov 8 19:02:50 2012 NARUSE, Yui <naruse@ruby-lang.org> 6851 6852 * lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line): 6853 treat \r as newline as mame pointed. [ruby-dev:46425] [Bug #7278] 6854 6855Thu Nov 8 11:32:11 2012 Akinori MUSHA <knu@iDaemons.org> 6856 6857 * configure.in (--with-opt-dir): Avoid nesting of double quotes 6858 inside backquotes, since some traditional shells like PD KSH 6859 (which OpenBSD's /bin/sh bases on) fail to parse them. 6860 6861Thu Nov 8 09:34:00 2012 Kenta Murata <mrkn@cookpad.com> 6862 6863 * numeric.c: Add a caution that the results of the comparing 6864 operations of two NaNs are undefined. 6865 [#1720] [ruby-dev:38725] [ruby-core:36966] 6866 6867Thu Nov 8 04:45:21 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 6868 6869 * include/ruby/intern.h: Restore rb_enumeratorize as it was before 6870 r37497 and introduce rb_enumeratorize_with_size instead. [#7302] 6871 6872 * enumerator.c: ditto. 6873 6874Wed Nov 7 15:22:37 2012 NARUSE, Yui <naruse@ruby-lang.org> 6875 6876 * numeric.c (ruby_float_step): fix r37514: it yielded with NaN 6877 if the unit is infinity. 6878 6879Wed Nov 7 15:46:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 6880 6881 * lib/webrick.rb: fix typo. reported by Rohit Arondekar. 6882 https://github.com/ruby/ruby/pull/211 6883 6884Wed Nov 7 15:34:12 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org> 6885 6886 * lib/cgi/core.rb: alias CGI#http_header to CGI#header. 6887 6888Wed Nov 7 12:49:39 2012 Shugo Maeda <shugo@ruby-lang.org> 6889 6890 * eval.c (rb_mod_refine): set RMODULE_IS_REFINEMENT to a created 6891 refinement module, and don't override method_added. 6892 6893 * vm_method.c (rb_method_entry_make): check redefinition of 6894 optimized methods when a method is added to a refinement module. 6895 [ruby-core:48970] [Bug #7290] 6896 6897 * test/ruby/test_refinement.rb: related test. 6898 6899Wed Nov 7 11:48:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6900 6901 * misc/ruby-additional.el (ruby-mode-set-encoding): now encoding needs 6902 to be set always explicitly actually. [Feature #6679] 6903 6904Wed Nov 7 09:15:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6905 6906 * object.c (rb_mod_const_get): avoid inadvertent symbol creation. 6907 6908Wed Nov 7 07:52:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 6909 6910 * enum.c (rb_enum_cycle_size): prefix with rb. 6911 6912Wed Nov 7 04:32:15 2012 Luis Lavena <luislavena@gmail.com> 6913 6914 * test/ruby/test_file_exhaustive.rb: Remove FIXME skip on Windows 6915 specific test because the test in question was already fixed. 6916 6917Wed Nov 7 03:45:12 2012 Luis Lavena <luislavena@gmail.com> 6918 6919 * ext/zlib/extconf.rb: Recognize zlibwapi as linking library. 6920 Patch by Daniel Berger. 6921 6922 [ruby-core:44979] [Feature #6421] 6923 6924Wed Nov 7 02:06:40 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 6925 6926 * enumerator.c: New method #size; constructor accepts size. 6927 Have #to_enum accept a block 6928 Warn when using deprecated form of constructor 6929 Support #size for enumerators created from enumerators 6930 Support for lazy.{map|flat_map|...}.size. 6931 6932 * include/ruby/intern.h: RETURN_SIZED_ENUMERATOR for support of 6933 sized enumerators. 6934 6935 * array.c: Support for various enumerator.size. 6936 6937 * enum.c: ditto. 6938 6939 * hash.c: ditto. 6940 6941 * numeric.c: ditto. 6942 6943 * range.c: ditto. 6944 6945 * string.c: ditto. 6946 6947 * struct.c: ditto. 6948 6949 * vm_eval.c: ditto. 6950 6951Tue Nov 6 20:40:28 2012 Aaron Patterson <aaron@tenderlovemaking.com> 6952 6953 * object.c (rb_mod_const_get): Fix constant missing exception class 6954 and message to maintain backwards compatibility. Constant search 6955 should start at Object when constant starts with '::' 6956 6957 * test/ruby/test_module.rb: test for fixes 6958 6959Tue Nov 6 16:50:00 2012 Masaki Matsushita <glass.saga@gmail.com> 6960 6961 * lib/tempfile.rb (Tempfile#inspect): fix confusing #inspect. 6962 previous Tempfile#inspect says it is a File, but actually 6963 it is not a File. 6964 6965 t = Tempfile.new("foo") #=> #<File:/tmp/foo20121106-31970-1ffbum0> 6966 t.is_a? File #=> false 6967 6968 now Tempfile#inspect returns like: 6969 6970 t = Tempfile.new("foo") 6971 #=> #<Tempfile:/tmp/foo20121106-31970-1ffbum0> 6972 6973 [ruby-core:47544] [Bug #7027] 6974 6975Tue Nov 6 16:22:30 2012 Naohisa Goto <ngotogenome@gmail.com> 6976 6977 * atomic.h: add #include <sys/atomic.h> for the workaround of 6978 header file name conflict of atomic.h with /usr/include/atomic.h 6979 on Solaris 10. [ruby-dev:46414] [Bug #7287] 6980 6981Tue Nov 6 14:38:00 2012 NAKAMURA Usaku <usa@ruby-lang.org> 6982 6983 * test/win32ole/test_win32ole.rb: now source encoding is UTF-8, so 6984 binary strings in old scripts are dangerous. 6985 6986Tue Nov 6 14:25:09 2012 NARUSE, Yui <naruse@ruby-lang.org> 6987 6988 * lib/net/protocol.rb (Net::InternetMessageIO#each_crlf_line): 6989 don't use /n in universal regexp. [ruby-dev:46394] [Bug #7278] 6990 6991Tue Nov 6 09:42:26 2012 NARUSE, Yui <naruse@ruby-lang.org> 6992 6993 * string.c (rb_str_b): Add String#b, returning a copied string 6994 whose encoding is ASCII-8BIT. [ruby-dev:45992] [Feature #6767] 6995 6996Tue Nov 6 09:37:57 2012 NARUSE, Yui <naruse@ruby-lang.org> 6997 6998 * ruby.c (load_file_internal): set default source encoding as 6999 UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679] 7000 7001 * parse.y (parser_initialize): set default parser encoding as 7002 UTF-8 instead of US-ASCII. 7003 7004Tue Nov 6 05:48:06 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 7005 7006 * test/ruby/test_require.rb 7007 (TestRequire#test_require_to_path_redefined_in_load_path, 7008 TestRequire#test_require_to_str_redefined_in_load_path): 7009 Suppress method redefined warning when test-all with RUBYOPT=-w. 7010 7011Thu Nov 8 00:24:14 2012 Akinori MUSHA <knu@iDaemons.org> 7012 7013 * ext/curses/view.rb: Do not fail if the file to view is shorter 7014 than the screen height. 7015 7016Mon Nov 5 11:40:00 2012 Mark Somerville <mark@scottishclmibs.com> 7017 7018 * thread_pthread.c (rb_reserved_fd_p): fix typo in macro check 7019 that prevented the ifdef ever being true. 7020 [Bug #7281] [ruby-core:48940] 7021 7022Mon Nov 5 23:28:57 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 7023 7024 * file.c (rb_get_path_check_to_string): extract from 7025 rb_get_path_check(). We change the spec not to call to_path of 7026 String object. 7027 7028 * file.c (rb_get_path_check_convert): extract from rb_get_path_check(). 7029 7030 * file.c (rb_get_path_check): follow the above change. 7031 7032 * file.c (rb_file_expand_path_fast): remove check_expand_path_args(). 7033 Instead we call it in load.c. 7034 7035 * file.c (rb_find_file_ext_safe): use rb_get_expanded_load_path() to 7036 reduce expand cost. 7037 7038 * file.c (rb_find_file_safe): ditto. 7039 7040 * internal.h (rb_get_expanded_load_path): add a declaration. 7041 7042 * internal.h (rb_get_path_check_to_string, rb_get_path_check_convert): 7043 add declarations. 7044 7045 * load.c (rb_construct_expanded_load_path): fix for compatibility. 7046 Same checks in rb_get_path_check() are added. We don't replace 7047 $LOAD_PATH and ensure that String object of $LOAD_PATH are frozen. 7048 We don't freeze non String object and expand it every time. We add 7049 arguments for expanding load path partially and checking if load path 7050 have relative paths or non String objects. 7051 7052 * load.c (load_path_getcwd): get current working directory for checking 7053 if it's changed when getting load path. 7054 7055 * load.c (rb_get_expanded_load_path): fix for rebuilding cache properly. 7056 We check if current working directory is changed and rebuild expanded 7057 load path cache. We expand paths which start with ~ (User HOME) and 7058 non String objects every time for compatibility. We make this 7059 accessible from other source files. 7060 7061 * load.c (rb_feature_provided): call rb_get_path() since we changed 7062 rb_file_expand_path_fast() not to call it. 7063 7064 * load.c (Init_load): initialize vm->load_path_check_cache. 7065 7066 * vm.c (rb_vm_mark): mark vm->load_path_check_cache for GC. 7067 7068 * vm_core.h (rb_vm_struct): add vm->load_path_check_cache to store data 7069 to check load path cache validity. 7070 7071 * test/ruby/test_require.rb (TestRequire): add tests for require 7072 compatibility related to cached expanded load path. 7073 [ruby-core:47970] [Bug #7158] 7074 7075Mon Nov 5 23:26:05 2012 Greg Price <price@mit.edu> 7076 7077 * load.c (rb_get_expanded_load_path): cache the expanded load 7078 path. This saves 4KB of allocation and some stats for every 7079 element of the load path (so nearly a MB in my Rails app) 7080 on every require. 7081 7082 * load.c (rb_construct_expanded_load_path): ensure that $LOAD_PATH 7083 entries are frozen strings. The user must mutate $LOAD_PATH 7084 itself rather than its individual entries. 7085 7086 * vm_core.h (rb_vm_struct): add fields. 7087 7088 * vm.c (rb_vm_mark): mark new fields. 7089 7090 * ruby.c (process_options): modify $LOAD_PATH directly rather than 7091 its elements. 7092 Patch by Greg Price. 7093 [ruby-core:47970] [Bug #7158] 7094 7095Mon Nov 5 23:24:42 2012 Greg Price <price@mit.edu> 7096 7097 * load.c (rb_feature_p, rb_provide_feature): index $LOADED_FEATURES 7098 so that require isn't so slow. 7099 7100 * load.c (rb_provide_feature, get_loaded_features_index): ensure 7101 that $LOADED_FEATURES entries are frozen strings. The user 7102 must mutate $LOADED_FEATURES itself rather than its individual 7103 entries. 7104 7105 * load.c (reset_loaded_features_snapshot): add a new function to reset 7106 vm->loaded_features_snapshot. 7107 7108 * load.c (get_loaded_features_index_raw): add a new function to get 7109 the loaded-features index. 7110 7111 * load.c (features_index_add_single): add a new function to add to the 7112 loaded-features index a single feature. 7113 7114 * load.c (features_index_add): add a new function to add to the 7115 loaded-features index all the required entries for `feature`. 7116 7117 * vm_core.h (rb_vm_struct): add fields. 7118 7119 * vm.c (rb_vm_mark): mark new fields. 7120 7121 * include/ruby/intern.h (rb_hash_clear): declare function. 7122 7123 * hash.c (rb_hash_clear): make function non-static. 7124 Patch by Greg Price. 7125 [ruby-core:47970] [Bug #7158] 7126 7127Mon Nov 5 23:23:51 2012 Greg Price <price@mit.edu> 7128 7129 * array.c (rb_ary_shared_with_p): new function. 7130 Expose whether two arrays are shared (read-only, C only). 7131 7132 * include/ruby/intern.h (rb_ary_shared_with_p): declare. 7133 Patch by Greg Price. 7134 [ruby-core:47970] [Bug #7158] 7135 7136Mon Nov 5 23:21:14 2012 Greg Price <price@mit.edu> 7137 7138 * load.c (loaded_feature_path): clarify and briefly comment 7139 function. These clarifications have no effect on the behavior 7140 of the function. 7141 7142 * load.c (rb_feature_p): explain the search loop. Especially 7143 useful because the logic is complicated as described in the 7144 second paragraph. 7145 Patch by Greg Price. 7146 [ruby-core:47970] [Bug #7158] 7147 7148Mon Nov 5 22:45:03 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 7149 7150 * ext/dl/win32/lib/Win32API.rb (Win32API#call): use 64bit pointer for x64 7151 Windows. This would fix 7152 TestSecureRandom#test_s_random_bytes_without_openssl error. 7153 [ruby-core:47451] [Bug #6990] 7154 7155Mon Nov 5 22:09:26 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 7156 7157 * cygwin/GNUmakefile.in (uncommon.mk): link *.res.o. 7158 EXTOBJES is defined in uncommon.mk. *.res.o setting should be below 7159 uncommon.mk. 7160 [ruby-core:48858] [Bug #7277] 7161 7162Mon Nov 5 11:35:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 7163 7164 * thread_pthread.c (native_thread_init, native_thread_destroy): 7165 removed HAVE_PTHREAD_CONDATTR_INIT check because this silly 7166 #ifdef makes use-uninitialized-var issue and (2) native_cond_initialize() 7167 already have a right platform and caller don't need any additional care. 7168 [Bug #6825] 7169 7170Mon Nov 5 10:57:59 2012 NARUSE, Yui <naruse@ruby-lang.org> 7171 7172 * lib/cgi/core.rb: check if Tempfile is defined before use it. 7173 7174 * lib/cgi/core.rb: remove tempfiles only if tempfiles exist 7175 7176Mon Nov 5 12:17:00 2012 Zachary Scott <zachary@zacharyscott.net> 7177 7178 * lib/uri/http.rb (URI::HTTP.build): Fix example 7179 Patch by Carina C. Zona 7180 [Fixes #209 Github] 7181 7182Mon Nov 5 09:55:05 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org> 7183 7184 * lib/cgi/core.rb: remove tempfile more early. 7185 7186Sun Nov 4 20:29:46 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org> 7187 7188 * lib/cgi.rb, lib/cgi/*/rb: rename CGI#header to CGI#http_header, 7189 add and update HTML5 tag generator. [Bug #7110] 7190 Patch provided by Marcus Stollsteimer, thank you ! 7191 7192Sun Nov 4 11:47:39 2012 Masaki Matsushita <glass.saga@gmail.com> 7193 7194 * lib/fileutils.rb (module FileUtils): repatch [ruby-core:39622] 7195 [Feature #5337]. improve performance of FileUtils.compare_stream. 7196 [ruby-core:47545] [Feature #7028] 7197 7198Sun Nov 4 11:27:54 2012 Masaki Matsushita <glass.saga@gmail.com> 7199 7200 * array.c (recursive_equal): fix to return true when self and other 7201 are resized to same size and the current index become out of 7202 range. 7203 7204 * test/ruby/test_array.rb: add a test for the above. 7205 7206Sun Nov 4 10:19:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7207 7208 * dir.c (file_s_fnmatch): match with expanding braces if FNM_EXTGLOB 7209 is set. [ruby-core:40037] [Feature #5422] 7210 7211Sat Nov 3 23:38:15 2012 Tadayoshi Funaba <tadf@dotrb.org> 7212 7213 * complex.c: modified doc. 7214 * rational.c: ditto. 7215 7216Sat Nov 3 22:38:55 2012 Tadayoshi Funaba <tadf@dotrb.org> 7217 7218 * ext/date/date_core.c: modified doc. 7219 7220Sat Nov 3 18:35:55 2012 Kazuki Tsujimoto <kazuki@callcc.net> 7221 7222 * vm.c (rb_vm_rewrite_ep_in_errinfo, vm_rewrite_ep_in_errinfo): 7223 merge code and remove `rb_vm_rewrite_ep_in_errinfo'. 7224 7225Sat Nov 3 18:15:24 2012 Kazuki Tsujimoto <kazuki@callcc.net> 7226 7227 * vm.c, proc.c: avoid unnecessary `rb_vm_rewrite_ep_in_errinfo' 7228 calls. 7229 7230Sat Nov 3 17:53:43 2012 Kouhei Sutou <kou@cozmixng.org> 7231 7232 * bin/testrb: Use only Test::Unit::AutoRunner in test-unit gem 7233 compatible API to be available by both test/unit bundled in Ruby 7234 and test-unit gem. 7235 * lib/test/unit.rb (Test::Unit::AutoRunner): Move codes from testrb. 7236 7237Sat Nov 3 14:56:21 2012 Tadayoshi Funaba <tadf@dotrb.org> 7238 7239 * ext/date/date_parse.c (parse_eu): should capture apostrophe too. 7240 7241Sat Nov 3 14:46:15 2012 Tadayoshi Funaba <tadf@dotrb.org> 7242 7243 * ext/date/date_parse.c (date__parse): revised the tight parser. 7244 7245Sat Nov 3 14:43:42 2012 Kouhei Sutou <kou@cozmixng.org> 7246 7247 * lib/rexml/xmldecl.rb (REXML::XMLDecl#content): Add missing \A 7248 and \z. 7249 7250Sat Nov 3 14:42:55 2012 Kouhei Sutou <kou@cozmixng.org> 7251 7252 * lib/rexml/output.rb (REXML::Output#initialize): Use normalized 7253 encoding name. 7254 7255Sat Nov 3 14:41:17 2012 Kouhei Sutou <kou@cozmixng.org> 7256 7257 * lib/rexml/output.rb (REXML::Output): Don't output BOM in middle 7258 of the output string. 7259 * test/rexml/test_document.rb: Add a test for the above change. 7260 7261Sat Nov 3 14:09:55 2012 Kouhei Sutou <kou@cozmixng.org> 7262 7263 * NEWS: Add an item about REXML::Document#write. 7264 7265Sat Nov 3 13:46:49 2012 Kouhei Sutou <kou@cozmixng.org> 7266 7267 * test/rexml/test_document.rb: Fix tests that expect encoding name 7268 isn't normalized. 7269 7270Sat Nov 3 13:26:00 2012 Zachary Scott <zachary@zacharyscott.net> 7271 7272 * dir.c (Dir#glob): 7273 Documentation for pattern section, backslash subsection 7274 Patch by Eric Bouchut 7275 [ruby-core:48528] [Bug #7230] 7276 7277Sat Nov 3 13:26:00 2012 Zachary Scott <zachary@zacharyscott.net> 7278 7279 * io.c (IO#new): 7280 Documentation for IO#open modes and formatting 7281 [ruby-core:48052] [Bug #7179] 7282 7283Sat Nov 3 13:01:02 2012 Kouhei Sutou <kou@cozmixng.org> 7284 7285 * test/rexml/test_encoding.rb (EncodingTester#test_in_different_out): 7286 Fix a test that expects encoding in XML declaration is changed by 7287 Output's encoding. It is dropped feature. 7288 7289Sat Nov 3 12:49:45 2012 Kouhei Sutou <kou@cozmixng.org> 7290 7291 * lib/rexml/document.rb (REXML::Document#write): Document encoding 7292 option. Now different encoding between XML file's encoding and 7293 XML declaration's encoding is support. 7294 [Feature #4872] (work in progress) 7295 * lib/rexml/xmldecl.rb (REXML::XMLDecl#write): Always use XMLDecl's 7296 encoding. 7297 * test/rexml/test_document.rb: Update tests for the above change. 7298 7299Sat Nov 3 12:18:35 2012 Masaki Matsushita <glass.saga@gmail.com> 7300 7301 * array.c (recursive_equal): fix not to make invalid pointers when 7302 self and other are resized to same size in #== of their elements. 7303 [ruby-dev:46373] [Feature #6177] 7304 7305Sat Nov 3 12:06:15 2012 Kouhei Sutou <kou@cozmixng.org> 7306 7307 * test/rexml/test_xml_declaration.rb (TestXmlDeclaration#test_*): 7308 Remove needless prefix from test names. 7309 7310Sat Nov 3 12:04:52 2012 Kouhei Sutou <kou@cozmixng.org> 7311 7312 * test/rexml/test_xml_declaration_parent_child.rb: Rename to ... 7313 * test/rexml/test_xml_declaration.rb: ... this. 7314 7315Sat Nov 3 11:43:00 2012 Zachary Scott <zachary@zacharyscott.net> 7316 7317 * hash.c (rb_hash_delete): Correct grammar 7318 Patch by Glenn Oppegard 7319 [Fixes #208 Github] 7320 7321Sat Nov 3 11:28:28 2012 Narihiro Nakamura <authornari@gmail.com> 7322 7323 * NEWS: add a news about GC::Profiler.raw_data. 7324 7325Sat Nov 3 11:01:32 2012 Narihiro Nakamura <authornari@gmail.com> 7326 7327 * NEWS: add a news about rb_newobj_of() and NEWOBJ_OF(). 7328 7329Sat Nov 3 10:17:41 2012 Narihiro Nakamura <authornari@gmail.com> 7330 7331 * eval.c (f_current_dirname): add the new method for Kernel. 7332 This method almost same as File.dirname(__FILE__). One 7333 different behavior is it returns nil when __FILE__ returns nil. 7334 [Feature #3346] 7335 7336 * NEWS: ditto 7337 7338 * test/ruby/test_method.rb: related test. 7339 7340Sat Nov 3 09:03:34 2012 Shugo Maeda <shugo@ruby-lang.org> 7341 7342 * test/ruby/test_refinement.rb (test_new_method_by_send, 7343 test_new_method_by_method_object): add tests for Kernel#send and 7344 Kernel#method with refinements. 7345 7346 * test/ruby/test_refinement.rb (test_symbol_to_proc): add a test 7347 calling a proc created by Symbol#to_proc outside the scope where 7348 a refinement is closed over. 7349 7350Sat Nov 3 04:14:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7351 7352 * vm.c (rb_vm_rewrite_ep_in_errinfo): rewrite all catch points in 7353 errinfo, not only the topmost frame. based on the patch by 7354 ktsj (Kazuki Tsujimoto) in [ruby-dev:45656]. [Bug #6460] 7355 7356Fri Nov 2 20:11:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7357 7358 * lib/mkmf.rb (MakeMakefile#timestamp_file): remove @ which looks like 7359 configure variables. 7360 7361 * lib/mkmf.rb (MakeMakefile#timestamp_file): use .-. instead of !, a 7362 special character of NMAKE and BSD make. [Bug #7265] 7363 7364Fri Nov 2 17:55:39 2012 Shota Fukumori <sorah@tubusu.net> 7365 7366 * lib/test/unit.rb (_run_parallel): Delete status line before showing 7367 results. Patch by Hiroshi Shirosaki. [Bug #6897] [ruby-core:47250] 7368 7369 * lib/test/unit.rb (_run_parallel): Fix strange result when disabled retrying. 7370 Patch by Hiroshi Shirosaki. [Bug #6897] [ruby-core:47250] 7371 7372Fri Nov 2 17:52:12 2012 Shugo Maeda <shugo@ruby-lang.org> 7373 7374 * object.c (rb_mod_to_s): Module#{to_s,inspect}, when invoked on 7375 a refinement, returns a string in the format #<refinement:C@M>, 7376 where C is a refined class and M is a module at which the refinement 7377 is defined. 7378 7379 * eval.c (rb_mod_refine): store information on a refinement for the 7380 above change. 7381 7382 * test/ruby/test_refinement.rb: related test. 7383 7384Fri Nov 2 16:57:52 2012 Shota Fukumori <sorah@tubusu.net> 7385 7386 * vm_dump.c (rb_vm_bugreport): Because of many log directories, 7387 making directory lists readable. 7388 7389Fri Nov 2 16:44:00 2012 Kenta Murata <mrkn@mrkn.jp> 7390 7391 * vm_dump.c (rb_vm_bugreport): add ~/Library/Logs/DiagnosticReports 7392 in the locations list of crash reports. 7393 7394Fri Nov 2 14:52:52 2012 Masaki Matsushita <glass.saga@gmail.com> 7395 7396 * array.c (recursive_equal): performance improvement by avoiding 7397 overhead to call rb_ary_elt(). 7398 [ruby-dev:45412] [Feature #6177] 7399 7400Fri Nov 2 14:47:53 2012 Shugo Maeda <shugo@ruby-lang.org> 7401 7402 * string.c (sym_to_proc, sym_call): A Proc created by Symbol#to_proc 7403 should close over the current refinements. 7404 [ruby-dev:46345] [Bug #7261] 7405 7406 * vm_eval.c (rb_call0, rb_search_method_entry, 7407 rb_funcall_passing_block_with_refinements): add a new argument 7408 `refinements' for the above changes. 7409 7410 * test/ruby/test_refinement.rb: related test. 7411 7412Fri Nov 2 08:24:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7413 7414 * proc.c (top_define_method): new method, main.define_method. 7415 [ruby-core:45715] [Feature #6609] 7416 7417 * eval.c (top_include): fix a warning message, main is not a class or 7418 module. 7419 7420Fri Nov 2 04:41:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7421 7422 * lib/mkmf.rb (MakeMakefile#timestamp_file): use ! instead of %, a GNU 7423 make special character. 7424 7425Fri Nov 2 04:40:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7426 7427 * test/ruby/test_process.rb (test_execopts_preserve_env_on_exec_failure): 7428 use never existing file in the current temporary directory. 7429 7430Fri Nov 2 04:23:20 2012 NARUSE, Yui <naruse@ruby-lang.org> 7431 7432 * tool/merger.rb: add feature to tag preview/rc. 7433 7434Fri Nov 2 03:23:37 2012 NARUSE, Yui <naruse@ruby-lang.org> 7435 7436 * lib/mkmf.rb: fix for if config["libdir"] is nil. 7437 7438Thu Nov 1 23:06:01 2012 NARUSE, Yui <naruse@ruby-lang.org> 7439 7440 * tool/make-snapshot: fix wrong regexp for releasing preview. 7441 patched by mame. 7442 7443Thu Nov 1 22:27:11 2012 Koichi Sasada <ko1@atdot.net> 7444 7445 * NEWS: add a news about objspace, 7446 ObjectSpace.reachable_objects_from. 7447 7448Thu Nov 1 21:57:00 2012 Kenta Murata <mrkn@mrkn.jp> 7449 7450 * ext/bigdecimal/bigdecimal.c (BigDecimal_new), 7451 test/bigdecimal/test_bigdecimal.rb: 7452 Fix exception message of BigDecimal constructor with a Float. 7453 7454Thu Nov 1 21:52:20 2012 Kenta Murata <mrkn@mrkn.jp> 7455 7456 * ext/bigdecimal/bigdecimal.c (BigDecimal_add), 7457 test/bigdecimal/test_bigdecimal.rb: 7458 need to specify precision for converting Rational and Float. 7459 [ruby-core:48045] [Bug #7176] 7460 7461Thu Nov 1 21:42:20 2012 Yusuke Endoh <mame@tsg.ne.jp> 7462 7463 * test/ruby/test_process.rb: Revert r37404. My ubuntu box has 7464 actually the directory named "/nonexistent"... Sorry. 7465 7466Thu Nov 1 21:28:28 2012 Yusuke Endoh <mame@tsg.ne.jp> 7467 7468 * test/ruby/test_process.rb: Process.exec raised EACCES on Linux 7469 3.5.0-17-generic. This is a temporal fix to rescue that exception. 7470 Needs kosaki's review. 7471 7472Thu Nov 1 21:19:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7473 7474 * iseq.c (set_relation): parent_iseq need to be set regardless iseq 7475 type. fix r37397. 7476 7477Thu Nov 1 19:47:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7478 7479 * thread_pthread.c (RUBY_STACK_MIN): may not a compile time constant. 7480 fix r37079. [ruby-dev:46322] [Bug #7247] 7481 7482Thu Nov 1 16:44:36 2012 Shugo Maeda <shugo@ruby-lang.org> 7483 7484 * NEWS: add note for Module#refine, Module#refinements, 7485 Module#using, and Kernel#using. 7486 7487Thu Nov 1 14:41:47 2012 Shugo Maeda <shugo@ruby-lang.org> 7488 7489 * eval.c (rb_using_module): using should be used indirectly. 7490 [ruby-dev:46326] [Feature #7251] 7491 7492Wed Oct 31 18:17:38 2012 Narihiro Nakamura <authornari@gmail.com> 7493 7494 * gc.c (gc_profile_record): don't define unused variables when 7495 GC_PROFILE_MORE_DETAIL is 0. 7496 7497Wed Oct 31 18:10:53 2012 Narihiro Nakamura <authornari@gmail.com> 7498 7499 * gc.c (gc_prof_mark_timer_stop): count is not initialized. 7500 7501Wed Oct 31 09:28:24 2012 Eric Hodel <drbrain@segment7.net> 7502 7503 * thread.c (rb_thread_call_without_gvl2): Note that ubf() may or may 7504 not be called with the GVL. Hinted that rb_thread_call_with_gvl() 7505 can be used to access ruby functionality. 7506 7507Wed Oct 31 09:06:54 2012 Eric Hodel <drbrain@segment7.net> 7508 7509 * thread.c (rb_thread_call_without_gvl2): Update documentation to 7510 natural English. 7511 * thread.c (rb_thread_call_with_gvl): ditto. 7512 7513Wed Oct 31 02:53:07 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7514 7515 * ext/dl/lib/dl/struct.rb: fix strange require order. [ruby-dev:45702] 7516 7517 * ext/dl/lib/dl/value.rb: ditto 7518 7519 * test/dl/test_c_struct_entry.rb: remove strange require order from 7520 tests. 7521 7522 * test/dl/test_c_union_entity.rb: ditto 7523 7524Tue Oct 30 23:59:32 2012 Shugo Maeda <shugo@ruby-lang.org> 7525 7526 * eval.c (rb_mod_refine): fix the error message when no block is 7527 given. [ruby-dev:46319] [Bug #7244] 7528 7529 * test/ruby/test_refinement.rb: related test. 7530 7531Tue Oct 30 19:27:48 2012 NAKAMURA Usaku <usa@ruby-lang.org> 7532 7533 * process.c (redirect_dup2): set standard handles when new fd is stdio, 7534 because if there is no allocated console at the moment Windows does 7535 not automatically associate it for child process's standard handle. 7536 this is adhoc workaround. 7537 reported by Martin Thiede at [ruby-core:48542] [Bug #7239]. 7538 7539 * io.c (rb_cloexec_dup2): ditto. 7540 7541Tue Oct 30 03:08:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7542 7543 * lib/rbconfig/obsolete.rb (Config): re-introduce warnings for a 7544 lame-duck. [ruby-core:46836] [Bug #6809] 7545 7546Tue Oct 30 02:20:10 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7547 7548 * thread.c: added Thread#thread_variable_(get|set), 7549 Thread#thread_variable?, and Thread#thread_variables for operating 7550 on variables that are local to threads. [ruby-core:47790] 7551 7552 * vm.c: ditto 7553 7554 * test/ruby/test_thread.rb: tests for thread variables. 7555 7556Mon Oct 29 18:22:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7557 7558 * ext/stringio/stringio.c (strio_close): close separately per each 7559 instances, as well as IO. 7560 7561Mon Oct 29 10:22:00 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7562 7563 * ext/psych/lib/psych/handlers/recorder.rb: added a class for 7564 recording YAML parse and emit events. 7565 7566 * ext/psych/lib/psych/handler.rb: adding a list of events so that 7567 handler classes can more easily be meta-programmed. 7568 7569 * test/psych/handlers/test_recorder.rb: tests for the change. 7570 7571Mon Oct 29 05:48:52 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 7572 7573 * lib/ostruct.rb: Add [] and []=, base on a patch by Thomas Sawyer. 7574 Also accept {Open}Struct as argument to new. 7575 Add #eql?, #hash & #each_pair 7576 Protect new_ostruct_member 7577 7578Mon Oct 29 03:20:58 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 7579 7580 * lib/matrix.rb: Fix determinant_e [ruby-dev:46305] [Bug #7228] 7581 7582Sun Oct 28 23:52:25 2012 Kouhei Sutou <kou@cozmixng.org> 7583 7584 * test/rexml/test_document.rb: Add tests for parsing XML encoded 7585 by UTF-8 with BOM. 7586 7587Sun Oct 28 23:47:09 2012 Kouhei Sutou <kou@cozmixng.org> 7588 7589 * lib/rexml/source.rb: Move encoding detection code to base class. 7590 * lib/rexml/encoding.rb: Remove needless encoding detection code. 7591 7592Sun Oct 28 21:40:13 2012 Kouhei Sutou <kou@cozmixng.org> 7593 7594 * lib/rexml/parsers/baseparser.rb: Fix a bug that UTF-8 is used 7595 for UTF-16XX encoded XML that doesn't have encoding="UTF-16" in 7596 XML declaration. 7597 * test/rexml/test_document.rb: Add tests for the above change. 7598 7599Sun Oct 28 21:37:34 2012 Kouhei Sutou <kou@cozmixng.org> 7600 7601 * test/rexml/test_document.rb: Group tests that they parse 7602 UTF-16XX encoded XML that has encoding="UTF-16" in XML declaration. 7603 7604Sun Oct 28 21:25:11 2012 Kouhei Sutou <kou@cozmixng.org> 7605 7606 * lib/rexml/source.rb (REXML::IOSource#initialize): Reduce 7607 @line_break initialize code. It should be done only in #encoding=. 7608 * lib/rexml/parsers/baseparser.rb: Don't set UTF-16 encoding to 7609 source by encoding="UTF-16" in XML declaration because UTF-16XX 7610 source encoding should be set in Source#initialize or 7611 IOSource#initialize. They should handle BOM. Parser should not 7612 consider about it. 7613 7614Sun Oct 28 21:18:37 2012 Kouhei Sutou <kou@cozmixng.org> 7615 7616 * test/rexml/test_document.rb: Add tests for parsing XML encoded 7617 by UTF-16 with BOM. 7618 7619Sun Oct 28 19:12:11 2012 Tadayoshi Funaba <tadf@dotrb.org> 7620 7621 * ext/date/date_parse.c (iso8601_{ext,bas}_time): should not match 7622 empty string. 7623 7624Sun Oct 28 18:51:33 2012 Tadayoshi Funaba <tadf@dotrb.org> 7625 7626 * ext/date/date_parse.c (date__parse): revised the tight parser. 7627 7628Sun Oct 28 15:41:50 2012 Kouhei Sutou <kou@cozmixng.org> 7629 7630 * lib/rexml/document.rb (REXML::Document#write): Add :encoding option 7631 to support custom XML encoding. 7632 [Feature #4872] (work in progress) 7633 * test/rexml/test_document.rb: Add tests for the above change. 7634 7635Sun Oct 28 15:00:19 2012 Kouhei Sutou <kou@cozmixng.org> 7636 7637 * lib/rexml/document.rb (REXML::Document#write): Remove needless 7638 indent in document. 7639 7640Sun Oct 28 14:59:14 2012 Kouhei Sutou <kou@cozmixng.org> 7641 7642 * lib/rexml/document.rb (REXML::Document#write): Accept options 7643 Hash as argument. 7644 * test/rexml/test_document.rb: Add tests for the above change. 7645 7646Sun Oct 28 14:09:44 2012 Kouhei Sutou <kou@cozmixng.org> 7647 7648 * lib/rexml/document.rb (REXML::Document#write): Fix wrong usage 7649 in document. 7650 7651Sun Oct 28 14:03:48 2012 Kouhei Sutou <kou@cozmixng.org> 7652 7653 * lib/rexml/document.rb (REXML::Document#write): Fix wrong method 7654 names in document. 7655 7656Sun Oct 28 10:12:15 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7657 7658 * ext/psych/lib/psych/visitors/yaml_tree.rb: `tree` should return the 7659 same thing on every call. 7660 7661 * test/psych/visitors/test_yaml_tree.rb: related test. 7662 7663Sun Oct 28 10:05:03 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7664 7665 * ext/psych/lib/psych/visitors/yaml_tree.rb: YAML Tree object should 7666 be able to take an emitter object as it's output. 7667 7668 * test/psych/visitors/test_yaml_tree.rb: related test. 7669 7670Sun Oct 28 08:23:16 2012 Koichi Sasada <ko1@atdot.net> 7671 7672 * bignum.c (bignew_1): Bignum instances are frozen. 7673 Feature #3222 7674 7675 * include/ruby/ruby.h: Fixnum instances are also frozen. 7676 7677 * class.c (singleton_class_of): check Bignum before 7678 singleton checking. 7679 7680 * test/ruby/test_bignum.rb: add a test. 7681 7682 * test/ruby/test_fixnum.rb: ditto. 7683 7684 * test/ruby/marshaltestlib.rb, test/ruby/test_eval.rb, 7685 test/ruby/test_object.rb: catch up above changes. 7686 7687Sun Oct 28 04:38:06 2012 Koichi Sasada <ko1@atdot.net> 7688 7689 * vm.c (vm_define_method): remove type and frozen checking. 7690 Checking is done in `rb_singleton_class()'. 7691 7692Sun Oct 28 00:49:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7693 7694 * parse.y (assign_in_cond): warn for static content object assignments 7695 in conditional statements. [ruby-dev:43083] [Feature #4299] 7696 7697Sat Oct 27 23:33:41 2012 Benoit Daloze <eregontp@gmail.com> 7698 7699 * gc.c (gc_profile_result, gc_profile_report): use internal structures 7700 to avoid allocations and progressively print the output for #report. 7701 [ruby-core:47163] [Bug #6865] 7702 7703Sat Oct 27 11:01:10 2012 Koichi Sasada <ko1@atdot.net> 7704 7705 * numeric.c (rb_float_new_in_heap), include/ruby/ruby.h: 7706 make all Float objects frozen. 7707 [ruby-dev:46081] [ruby-trunk - Feature #6936] 7708 Most part of patch by NARUSE, Yui <naruse@ruby-lang.org>. 7709 7710 * class.c (singleton_class_of): raise TypeError when 7711 trying to define a singleton method on Float objects. 7712 7713 * vm.c (vm_define_method): ditto. 7714 7715 * test/ruby/marshaltestlib.rb: catch up above changes. 7716 7717 * test/ruby/test_class.rb: ditto. 7718 7719 * test/test_pp.rb: ditto. 7720 7721Sat Oct 27 10:50:53 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7722 7723 * object.c (rb_mod_const_get): make sure the constant name is 7724 converted to a string before searching. [ruby-core:48405] 7725 7726Sat Oct 27 10:12:13 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 7727 7728 * iseq.c (rb_iseq_compile_with_option): Instead of testing 7729 respond_to, just check if the argument is actually a file, 7730 because by calling user-defined gets something weired can 7731 happen. Patch by Glass_saga. [ruby-dev:40202] [Bug #2861] 7732 7733 * parse.y (ripper_initialize): ditto. 7734 7735Sat Oct 27 10:07:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7736 7737 * parse.y (enum lex_state_e): [EXPERIMENTAL] lex_state as bit field / 7738 IS_lex_state() macro. based on the patch by Dave B in 7739 [ruby-core:23503]. [Feature #1493] 7740 7741Sat Oct 27 10:05:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7742 7743 * include/ruby/win32.h (fstat): use _fstati64() instead of fstati64() 7744 on mingw32. 7745 7746Sat Oct 27 06:28:33 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7747 7748 * object.c (rb_mod_const_get): const_get accepts qualified constant 7749 strings. e.g. Object.const_get("Foo::Bar::Baz") [ruby-core:41404] 7750 7751 * test/ruby/test_module.rb: tests for new behavior 7752 7753Fri Oct 26 13:24:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7754 7755 * parse.y (literal_concat_gen): merge fixed strings across 7756 concatenated literals, after an interpolation. 7757 7758Thu Oct 25 17:48:54 2012 NAKAMURA Usaku <usa@ruby-lang.org> 7759 7760 * win32/win32.c (has_redirection): should use shell (cmd.exe) when 7761 the commandline contains '&'. 7762 reported by Roger Pack at [ruby-core:47912] [Bug #7143], and 7763 patched by Heesob Park at [ruby-core:47931]. 7764 7765Thu Oct 25 15:00:08 2012 Koichi Sasada <ko1@atdot.net> 7766 7767 * include/ruby/ruby.h, class.c: remove (revert) 7768 `rb_add_method_cfunc_frameless()' API. 7769 This API is not mature to become an official API. 7770 For example, we can not use this API with 7771 `rb_define_private_method()'. 7772 7773 * method.h, vm_method.c (rb_add_method_cfunc_frameless): removed. 7774 7775Thu Oct 25 13:35:07 2012 NAKAMURA Usaku <usa@ruby-lang.org> 7776 7777 * tool/mkconfig.rb: remove string literal concatenation. 7778 7779Wed Oct 24 18:49:16 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7780 7781 * ext/objspace/objspace.c (type2sym, count_objects_size): use enum 7782 instead of size_t which may be larger than actual values. 7783 7784Wed Oct 24 17:41:24 2012 Koichi Sasada <ko1@atdot.net> 7785 7786 * benchmark/driver.rb: add `-x' or `--exclude' option 7787 to specify exclude benchmark name pattern. 7788 You can specify "-x foo" if you want to exclude the benchmarks 7789 if the name of benchmark contains `foo'. 7790 7791Wed Oct 24 11:57:24 2012 Narihiro Nakamura <authornari@gmail.com> 7792 7793 * gc.c (gc_prepare_free_objects): rename to match the behavior of 7794 this function. 7795 7796Wed Oct 24 11:55:19 2012 Koichi Sasada <ko1@atdot.net> 7797 7798 * ext/objspace/objspace.c (reachable_object_from_i): change data 7799 structure of the result of reachable objects. Keys of table 7800 contains object_id of each reachable objects. Value of table 7801 is an object itself or an instance of InternalObjectWrapper. 7802 To avoid duplication, we use st_table and object_id keys. 7803 7804 * ext/objspace/objspace.c (type2sym): bug fix. 7805 Should use `i' instead of `type'. 7806 7807Wed Oct 24 10:33:09 2012 Koichi Sasada <ko1@atdot.net> 7808 7809 * gc.c (garbage_collect, gc_marks): move the location of 7810 clear and restore rb_objspace_t::mark_func_data 7811 from garbage_collect() to gc_marks(). 7812 7813Wed Oct 24 10:17:45 2012 Koichi Sasada <ko1@atdot.net> 7814 7815 * ext/objspace/objspace.c (Init_objspace): add a new method 7816 `ObjectSpace::InternalObjectWrapper#internal_object_id' which returns 7817 an object id of a wrapped internal object. 7818 7819Wed Oct 24 08:55:04 2012 Koichi Sasada <ko1@atdot.net> 7820 7821 * ext/objspace/objspace.c (ObjectSpace.reachable_objects_from): 7822 internal object support. 7823 If given object `obj' has references to internal objects 7824 (such as T_NODE objects), then this method returns instances of 7825 `ObjectSpace::InternalObjectWrapper' instead of that internal objects. 7826 This instance contains a reference to an internal object and you can 7827 check the type of internal object using 7828 `ObjectSpace::InternalObjectWrapper#type' method. 7829 Rdoc of `InternalObjectWrapper' is not prepared yet. 7830 7831 * gc.c (rb_objspace_reachable_objects_from), gc.h: change 7832 an interface of 'rb_objspace_reachable_objects_from()' 7833 7834 * gc.c, gc.h: add two APIs 7835 - rb_objspace_markable_object_p(obj): check markable or not. 7836 - rb_objspace_internal_object_p(obj): check internal or not. 7837 7838Wed Oct 24 05:52:36 2012 Koichi Sasada <ko1@atdot.net> 7839 7840 * vm_insnhelper.c (vm_call_method): remove `default' and 7841 add a case for `VM_METHOD_TYPE_UNDEF'. 7842 7843Wed Oct 24 05:41:18 2012 Koichi Sasada <ko1@atdot.net> 7844 7845 * eval_error.c (error_print), vm_eval.c (eval_string_with_cref), 7846 vm_trace.c (rb_suppress_tracing): use TH_PUSH_TAG() instead of 7847 PUSH_TAG(). 7848 7849Wed Oct 24 05:17:52 2012 Koichi Sasada <ko1@atdot.net> 7850 7851 * vm_eval.c (vm_call0_body): remove RUBY_VM_CHECK_INTS() 7852 after method invocation using rb_call0(). 7853 7854 * vm_eval.c (vm_call0_body): remove default section on top of 7855 switch statement and add cases for `VM_METHOD_TYPE_CFUNC_FRAMELESS' 7856 and `VM_METHOD_TYPE_UNDEF'. 7857 7858 * vm_eval.c (vm_call0_body): remove useless brackets. 7859 7860Tue Oct 23 22:34:49 2012 Koichi Sasada <ko1@atdot.net> 7861 7862 * thread.c (thread_raise_m): check interrupts after Thread#raise 7863 if a target thread is the current thread because the behavior 7864 of Thread.current.raise is expected to perform same as 7865 Kernel.raise (by rubyspec). 7866 7867Tue Oct 23 17:08:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7868 7869 * ruby.c (usage, process_options): show more info in --help. 7870 [EXPERIMENTAL] [ruby-core:48072] [Bug #7184] 7871 7872Tue Oct 23 14:20:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7873 7874 * misc/ruby-electric.el using variable `last-command-event' instead of 7875 obsolete `last-command-char', so that work with Emacs trunk. 7876 a patch by Victor Deryagin <vderyagin AT gmail.com>. 7877 7878Tue Oct 23 14:06:47 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 7879 7880 * configure.in (visibility_option): visibility attribute is not 7881 available before GCC 4, so do not use -fvisibility option in that 7882 case. [ruby-core:48147] [Bug #7205] 7883 7884Tue Oct 23 12:57:29 2012 Koichi Sasada <ko1@atdot.net> 7885 7886 * vm_core.h, vm_insnhelper.c, vm_eval.c (OPT_CALL_CFUNC_WITHOUT_FRAME): 7887 add a new optimization and its macro `OPT_CALL_CFUNC_WITHOUT_FRAME'. 7888 This optimization makes all cfunc method calls `frameless', which 7889 is faster than ordinal cfunc method call. 7890 If `frame' is needed (for example, it calls another method with 7891 `rb_funcall()'), then build a frame. In other words, this 7892 optimization delays frame building. 7893 However, to delay the frame building, we need additional overheads: 7894 (1) Store the last call information. 7895 (2) Check the delayed frame building before the frame is needed. 7896 (3) Overhead to build a delayed frame. 7897 rb_thread_t::passed_ci is storage of delayed cfunc call information. 7898 (1) is lightweight because it is only 1 assignment to `passed_ci'. 7899 To achieve (2), we modify GET_THREAD() to check `passed_ci' every 7900 time. It causes 10% overhead on my environment. 7901 This optimization only works for cfunc methods which do not need 7902 their `frame'. 7903 After evaluation on my environment, this optimization does not 7904 effective every time. Because of this evaluation results, this 7905 optimization is disabled at default. 7906 7907 * vm_insnhelper.c, vm.c: add VM_PROFILE* macros to measure behaviour 7908 of VM internals. I will extend this feature. 7909 7910 * vm_method.c, method.h: change parameters of the `invoker' function. 7911 Receive `func' pointer as the first parameter. 7912 7913Tue Oct 23 06:21:05 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7914 7915 * ext/psych/parser.c: just get the constant defined in Ruby. 7916 7917 * ext/psych/lib/psych/syntax_error.rb: Psych::SyntaxError now inherits 7918 from StandardError rather than SyntaxError. Thanks Eric Hodel! 7919 7920 * test/psych/test_exception.rb: tests for change. 7921 7922Tue Oct 23 06:17:36 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7923 7924 * ext/psych/lib/psych/scalar_scanner.rb: Cache symbols while 7925 tokenizing. Thanks Kevin Menard! 7926 7927Tue Oct 23 06:15:40 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7928 7929 * ext/psych/lib/psych/scalar_scanner.rb: Updated the RegExp to catch 7930 Strings earlier in the tokenization process. Thanks Kevin Menard! 7931 7932Tue Oct 23 06:12:39 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7933 7934 * ext/psych/lib/psych/visitors/to_ruby.rb: Handle nil tags specially 7935 to avoid slow method_missing calls. Thanks Kevin Menard! 7936 7937Tue Oct 23 06:07:57 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7938 7939 * ext/psych/lib/psych/scalar_scanner.rb: Ignore bad timestamps. If 7940 something looks like a timestamp but has an invalid component, treat 7941 it as a string instead of throwing an ArgumentError. 7942 Thanks Rhett Sutphin! 7943 7944 * test/psych/test_scalar_scanner.rb: appropriate tests. 7945 7946Tue Oct 23 06:04:07 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7947 7948 * ext/psych/lib/psych/scalar_scanner.rb: Fix scalar_scanner to 7949 understand strings starting with an underscore and containing only 7950 digits. Thanks Kelley Reynolds. 7951 7952 * test/psych/test_scalar_scanner.rb: test for fix 7953 7954Tue Oct 23 06:00:41 2012 Aaron Patterson <aaron@tenderlovemaking.com> 7955 7956 * ext/psych/lib/psych.rb: Changed comment in psych.rb to update new 7957 home page for libyaml. Thanks to Carolyn Ann. 7958 7959Sun Oct 21 19:12:59 2012 Kazuki Tsujimoto <kazuki@callcc.net> 7960 7961 * vm_core.h (rb_vm_t::trace_running): add a new field 7962 `trace_running' to store vm global tracing status. 7963 7964 * vm_trace.c: fix SEGV bug. event_hook was free'd 7965 even when the hook is still used in another thread. 7966 [ruby-dev:46141] [Bug #7032] 7967 7968Sun Oct 21 19:12:42 2012 Kazuki Tsujimoto <kazuki@callcc.net> 7969 7970 * vm_core.h (rb_vm_t::trace_flag): remove `trace_flag' 7971 which is no longer used. 7972 7973Sun Oct 21 18:34:27 2012 Tadayoshi Funaba <tadf@dotrb.org> 7974 7975 * ext/date/date_parse.c (date__parse): uses more tight parser if 7976 defined TIGHT_PARSER. now inactivated; because it introduces 7977 incompatibilities and it is a bit slow. 7978 7979Sat Oct 20 15:35:06 2012 Narihiro Nakamura <authornari@gmail.com> 7980 7981 * include/ruby/ruby.h: add C APIs. 7982 VALUE rb_newobj_of(VALUE klass, VALUE flags) 7983 #define NEWOBJ_OF(obj,type,klass,flags) 7984 These allow to change a allocation strategy depending on klass 7985 or flags. 7986 7987 * gc.c: ditto 7988 7989 * array.c: use new C API. 7990 * bignum.c: ditto 7991 * class.c: ditto 7992 * complex.c: ditto 7993 * ext/socket/ancdata.c: ditto 7994 * ext/socket/option.c: ditto 7995 * hash.c: ditto 7996 * io.c: ditto 7997 * marshal.c: ditto 7998 * numeric.c: ditto 7999 * object.c: ditto 8000 * random.c: ditto 8001 * range.c: ditto 8002 * rational.c: ditto 8003 * re.c: ditto 8004 * string.c: ditto 8005 * struct.c: ditto 8006 [Feature #7177][Feature #7047] 8007 8008Sat Oct 20 12:50:00 2012 Zachary Scott <zachary@zacharyscott.net> 8009 8010 * ext/socket/socket.c: Documentation for Socket 8011 Based on a patch by David Albert 8012 [Bug #7105] [ruby-core:47828] 8013 8014Sat Oct 20 11:00:00 2012 Zachary Scott <zachary@zacharyscott.net> 8015 8016 * lib/open-uri.rb: Documentation for OpenURI 8017 8018Sat Oct 20 06:18:34 2012 Aaron Patterson <aaron@tenderlovemaking.com> 8019 8020 * hash.c (initialize_copy): unset the default proc if there isn't one 8021 for the target hash, call to_hash, check frozen status. 8022 8023Fri Oct 19 22:22:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8024 8025 * vm.c (rb_vm_jump_tag_but_local_jump): pass through thrown objects. 8026 [ruby-dev:46234] [Bug #7185] 8027 8028 * vm_eval.c (rb_eval_cmd): if state is non-zero, val should be nil and 8029 rb_vm_jump_tag_but_local_jump() just jump tag. 8030 8031Fri Oct 19 22:11:55 2012 Benoit Daloze <eregontp@gmail.com> 8032 8033 * pack.c (pack_unpack): set encoding of the 8034 'H','h','B' and 'B' modifiers to US-ASCII. 8035 8036 * test/ruby/test_pack.rb: tests for the above. 8037 [ruby-core:47653][Bug #7050] 8038 8039 * test/test_securerandom.rb: tests for SecureRandom.hex 8040 from tenderlove. [ruby-core:46792][Bug #6799] 8041 8042Fri Oct 19 19:29:11 2012 Koichi Sasada <ko1@atdot.net> 8043 8044 * method.h (rb_method_cfunc_t::invoker): add new field (func ptr) 8045 `invoker'. `invoker' function invoke cfunc body 8046 (rb_method_cfunc_t::func). 8047 `invoker' is set at method definition timing. 8048 With this change, the big `switch' (branch) in `call_cfunc()' 8049 is no longer needed. 8050 However, the performance benefit is only a bit. 8051 8052 * vm_core.h (rb_call_info_t::aux::func): add a new field to store 8053 cfunc body function pointer. 8054 8055 * vm_method.c (call_cfunc_invoker_func): add a new function which 8056 returns a suitable invoke function. 8057 8058 * vm_method.c (setup_method_cfunc_struct): added. 8059 8060 * vm_method.c (rb_add_method): fix to set `invoker'. 8061 8062 * vm_eval.c (vm_call0_body): catch up above changes. 8063 8064 * vm_insnhelper.c (call_cfunc): removed. 8065 8066 * vm_insnhelper.c (vm_call_cfunc): fix to call cfunc body 8067 with `invoker' function. 8068 8069Fri Oct 19 16:55:58 2012 Koichi Sasada <ko1@atdot.net> 8070 8071 * eval.c, vm_eval.c: use TH_PUSH_TAG() instead of PUSH_TAG(). 8072 8073Fri Oct 19 11:13:55 2012 Koichi Sasada <ko1@atdot.net> 8074 8075 * benchmark/driver.rb: remove unexpected `output'. 8076 (commit miss) 8077 8078Fri Oct 19 10:24:03 2012 Koichi Sasada <ko1@atdot.net> 8079 8080 * vm_insnhelper.c (vm_search_method): remove needless local variable. 8081 8082Fri Oct 19 10:22:26 2012 Koichi Sasada <ko1@atdot.net> 8083 8084 * benchmark/bmx_temp.rb: removed. 8085 This file should not be in repository. 8086 8087Fri Oct 19 10:20:10 2012 Koichi Sasada <ko1@atdot.net> 8088 8089 * benchmark/driver.rb: add new option `--ruby-arg [ARG]' 8090 which is passed as a launch parameter for each ruby's execution. 8091 ($ ruby [ARG] [File]) 8092 8093Thu Oct 18 18:42:35 2012 Koichi Sasada <ko1@atdot.net> 8094 8095 * insns.def (opt_send_simple): move the location of 8096 `opt_send_simple' to the place near `send' definition. 8097 (to take care about icache locality). 8098 8099Thu Oct 18 18:29:25 2012 Koichi Sasada <ko1@atdot.net> 8100 8101 * insns.def (send): remove unused condition. 8102 This condition will be true after r37258. 8103 8104 * vm_insnhelper.c (vm_caller_setup_args): remove `UNLIKELY' on 8105 checking blockiseq (it seems `LIKELY'). 8106 8107Thu Oct 18 17:31:58 2012 Koichi Sasada <ko1@atdot.net> 8108 8109 * insns.def (opt_send_simple): introduce new instruction used 8110 when no need to care about block and splat. 8111 8112 * compile.c: use the `opt_send_simple' instruction. 8113 8114Thu Oct 18 16:44:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8115 8116 * vm_method.c (rb_add_method_cfunc, rb_add_method_cfunc_frameless): 8117 check arity earlier at definition time. 8118 8119Thu Oct 18 15:11:31 2012 Koichi Sasada <ko1@atdot.net> 8120 8121 * vm_insnhelper.c: add `inline' keyword to several functions. 8122 Compilers (gcc) are conservative than I expected. 8123 8124Thu Oct 18 15:01:15 2012 Koichi Sasada <ko1@atdot.net> 8125 8126 * include/ruby/ruby.h: add a decl. of 8127 `rb_define_frameless_method()'. 8128 8129Thu Oct 18 14:31:17 2012 Koichi Sasada <ko1@atdot.net> 8130 8131 * compile.c (new_callinfo): set a temporary index of callinfo 8132 (used in `iseq_set_sequence()') to rb_call_info_t::aux::index. 8133 rb_call_info_t::argc is initialized by same value of 8134 rb_call_info_t::orig_argc. 8135 8136Thu Oct 18 14:11:08 2012 Koichi Sasada <ko1@atdot.net> 8137 8138 * class.c (rb_define_frameless_method): rename from 8139 rb_define_method_fast(). Defined method with this C API 8140 does not make a method frame. It is bit lightweight than 8141 ordinal C functions. Now only 0 or 1 argc are permitted. 8142 8143 * method.h (VM_METHOD_TYPE_CFUNC_FRAMELESS): rename macro name 8144 from VM_METHOD_TYPE_CFUNC_FAST. 8145 8146 * vm_insnhelper.c, vm_method.c: rename related functions. 8147 8148 * proc.c (rb_method_entry_arity): catch up above changes. 8149 8150Thu Oct 18 10:30:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8151 8152 * parse.y (assignable_gen): fail if yyerror occurred. fix a bug in 8153 r36973. 8154 8155Thu Oct 18 09:23:03 2012 Aaron Patterson <aaron@tenderlovemaking.com> 8156 8157 * hash.c (initialize_copy): duping should rehash the hash. 8158 8159 * test/ruby/test_hash.rb: added a test to ensure rehash. 8160 8161Wed Oct 17 21:16:47 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8162 8163 * common.mk (WPROGRAM): need same dependencies as PROGRAM. 8164 8165 * cygwin/GNUmakefile.in (uncommon.mk): move include position 8166 below WPROGRAM definition to be defined in uncommon.mk. 8167 8168 * ext/extmk.rb (all, static): fix make rubyw.exe failure with make -jN. 8169 If make of ruby.exe and rubyw.exe run in parallel, link dll and link 8170 exe run in parallel, which causes link failure on mingw. To fix this, 8171 we make ruby.exe and rubyw.exe in one make process. 8172 [ruby-core:48007] [Bug #7165] 8173 8174Wed Oct 17 16:25:34 2012 Koichi Sasada <ko1@atdot.net> 8175 8176 * benchmark/bm_vm2_method_missing.rb: add a benchmark to measure 8177 performance of invoking `method_missing'. 8178 8179Wed Oct 17 16:23:17 2012 Koichi Sasada <ko1@atdot.net> 8180 8181 * vm_insnhelper.c (vm_getivar): fix to use `aux.index' instead of 8182 `aux.opt_pc'. 8183 8184Wed Oct 17 16:03:54 2012 Koichi Sasada <ko1@atdot.net> 8185 8186 * vm_insnhelper.c (vm_call_method_missing): make a refactoring 8187 about method_missing process. Use `vm_call_method()' to invoke 8188 `method_missing' method instead of `rb_funcall2()'. 8189 In `vm_call_method()', set fastpath to `vm_call_method_missing()' 8190 if it can be cached. 8191 8192 * vm_core.h (rb_call_info_t): add new field 8193 `rb_call_info_t::aux::missing_reason' to pass the reason to 8194 `vm_call_method_missing()'. 8195 8196Wed Oct 17 15:33:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8197 8198 * configure.in (opt-dir): allow multiple directories separated by 8199 $PATH_SEPARATOR as well as dir_config in mkmf.rb. [ruby-core:47868] 8200 [Bug #7120] 8201 8202Wed Oct 17 15:08:13 2012 Shugo Maeda <shugo@ruby-lang.org> 8203 8204 * lib/net/imap.rb: fix Net::IMAP::ResponseParser to accept 8205 message/delivery-status ([ruby-core:47920] [Bug #7146]), 8206 message/rfc822 attachments ([ruby-core:47921] [Bug #7147]), and 8207 (BODY ("MIXED")) ([ruby-core:47951] [Bug #7153]). 8208 patched by Tony Arkles. 8209 8210 * test/net/imap/test_imap_response_parser.rb: related test. 8211 8212Wed Oct 17 11:04:48 2012 NAKAMURA Usaku <usa@ruby-lang.org> 8213 8214 * test/ruby/test_hash.rb (TestHash#test_dup_equality): added a new test 8215 to show the problem of r37232. 8216 8217Wed Oct 17 10:48:40 2012 Shugo Maeda <shugo@ruby-lang.org> 8218 8219 * vm_insnhelper.c (vm_search_method): fix a build error that occurs 8220 when OPT_INLINE_METHOD_CACHE is 0. 8221 8222Wed Oct 17 08:46:47 2012 Koichi Sasada <ko1@atdot.net> 8223 8224 * benchmark/bm_vm2_dstr.rb: add a benchmark to measure 8225 performance of dynamic generated string ("foo#{bar}baz"). 8226 8227Wed Oct 17 08:32:46 2012 Koichi Sasada <ko1@atdot.net> 8228 8229 * compile.c (compile_dstr_fragments): use `putobject' instead of 8230 `putstring' for all of strings used by NODE_DSTR because 8231 ruby users can not grab this string. 8232 For example, the string object of "baz" in "foo#{bar}baz" 8233 is located by `putobject' (users can not touch "baz" object 8234 directly). This change reduces GC pressure. 8235 This improvement is suggested by Aaron Patterson. 8236 8237Wed Oct 17 08:02:57 2012 Koichi Sasada <ko1@atdot.net> 8238 8239 * thread.c (rb_threadptr_interrupt_mask): fix to check interrupt 8240 after interrupt_mask changed. 8241 8242Wed Oct 17 06:42:47 2012 Koichi Sasada <ko1@atdot.net> 8243 8244 * vm_insnhelper.c (vm_call_method): fix to return value immediately. 8245 Remove CHECK_INTS() after that method dispatch. 8246 8247Wed Oct 17 06:25:56 2012 Aaron Patterson <aaron@tenderlovemaking.com> 8248 8249 * hash.c (initialize_copy): copy the underlying st_table on dup, 8250 rather than copying the hash key by key. [ruby-core:48009] 8251 8252 * test/ruby/test_hash.rb: relevant tests for initialize_copy 8253 8254Wed Oct 17 06:17:44 2012 Koichi Sasada <ko1@atdot.net> 8255 8256 * vm_insnhelper.c (vm_call_iseq_setup_2): separate tailcall and normal 8257 method frame setup functions. 8258 Add checking interrupts at the tailcall setup function. 8259 8260Wed Oct 17 05:35:37 2012 Koichi Sasada <ko1@atdot.net> 8261 8262 * benchmark/bm_vm1_yield.rb: add a benchmark to measure `yield' 8263 (invoke empty block) performance. 8264 8265 * benchmark/bm_vm2_method_with_block.rb: add a benchmark to measure 8266 method invocation with empty block. 8267 8268Wed Oct 17 05:05:07 2012 Koichi Sasada <ko1@atdot.net> 8269 8270 * vm_insnhelper.c (vm_invoke_block): vm_caller_setup_args() can skip 8271 when splat flag is not set. 8272 8273Wed Oct 17 01:53:47 2012 Koichi Sasada <ko1@atdot.net> 8274 8275 * vm_insnhelper.c (vm_getivar, vm_setivar): support index inline cache 8276 with rb_call_info_t to speedup `attr' getter and setter. 8277 Cached index is stored in rb_call_info_t::aux::index. 8278 `index' == 0 means not cached. `index' > 0 means cached and cached 8279 index is `index - 1'. 8280 8281 * insns.def ((get|set)instancevariable): use new wrapper functions 8282 vm_(get|set)instancevariable() defined in vm_insnhelper.c. 8283 8284 * vm_core.h (rb_call_info_t::aux): introduce new union data because 8285 opt_pc can share with index. 8286 8287Tue Oct 16 22:24:44 2012 Koichi Sasada <ko1@atdot.net> 8288 8289 * benchmark/driver.rb (show_results): Show speedup ratio 8290 with first executables score at last of results 8291 if two or more executables are given. 8292 8293Tue Oct 16 21:59:01 2012 Koichi Sasada <ko1@atdot.net> 8294 8295 * benchmark/driver.rb: some refactoring. 8296 (1) Remove `average differential'. 8297 In this benchmark driver, We should not care about `average'. 8298 We use fastest score because this score should not include 8299 any disturbances (affections of background process, etc). 8300 If you care about timing affect, I recommend `median' 8301 score with more than 5 examinations rather than simple 8302 `average' score (`average' score was affected by error scores). 8303 (2) Show log file name. 8304 (3) Change default directory from './' to driver's directory. 8305 8306Tue Oct 16 14:56:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8307 8308 * file.c (rb_file_join): need to check again after any conversion run. 8309 [ruby-core:48012] [Bug #7168] 8310 8311Tue Oct 16 12:52:14 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 8312 8313 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_file): 8314 rename from file_assertion. 8315 8316Tue Oct 16 11:30:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8317 8318 * file.c (rb_file_join): hide the result under construction until 8319 return. 8320 8321 * file.c (rb_file_join): check nul-byte only for strings, since 8322 FilePathStringValue() does it. [ruby-core:48012] [Bug #7168] 8323 8324 * file.c (rb_file_join): path names must be ASCII-compatible. 8325 [ruby-core:48012] [Bug #7168] 8326 8327 * file.c (check_path_encoding): new function to ensure path name 8328 encoding to be ASCII-compatible. 8329 8330Tue Oct 16 09:40:04 2012 NAKAMURA Usaku <usa@ruby-lang.org> 8331 8332 * test/ruby/test_regexp.rb 8333 (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): use 8334 Regexp.new instead of literal to ignore a parser warning. 8335 8336Tue Oct 16 09:30:30 2012 NAKAMURA Usaku <usa@ruby-lang.org> 8337 8338 * test/ruby/test_regexp.rb 8339 (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): ignoring 8340 warnings are already set in setup method. 8341 8342Tue Oct 16 06:44:06 2012 Koichi Sasada <ko1@atdot.net> 8343 8344 * vm_insnhelper.c (VM_CALLEE_SETUP_ARG): fix wrong condition. 8345 8346Tue Oct 16 06:29:18 2012 Koichi Sasada <ko1@atdot.net> 8347 8348 * vm_insnhelper.c (vm_call_method): disable CI_SET_FASTPATH() if 8349 this method call needs splat argument because cached functions 8350 (vm_call_attrset, vm_call_ivar, vm_call_cfunc_fast_(unary|binary)) 8351 do not check an arity. 8352 8353 * bootstraptest/test_method.rb: add a test to check an above issue. 8354 8355Tue Oct 16 06:15:44 2012 Koichi Sasada <ko1@atdot.net> 8356 8357 * method.h: introduce new method type VM_METHOD_TYPE_CFUNC_FAST. 8358 This method is similar to VM_METHOD_TYPE_CFUNC methods, but 8359 called cfunc without building new frame (does not push new control 8360 frame). If error is occurred in cfunc, the backtrace only shows 8361 caller frame and upper. 8362 This kind of methods can be added by rb_define_method_fast(). 8363 This feature is similar to specialized instructions (opt_plus, etc), 8364 but more flexible (but a bit slower). 8365 8366 * class.c (rb_define_method_fast): added. 8367 Maybe it will be renamed soon. 8368 8369 * vm_insnhelper.c (vm_call_method): support method type 8370 VM_METHOD_TYPE_CFUNC_FAST. 8371 8372 * proc.c (rb_method_entry_arity): catch up new method type. 8373 8374 * vm_method.c (rb_add_method_cfunc_fast): added. 8375 8376Tue Oct 16 02:32:29 2012 Koichi Sasada <ko1@atdot.net> 8377 8378 * vm_insnhelper.h (CI_SET_FASTPATH): add new parameter `enabled'. 8379 If `enable' is 0 then CI_SET_FASTPATH() doesn't work. 8380 And add new configuration option OPT_CALL_FASTPATH. If this macro 8381 was defined by 0, then CI_SET_FASTPATH() doesn't work any more. 8382 8383 * vm_insnhelper.c (vm_call_method): Pass `0' for `enabled' parameter 8384 of CI_SET_FASTPATH if this method is protected. 8385 8386Tue Oct 16 02:17:35 2012 Koichi Sasada <ko1@atdot.net> 8387 8388 * vm_core.h (VM_CALL_*): rename VM_CALL_*_BIT 8389 to VM_CALL_* (remove `_BIT' suffix). 8390 Add comments on each macros. 8391 Remove unused macro VM_CALL_TAILRECURSION_BIT. 8392 8393 * compile.c, iseq.c, insns.def, vm_insnhelper.c: ditto. 8394 8395Mon Oct 15 22:14:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8396 8397 * test/ruby/envutil.rb (Test::Unit::Assertions#file_assertion): 8398 rewrite file assertions. 8399 8400Mon Oct 15 09:41:17 2012 Koichi Sasada <ko1@atdot.net> 8401 8402 * vm_insnhelper.c (VM_CALLEE_SETUP_ARG): skip CI_SET_FASTPATH() if 8403 it was called from vm_yield_setup_args(). 8404 8405Mon Oct 15 05:20:13 2012 Koichi Sasada <ko1@atdot.net> 8406 8407 * vm_insnhelper.h CI_SET_FASTPATH: introduce new macro 8408 `CI_SET_FASTPATH(ci, func)'. This macro set `ci->call' as `func'. 8409 `func' (ci->call) is called at the last of `send' 8410 (and `invokesuper') instruction. 8411 `CI_SET_FASTPATH' does not set `ci->call' when the method 8412 (stored in `ci->me') is `protected'. 8413 8414 * vm_insnhelper.c (vm_call_method): use `CI_SET_FASTPATH'. 8415 After several checking (visibility, argc checking), the result of 8416 checking can be reused until re-definition of this method 8417 with inline method cache. 8418 8419 Note that this optimization is now experimental. 8420 If you find any problem about it, please tell us. 8421 8422Mon Oct 15 04:51:55 2012 Koichi Sasada <ko1@atdot.net> 8423 8424 * vm_insnhelper.c: refactoring. 8425 - move all `call' related functions to the last of file. 8426 - make functions for respective method types in vm_call_method(). 8427 (all functions have same function parameters) 8428 8429 * vm_core.h: add `opt_pc' field in `rb_call_info_t' 8430 as temporal variable. 8431 8432 * vm_eval.c (vm_call0_body): catch up above changes. 8433 8434Mon Oct 15 03:51:46 2012 Koichi Sasada <ko1@atdot.net> 8435 8436 * benchmark/bm_vm1_attr_ivar(_set).rb: added (for method dispatch speed). 8437 8438 * benchmark/bm_vm1_float_simple.rb: added (for flonum/float). 8439 8440Mon Oct 15 02:51:16 2012 Koichi Sasada <ko1@atdot.net> 8441 8442 * vm_eval.c (vm_call0_body): add new function. 8443 `vm_call0()' makes call_info struct and calls `vm_call0_body()' 8444 with this struct. In near future, `vm_call0()' will be removed 8445 because all of `vm_call0()' users setup call_info struct by itself. 8446 8447Mon Oct 15 01:38:06 2012 Koichi Sasada <ko1@atdot.net> 8448 8449 * insns.def (send, invokesuper, invokeblock, opt_*), vm_core.h: 8450 use only a `ci' (rb_call_info_t) parameter instead of using 8451 parameters such as `op_id', 'op_argc', `blockiseq' and flag. 8452 These information are stored in rb_call_info_t at the compile 8453 time. 8454 This technique simplifies parameter passing at related 8455 function calls (~10% speedups for simple method invocation at 8456 my machine). 8457 `rb_call_info_t' also has new function pointer variable `call'. 8458 This `call' variable enables to customize method (block) 8459 invocation process for each place. However, it always call 8460 `vm_call_general()' at this changes. 8461 `rb_call_info_t' also has temporary variables for method 8462 (block) invocation. 8463 8464 * vm_core.h, compile.c, insns.def: introduce VM_CALL_ARGS_SKIP_SETUP 8465 VM_CALL macro. This flag indicates that this call can skip 8466 caller_setup (block arg and splat arg). 8467 8468 * compile.c: catch up above changes. 8469 8470 * iseq.c: catch up above changes (especially for TS_CALLINFO). 8471 8472 * tool/instruction.rb: catch up above changes. 8473 8474 * vm_insnhelper.c, vm_insnhelper.h: ditto. Macros and functions 8475 parameters are changed. 8476 8477 * vm_eval.c (vm_call0): ditto (it will be rewritten soon). 8478 8479Sun Oct 14 12:30:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8480 8481 * ruby.c (rb_f_sub, rb_f_gsub): pass the given block. 8482 [ruby-core:47967] [Bug #7157] 8483 8484Sat Oct 13 23:15:39 2012 NAKAMURA Usaku <usa@ruby-lang.org> 8485 8486 * regparse.c (parse_char_class): should match with a hyphen after a 8487 range in a character class. 8488 8489 * test/ruby/test_regexp.rb (TestRegexp#test_char_class): fixed wrong 8490 test. 8491 8492 * test/ruby/test_regexp.rb (TestRegexp#check): now can accept the 8493 error message. 8494 8495 * test/ruby/test_regexp.rb 8496 (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): renamed 8497 because the previous name was wrong. 8498 8499 * test/ruby/test_regexp.rb 8500 (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): added 8501 more test pattern. 8502 8503Sat Oct 13 03:01:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8504 8505 * file.c (realpath_rec): prevent link from GC while link_names refers 8506 the content. 8507 8508Sat Oct 13 01:37:48 2012 NAKAMURA Usaku <usa@ruby-lang.org> 8509 8510 * test/ruby/test_regexp.rb 8511 (TestRegexp#test_raw_hyphen_and_type_char_after_range): added new 8512 test. ref [ruby-core:47115] [Backport #6853] 8513 8514Fri Oct 12 21:55:08 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8515 8516 * include/ruby/win32.h (rb_w32_pow): set floating point precision 8517 for mingw-w64 x86 pow(). This improves the precision of pow() on 8518 Windows XP for TestFloat#test_round_with_precision failure. 8519 [ruby-core:47911] [Bug #7142] 8520 8521Fri Oct 12 21:37:25 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8522 8523 * test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): skip a test 8524 depending on locale on Windows. ENV[] doesn't work properly if 8525 console code page is not equal to file system encoding. 8526 [ruby-core:47910] [Bug #7140] 8527 8528Fri Oct 12 20:40:29 2012 Tanaka Akira <akr@fsij.org> 8529 8530 * process.c (posix_sh_cmds): the command name of colon is ":". 8531 8532Fri Oct 12 18:18:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8533 8534 * file.c (rb_get_path_check): path name must not contain NUL bytes. 8535 8536Fri Oct 12 16:06:20 2012 NAKAMURA Usaku <usa@ruby-lang.org> 8537 8538 * tool/merger.rb: now can merge revision(s) without --ticket again. 8539 8540Fri Oct 12 14:10:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8541 8542 * lib/mkmf.rb (dir_config, init_mkmf): use configured libdir value as 8543 default library path. [ruby-core:43726] [Bug #6207] 8544 8545Fri Oct 12 05:25:00 2012 Zachary Scott <zzak@ruby-lang.org> 8546 8547 * lib/timeout.rb (timeout): 8548 Remove paragraph on wrong implementation detail. 8549 [ruby-core:47739] [Bug #7088] 8550 8551Thu Oct 11 23:09:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8552 8553 * string.c (rb_str_sub{seq,pos,str}, rb_str_each_{line,codepoint}): 8554 prevent String copies from GC. [ruby-core:47881] [Bug #7135] 8555 8556Thu Oct 11 07:40:50 2012 NARUSE, Yui <naruse@ruby-lang.org> 8557 8558 * iseq.c (insn_operand_intern): cast op to rb_call_info_t* before 8559 compare with iseq->callinfo_entries whose type is rb_call_info_t*. 8560 8561Thu Oct 11 03:37:08 2012 Koichi Sasada <ko1@atdot.net> 8562 8563 * bootstraptest/test_block.rb: add tests for block with super. 8564 8565Thu Oct 11 02:54:07 2012 Koichi Sasada <ko1@atdot.net> 8566 8567 * vm_dump.c: fix debug prints to catch up recent changes 8568 such as VM data structures. 8569 8570Thu Oct 11 02:50:34 2012 Koichi Sasada <ko1@atdot.net> 8571 8572 * iseq.c (insn_operand_intern): add support disasm TS_CALLINFO 8573 operands. 8574 8575Wed Oct 10 15:12:48 2012 NAKAMURA Usaku <usa@ruby-lang.org> 8576 8577 * test/ruby/test_process.rb (TestProcess#test_execopts_gid): skip on 8578 windows because the platform does not have Process.group method. 8579 patched by Jon Forums in [ruby-core:47878] [Bug #7133]. 8580 8581Tue Oct 9 23:18:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8582 8583 * test/ruby/envutil.rb (assert_file, assert_file_not): more 8584 descriptive assertions for File predicates. 8585 8586Tue Oct 9 18:01:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8587 8588 * array.c (rb_ary_sample): use rb_random_ulong_limited, since 8589 precision of long may be larger than double. 8590 8591 * random.c (rb_random_ulong_limited): new function to return a random 8592 value from 0 upto limit as unsigned long, similarly to 8593 rb_genrand_ulong_limited but with arbitrary RNG object. 8594 8595Tue Oct 9 17:13:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8596 8597 * process.c (rb_execarg_addopt, rb_execarg_run_options): add :uid and 8598 :gid options. [ruby-core:47414] [Feature #6975] 8599 8600Tue Oct 9 14:36:11 2012 Koichi Sasada <ko1@atdot.net> 8601 8602 * iseq.c (iseq_free): fix memory leak. 8603 rb_iseq_t::callinfo_entries should be freed. 8604 8605Tue Oct 9 14:28:18 2012 Koichi Sasada <ko1@atdot.net> 8606 8607 * vm_core.h (rb_call_info_t): add new type `rb_call_info_t'. 8608 This data structure contains information including inline method 8609 cache. After that, `struct iseq_inline_cache_entry' does not 8610 need to contain inline cache for method invocation. 8611 Other information will be added to this data structure. 8612 8613 * vm_core.h (rb_iseq_t): add `callinfo_entries' and `callinfo_size' 8614 members to `rb_iseq_t'. 8615 8616 * insns.def, compile.c: Use CALL_INFO instead of IC. 8617 8618 * tool/instruction.rb: support CALL_INFO as operand type. 8619 8620 * vm_insnhelper.c, vm_insnhelper.h: ditto. 8621 8622Sun Oct 7 23:54:33 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 8623 8624 * ext/zlib/zlib.c (zstream_run_func): don't call inflate() when 8625 z->stream.avail_in == 0. it return Z_BUF_ERROR. 8626 but deflate() could be called with z->stream->avail_in == 0 because 8627 it has hidden buffer in z->stream->state (opaque structure). 8628 fix for gem install error. [ruby-dev:46149] [Bug #7040] 8629 8630Mon Oct 8 23:55:41 2012 Shugo Maeda <shugo@ruby-lang.org> 8631 8632 * eval.c (rb_mod_refinements): new method Module#refinements. 8633 8634 * test/ruby/test_refinement.rb: add new tests for the above changes. 8635 8636Mon Oct 8 23:02:19 2012 Shugo Maeda <shugo@ruby-lang.org> 8637 8638 * eval.c, gc.c, iseq.c, node.h, vm_insnhelper.c, vm_insnhelper.h, 8639 vm_method.c: rename omod and overlaid modules to refinements. 8640 8641 * eval.c (hidden_identity_hash_new): renamed from identity_hash_new. 8642 8643Sun Oct 7 04:50:00 2012 Zachary Scott <zzak@ruby-lang.org> 8644 8645 * lib/abbrev.rb: Documentation examples for Abbrev. 8646 [ruby-core:47442] [Bug #6985] 8647 8648Sun Oct 7 04:50:00 2012 Zachary Scott <zzak@ruby-lang.org> 8649 8650 * thread.c (rb_thread_aref): 8651 Grammar in Thread documentation. 8652 Patch by Steve Klabnik [ruby-core:47799] [Bug #7099] 8653 8654Sun Oct 7 04:37:00 2012 Zachary Scott <zzak@ruby-lang.org> 8655 8656 * string.c (rb_str_match): 8657 Clarify behavior for captured strings and local variable assignment 8658 Patch by Marcus Stollsteimer [ruby-core:47668] [Bug #7062] 8659 8660Sat Oct 6 18:31:36 2012 Shugo Maeda <shugo@ruby-lang.org> 8661 8662 * vm_opts.h (OPT_GLOBAL_METHOD_CACHE): new build option to 8663 enable/disable global method caching. [ruby-dev:46203] [Bug #7111] 8664 8665 * vm_method.c (rb_method_entry_get_with_omod): don't use global 8666 method cache if OPT_GLOBAL_METHOD_CACHE is 0. 8667 8668Sat Oct 6 16:32:04 2012 Shugo Maeda <shugo@ruby-lang.org> 8669 8670 * vm_method.c (search_method): check omod only once for performance. 8671 8672Sat Oct 6 09:42:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8673 8674 * enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): endian-less wide 8675 UTF encodings are dummy but Unicode. 8676 8677 * encoding.c (rb_encdb_set_unicode): set Unicode flag. 8678 8679 * template/encdb.h.tmpl: allow ENC_DUMMY variants. 8680 8681 * encoding.c (rb_enc_unicode_p): oniguruma provides Unicode flag. 8682 8683Fri Oct 5 17:18:42 JST 2012 TAKANO Mitsuhiro <tak@no32.tk> 8684 8685 * template/Doxyfile.tmpl: remove SHOW_DIRECTORIES and 8686 HTML_ALIGN_MEMBERS lines. They have been obsolete in 8687 Doxygen version 1.8.2. 8688 8689Fri Oct 5 15:26:18 2012 Koichi Sasada <ko1@atdot.net> 8690 8691 * ext/objspace/objspace.c: add ObjectSpace#reachable_objects_from. 8692 This method returns an array of objects referenced by given object. 8693 If given object is special objects such as true/false/nil/Fixnum etc 8694 then it returns nil. See rdoc for details. 8695 [ruby-core:39772] 8696 8697 * test/objspace/test_objspace.rb: add a test for this method. 8698 8699 * gc.c: add rb_objspace_reachable_objects_from(). 8700 To make this function, add several member `mark_func_data' 8701 to rb_objspace_t. If mark_func_data is not null, then 8702 gc_mark() calls mark_func_data::mark_func. 8703 8704 * gc.h: export rb_objspace_reachable_objects_from(). 8705 8706Thu Oct 4 23:40:04 2012 Narihiro Nakamura <authornari@gmail.com> 8707 8708 * gc.c (init_heap): call init_mark_stack before to allocate 8709 altstack. This change avoid the stack overflow at the signal 8710 handler on 32bit, but I don't understand reason... [Feature #7095] 8711 8712Thu Oct 4 22:39:27 2012 Koichi Sasada <ko1@atdot.net> 8713 8714 * insns.def (getlocal, setlocal): remove old getlocal/setlocal 8715 instructions and rename getdaynmic/setdynamic instructions 8716 to getlocal/setlocal. 8717 8718 * compile.c: ditto. 8719 8720 * iseq.c: remove TS_DINDEX. 8721 8722 * vm_exec.h (dindex_t): remove type definition of `dindex_t'. 8723 8724 * tool/instruction.rb: ditto. 8725 8726Thu Oct 4 21:44:17 2012 Koichi Sasada <ko1@atdot.net> 8727 8728 * vm.c (vm_analysis_insn|operand|register): use st_insert 8729 instead of using rb_hash_aset() because rb_hash_aset() 8730 check $SAFE. 8731 8732Thu Oct 4 21:15:26 2012 Koichi Sasada <ko1@atdot.net> 8733 8734 * vm.c (VM_COLLECT_USAGE_DETAILS): make new VM usage analysis 8735 hooks (old macro name is COLLECT_USAGE_ANALYSIS). 8736 This feature is only for VM developers. (I'm not sure I can use 8737 `VM developers' (the plural form) in this sentence). 8738 If VM_COLLECT_USAGE_DETAILS is not 0, VM enables the following 8739 usage collection features: 8740 (1) instruction: collect instruction usages. 8741 (2) operand: collect operand usages. 8742 (3) register: collect register usages. 8743 The results are stored in 8744 RubyVM::USAGE_ANALYSIS_INSN for (1, 2), 8745 RubyVM::USAGE_ANALYSIS_INSN_BIGRAM for (1) and 8746 RubyVM::USAGE_ANALYSIS_REGS for (3). 8747 You can stop collecting usages with 8748 RubyVM::USAGE_ANALYSIS_INSN_STOP(), 8749 RubyVM::USAGE_ANALYSIS_OPERAND_STOP(), 8750 RubyVM::USAGE_ANALYSIS_REGISTER_STOP() 8751 for (1), (2), (3) respectively. 8752 You can also change the hook functions by setting 8753 C level global variables 8754 `ruby_vm_collect_usage_func_(insn|operand|register)' 8755 for (1), (2), (3) respectively. 8756 See codes for more details. 8757 8758 * tool/instruction.rb: fix macro names. 8759 8760 * iseq.c (insn_operand_intern): make it export (used in vm.c). 8761 fix to skip several processes if not needed (pointer is 0). 8762 8763 * vm_dump.c: move codes for collection features to vm.c. 8764 8765 * vm_exec.h: rename macro and function names. 8766 8767 * vm_insnhelper.h: ditto. 8768 8769Thu Oct 4 18:59:14 2012 Koichi Sasada <ko1@atdot.net> 8770 8771 * test/ruby/test_settracefunc.rb (test_tracepoint): 8772 remove unused test case. 8773 (this test case is redefined by newer tests) 8774 8775Thu Oct 4 17:24:51 2012 Narihiro Nakamura <authornari@gmail.com> 8776 8777 * gc.c (rb_objspace_call_finalizer): call gc_mark_stacked_objects 8778 at suitable point. 8779 8780Thu Oct 4 16:31:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8781 8782 * gc.c (rb_objspace_call_finalizer): mark self-referencing finalizers 8783 before run finalizers, to fix SEGV from btest on 32bit. 8784 8785 * gc.c (gc_mark_stacked_objects): extract from gc_marks(). 8786 8787Thu Oct 4 11:43:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8788 8789 * thread_pthread.c (ruby_init_stack): round stack limit to page size 8790 boundary to calculate stack size more precisely. [ruby-dev:46174] 8791 [Bug #7084] 8792 8793Wed Oct 3 19:51:57 2012 Narihiro Nakamura <authornari@gmail.com> 8794 8795 * gc.c: Use the non-recursive marking instead of recursion. The 8796 recursion marking of CRuby needs checking stack overflow and the 8797 fail-safe system, but these systems not good at partial points, 8798 for example, marking deep tree structures. [ruby-dev:46184] 8799 [Feature #7095] 8800 8801 * configure.in (GC_MARK_STACKFRAME_WORD): removed. It's used by 8802 checking stack overflow of marking. 8803 8804 * win32/Makefile.sub (GC_MARK_STACKFRAME_WORD): ditto. 8805 8806Wed Oct 3 15:33:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8807 8808 * thread_pthread.c (ruby_init_stack): use getrlimit() for the main 8809 thread on Mac OS X, since pthread_get_stack{addr,size}_np() 8810 return the default value always, but not the ulimit value. 8811 [ruby-dev:46174] [Bug #7084] 8812 8813Wed Oct 3 11:43:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8814 8815 * io.c (rb_io_reopen): improvement to accept optional arguments. 8816 a patch by Glass_saga (Masaki Matsushita) in [ruby-core:47806]. 8817 [Feature #7103] 8818 8819Wed Oct 3 04:36:11 2012 Eric Hodel <drbrain@segment7.net> 8820 8821 * ext/openssl/ossl_x509store.c (ossl_x509store_add_file): Added 8822 documentation 8823 * ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths): 8824 ditto 8825 * ext/openssl/ossl_x509store.c (ossl_x509store_add_cert): ditto 8826 8827Wed Oct 3 02:23:37 2012 Shugo Maeda <shugo@ruby-lang.org> 8828 8829 * error.c (exc_to_s, name_err_to_s, name_err_mesg_to_str): do not 8830 taint messages. 8831 8832Tue Oct 2 16:47:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8833 8834 * eval.c (identity_hash_new): hide internal hashes for refinements. 8835 8836 * eval.c (rb_mod_refine): no default value. 8837 8838Mon Oct 1 22:54:02 2012 Shugo Maeda <shugo@ruby-lang.org> 8839 8840 * eval.c (identity_hash_new): new function to create a new identity 8841 hash. 8842 8843 * eval.c (rb_overlay_module, rb_mod_using, rb_mod_refine): use 8844 identity_hash_new(). 8845 8846Mon Oct 1 02:34:53 2012 Akinori MUSHA <knu@iDaemons.org> 8847 8848 * configure.in (--with-opt-dir): Make this also work on DLDFLAGS 8849 so LIBRUBY_SO links fine with libexecinfo installed in a 8850 non-system directory. 8851 8852Sun Sep 30 23:32:00 2012 Kenta Murata <mrkn@mrkn.jp> 8853 8854 * vm_dump.c (rb_vm_bugreport): add /Library/Logs/DiagnosticReports 8855 in the list of locations of crash reports. 8856 8857Sun Sep 30 21:18:03 2012 NARUSE, Yui <naruse@ruby-lang.org> 8858 8859 * string.c (rb_str_concat): use memcpy to copy a string which contains 8860 NUL characters. [ruby-core:47751] [Bug #7090] 8861 8862Sat Sep 29 19:41:53 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8863 8864 * test/ruby/envutil.rb (EnvUtil#invoke_ruby): kill child process 8865 before Timeout::Error is raised. rmdir of mktmpdir fails with 8866 EACCES if child process is alive on Windows. 8867 8868 * test/thread/test_queue.rb (TestQueue): increase timeout. 8869 This test takes long time on Windows XP. 8870 8871Sat Sep 29 19:41:33 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8872 8873 * test/net/http/test_http.rb (TestNetHTTP#test_proxy_address): 8874 clear environment variables. If http_proxy environment variable was 8875 set, the test failed. 8876 8877 * test/net/http/test_http.rb (TestNetHTTP#test_proxy_port): ditto. 8878 8879Sat Sep 29 19:41:11 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8880 8881 * test/drb/drbtest.rb (DRbCore#teardown): 8882 Use Process.kill :KILL on Windows because Process.kill :INT silently 8883 fails on Windows 7 and raises EINVAL on Windows XP for spawned 8884 process with new_pgroup: false. 8885 8886 * test/drb/drbtest.rb (DRbAry#teardown): ditto. 8887 8888Sat Sep 29 19:40:32 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8889 8890 * test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic): 8891 set script encoding to work with LANG=C. It would work on both 8892 Windows and Unix. Refix of r37051. 8893 8894Sat Sep 29 11:21:06 2012 Shugo Maeda <shugo@ruby-lang.org> 8895 8896 * vm_insnhelper.c (rb_vm_using_modules): use using_modules before 8897 klass to fix method lookup order, and use klass even if klass is 8898 not a module to make refinements in class_eval invoked on classes 8899 work. 8900 8901 * eval.c (rb_using_module): accept a class as the second argument. 8902 8903 * eval.c (rb_mod_using, f_using): raise a TypeError if the argument 8904 is not a module. 8905 8906 * test/ruby/test_refinement.rb: add new tests for the above changes. 8907 8908Sat Sep 29 02:18:57 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8909 8910 * test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic): 8911 Use ruby only on Windows since the test fails on Unix with LANG=C. 8912 [ruby-core:47709] [Bug #7076] 8913 8914Fri Sep 28 22:19:31 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 8915 8916 * test/ruby/test_unicode_escape.rb (TestUnicodeEscape#test_basic): 8917 echo command doesn't work properly against non-ascii character on 8918 Windows with chcp 437. Instead we use ruby. 8919 [ruby-core:47709] [Bug #7076] 8920 8921Fri Sep 28 17:54:31 2012 Koichi Sasada <ko1@atdot.net> 8922 8923 * vm_insnhelper.c (vm_setup_method): refactoring. 8924 Remove src_argc and use iseq->arg_size directly. 8925 8926Fri Sep 28 17:26:27 2012 NARUSE, Yui <naruse@ruby-lang.org> 8927 8928 * lib/rubygems/installer.rb (check_that_user_bin_dir_is_in_path): 8929 test_generate_bin_bindir_with_user_install_warning(TestGemInstaller) 8930 fails on Windows with msys bash. It makes comparing paths 8931 case-insensitive. 8932 pick from upstream to fix a failure of test-all [ruby-core:47711] 8933 https://github.com/rubygems/rubygems/commit/c474edb2f3704206f04da1c8c6cf9fb079d84abe 8934 8935Fri Sep 28 15:44:45 2012 Shugo Maeda <shugo@ruby-lang.org> 8936 8937 * vm_method.c (search_method): copy refinement iclasses to search 8938 superclasses correctly. 8939 8940 * test/ruby/test_refinement.rb: related test. 8941 8942Fri Sep 28 15:15:41 2012 Koichi Sasada <ko1@atdot.net> 8943 8944 * insns.def (opt_checkenv): remove unused instruction `opt_checkenv'. 8945 8946 * compile.c (iseq_compile_each): ditto. 8947 8948 * node.h: remove unused node `NODE_OPTBLOCK'. 8949 8950 * ext/objspace/objspace.c, gc.c (gc_mark_children): ditto. 8951 8952Fri Sep 28 13:14:34 2012 Koichi Sasada <ko1@atdot.net> 8953 8954 * vm_core.h: now VM_DEBUG_BP_CHECK should be 1. 8955 8956Fri Sep 28 12:51:54 2012 Koichi Sasada <ko1@atdot.net> 8957 8958 * vm_core.h: remove rb_control_frame_t::bp (bp: base pointer). 8959 `bp' can be calculate by `sp' (stack pointer) of previous frame. 8960 Now, `bp_check' field is remained for debug. You can eliminate 8961 this field by setting VM_DEBUG_BP_CHECK as 0. 8962 8963 * vm_insnhelper.c (vm_base_ptr): add `vm_base_ptr(cfp). 8964 This function calculates base pointer from cfp. 8965 8966 * vm_insnhelper.c (vm_setup_method): push `recv' value on top of 8967 value stack (before method parameters). 8968 This change is for keeping consistency with normal method dispatch. 8969 8970 * insns.def: fix to use vm_base_ptr(). 8971 8972 * vm.c (vm_exec): ditto. 8973 8974 * vm_dump.c: remove `bp' related dumps. 8975 8976 * cont.c (fiber_init): fix to check VM_DEBUG_BP_CHECK. 8977 8978Fri Sep 28 10:40:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 8979 8980 * io.c (rb_io_reopen): accept File::Constants as well as mode string. 8981 based on the patch by Glass_saga (Masaki Matsushita) in 8982 [ruby-core:47694]. [Feature #7067] 8983 8984Thu Sep 27 18:36:51 2012 Shugo Maeda <shugo@ruby-lang.org> 8985 8986 * eval.c (rb_overlay_module, rb_mod_refine): accept a module as the 8987 argument of Module#refine. 8988 8989 * vm_method.c (search_method): if klass is an iclass, lookup the 8990 original module of the iclass in omod in order to allow 8991 refinements of modules. 8992 8993 * test/ruby/test_refinement.rb: add tests for the above changes. 8994 8995Thu Sep 27 18:12:20 2012 Aaron Patterson <aaron@tenderlovemaking.com> 8996 8997 * ext/syslog/lib/syslog/logger.rb: add a formatter to the 8998 Syslog::Logger object. [Bug #7065] 8999 * test/syslog/test_syslog_logger.rb: ditto. 9000 9001Wed Sep 26 16:39:57 2012 Koichi Sasada <ko1@atdot.net> 9002 9003 * insns.def: add new instruction `opt_empty_p' for optimize `empty?' 9004 method. Apply a patch proposed at [ruby-dev:46120] 9005 [ruby-trunk - Feature #6972] by Glass_saga (Masaki Matsushita). 9006 9007 * compile.c (iseq_specialized_instruction), vm.c, vm_insnhelper.h: 9008 ditto. 9009 9010 * id.c, template/id.h.tmpl: ditto. 9011 9012 * test/ruby/test_optimization.rb: test for this changes. 9013 9014Tue Sep 25 09:59:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9015 9016 * insns.def (invokesuper): klass in cfp is not valid in at_exit and 9017 END blocks. [ruby-core:47680] [Bug #7064] 9018 9019Tue Sep 25 08:11:11 2012 NARUSE, Yui <naruse@ruby-lang.org> 9020 9021 * iseq.c (rb_iseq_defined_string): the index of defined_strings must 9022 be the value of type - 1. 9023 9024Mon Sep 24 17:36:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9025 9026 * compile.c (defined_expr), insns.def (defined): share single frozen 9027 strings. [EXPERIMENTAL] [ruby-core:47558][Feature #7035] 9028 9029 * iseq.c (rb_iseq_defined_string): make expression strings. 9030 9031Mon Sep 24 11:22:36 2012 NARUSE, Yui <naruse@ruby-lang.org> 9032 9033 * tool/merger.rb: add --ticket option to add ticket number. 9034 9035Sun Sep 23 21:51:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9036 9037 * lib/mkmf.rb (String#unspace): unescape with backslashes. normal 9038 makes need to escape spaces with backslashes. nmake is not the 9039 case. [Bug #7036] 9040 9041 * lib/mkmf.rb (create_makefile): use timestamp file dependencies for 9042 directories. 9043 9044 * lib/mkmf.rb: unexpand macros. 9045 9046 * lib/mkmf.rb (LIBPATHFLAG): no needs to escape library path here. 9047 9048 * lib/mkmf.rb (MakeMakefile#configuration): make prefix paths 9049 internal to deal with in Makefile. 9050 9051 * lib/mkmf.rb (MakeMakefile#mkintpath): not a global function now. 9052 9053Sun Sep 23 02:33:37 2012 Benoit Daloze <eregontp@gmail.com> 9054 9055 * complex.c: Fix examples of r36993. 9056 Keep the simple definition, mathematics define the result. 9057 Based on patch by Robin Dupret. Fixes #188 on github. 9058 9059Sat Sep 22 07:15:00 2012 Zachary Scott <zzak@ruby-lang.org> 9060 9061 * ext/ripper/lib/ripper.rb: 9062 Match sample output to Ripper.sexp from current trunk version. 9063 [Bug #6929] 9064 9065Thu Sep 20 23:05:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9066 9067 * thread_pthread.c (native_cond_initialize): destroy condattr 9068 after using it. Patch by Stanislav Sedov. Thank you. 9069 [Bug #7041] [ruby-core:47619] 9070 9071Thu Sep 20 22:53:02 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9072 9073 * thread_pthread.c (native_cond_initialize): clean up #ifdef condition. 9074 9075Thu Sep 20 16:42:44 2012 NARUSE, Yui <naruse@ruby-lang.org> 9076 9077 * lib/drb/ssl.rb (DRb::DRbSSLSocket::SSLConfig::DEFAULT): add 9078 SSLTmpDhCallback for configuration option. 9079 9080 * lib/drb/ssl.rb (setup_ssl_context): copy the value of tmp_dh_callback. 9081 9082 * test/drb/ut_array_drbssl.rb: set tmp_dh_callback to suppress warning. 9083 9084 * test/drb/ut_drb_drbssl.rb: ditto. 9085 9086Thu Sep 20 10:56:08 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9087 9088 * test/drb/ut_drb.rb: revert a part of r36987, and get rid of a warning 9089 with another method. if the substitution is removed, the ExtSrv 9090 object will be GC'ed and some tests will be blocked. 9091 9092Thu Sep 20 07:20:00 2012 Zachary Scott <zzak@ruby-lang.org> 9093 9094 * complex.c: Examples for Complex Documentation. 9095 Patch by Robin Dupret. 9096 Fixes #184 on github. 9097 9098Thu Sep 20 07:15:00 2012 Zachary Scott <zzak@ruby-lang.org> 9099 9100 * ext/ripper/lib/ripper.rb: Documentation for Ripper. 9101 +:void_stmt+ is meaningless 9102 [Bug #6929] [ruby-core:47507] 9103 9104Thu Sep 20 07:05:00 2012 Zachary Scott <zzak@ruby-lang.org> 9105 9106 * lib/csv.rb (Object#CSV, Array#to_csv, String#parse_csv): 9107 Examples and documentation for CSV. 9108 [Bug #6880] [ruby-core:47218] 9109 9110Thu Sep 20 00:42:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9111 9112 * array.c (take_items), enum.c (enum_zip): raise TypeError at 9113 non-enumerable objects, not NoMethodError. [ruby-dev:46145] 9114 [Bug #7038] 9115 9116 * vm_eval.c (rb_check_block_call): check_funcall variant with block 9117 function. 9118 9119Tue Sep 18 17:51:29 2012 NARUSE, Yui <naruse@ruby-lang.org> 9120 9121 * ext/openssl/ossl_ssl.c (ossl_sslctx_attrs): add npn_select_db to 9122 suppress warning: instance variable @npn_select_cb not initialized 9123 9124Sun Sep 16 17:47:00 2012 Eric Hodel <drbrain@segment7.net> 9125 9126 * tool/change_maker.rb: Update svn detection for subversion 1.7's 9127 single .svn directory. 9128 9129Sun Sep 16 11:39:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9130 9131 * io.c (io_set_read_length): if the read length equals to the buffer 9132 string size then nothing to do. or ensure the string modifiable 9133 before setting the length only when the former is shorter. based on 9134 the patch in [ruby-core:47541] by Hiroshi Shirosaki. 9135 [ruby-core:46586] [Bug #6764] 9136 9137Sun Sep 16 08:57:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9138 9139 * configure.in (strict_warnflags): separate strict flags from 9140 warnflags only for core. [ruby-dev:46105] 9141 9142Sun Sep 16 08:16:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9143 9144 * .editorconfig: add. [ruby-core:47548] [Feature #7030] 9145 9146Sat Sep 15 01:56:40 2012 NARUSE, Yui <naruse@ruby-lang.org> 9147 9148 * ext/nkf/nkf-utf8/nkf.c: Merge upstream: 50a383c84. 9149 [ruby-dev:46128] [Bug #7005] 9150 9151Sat Sep 15 00:20:04 2012 NARUSE, Yui <naruse@ruby-lang.org> 9152 9153 * ext/nkf/nkf.c (rb_nkf_convert): suppress warning. 9154 9155Fri Sep 14 04:05:00 2012 Zachary Scott <zzak@ruby-lang.org> 9156 9157 * array.c (rb_ary_diff, rb_ary_uniq): 9158 Enhance documentation for array uniqueness 9159 Based on a patch by Robin Dupret 9160 [Bug #6872] [ruby-core:47209] 9161 9162Fri Sep 14 03:30:00 2012 Zachary Scott <zzak@ruby-lang.org> 9163 9164 * array.c (rb_ary_select): 9165 Update documentation for Array#select 9166 * enum.c (enum_find_all, enum_reject): 9167 Update documentation for Enumerable#find_all and Enumerable#reject 9168 Based on a patch by Jeff Saracco 9169 [Bug #6908] [ruby-core:47285] [Fixes #166 on github] 9170 9171Fri Sep 14 00:20:00 2012 Zachary Scott <zzak@ruby-lang.org> 9172 9173 * signal.c (rb_f_kill): 9174 Update documentation for Process.kill to reflect kill(2) 9175 Patch by Richo Healey 9176 9177Thu Sep 13 21:40:49 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 9178 9179 * lib/securerandom.rb (SecureRandom.random_bytes): 9180 Use 64bit value as pointer for Windows x64 to fix SystemCallError. 9181 9182 * lib/securerandom.rb (SecureRandom.lastWin32ErrorMessage): 9183 Set proper encoding to avoid invalid byte sequence error. 9184 [ruby-core:47451] [Bug #6990] 9185 9186Thu Sep 13 11:20:00 2012 Zachary Scott <zzak@ruby-lang.org> 9187 9188 * lib/optparse.rb: Remove unreachable email address from documentation 9189 [Bug #6996] [ruby-core:47459] 9190 9191Thu Sep 13 11:20:00 2012 Zachary Scott <zzak@ruby-lang.org> 9192 9193 * lib/xmlrpc.rb: Documentation for XMLRPC 9194 * lib/xmlrpc/datetime.rb: ditto. 9195 * lib/xmlrpc/parser.rb: ditto. 9196 * lib/xmlrpc/client.rb: ditto. 9197 * lib/xmlrpc/utils.rb: ditto. 9198 * lib/xmlrpc/README.rdoc: ditto. 9199 * lib/xmlrpc/create.rb: ditto. 9200 * lib/xmlrpc/base64.rb: ditto. 9201 * lib/xmlrpc/config.rb: ditto. 9202 * lib/xmlrpc/httpserver.rb: ditto. 9203 * lib/xmlrpc/server.rb: ditto. 9204 * lib/xmlrpc/marshal.rb: ditto. 9205 * lib/xmlrpc/README.txt: ditto. 9206 [Bug #6909] [ruby-core:47286] 9207 9208Thu Sep 13 10:22:11 2012 Takashi Toyoshima <toyoshim@gmail.com> 9209 9210 * configure.in: Don't use PIE on Haiku because loader support is not 9211 enough. 9212 9213Thu Sep 13 08:20:00 2012 Zachary Scott <zzak@ruby-lang.org> 9214 9215 * lib/shellwords.rb: Documentation for Shellwords. 9216 9217Thu Sep 13 08:00:00 2012 Zachary Scott <zzak@ruby-lang.org> 9218 9219 * ext/ripper/lib/ripper.rb: Documentation for Ripper. 9220 * ext/ripper/lib/ripper/lexer.rb: ditto. 9221 * ext/ripper/lib/ripper/sexp.rb: ditto. 9222 * ext/ripper/lib/ripper/filter.rb: ditto. 9223 * ext/ripper/lib/ripper/core.rb: ditto. 9224 [Bug #6929] [ruby-core:47309] 9225 9226Wed Sep 12 22:59:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9227 9228 * vm_insnhelper.c (vm_method_missing, vm_call_method): reuse arguments 9229 on the VM stack and get rid of ALLOCA. 9230 9231Wed Sep 12 22:45::00 2012 Zachary Scott <zzak@ruby-lang.org> 9232 9233 * ext/pathname/lib/pathname.rb: Documentation for Pathname. 9234 * ext/pathname/pathname.c: ditto. 9235 [Bug #6947] [ruby-core:47354] 9236 9237Mon Sep 10 10:19:34 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9238 9239 * enc/depend: fixed wrong change in a part of r34802. 9240 9241Sun Sep 9 22:02:50 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9242 9243 * ext/socket/basicsocket.c (rsock_bsock_send): 9244 avoid unnecessary select() calls before doing I/O 9245 Patch by Eric Wong. [Feature #4538] [ruby-core:35586] 9246 * ext/socket/init.c (rsock_s_recvfrom): ditto. 9247 * ext/socket/init.c (rsock_s_accept): ditto. 9248 * ext/socket/udpsocket.c (udp_send): ditto. 9249 * io.c (io_fflush): ditto. 9250 * io.c (io_binwrite): ditto. 9251 * io.c (rb_io_syswrite): ditto. 9252 9253Mon Sep 10 01:38:51 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9254 9255 * io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose): 9256 suppress integer <-> pointer cast warnings. 9257 [Feature #4570] [ruby-core:35711] 9258 9259Mon Sep 10 01:36:00 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9260 9261 * io.c (rb_io_close): notify fd close before releasing gvl. 9262 * io.c (fptr_finalize): modify fptr->mode before releasing gvl. 9263 remove unnecessary rb_thread_fd_close(). 9264 [Feature #4570] [ruby-core:35711] 9265 9266Mon Sep 10 00:16:34 2012 NARUSE, Yui <naruse@ruby-lang.org> 9267 9268 * process.c: exec() requires to be single threaded also on Haiku. 9269 by Takashi Toyoshima <toyoshim@gmail.com> 9270 https://github.com/ruby/ruby/pull/178 9271 9272Sun Sep 9 21:21:15 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9273 9274 * lib/thread.rb (Queue#pop): Fixed double registration issue when 9275 mutex.sleep is interrupted. [Bug #5258] [ruby-dev:44448] 9276 * lib/thread.rb (SizedQueue#push): ditto. 9277 9278 * test/thread/test_queue.rb (test_sized_queue_and_wakeup, 9279 test_queue_pop_interrupt, test_sized_queue_pop_interrupt, 9280 test_sized_queue_push_interrupt): new tests. 9281 9282Sun Sep 9 20:20:31 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9283 9284 * lib/sync.rb (Sync_m#sync_lock): Fixed wakeup/raise unsafe code. 9285 Patched by Masaki Matsushita. [Bug #5355] [ruby-dev:44521] 9286 9287 * test/thread/test_sync.rb (test_sync_lock_and_wakeup, 9288 test_sync_upgrade_and_wakeup, test_sync_lock_and_raise): 9289 new test. 9290 9291Sun Sep 9 18:39:46 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9292 9293 * include/ruby/intern.h (rb_thread_blocking_region): Added 9294 a comment of recommended alternative way. 9295 9296Sun Sep 9 18:37:05 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9297 9298 * lib/sync.rb (Sync_m): Removed RCS_ID. 9299 9300Sun Sep 9 18:21:03 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9301 9302 * test/ruby/test_io.rb (test_advise_pipe): new test to check 9303 io.advise() against anonymous io object don't make crash. 9304 made by Eric Wong. [Bug #6081] [ruby-core:42880] 9305 9306Sun Sep 9 16:47:12 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9307 9308 * io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose): 9309 new functions. 9310 * io.c (fptr_finalize): release GVL if possible. 9311 Patched by Eric Wong. [Feature #4570] [ruby-core:35711] 9312 9313Sun Sep 9 16:08:48 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9314 9315 * io.c (io_bufread): removed unnecessary rb_thread_wait_fd(). 9316 Patch by Eric Wong. [Bug #6629] [ruby-core:45789] 9317 * io.c (rb_io_sysread): ditto. 9318 * io.c (copy_stream_fallback_body): ditto. 9319 9320Sun Sep 9 15:21:52 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 9321 9322 * thread.c (rb_mutex_lock): stop multiple threads use 9323 pthread_cond_timedwait() concurrently. [Bug #6278] [ruby-core:44275] 9324 9325Sat Sep 8 18:52:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9326 9327 * internal.h (struct rb_classext_struct): move allocator function into 9328 rb_classext_t from ordinary method table. [ruby-dev:46121] 9329 [Feature #6993] 9330 9331 * object.c (rb_obj_alloc): call allocator function directly. 9332 9333 * vm_method.c (rb_define_alloc_func, rb_undef_alloc_func) 9334 (rb_get_alloc_func): use allocator function in rb_classext_t. 9335 9336Fri Sep 7 01:21:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9337 9338 * ext/extmk.rb (extmake), lib/mkmf.rb (have_framework): fix splitting 9339 options with an argument, not using NUL as special character. 9340 [ruby-core:47447] [Bug #6987] 9341 9342Thu Sep 6 14:49:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9343 9344 * .gdbinit (rp): FLONUM support. 9345 9346 * include/ruby/ruby.h (ruby_special_consts): define FLONUM constants 9347 always, so that they are available from gdb. 9348 9349 * include/ruby/ruby.h (RB_FLOAT_TYPE_P): merge FLONUM and non-FLONUM 9350 versions. inline TYPE() comparison and FLONUM_P() should be 9351 optimized away on non-FLONUM. 9352 9353Thu Sep 6 08:20:55 2012 Ryan Davis <ryand-ruby@zenspider.com> 9354 9355 * lib/minitest/*: Imported minitest 3.4.0 (r7762) 9356 * test/minitest/*: ditto 9357 9358Wed Sep 5 19:20:53 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9359 9360 * parse.y (rb_warn4S): renamed from rb_warn4(), because the case in 9361 r36911 takes a string. 9362 9363 * parse.y (rb_warn4S): use ripper_warnS() for ripper. 9364 9365 * parse.y (ripper_warnS): now it is used. 9366 9367Wed Sep 5 15:51:52 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 9368 9369 * .travis.yml (notifications): [experimental] update notification 9370 template. 9371 9372Wed Sep 5 15:21:12 2012 NARUSE, Yui <naruse@ruby-lang.org> 9373 9374 * parse.y (rb_warn4): added as a rb_warn variant to warn with explicit 9375 source file name and line in parse.y. 9376 9377 * parse.y (warn_unused_var): use rb_warn4 to suppress warning on ripper. 9378 9379Wed Sep 5 13:30:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9380 9381 * dir.c (glob_make_pattern): names under recursive need to be single 9382 basenames to match for each name. [ruby-core:47418] [Bug #6977] 9383 9384Tue Sep 4 20:55:17 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 9385 9386 * test/ruby/envutil.rb (EnvUtil#invoke_ruby): show Timeout::Error 9387 instead of IOError if the timeout has expired. 9388 9389 * test/test_pstore.rb 9390 (PStoreTest#test_pstore_files_are_accessed_as_binary_files): 9391 increase timeout because this test is slow on Windows. 9392 [ruby-core:47402] [Bug #6965] 9393 9394Tue Sep 4 11:28:57 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 9395 9396 * vm_eval.c (ruby_eval_string_from_file_protect): initializer 9397 element is not computable at load time. 9398 9399Tue Sep 4 07:48:35 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 9400 9401 * test/openssl/test_asn1_rb: 9402 test/openssl/test_ssl_session.rb: 9403 test/openssl/test_x509name.rb: 9404 test/openssl/test_buffering.rb: 9405 test/openssl/test_x509cert.rb: 9406 test/openssl/test_ssl.rb: Refactor code that leads to warnings on 9407 Ruby CI. 9408 9409Tue Sep 4 07:02:56 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 9410 9411 * test/openssl/utils.rb: Use DSS1 as DSA signature digest for all 9412 OpenSSL versions < 1.0.0. 9413 [Feature #6946] [ruby-core:47405] 9414 9415Mon Sep 3 21:22:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9416 9417 * include/ruby/ruby.h (rb_float_value): suppress warnings. 9418 [ruby-core:47406][Bug #6971] 9419 9420Mon Sep 3 14:49:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9421 9422 * lib/matrix.rb (Vector#magnitude): accumulate squares of absolute 9423 values to fix for complex vector. [ruby-dev:46100] [Bug #6966] 9424 9425Mon Sep 3 10:09:36 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 9426 9427 * ext/openssl/extconf.rb: Detect OpenSSL_FIPS macro 9428 ext/openssl/ossl.c: Expose OpenSSL::OPENSSL_FIPS constant to 9429 indicate whether OpenSSL runs in FIPS mode. 9430 test/openssl/test_pkey_dh.rb: Generate 256 bit keys for 9431 non-FIPS installations to improve test performance (e.g. for 9432 rubyci). 9433 test/openssl/utils.rb: Replace DSS1 as certificate signature 9434 digest with SHA1 for FIPS installations when using DSA by 9435 introducing TestUtils::DSA_SIGNATURE_DIGEST. 9436 test/openssl/test_x509cert.rb: 9437 test/openssl/test_x509crl.rb: 9438 test/openssl/test_x509req.rb: Use DSA_SIGNATURE_DIGEST 9439 NEWS: Introduce OpenSSL::OPENSSL_FIPS 9440 9441 These changes allow running the OpenSSL tests in FIPS mode 9442 while keeping a high performance for non-FIPS installations. 9443 Introduction of OpenSSL::OPENSSL_FIPS allows for applications 9444 to react to special requirements when using OpenSSL in FIPS mode. 9445 [Feature #6946] [ruby-core:47345] 9446 9447Sun Sep 2 21:46:28 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 9448 9449 * test/openssl/utils.rb: Use a cached DH key instead of generating a 9450 new one each time. 9451 9452Sun Sep 2 05:41:28 2012 NARUSE, Yui <naruse@ruby-lang.org> 9453 9454 * lib/webrick/ssl.rb (WEBrick::Config::SSL): add new key 9455 SSLTmpDhCallback to set SSLContext#tmp_dh_callback. 9456 9457 * lib/webrick/ssl.rb (WEBrick::GenericServer#setup_ssl_context): 9458 follow above. 9459 9460Sat Sep 1 18:50:50 2012 Akinori MUSHA <knu@iDaemons.org> 9461 9462 * lib/set.rb (#initialize_copy, #eql): Use instance_variable_get 9463 instead of instance_eval. 9464 9465Fri Aug 31 21:47:56 2012 Kouhei Sutou <kou@cozmixng.org> 9466 9467 * lib/test/unit/test-unit.gemspec: Make test/unit default gem. 9468 [Feature #6875] [ruby-dev:46051] 9469 9470Fri Aug 31 18:35:02 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 9471 9472 * ext/openssl/extconf.rb: Check existence of OPENSSL_NPN_NEGOTIATED. 9473 ext/ossl_ssl.c: Support Next Protocol Negotiation. Protocols to be 9474 advertised by the server can be set in the SSLContext by using 9475 SSLContext#npn_protocols=, protocol selection on the client is 9476 supported by providing a selection callback with 9477 SSLContext#npn_select_cb. The protocol that was finally negotiated 9478 is available through SSL#npn_protocol. 9479 test/openssl/test_ssl.rb: Add tests for Next Protocol Negotiation. 9480 NEWS: add news about NPN support. 9481 [Feature #6503] [ruby-core:45272] 9482 9483Fri Aug 31 17:38:43 2012 Akinori MUSHA <knu@iDaemons.org> 9484 9485 * lib/set.rb (Set#{each,reject!,select!}, SortedSet#each): Pass 9486 the original block through instead of creating one that only 9487 yields the passed argument. 9488 9489Fri Aug 31 16:23:20 2012 Akinori MUSHA <knu@iDaemons.org> 9490 9491 * lib/ipaddr.rb: Introduce several new error classes where only 9492 ArgumentError and StandardError were used. IPAddr::Error is 9493 their common ancestor class that inherits from ArgumentError for 9494 backward compatibility. Submitted by Jon Daniel. Fixes #173 on 9495 GitHub. 9496 9497Fri Aug 31 14:51:27 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9498 9499 * test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_to_f): added 9500 for previous commit. 9501 9502Fri Aug 31 14:32:05 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9503 9504 * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): use self's sign to 9505 determine 0.0 and Inf's sign instead of internal double value's. 9506 Reported by phasis68 (Heesob Park) at [ruby-core:47381] [Bug #6955] 9507 9508Fri Aug 31 14:31:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9509 9510 * template/id.h.tmpl, tool/id2token.rb: make id.h independent from 9511 parse.h, and make parse.c dependent on it instead. 9512 9513Fri Aug 31 14:27:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9514 9515 * lib/mkmf.rb (create_makefile): fix race conditions at install-ext. 9516 target files need to depend on destination directory timestamp 9517 files, not phony targets. 9518 9519Fri Aug 31 14:03:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9520 9521 * vm_trace.c (clean_hooks): do not access freed memory. 9522 9523 * vm_trace.c (rb_threadptr_exec_event_hooks): fix uninitialized state 9524 when no events is executed. 9525 9526Thu Aug 30 18:21:51 2012 Tanaka Akira <akr@fsij.org> 9527 9528 * io.c (rb_io_close): call rb_last_status_clear. 9529 9530Thu Aug 30 16:17:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9531 9532 * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): check underflow since 9533 strtod() sets errno to ERANGE at underflow too. [ruby-core:47342] 9534 [Bug #6944] 9535 9536Thu Aug 30 12:44:43 2012 Akinori MUSHA <knu@iDaemons.org> 9537 9538 * lib/set.rb (Set#{<,>,<=,>=}): Define comparison operators as 9539 shorthand for the {proper_}{subset?,superset?} methods (finally). 9540 Given a push by Alexander E. Fischer. 9541 9542Thu Aug 30 09:21:01 2012 NARUSE, Yui <naruse@ruby-lang.org> 9543 9544 * lib/uri/ftp.rb (URI::FTP#initialize): raise InvalidURIError if "//" 9545 is not present [ruby-core:47344] [Bug #6945] 9546 9547Thu Aug 30 07:45:12 2012 Luis Lavena <luislavena@gmail.com> 9548 9549 * test/ruby/test_file_exhaustive.rb: fix test introduced in r36811 for 9550 posix environments where HOME is not defined. [ruby-core:47322] 9551 9552Wed Aug 29 23:42:59 2012 Tanaka Akira <akr@fsij.org> 9553 9554 * internal.h (rb_last_status_clear): declared. 9555 9556 * process.c (rb_last_status_clear): exported. 9557 (rb_f_system): call rb_last_status_clear. 9558 9559 * io.c (rb_f_backquote): call rb_last_status_clear. 9560 9561Wed Aug 29 22:01:15 2012 Tanaka Akira <akr@fsij.org> 9562 9563 * process.c (rb_f_system): check failures of waitpid. 9564 [ruby-talk:398687] 9565 9566Wed Aug 29 15:03:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9567 9568 * configure.in (LIBDIR_BASENAME): use configured libdir value to fix 9569 --enable-load-relative on systems where libdir is not default value, 9570 overridden in config.site files. [ruby-core:47267] [Bug #6903] 9571 9572 * ruby.c (ruby_init_loadpath_safe): ditto. 9573 9574Wed Aug 29 14:34:41 2012 NARUSE, Yui <naruse@ruby-lang.org> 9575 9576 * addr2line.c: SIZE_MAX is defined in stdint.h, so r36755 breaks 9577 32bit FreeBSD. [ruby-core:47360] [Bug #6948] 9578 9579Wed Aug 29 04:50:04 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 9580 9581 * test/openssl/utils.rb 9582 test/openssl/test_pair.rb 9583 test/openssl/test_pkey_dh.rb: Use 1024 bit DH parameters to satisfy 9584 OpenSSL FIPS requirements. Patch by Vit Ondruch. 9585 [Bug #6938] [ruby-core:47326] 9586 9587Tue Aug 28 22:31:49 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 9588 9589 * insns.def (checkmatch): suppress warnings. [ruby-core:47339] 9590 [Bug #6930] 9591 9592Tue Aug 28 20:03:54 2012 NARUSE, Yui <naruse@ruby-lang.org> 9593 9594 * configure.in: Fixing Haiku R1/alpha3 build with gcc-4.4.4. 9595 - omit ANSI standard flags to compile socket extension where 9596 anonymous union is required. 9597 - remove redundant -be flags. 9598 by Takashi Toyoshima <toyoshim@gmail.com> 9599 https://github.com/ruby/ruby/pull/168 9600 9601Tue Aug 28 11:32:37 2012 Yuki Yugui Sonoda <yugui@google.com> 9602 9603 * nacl/GNUmakefile.in (.rbconfig.time): r36828 was incomplete. 9604 It did not run correctly on clean build. 9605 9606Tue Aug 28 09:25:20 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9607 9608 * win32/Makefile.sub (Makefile): make to depend on common.mk, to 9609 stop and force to re-run make process when common.mk is changed. 9610 9611Mon Aug 27 20:19:49 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 9612 9613 * test/etc/test_etc.rb (TestEtc#test_getgrgid): fix for non unique GID. 9614 No unixen systems guarantee that GID is unique. Etc.getgrgid would 9615 not return the first entry in the order of Etc.group for shared GID. 9616 [ruby-core:47312] [Bug #6935] 9617 9618Mon Aug 27 18:19:36 2012 Koichi Sasada <ko1@atdot.net> 9619 9620 * include/ruby/ruby.h (rb_float_value): optimize it. 9621 This technique was pointed by shinichiro.hamaji 9622 <http://shinh.skr.jp/m/?date=20120825#p02>. 9623 9624Mon Aug 27 15:08:25 2012 Yuki Yugui Sonoda <yugui@google.com> 9625 9626 * common.mk (vm_trace.o): Added a missing dependency. 9627 9628Sun Aug 26 09:29:32 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp> 9629 9630 * nacl/GNUmakefile.in (package): make package should install 9631 example.html for nacl build 9632 9633 Patch by Takashi Toyoshima <toyoshim AT gmail.com>. 9634 9635Sun Aug 26 09:22:33 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp> 9636 9637 * nacl/GNUmakefile.in (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY) 9638 Rewrites these variables instead of PATH. 9639 NaCl port uses a toolchain which is specified by NACL_SDK_ROOT 9640 environment variable. Originally, NaCl build added the toolchain 9641 under the NACL_SDK_ROOT to the PATH. But updating PATH doesn't work 9642 on Mac. 9643 (RBCONFIG): Replaces configs with the variable updates above. 9644 9645 * configure.in: Thus it is no longer necessary to check $PATH. 9646 9647 Based on a patch by Takashi Toyoshima <toyoshim AT gmail.com>. 9648 9649Sun Aug 26 16:53:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9650 9651 * insns.def (checkmatch): suppress warnings. [ruby-core:47310] 9652 [Bug #6930] 9653 9654 * vm_core.h (VM_FRAME_TYPE_FINISH_P): ditto. 9655 9656Fri Aug 24 15:42:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9657 9658 * lib/mkmf.rb (create_makefile): use timestamp for destination 9659 directories to make them before making or copying files there. 9660 [ruby-dev:46067] [Bug #6904] 9661 9662Fri Aug 24 12:40:15 2012 Luis Lavena <luislavena@gmail.com> 9663 9664 * configure.in (mingw): add shlwapi to the list of dependency 9665 libs for Windows. 9666 * win32/Makefile.sub (EXTSOLIBS): ditto. 9667 9668 * internal.h: declare internal functions rb_w32_init_file, 9669 rb_file_expand_path_internal and rb_file_expand_path_fast. 9670 9671 * file.c (Init_File): invoke Windows initialization rb_w32_init_file 9672 9673 * win32/file.c (rb_file_load_path_internal): new function. 9674 Windows-specific implementation that replaces file_expand_path. 9675 [Bug #6836][ruby-core:46996] 9676 9677 * win32/file.c (rb_w32_init_file): new function. Initialize codepage 9678 cache for faster conversion encodings lookup. 9679 9680 * file.c (file_expand_path): rename to rb_file_expand_path_internal. 9681 Conditionally exclude from Windows. 9682 9683 * file.c (rb_file_expand_path_fast): new function. delegates to 9684 rb_file_expand_path_internal without performing a hit to the 9685 filesystem. 9686 9687 * file.c (file_expand_path_1): use rb_file_expand_path_internal without 9688 path expansion (used by require). 9689 * file.c (rb_find_file_ext_safe): ditto. 9690 * file.c (rb_find_file_safe): ditto. 9691 9692 * load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast. 9693 * load.c (rb_feature_provided): ditto. 9694 9695 * file.c (rb_file_expand_path): use rb_file_expand_path_internal with 9696 path expansion. 9697 * file.c (rb_file_absolute_path): ditto. 9698 9699 * test/ruby/test_file_exhaustive.rb: new tests to exercise 9700 rb_file_expand_path_internal implementation and compliance with 9701 existing behaviors. 9702 9703Fri Aug 24 07:35:24 2012 Eric Hodel <drbrain@segment7.net> 9704 9705 * lib/net/http/backward.rb (class Net): Restored Net::HTTPSession to 9706 fix backwards-compatibility with ancient Net::HTTP. [Bug #6889] 9707 9708Thu Aug 23 20:58:55 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 9709 9710 * common.mk: support `make id.h` without `rm .id.h.time` after 9711 `rm id.h`. 9712 9713Thu Aug 23 20:48:45 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9714 9715 * test/ruby/test_fixnum.rb (TestFixnum#test_singleton_method): new test. 9716 9717 * test/ruby/test_bignum.rb (TestBignum#test_singleton_method): ditto. 9718 9719 * test/ruby/test_float.rb (TestFloat#test_singleton_method): ditto. 9720 9721 * test/ruby/test_symbol.rb (TestSymbol#test_singleton_method): ditto. 9722 9723Thu Aug 23 20:34:32 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9724 9725 * class.c (singleton_class_of): flonum can't have singleton class. 9726 9727 * vm.c (vm_define_method): flonum can't have singleton method. 9728 9729Thu Aug 23 19:18:33 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9730 9731 * common.mk (win32/*): macro RUBY_H_INCLUDES is not defined there, 9732 so need to move dependency rules under the definition of it. 9733 9734Thu Aug 23 19:16:20 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9735 9736 * win32/Makefile.sub: refactoring. remove unused rules, and update 9737 some rules which are not used usually to fit current macros. 9738 9739Thu Aug 23 16:46:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9740 9741 * file.c (rb_find_file_ext_safe, rb_find_file_safe): default to 9742 US-ASCII for encdb and transdb. 9743 9744 * load.c (search_required): keep encoding of feature name. set 9745 loading path to filesystem encoding. [Bug #6377][ruby-core:44750] 9746 9747 * ruby.c (add_modules, require_libraries): assume default external 9748 encoding as well as ARGV. 9749 9750Thu Aug 23 16:20:04 2012 Koichi Sasada <ko1@atdot.net> 9751 9752 * include/ruby/ruby.h: introduce flonum technique for 9753 64bit CPU environment (sizeof(double) == sizeof(VALUE)). 9754 flonum technique enables to avoid double object creation 9755 if the double value d is in range about between 9756 1.72723e-77 < |d| <= 1.15792e+77 or 0.0. 9757 flonum Float value is immediate and their lowest two bits 9758 are b10. 9759 If flonum is activated, then USE_FLONUM macro is 1. 9760 I'll write detailed in this technique on 9761 https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/Flonum_tech 9762 9763 * benchmark/bmx_temp.rb: add an benchmark for simple 9764 Float calculation. 9765 9766 * gc.c (id2ref, rb_obj_id): add flonum Float support. 9767 9768 * include/ruby/intern.h: move decl of rb_float_new(double) 9769 to include/ruby/ruby.h. 9770 9771 * insns.def, vm.c, vm_insnhelper.c: add flonum optimization 9772 and simplify source code. 9773 9774 * vm_insnhelper.h (FLONUM_2_P): added. 9775 9776 * marshal.c: support flonum output. 9777 9778 * numeric.c (rb_float_new_in_heap): added. 9779 9780 * parse.y: support flonum. 9781 9782 * random.c: ditto. 9783 9784Thu Aug 23 16:12:40 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9785 9786 * lib/mkmf.rb (create_makefile): add dependency to header files when 9787 depend files don't exist. now we can remove simple (and often 9788 wrong) depend files in most cases. 9789 9790Thu Aug 23 16:02:20 2012 Koichi Sasada <ko1@atdot.net> 9791 9792 * ext/date/depend: add dependency to $(ruby_headers). 9793 9794Thu Aug 23 12:51:39 2012 Shugo Maeda <shugo@ruby-lang.org> 9795 9796 * insns.def (invokesuper): reverted r36640 partially to make super 9797 in a thread work correctly. [ruby-core:47284] [Bug #6907] 9798 9799 * test/ruby/test_super.rb: related test. 9800 9801Thu Aug 23 12:30:20 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9802 9803 * win32/configure.bat: support --with(out)?-ext(ensions) options. 9804 9805Thu Aug 23 11:52:04 2012 NARUSE, Yui <naruse@ruby-lang.org> 9806 9807 * configure.in: Fixing Haiku build. 9808 - -lbe is not required for linking 9809 - stack protector doesn't work for now because of the default gcc's 9810 bug 9811 by Takashi Toyoshima <toyoshim@gmail.com> 9812 https://github.com/ruby/ruby/pull/167 9813 9814 * signal.c (ruby_signal): haiku doesn't have SIGBUS. 9815 9816Thu Aug 23 11:32:44 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9817 9818 * test/open-uri/test_open-uri.rb (TestOpenURI#test_read_timeout): this 9819 test expects that the server thread will be killed in sleep, but 0.01 9820 sec is too short to reach there. 9821 9822Thu Aug 23 10:49:28 2012 NARUSE, Yui <naruse@ruby-lang.org> 9823 9824 * configure.in: use the value of --with-opt-dir on building ruby 9825 itself. [ruby-dev:46064] [Bug #6900] 9826 9827Thu Aug 23 10:36:35 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9828 9829 * common.mk (ID_H_TARGET): revert a part of r36724 and r36751. they 9830 break mswin build from clean source. 9831 9832Thu Aug 23 02:37:35 2012 Aaron Patterson <aaron@tenderlovemaking.com> 9833 9834 * ext/syck: removed. Fixes [ruby-core:43360] 9835 9836 * test/syck: removed. 9837 9838 * lib/yaml.rb: only require psych, show a warning if people try to set 9839 the engine to syck. 9840 9841Thu Aug 23 01:46:53 2012 Aaron Patterson <aaron@tenderlovemaking.com> 9842 9843 * insns.def: search up the cf stack for an object that is an instance 9844 of the recipient class. Fixes [ruby-core:47186] 9845 9846 * test/ruby/test_super.rb: related test. 9847 9848Wed Aug 22 19:46:24 2012 Tadayoshi Funaba <tadf@dotrb.org> 9849 9850 * ext/date/date_core.c: [ruby-core:47266]. 9851 9852Wed Aug 22 19:41:19 2012 Tadayoshi Funaba <tadf@dotrb.org> 9853 9854 * ext/date/date_core.c: [ruby-core:47226]. 9855 9856Wed Aug 22 16:57:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9857 9858 * lib/mkmf.rb (configuration): extract least ruby headers list as 9859 ruby_headers, so depend files can use default dependency 9860 explicitly. 9861 9862Wed Aug 22 15:27:50 2012 Koichi Sasada <ko1@atdot.net> 9863 9864 * vm_insnhelper.c (vm_setup_method): fix last commit of 9865 vm_insnhelper.c (r36771). [ruby-dev:46065] [Bug #6901] 9866 Should not disable tail call opt on FINISH_FRAME. 9867 This flag should be propagated correctly. 9868 9869Wed Aug 22 14:05:23 2012 Koichi Sasada <ko1@atdot.net> 9870 9871 * vm_trace.c: support TracePoint. [ruby-trunk - Feature #6895] 9872 9873 * test/ruby/test_settracefunc.rb: add tests for above. 9874 9875 * proc.c (rb_binding_new_with_cfp): add an internal function. 9876 9877 * vm.c (rb_vm_control_frame_id_and_class): add an internal function. 9878 9879 * vm_trace.c: add rb_add_event_hook2() and rb_thread_add_event_hook2(). 9880 Give us the good name for them! 9881 9882Wed Aug 22 11:38:16 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 9883 9884 * .travis.yml (before_script): Turned out that make -j is broken. 9885 9886Wed Aug 22 11:23:35 2012 Shugo Maeda <shugo@ruby-lang.org> 9887 9888 * vm_insnhelper.c (vm_setup_method): should not enable tail call 9889 optimization for frames with VM_FRAME_FLAG_FINISH. 9890 [ruby-dev:46065] [Bug #6901] 9891 9892Wed Aug 22 11:20:47 2012 NARUSE, Yui <naruse@ruby-lang.org> 9893 9894 * lib/rubygems/test_case.rb: run test with psych if exist. 9895 9896Thu Aug 16 12:09:51 2012 Yuki Yugui Sonoda <yugui@google.com> 9897 9898 * nacl/pepper_main.c (init_loadpath): Pushes the correct load path on 9899 other architectures than x86_64. Fixes #6873. 9900 9901Wed Aug 15 19:37:33 2012 Yuki Yugui Sonoda <yugui@google.com> 9902 9903 * configure.in (ac_cv_func_shutdown): shutdown(2) has a dummy 9904 implementation but has no declaration and does not work in 9905 NativeClient SDK pepper_20. 9906 9907Wed Aug 15 19:29:29 2012 Yuki Yugui Sonoda <yugui@google.com> 9908 9909 * common.mk (vm_backtrace.o): Added missing dependencies. 9910 9911 * ext/nkf/depend (nkf.o): ditto. 9912 9913 * ext/ripper/depend (ripper.o) ditto. 9914 9915Wed Aug 22 07:27:00 2012 NARUSE, Yui <naruse@ruby-lang.org> 9916 9917 * lib/cgi/util.rb (CGI.escapeHTML): use ' 9918 [ruby-core:47221] [Bug #6861] 9919 9920Tue Aug 21 21:59:22 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 9921 9922 * lib/observer.rb: fix typo. https://github.com/ruby/ruby/pull/162 by 9923 unsymbol (Philip Cunningham). 9924 9925Tue Aug 21 20:30:06 2012 Benoit Daloze <eregontp@gmail.com> 9926 9927 * test/fileutils/test_fileutils.rb (TestFileUtils#teardown): 9928 do not assume cwd is TMPROOT and never remove current directory. 9929 [ruby-core:47224][Bug #6884] 9930 9931Tue Aug 21 17:29:56 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9932 9933 * addr2line.c (fill_lines): need check and cast of the file size of 9934 target binary because there are some platforms which off_t > size_t. 9935 9936Tue Aug 21 17:07:58 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 9937 9938 * .travis.yml (compiler): [experimental] clang support. 9939 9940Tue Aug 21 15:44:27 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9941 9942 * ext/dl/lib/dl/func.rb (DL::Function#bind): fixes an error in 9943 test/dl/test_import.rb (DL::TestImport#test_carried_function) 9944 introduced by r36718. 9945 the instance of the anonymous class which wraps the block should have 9946 same methods and instance variables of self. 9947 9948Tue Aug 21 14:29:22 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9949 9950 * win32/Makefile.sub (scriptbin.mk): no need to include twice. 9951 9952Tue Aug 21 10:52:08 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9953 9954 * test/unit/test.rb (Test::Unit::ProxyError): new exception class to 9955 wrap exceptions raised in workers in parallel test mode. 9956 9957 * test/unit/parallel.rb (Test::Unit::Worker#puke): use above wrapper 9958 exception. 9959 [Bug #6882] [ruby-dev:46054] 9960 9961Tue Aug 21 10:40:06 2012 Koichi Sasada <ko1@atdot.net> 9962 9963 * test_continuation.rb (tracing_with_thread_set_trace_func): 9964 fix to use Thread#set_trace_func(nil), not set_trace_func(nil). 9965 9966Tue Aug 21 09:32:41 2012 Ryan Davis <ryand-ruby@zenspider.com> 9967 9968 * lib/minitest/*: Imported minitest 3.3.0 (r7676) 9969 * test/minitest/*: ditto 9970 9971Tue Aug 21 09:05:32 2012 NAKAMURA Usaku <usa@ruby-lang.org> 9972 9973 * test/testunit/tests_for_parallel/ptest_forth.rb: added a test case 9974 which causes an error. 9975 9976 * test/testunit/test_parallel.rb: follow above change. 9977 see [Bug #6882] 9978 9979Tue Aug 21 05:43:00 2012 James Edward Gray II <james@graysoftinc.com> 9980 9981 * lib/csv.rb: Fixes #161 on github 9982 * lib/csv.rb: You can now specify a pattern for :skip_lines. 9983 Matching lines will not be passed to the CSV parser. 9984 * lib/csv.rb: Patch by Christian Schwartz. 9985 9986Tue Aug 21 05:25:41 2012 Eric Hodel <drbrain@segment7.net> 9987 9988 * re.c (rb_reg_initialize_m): Forgot to update output for or'd-options 9989 example. 9990 9991Tue Aug 21 05:18:03 2012 Eric Hodel <drbrain@segment7.net> 9992 9993 * re.c (rb_reg_initialize_m): Update example to show that regexp 9994 options use | an not || to avoid confusion. 9995 9996Mon Aug 20 23:02:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 9997 9998 * parse.y: more descriptive token names in syntax error messages. 9999 10000Mon Aug 20 20:36:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10001 10002 * vm_insnhelper.c (vm_call_method): follow iclasses as klass in cfp 10003 but not included modules. [ruby-core:47241] [Bug #6891] 10004 10005 * vm_insnhelper.c (vm_call_bmethod): pass defined_class to follow 10006 proper ancestors. [ruby-core:47241] [Bug #6891] 10007 10008Mon Aug 20 11:40:27 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 10009 10010 * common.mk: fix failed to make with -j2. 10011 https://gist.github.com/3397935 10012 10013Mon Aug 20 10:51:01 2012 Shota Fukumori <sorah@tubusu.net> 10014 10015 * lib/test/unit.rb, lib/test/unit/parallel.rb: 10016 generate error message (String) in parallel.rb instead of 10017 marshalling Exception. Fixes [Bug #6882] [ruby-dev:46054] 10018 10019Sun Aug 19 01:24:32 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 10020 10021 * enum.c: fix docs. https://github.com/ruby/ruby/pull/129 by 10022 richardkmichael (Richard Michael). 10023 10024Sun Aug 19 00:47:26 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 10025 10026 * lib/fileutils.rb: fix typo. 10027 https://github.com/ruby/ruby/pull/155 by simonc (Simon COURTOIS). 10028 10029Sat Aug 18 09:57:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10030 10031 * enc/depend: fix inplace-build condition. enc.mk is generated with 10032 setting $srcdir to enc, but pwd is still top build directory. 10033 [ruby-core:47236] [Bug #6888] 10034 10035Fri Aug 17 23:28:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10036 10037 * object.c (rb_any_to_s, rb_obj_inspect): preserve encodings of class 10038 name and instance variable names. 10039 10040Fri Aug 17 12:39:33 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10041 10042 * ext/dl/lib/dl/func.rb (DL::Function#bind): allow to return/break from 10043 the callback method. (Fiddle already allows it.) 10044 [Bug #6389] [ruby-dev:45604] 10045 10046Thu Aug 16 19:54:24 2012 Koichi Sasada <ko1@atdot.net> 10047 10048 * vm_trace.c, vm_core.h: simplify tracing mechanism. 10049 10050 (1) add rb_hook_list_t data structure which includes 10051 hooks, events (flag) and `need_clean' flag. 10052 If the last flag is true, then clean the hooks list. 10053 In other words, deleted hooks are contained by `hooks'. 10054 Cleanup process should run before traversing the list. 10055 (2) Change check mechanism 10056 See EXEC_EVENT_HOOK() in vm_core.h. 10057 (3) Add `raw' hooks APIs 10058 Normal hooks are guarded from exception by rb_protect(). 10059 However, this protection is overhead for too simple 10060 functions which never cause exceptions. `raw' hooks 10061 are executed without protection and faster. 10062 Now, we only provide registration APIs. All `raw' 10063 hooks are kicked under protection (same as normal hooks). 10064 10065 * include/ruby/ruby.h: remove internal data definition and 10066 macros. 10067 10068 * internal.h (ruby_suppress_tracing), vm_trace.c: rename 10069 ruby_suppress_tracing() to rb_suppress_tracing() 10070 and remove unused function parameter. 10071 10072 * parse.y: fix to use renamed rb_suppress_tracing(). 10073 10074 * thread.c (thread_create_core): no need to set RUBY_VM_VM. 10075 10076 * vm.c (mark_event_hooks): move definition to vm_trace.c. 10077 10078 * vm.c (ruby_vm_event_flags): add a global variable. 10079 This global variable represents all of Threads and VM's 10080 event masks (T1#events | T2#events | ... | VM#events). 10081 You can check the possibility kick trace func or not 10082 with ruby_vm_event_flags. 10083 ruby_vm_event_flags is maintained by vm_trace.c. 10084 10085 * cont.c (fiber_switch, rb_cont_call): restore tracing status. 10086 [Feature #4347] 10087 10088 * test/ruby/test_continuation.rb: ditto. 10089 10090Thu Aug 16 19:15:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10091 10092 * object.c (rb_class_initialize): forbid inheriting uninitialized 10093 class. another class tree not based on BasicObject cannot exist. 10094 [ruby-core:47148][Bug #6863] 10095 10096Thu Aug 16 11:52:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10097 10098 * test/-ext-/test_printf.rb (Test_SPrintf#test_{taint,untrust}): use 10099 plain object so that the results of to_s and inspect are infected. 10100 [ruby-dev:46053] [Bug #6881] 10101 10102Thu Aug 16 09:46:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10103 10104 * strftime.c: remove unnecessary macros to check traditional C. 10105 https://github.com/ruby/ruby/pull/46 by lateau (Daehyub Kim). 10106 10107 * vsnprintf.c: remove K&R. 10108 10109Wed Aug 15 20:47:49 2012 Benoit Daloze <eregontp@gmail.com> 10110 10111 * object.c (rb_obj_inspect): Kernel#inspect: do not call #to_s. A class 10112 can now benefit from the nice default #inspect even if it defines #to_s. 10113 Also, there is no more unexpected change in #inspect result. 10114 10115 * NEWS: Add note about the change. 10116 10117 * bignum.c, io.c, numeric.c, object.c, proc.c, vm.c (Init_*): 10118 Adapt internal structures (by aliasing #inspect to #to_s) so they 10119 don't rely on the removed behavior (#inspect calling overridden #to_s). 10120 10121 * test/ruby/test_object.rb (test_inspect): add tests for Kernel#inspect. 10122 10123 * lib/pp.rb (class PP): do not call #to_s anymore, as #inspect 10124 no more does (mame). 10125 10126 * test/test_pp.rb (class PPInspectTest): remove related assertion (mame). 10127 [ruby-core:43238][Feature #6130] 10128 10129 * test/drb/drbtest.rb (DRbCore#teardown, DRbAry#teardown): 10130 adapt DRb tests with the new change (shirosaki). 10131 [ruby-core:47182][Bug #6866] 10132 10133Wed Aug 15 18:05:37 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10134 10135 * lib/test/unit.rb (Test::Unit::Runner#failed): need to delete the 10136 status line if the status is skipped and -q is specified. 10137 10138Wed Aug 15 16:26:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10139 10140 * sprintf.c (ruby__sfvextra): the result should be infected by the 10141 given strings. 10142 10143 * sprintf.c (ruby__sfvwrite): set buffer length and exclude 10144 uninitialized garbage to get correct coderange. 10145 10146Wed Aug 15 16:20:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10147 10148 * common.mk (ID_H_TARGET): make timestamp file of id.h so that the 10149 header will not be remade repetitively. 10150 10151Wed Aug 15 11:39:53 2012 Koichi Sasada <ko1@atdot.net> 10152 10153 * vm_trace.c: separate trace_func related functions from 10154 thread.c. 10155 10156 * thread.c: ditto. 10157 10158 * common.mk: add vm_trace.o. 10159 10160 * inits.c: call Init_vm_trace(). 10161 10162Tue Aug 14 16:25:46 2012 Shugo Maeda <shugo@ruby-lang.org> 10163 10164 * test/erb/test_erb.rb (test_html_escape): add assertions for the 10165 cases where the argument is not a String. 10166 10167Tue Aug 14 16:03:31 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10168 10169 * win32/win32.c (check_valid_dir): reject "..." as directory name. 10170 [Bug #6851] 10171 10172Tue Aug 14 16:02:51 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10173 10174 * test/ruby/test_file_exhaustive.rb 10175 (TestFileExhaustive#test_stat_dotted_prefix): added. 10176 10177Tue Aug 14 15:39:09 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10178 10179 * test/ruby/test_file_exhaustive.rb 10180 (TestFileExhaustive#test_stat_drive_root): added. 10181 10182Tue Aug 14 10:38:17 2012 NARUSE, Yui <naruse@ruby-lang.org> 10183 10184 * lib/erb.rb (ERB::Util.html_escape): fix r36687: call to_s before 10185 passing it to CGI.escapeHTML. 10186 10187Mon Aug 13 13:13:19 2012 Shugo Maeda <shugo@ruby-lang.org> 10188 10189 * lib/erb.rb (ERB::Util.html_escape): use CGI.escapeHTML to escape 10190 single quotes. [ruby-core:47138] [Bug #6861] 10191 10192Sun Aug 12 11:57:20 2012 Kazuki Tsujimoto <kazuki@callcc.net> 10193 10194 * vm.c (invoke_block_from_c): fix unintentional block passing. 10195 [ruby-dev:45071] [Bug #5832] 10196 10197Fri Aug 10 08:41:28 2012 Eric Hodel <drbrain@segment7.net> 10198 10199 * gc.c (gc_malloc_allocated_size): RDoc does not process macros, so 10200 mention this method is only available when ruby is built with 10201 CALC_EXACT_MALLOC_SIZE 10202 * gc.c (gc_malloc_allocations): ditto 10203 10204Thu Aug 9 23:46:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10205 10206 * tool/mkrunnable.rb: see build_os instead of target arch for 10207 cross-compiling. 10208 10209 * configure.in (MINIRUBY): use real path for include path. 10210 10211 * template/fake.rb.in (builddir): remove duplications 10212 10213Thu Aug 9 20:03:11 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 10214 10215 * test/ruby/test_file_exhaustive.rb 10216 (TestFileExhaustive#test_stat_special_file): add a test. 10217 GetFileAttributesExW fails to get attributes of special files 10218 such as pagefile.sys. 10219 10220 * win32/win32.c (check_valid_dir): for performance, check the path 10221 by FindFirstFileW only if the path contains "..." 10222 10223 * win32/win32.c (winnt_stat): use GetFileAttributesExW instead of 10224 FindFirstFileW since GetFileAttributesExW is faster. 10225 Based on the patch by Dusan D. Majkic. 10226 [ruby-core:47083] [Feature #6845] 10227 10228Thu Aug 9 18:33:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10229 10230 * ruby.c (proc_options): show version only once even if -v and 10231 --version are given together. 10232 http://twitter.com/d6rkaiz/status/233491797085671424 10233 10234Thu Aug 9 12:37:22 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 10235 10236 * test/openssl/test_config.rb (OpenSSL#test_constants): skip this 10237 test if platform is Mac OS X or Windows. [Bug #6830] 10238 10239Wed Aug 8 22:51:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10240 10241 * vm_eval.c (eval_under): singletons other than special constants 10242 don't need cref-scope hack. 10243 10244Wed Aug 8 22:45:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10245 10246 * common.mk (.y.h): split from .y.c rule to manage dependency on 10247 parse.h. [ruby-core:46741] [Bug #6789] 10248 10249 * common.mk (id.h): keep old file unless changed. 10250 10251Wed Aug 8 17:11:20 2012 Koichi Sasada <ko1@atdot.net> 10252 10253 * compile.c (ADD_INSNL): make ADD_INSNL as alias of ADD_INSN1. 10254 10255Wed Aug 8 17:08:14 2012 Koichi Sasada <ko1@atdot.net> 10256 10257 * bootstrap/test_exception.rb: fix a last committed test. 10258 10259Wed Aug 8 16:27:58 2012 Koichi Sasada <ko1@atdot.net> 10260 10261 * compile.c, insns.def (checkmatch): 10262 remove checkincludearray instruction and 10263 add new instruction checkmatch. 10264 This change is to solve 10265 [Bug #4438] "rescue args type check omitted". 10266 10267 * iseq.c: increment ISEQ_MAJOR_VERSION because removal of 10268 checkincludearray instruction. 10269 10270 * vm_core.h: add several definitions for 10271 the checkmatch instruction. 10272 10273 * vm_insnhelper.c (check_match): added. 10274 10275 * bootstraptest/test_exception.rb: add a test. 10276 10277 * test/ruby/test_exception.rb: ditto. 10278 10279Wed Aug 8 05:51:20 2012 Eric Hodel <drbrain@segment7.net> 10280 10281 * proc.c (method_clone): Added documentation. Patch by Robin Dupret. 10282 Fixes #152 on github. 10283 10284Tue Aug 7 20:19:29 2012 NARUSE, Yui <naruse@ruby-lang.org> 10285 10286 * ext/readline/readline.c (Init_readline): rl_catch_signals=0 returns 10287 back. Without this, on FreeBSD9 and readline 6.2 irb can't catch ^C. 10288 [Bug #5423] 10289 10290Tue Aug 7 20:12:39 2012 Koichi Sasada <ko1@atdot.net> 10291 10292 * vm_exec.c, insns.def (leave): solve problems on 10293 OPT_CALL_THREADED_CODE. 10294 Catch up finish frame structure on OPT_CALL_THREADED_CODE. 10295 10296 * vm_core.h: add rb_thread_t#retval for temporary space on 10297 OPT_CALL_THREADED_CODE. 10298 10299 * vm.c (th_init): clear rb_thread_t#retval as Qundef. 10300 10301 * vm_dump.c (rb_vmdebug_debug_print_pre): fix debug print format. 10302 10303Tue Aug 7 11:58:27 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10304 10305 * test/ruby/test_require.rb (TestRequire#test_require_twice): added. 10306 10307Tue Aug 7 11:35:37 2012 Shugo Maeda <shugo@ruby-lang.org> 10308 10309 * vm_method.c (rb_redefine_opt_method): use RCLASS_ORIGIN to avoid 10310 SEGV when a module-prepended class is refined. 10311 10312Tue Aug 7 10:46:37 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10313 10314 * test/ruby/test_file_exhaustive.rb 10315 (TestFileExhaustive#test_expand_path*): refactoring. split the method 10316 into some chunks of the same kind of tests. 10317 10318Tue Aug 7 00:31:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10319 10320 * class.c (rb_special_singleton_class_of): utility function. 10321 10322 * vm_eval.c (eval_under): special deal for class variable scope with 10323 instance_eval. 10324 10325 * vm_eval.c (rb_obj_instance_eval, rb_obj_instance_exec): allow method 10326 definition in instance_eval of special constants. [ruby-core:28324] 10327 [Bug #2788] 10328 10329Tue Aug 7 00:23:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10330 10331 * variable.c (CVAR_LOOKUP): split into helper functions. 10332 10333Mon Aug 6 19:15:11 2012 Masaki Suketa <masaki.suketa@nifty.ne.jp> 10334 10335 * test/win32ole/test_win32ole_variant.rb: setting WIN32OLE.locale 10336 to pass some assertion. Thanks to Hiroshi Shirosaki. 10337 [ruby-core:46873][Bug #6814] 10338 10339Mon Aug 6 15:54:50 2012 Shugo Maeda <shugo@ruby-lang.org> 10340 10341 * internal.h, class.c, eval.c, insns.def: find the appropriate 10342 receiver for super called in instance_eval. If such a receiver is 10343 not found, raise NoMethodError. [ruby-dev:39772] [Bug #2402] 10344 10345Mon Aug 6 14:54:38 2012 Shugo Maeda <shugo@ruby-lang.org> 10346 10347 * include/ruby/ruby.h, eval.c, vm_insnhelper.c: fix typo. 10348 10349Mon Aug 6 13:13:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10350 10351 * vm_eval.c (vm_call_super): since cfp->klass is always class or 10352 iclass, no search from method entry. 10353 10354 * insns.def (defined): now should use klass in the current control 10355 frame to search superclass, not me->klass. reported by naruse. 10356 10357Mon Aug 6 11:19:19 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10358 10359 * test/etc/test_etc.rb (TestEtc#test_getpwuid): `s' is never set to nil. 10360 10361Mon Aug 6 11:08:48 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10362 10363 * test/syslog/test_syslog_logger.rb: skip unless Syslog module is 10364 available. 10365 10366Mon Aug 6 00:40:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10367 10368 * ext/bigdecimal/bigdecimal.c (BigMath_s_log): fix format specifier. 10369 10370Mon Aug 6 00:39:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10371 10372 * include/ruby/ruby.h (NUM2ULONG): optimize by inline as well as 10373 NUM2LONG, and cast to unsigned long explicitly for the platforms 10374 where SIZEOF_VALUE is larger than SIZEOF_LONG. 10375 10376 * include/ruby/ruby.h (NUM2SSIZET): fix type to cast. 10377 10378Sun Aug 5 21:10:36 2012 Narihiro Nakamura <authornari@gmail.com> 10379 10380 * gc.c : if ENABLE_VM_OBJSPACE is 1, rest_sweep is not defined. 10381 remove unused declarations. [ruby-core:47004] [Bug #6837] 10382 10383Sun Aug 5 19:31:57 2012 Narihiro Nakamura <authornari@gmail.com> 10384 10385 * gc.c: just move functions and so on. I don't touch any internal 10386 implementation. 10387 10388Sun Aug 5 13:22:29 2012 NARUSE, Yui <naruse@ruby-lang.org> 10389 10390 * configure.in: use gcc-4.2 prior to clang, gcc, and cc if exist for 10391 the use of Snow Leopard's old clang. see also r36594, r36610, r36611. 10392 10393Sun Aug 5 06:55:10 2012 Tadayoshi Funaba <tadf@dotrb.org> 10394 10395 * ext/date/date_{core,strftime}.c: [ruby-core:46990]. 10396 10397Sat Aug 4 22:56:20 2012 Narihiro Nakamura <authornari@gmail.com> 10398 10399 * gc.c: use inline functions instead of macros, and close up 10400 related codes for the profiler. 10401 10402Sat Aug 4 20:37:56 2012 Narihiro Nakamura <authornari@gmail.com> 10403 10404 * gc.c (gc_mark_children): use gc_mark_ptr instead of marking 10405 a object directly. 10406 10407Sat Aug 4 10:02:03 2012 Shugo Maeda <shugo@ruby-lang.org> 10408 10409 * test/ruby/test_alias.rb (test_super_in_aliased_module_method): 10410 add a test case for [ruby-dev:46028], which fails in 1.8. 10411 10412Sat Aug 4 01:56:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10413 10414 * vm_insnhelper.c (vm_search_normal_superclass): no longer needs 10415 receiver, klass is always unique in the ancestors now. 10416 10417Sat Aug 4 01:27:40 2012 Shugo Maeda <shugo@ruby-lang.org> 10418 10419 * insns.def (invokesuper): reverted r36612 so that super in an 10420 aliased method will not call the same method. 10421 10422Fri Aug 3 19:26:10 2012 Shugo Maeda <shugo@ruby-lang.org> 10423 10424 * insns.def (invokesuper): don't skip the same class. instead, use 10425 rb_method_entry_get_with_omod() to avoid infinite loop when 10426 super is used with refinements. [ruby-core:30450] [Bug #3351] 10427 10428Fri Aug 3 19:21:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10429 10430 * configure.in: use clang prior to gcc only when self-compiling on 10431 darwin. search default compilers on other platforms. [Bug #6816] 10432 10433Fri Aug 3 17:25:49 2012 NARUSE, Yui <naruse@ruby-lang.org> 10434 10435 * configure.in: move RUBY_MINGW32 after AC_PROG_CC. 10436 RUBY_MINGW32 uses AC_TRY_CPP and it sets CC and CPP. [Bug #6816] 10437 10438 * configure.in: don't use AC_PROG_CC in AS_CASE. 10439 10440Fri Aug 3 17:21:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10441 10442 * test/runner.rb: get rid of loading previously installed gems. 10443 [ruby-dev:46025] 10444 10445Fri Aug 3 16:40:01 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 10446 10447 * .travis.yml (notifications): [experimental] IRC notifications. 10448 10449Thu Aug 2 20:32:29 2012 Shugo Maeda <shugo@ruby-lang.org> 10450 10451 * eval.c (rb_mod_using): new method Module#using. [experimental] 10452 10453 * eval.c (rb_mod_refine): new method Module#refine. [experimental] 10454 10455 * eval.c (f_using): new method Kernel#using. [experimental] 10456 10457Thu Aug 2 20:08:02 2012 Shugo Maeda <shugo@ruby-lang.org> 10458 10459 * class.c, insns.def, method.h, proc.c, vm.c, vm_core.h, vm_eval.c, 10460 vm_insnhelper.c, vm_insnhelper.h, vm_method.c: add klass to 10461 rb_control_frame_t to implement super correctly. 10462 10463Thu Aug 2 13:23:08 2012 NARUSE, Yui <naruse@ruby-lang.org> 10464 10465 * configure.in (AC_PROG_CC): AC_PROG_CC tries clang at first on 10466 darwin. [Bug #6816] 10467 10468Thu Aug 2 11:39:25 2012 Narihiro Nakamura <authornari@gmail.com> 10469 10470 * gc.c: return true or false. Patch by Dirkjan Bussink. [Bug #6821] 10471 10472 * test/ruby/test_gc.rb: add test-case for this bug. 10473 10474Thu Aug 2 10:51:12 2012 Martin Bosslet <Martin.Bosslet@gmail.com> 10475 10476 * ext/openssl/lib/openssl/digest.rb 10477 test/openssl/test_digest.rb: Add Digest module function to OpenSSL 10478 module and test it. Patch provided by Eric Hodel. 10479 [ruby-core:46908][Feature #6819] 10480 10481Wed Aug 1 22:29:12 2012 Benoit Daloze <eregontp@gmail.com> 10482 10483 * ext/digest/digest.c (hexencode_str_new): return an ASCII string 10484 10485 * test/digest: tests for all kind of digests encodings 10486 [ruby-core:46792][Bug #6799] 10487 10488Wed Aug 1 05:50:53 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 10489 10490 * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_encoding): 10491 Fix test_encoding failure on Windows. 10492 With chcp 65001, 1252 and 437, test_encoding failed. Test result 10493 depends on locale because LANG environment variable doesn't affect 10494 locale on Windows. 10495 [ruby-core:46872] [Bug #6813] 10496 10497Wed Aug 1 00:33:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10498 10499 * class.c (include_class_new): fix duplication of prepended module. 10500 since m_tbl of prepended module is always zero, copy from its 10501 copy iclass of original. 10502 10503Tue Jul 31 18:22:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10504 10505 * variable.c (classname): tell if found name is permanent. search 10506 tmp_classpath only if class id is set. [ruby-core:42865][Bug #6078] 10507 10508 * variable.c (rb_class_path): duplicate found temporary path. 10509 10510 * variable.c (rb_set_class_path_string, rb_set_class_path): set class 10511 id to find classpath. 10512 10513Tue Jul 31 10:36:12 2012 Aaron Patterson <aaron@tenderlovemaking.com> 10514 10515 * ext/psych/lib/psych.rb: updated to released version. 10516 10517 * ext/psych/psych.gemspec: ditto 10518 10519Tue Jul 31 06:18:06 2012 Eric Hodel <drbrain@segment7.net> 10520 10521 * time.c (time_sec): Remove extra wording about leap seconds and refer 10522 directly to Wikipedia's leap second page for further information. 10523 [Bug #6749] 10524 10525Mon Jul 30 23:01:47 2012 NARUSE, Yui <naruse@ruby-lang.org> 10526 10527 * lib/rubygems/platform.rb (Gem::Platform#initialize): Support pattern 10528 like x86_64-netbsd6.99.7. 10529 10530Mon Jul 30 21:00:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10531 10532 * variable.c (find_class_path): no retry when preferred is given. 10533 10534 * variable.c (classname): if classid is set try it to find full 10535 qualified class path, and then try arbitrary class path. try 10536 tmp_classpath at last even if enclosing namespace is anonymous. 10537 fix r36574. [ruby-core:42865][Bug #6078] 10538 10539 * variable.c (rb_set_class_path_string, rb_set_class_path): set 10540 tmp_classpath instead of classpath if the name is not permanent. 10541 10542Mon Jul 30 14:24:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10543 10544 * variable.c: store anonymous class path in tmp_classpath but not in 10545 classpath. [ruby-core:42865][Bug #6078] 10546 10547Mon Jul 30 13:11:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10548 10549 * configure.in (DLDFLAGS): on Darwin, deprecate -flat_namespace to get 10550 rid of huge imported symbols table. 10551 10552 * configure.in (LIBRUBY_RELATIVE): libruby_so is not made when 10553 disable-shared, so no absolute path is used for it and executable 10554 file is runnable anywhere. 10555 10556Mon Jul 30 01:30:10 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 10557 10558 * common.mk: add a dependency. [ruby-core:46741] [Bug #6789] 10559 10560Sun Jul 29 15:44:47 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 10561 10562 * thread.c (thread_create_core): hide th->async_errinfo_mask_stack from 10563 ObjectSpace.each_object. refix of r36539. 10564 10565Sun Jul 29 23:57:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10566 10567 * ext/socket/option.c (inet_ntop): use rb_w32_inet_ntop, instead of 10568 inet_ntop directly, which is unavailable on older version Windows. 10569 10570 * win32/win32.c (rb_w32_inet_ntop): type should be const. 10571 10572Sun Jul 29 14:20:34 2012 Kazuki Tsujimoto <kazuki@callcc.net> 10573 10574 * thread.c (Init_Thread): does not need to set klass 10575 explicitly. 10576 10577Sun Jul 29 06:21:04 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 10578 10579 * win32/win32.c: suppress warning redeclared on mingw64. 10580 *_s functions are declared if MINGW_HAS_SECURE_API is defined. 10581 Follow up r36556. 10582 10583Sun Jul 29 00:28:46 2012 Narihiro Nakamura <authornari@gmail.com> 10584 10585 * gc.c: remove unused initialization. 10586 10587Sat Jul 28 16:26:09 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 10588 10589 * win32/win32.c (gmtime_r): use _gmtime64_s() with x86_64-w64-mingw32. 10590 10591 * win32/win32.c (localtime_r): use _localtime64_s() with 10592 x86_64-w64-mingw32. Since FileTimeToSystemTime() seems not work with 10593 large value under x64. Mingw-w64 doesn't have these declaration. 10594 [ruby-core:46780] [Bug #6794] 10595 10596Fri Jul 27 18:25:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10597 10598 * io.c (rb_io_check_io): make public. 10599 10600 * process.c (check_exec_redirect): try conversion to IO on redirect 10601 parameters. [ruby-core:44181] [Bug #6269] 10602 10603Fri Jul 27 17:58:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10604 10605 * configure.in (RUBY_CPPOUTFILE): get rid of variable conflict so 10606 CPPFLAGS is not duplicated. [ruby-core:43097] [Bug #6119] 10607 10608Fri Jul 27 12:12:36 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10609 10610 * win32/mkexports.rb: should not export DllMain(). 10611 reported by luis at [ruby-core:46743] [Bug #6790], solved by 10612 Heesob Park, and confirmed by nobu. 10613 10614Thu Jul 26 14:51:29 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 10615 10616 * test/net/http/test_https.rb (TestNetHTTPS#test_session_reuse): 10617 localhost is not (always) 127.0.0.1. Don't expect that. 10618 10619Thu Jul 26 07:18:38 2012 <kanemoto@ruby-lang.org> 10620 10621 * ext/json/fbuffer/fbuffer.h: avoid compilation error on AIX by 10622 -ansi -std=iso9899:199409 (r36038). [ruby-core:46744] [Bug #6791]. 10623 10624Thu Jul 26 00:42:23 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 10625 10626 * thread.c (thread_create_core, Init_Thread): hide 10627 th->async_errinfo_queue and th->async_errinfo_mask_stack from 10628 ObjectSpace.each_object. 10629 10630Wed Jul 25 17:41:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10631 10632 * complex.c, rational.c: compatible marshal loader for compatibilities 10633 with 1.8. [ruby-core:45775] [Bug #6625] 10634 10635Wed Jul 25 17:17:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10636 10637 * atomic.h: prefer GCC atomic builtins than Windows APIs, if possible, 10638 since they are generic. 10639 10640Wed Jul 25 11:16:57 2012 Eric Hodel <drbrain@segment7.net> 10641 10642 * lib/net/.document: Removed. All files in net/ should be included in 10643 RDoc. 10644 10645Wed Jul 25 10:00:23 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10646 10647 * test/testunit/test_redefinition.rb: broken class/method names. 10648 10649Wed Jul 25 09:26:32 2012 NARUSE, Yui <naruse@ruby-lang.org> 10650 10651 * lib/cgi/html.rb: Use << instead of +=. 10652 `a += b` is syntax sugar of `a = a + b`; it creates a new string 10653 object. `a << b` is concatenation and doesn't create new object. 10654 10655Wed Jul 25 09:16:26 2012 NARUSE, Yui <naruse@ruby-lang.org> 10656 10657 * lib/cgi/html.rb (element_init): suppress redefine warning. 10658 Don't define methods if they are already defined. 10659 10660Wed Jul 25 09:05:38 2012 Eric Hodel <drbrain@segment7.net> 10661 10662 * lib/net/http.rb: Added SSL session reuse across connections for a 10663 single instance to speed up connection. [Feature #5341] 10664 * NEWS: ditto 10665 * test/net/http/test_https.rb: Tests for #5341 10666 10667Wed Jul 25 06:54:24 2012 Eric Hodel <drbrain@segment7.net> 10668 10669 * doc/re.rdoc: Fix spelling 10670 10671Wed Jul 25 06:49:12 2012 Eric Hodel <drbrain@segment7.net> 10672 10673 * re.c (rb_reg_s_last_match): Update $~ to reference Regexp 10674 documentation about "special global variables". [Bug #6723] 10675 10676Wed Jul 25 06:28:56 2012 Eric Hodel <drbrain@segment7.net> 10677 10678 * iseq.c: Added documentation. Patch by David Albert. [Bug #6785] 10679 10680Wed Jul 25 03:05:06 2012 Aaron Patterson <aaron@tenderlovemaking.com> 10681 10682 * parse.y: added symbols and qsymbols productions for %i and %I 10683 support. %i{ .. } returns a list of symbols without interpolation, 10684 %I{ .. } returns a list of symbols with interpolation. Thanks to 10685 Josh Susser for inspiration of this feature. [Feature #4985] 10686 10687 * ext/ripper/eventids2.c: added ripper events for %i and %I. 10688 10689 * test/ripper/test_parser_events.rb: ripper tests 10690 10691 * test/ripper/test_scanner_events.rb: ditto 10692 10693 * test/ruby/test_array.rb: test for %i and %I behavior 10694 10695Tue Jul 24 23:34:43 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 10696 10697 * include/ruby/win32.h (rb_w32_pow): add new function. 10698 We use powl() instead of broken pow() for x64-mingw32. This workaround 10699 fixes test failures related to floating point numeric. 10700 [ruby-core:46686] [Bug #6784] 10701 10702Tue Jul 24 15:01:24 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10703 10704 * win32/win32.c (rb_w32_socket, rb_w32_socketpair): remember the family 10705 in the high word of socklist value. 10706 10707 * win32/win32.c (overlapped_socket_io, recvmsg, sendmsg, setfl): follow 10708 above changes. 10709 10710 * win32/win32.c (rb_w32_getsockname): set remembered family to the 10711 argument when OS's function fails. 10712 10713Tue Jul 24 12:35:13 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10714 10715 * test/ruby/test_dir_m17n.rb: remove a garbage. 10716 10717 * test/ruby/test_dir_m17n.rb: convert from ascii-8bit to other encoding 10718 with 8bit bytes always fails. 10719 10720Tue Jul 24 12:32:18 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10721 10722 * test/ruby/test_dir_m17n.rb: sorry, typo. 10723 10724Tue Jul 24 12:13:26 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10725 10726 * test/ruby/test_dir_m17n.rb: refactoring. RE should be in the left side 10727 of the =~ operator, and compare the result with nil is meaningless. 10728 10729Tue Jul 24 11:35:20 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10730 10731 * test/ruby/test_pack.rb (test_pack_unpack_M): was redefined 10732 accidentally. 10733 10734Tue Jul 24 09:31:18 2012 Eric Hodel <drbrain@segment7.net> 10735 10736 * lib/rubygems: Updated to RubyGems 1.8.24, a bugfix release. 10737 10738Tue Jul 24 08:30:15 2012 Luis Lavena <luislavena@gmail.com> 10739 10740 * test/ruby/test_dir_m17n.rb (create_and_check_raw_file_name): add new 10741 helper method to ease encoding testing. Patch by Oleg Sukhodolsky. 10742 [ruby-core:46589][Bug #6765] 10743 10744 * test/ruby/test_dir_m17n.rb (test_filename_extutf8): use filesystem 10745 encoding when reading entries and comparing. 10746 10747 * test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_name): removed. 10748 10749 * test/ruby/test_dir_m17n.rb (test_filename_utf8_raw_jp_name): split test. 10750 10751Tue Jul 24 08:09:30 2012 Luis Lavena <luislavena@gmail.com> 10752 10753 * test/win32ole/test_win32ole_method.rb (is_ruby64?): Correct platform 10754 used to identify mingw-w64 (x64-mingw32). Patch by Hiroshi Shirosaki. 10755 [ruby-core:46651][Bug #6782] 10756 10757Tue Jul 24 07:22:58 2012 Eric Hodel <drbrain@segment7.net> 10758 10759 * time.c (time_sec): Updated description of leap seconds for accuracy. 10760 Based on patch by Marcus Stollsteimer. [Bug #6749] 10761 10762Tue Jul 24 07:03:11 2012 Eric Hodel <drbrain@segment7.net> 10763 10764 * string.c (rb_str_sub): Fixed wording of documentation to match the 10765 replacement operation. Minor cleanup of markup. [Bug #6719] 10766 * string.c (rb_str_sub_bang): Minor wording change for clarity, minor 10767 cleanup of markup. 10768 10769Mon Jul 23 23:58:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10770 10771 * enc/Makefile.in (TARGET_NAME, TARGET_ENTRY): needed for EXTDLDFLAGS 10772 on some platforms. [ruby-core:46600] [Bug #6768] 10773 10774 * enc/depend: no longer needs tweaking DLDFLAGS for TARGET names. 10775 10776Mon Jul 23 22:48:19 2012 Tanaka Akira <akr@fsij.org> 10777 10778 * lib/open-uri.rb: use respond_to? to test Tempfile. 10779 [ruby-dev:45995] [Bug #6781] reported by hsbt (Hiroshi SHIBATA). 10780 10781Mon Jul 23 14:43:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10782 10783 * configure.in (LIBPATHENV): LIBPATH is used on AIX, but not 10784 SHLIB_PATH which was carelessly copied from HP/UX. suggested by 10785 Perry Smith at [ruby-core:46397]. [Bug #6728] 10786 10787Mon Jul 23 01:55:08 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 10788 10789 * test/uri/test_generic.rb (URI#test_find_proxy): add tests with 10790 empty *_proxy env variables. 10791 10792Mon Jul 23 01:47:26 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 10793 10794 * test/uri/test_generic.rb (URI#with_env): unset proxy related env 10795 variables. [Bug #6774] 10796 10797 * test/uri/test_generic.rb (URI#test_find_proxy): fix failures 10798 when proxy related env variables already set. [Bug #6774] 10799 10800Sun Jul 22 23:58:48 2012 NARUSE, Yui <naruse@ruby-lang.org> 10801 10802 * thread.c (rb_threadptr_execute_interrupts_common): increase 10803 running_time_us on THREAD_TO_KILL like on THREAD_RUNNABLE. 10804 This cause not to switch from a thread which is to be killed 10805 on FreeBSD and Mac OS X. see also the test. 10806 This issue maybe exist for long time but happens after r36430. 10807 10808Sat Jul 21 06:21:45 2012 NARUSE, Yui <naruse@ruby-lang.org> 10809 10810 * lib/net/http.rb: fixes for r36476. [Feature #6546] 10811 http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120720T030101Z.diff.html.gz 10812 10813 * lib/net/http.rb (Net::HTTP.newobj): return back for compatibility. 10814 10815 * lib/net/http.rb (Net::HTTP.new): set default_port if proxy port is 10816 not given. 10817 10818 * lib/net/http.rb (Net::HTTP#initialize): ditto. 10819 10820 * lib/net/http.rb (Net::HTTP#proxy?): return true or false. 10821 10822 * lib/net/http.rb (Net::HTTP#proxy_address): check proxy_uri is not nil. 10823 10824 * lib/net/http.rb (Net::HTTP#proxy_port): ditto. 10825 10826Sat Jul 21 23:12:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10827 10828 * thread_pthread.c (ruby_init_stack): STACK_GROW_DIR_DETECTION is 10829 necessary on platforms with unknown stack direction. [Bug #6761] 10830 10831Sat Jul 21 15:13:42 2012 Shota Fukumori <sorah@tubusu.net> 10832 10833 * lib/test/unit/testcase.rb (method_added): refactoring. 10834 10835Sat Jul 21 14:06:41 2012 Shota Fukumori <sorah@tubusu.net> 10836 10837 * lib/test/unit/testcase.rb: warn when test_* method is redefined. 10838 Patch by mame (Yusuke Endoh). [Feature #2643] [ruby-core:27790] 10839 10840 * test/testunit/test_redefinition.rb: Test for above. 10841 10842 * test/testunit/test4test_redefinition.rb: Ditto. 10843 10844Sat Jul 21 08:41:14 2012 Eric Hodel <drbrain@segment7.net> 10845 10846 * lib/logger.rb: Updated example in Logger comment to match other 10847 examples and fixed a bug. Patch by Marcus Stollsteimer. 10848 [Bug #6759] 10849 10850Fri Jul 20 17:20:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10851 10852 * random.c (rb_random_real): refine error message. 10853 10854Fri Jul 20 11:03:17 2012 Eric Hodel <drbrain@segment7.net> 10855 10856 * NEWS: Updated net/http for automatic proxy detection (#6546) and 10857 automatic gzip and deflate compression (#6492, #6494). 10858 10859Fri Jul 20 10:55:38 2012 Eric Hodel <drbrain@segment7.net> 10860 10861 * lib/net/http.rb: Net::HTTP now automatically detects and uses 10862 proxies from the environment. A proxy may also be specified as 10863 before. 10864 10865 Net::HTTP::Proxy still creates anonymous classes, but these classes 10866 are only used to store configuration information. When an HTTP 10867 instance is created the configuration is now copied. 10868 10869 Additionally, Net::HTTP::ProxyDelta is no longer used by Net::HTTP 10870 10871 [Feature #6546] 10872 * lib/open-uri.rb: Moved URI::Generic#find_proxy to uri/generic. 10873 * lib/uri/generic.rb: Imported find_proxy from open-uri. 10874 * test/open-uri/test_open-uri.rb: Moved proxy-discovery tests to URI. 10875 * test/uri/test_generic.rb: Imported proxy-discovery tests from 10876 open-uri. 10877 * test/net/http/test_http.rb: Added tests for proxy behavior. 10878 10879Fri Jul 20 09:34:11 2012 Eric Hodel <drbrain@segment7.net> 10880 10881 * test/socket/test_socket.rb: Ignore IPv6 unique local addresses on OS 10882 X (iCloud Back to my Mac addresses) for test_udp_socket since they do 10883 not act as loopback addresses. [Bug #6692] 10884 10885Fri Jul 20 09:32:14 2012 Eric Hodel <drbrain@segment7.net> 10886 10887 * ext/socket/raddrinfo.c (addrinfo_ipv6_unique_local_p): Added 10888 Addrinfo#ipv6_unique_local? to detect RFC 4193 unique local 10889 addresses. Part of #6692 10890 * ext/socket/rubysocket.h: Add IN6_IS_ADDR_UNIQUE_LOCAL macro if 10891 missing. 10892 * test/socket/test_addrinfo.rb: Test for ipv6_unique_local? 10893 10894Fri Jul 20 07:40:32 2012 Eric Hodel <drbrain@segment7.net> 10895 10896 * lib/net/http/response.rb: Automatically inflate gzip and 10897 deflate-encoded response bodies. [Feature #6942] 10898 * lib/net/http/generic_request.rb: Automatically accept gzip and 10899 deflate content-encoding for requests. [Feature #6494] 10900 * lib/net/http/request.rb: Updated documentation for #6494. 10901 * lib/net/http.rb: Updated documentation for #6492 and #6494, removed 10902 Content-Encoding handling now present in Net::HTTPResponse. 10903 * test/net/http/test_httpresponse.rb: Tests for #6492 10904 * test/net/http/test_http_request.rb: Tests for #6494 10905 * test/open-uri/test_open-uri.rb (test_content_encoding): Updated test 10906 for automatic content-encoding handling. 10907 10908Fri Jul 20 03:42:54 2012 NARUSE, Yui <naruse@ruby-lang.org> 10909 10910 * thread_pthread.c: use #ifdef, not #if. 10911 10912Thu Jul 19 15:08:40 2012 Koichi Sasada <ko1@atdot.net> 10913 10914 * thread.c (rb_thread_s_control_interrupt, 10915 rb_thread_s_check_interrupt): added for 10916 Thread.control_interrupt and Thread.check_interrupt. 10917 See details on rdoc. 10918 I'll make an ticket for this feature. 10919 10920 * test/ruby/test_thread.rb: add a test for Thread.control_interrupt. 10921 10922 * thread.c (rb_threadptr_raise): make a new exception object 10923 even if argc is 0. 10924 10925 * thread.c (rb_thread_kill): kill thread immediately if target thread 10926 is current thread. 10927 10928 * vm_core.h (RUBY_VM_CHECK_INTS_BLOCKING): added. 10929 CHECK_INTS while/after blocking operation. 10930 10931 * vm_core.h (RUBY_VM_CHECK_INTS): require rb_thread_t ptr. 10932 10933 * cont.c (fiber_switch): use replaced RUBY_VM_CHECK_INTS(). 10934 10935 * eval.c (ruby_cleanup): ditto. 10936 10937 * insns.def: ditto. 10938 10939 * process.c (rb_waitpid): ditto. 10940 10941 * vm_eval.c (vm_call0): ditto. 10942 10943 * vm_insnhelper.c (vm_call_method): ditto. 10944 10945Thu Jul 19 22:46:48 2012 Tanaka Akira <akr@fsij.org> 10946 10947 * test/ruby/test_io.rb: remove temporally files early. 10948 10949Thu Jul 19 15:38:35 2012 Shugo Maeda <shugo@ruby-lang.org> 10950 10951 * variable.c (rb_mod_class_variables): return inherited variables 10952 except when the optional argument is set to false. 10953 [ruby-dev:44034] [Bug #4971] 10954 10955 * variable.c (rb_mod_constants): fix typo in documentation. 10956 10957Thu Jul 19 14:30:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10958 10959 * internal.h: move mark function declarations that should be private. 10960 10961Thu Jul 19 14:18:22 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10962 10963 * ext/socket/init.c (rsock_init_sock): need to update max fd on all 10964 platforms. 10965 10966Thu Jul 19 14:15:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 10967 10968 * thread.c (rb_gc_mark_threads): remove deprecated function. 10969 10970Thu Jul 19 13:28:03 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10971 10972 * test/net/http/test_http.rb (TestNetHTTPLocalBind#test_bind_to_local*): 10973 re-enable the tests because now it's OK on windows. 10974 10975Thu Jul 19 13:26:25 2012 NAKAMURA Usaku <usa@ruby-lang.org> 10976 10977 * ext/socket/extconf.rb: now enable IPv6 by default on mswin. 10978 10979Thu Jul 19 09:33:46 2012 Aaron Patterson <aaron@tenderlovemaking.com> 10980 10981 * ext/psych/emitter.c (initialize): allow a configuration object to be 10982 passed to the constructor so that mutation isn't required after 10983 instantiation. 10984 10985 * ext/psych/lib/psych/handler.rb: add configuration object 10986 10987 * ext/psych/lib/psych/visitors/emitter.rb: use configuration object if 10988 extra configuration is present. 10989 10990Thu Jul 19 08:20:25 2012 Tanaka Akira <akr@fsij.org> 10991 10992 * test/ruby/test_file.rb: remove temporally files early. 10993 10994Thu Jul 19 07:37:41 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> 10995 10996 * test/drb/drbtest.rb: fixed: can't delete unix domain sockets problem. 10997 10998Thu Jul 19 03:41:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 10999 11000 * bignum.c: Added #include <strings.h> for ffs(). Patch by Perry 11001 Smith. Thank you. [Bug #6748] 11002 11003Thu Jul 19 01:56:02 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 11004 11005 * include/ruby/intern.h (rb_num_zerodiv): Added NORETURN. 11006 Patched by Xi Wang. [Bug #6736] 11007 11008Wed Jul 18 23:57:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11009 11010 * pack.c (pack_pack): round down too long uuencode width. folding 11011 width in uuencode format cannot be longer than 63 bytes. 11012 11013Wed Jul 18 23:04:18 2012 NARUSE, Yui <naruse@ruby-lang.org> 11014 11015 * ext/dbm/dbm.c (fdbm_empty_p): fix wrong condition introduced in r36438. 11016 11017 * ext/sdbm/init.c (fsdbm_empty_p): ditto. 11018 11019Wed Jul 18 23:08:57 2012 Tanaka Akira <akr@fsij.org> 11020 11021 * test/ruby/test_beginendblock.rb: remove temporally files early. 11022 11023Wed Jul 18 22:43:02 2012 Tanaka Akira <akr@fsij.org> 11024 11025 * test/ruby/test_autoload.rb: remove temporally files early. 11026 11027Wed Jul 18 21:59:46 2012 Tanaka Akira <akr@fsij.org> 11028 11029 * test/ruby/test_argf.rb: use temporally directory. 11030 11031Wed Jul 18 19:41:19 2012 Tanaka Akira <akr@fsij.org> 11032 11033 * test/openssl/test_config.rb: remove temporally files early. 11034 11035Wed Jul 18 17:45:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11036 11037 * error.c (rb_builtin_type_name): map by index. 11038 11039Wed Jul 18 16:17:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11040 11041 * lib/mkmf.rb (have_framework): get rid of separating -framework 11042 option and its argument and dealing with the argument as a library 11043 or an object name. if $LDFLAGS were an array... 11044 11045Wed Jul 18 16:09:10 2012 Shugo Maeda <shugo@ruby-lang.org> 11046 11047 * ext/curses/extconf.rb: support PDCurses. patched by Luis Lavena. 11048 [ruby-core:46485] [Feature #6735] 11049 11050Wed Jul 18 15:50:25 2012 Shugo Maeda <shugo@ruby-lang.org> 11051 11052 * parse.y (primary): allow an empty grouped expression as the 11053 operand of the not operator (e.g., not ()). 11054 [ruby-core:45976] [Bug #6674] 11055 11056 * parse.y (parser_yylex): show no warning for a grouped expression 11057 as the operand of the not operator (e.g., not (a)) or as an 11058 argument of a method call without parentheses (e.g., foo (a)). 11059 [ruby-core:39050] [Bug #5214] 11060 11061Wed Jul 18 15:33:21 2012 Koichi Sasada <ko1@atdot.net> 11062 11063 * thread.c (rb_thread_call_without_gvl2): added. 11064 it can skip last CHECK_INTS. See document for more details. 11065 Document about it was updated a bit. 11066 11067 * include/ruby/thread.h (decl. of rb_thread_call_without_gvl2): added. 11068 11069 * thread.c (rb_thread_call_with_gvl): remove "EXPERIMENTAL!" 11070 warning from a document. 11071 11072Wed Jul 18 14:53:21 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11073 11074 * configure.in (EXTDLDFLAGS): split options for each extension 11075 libraries, and unused in ruby.pc. [Bug #6734] 11076 11077 * lib/mkmf.rb (MakeMakefile#configuration): add EXTDLDFLAGS. 11078 11079Wed Jul 18 14:47:23 2012 Koichi Sasada <ko1@atdot.net> 11080 11081 * thread.c: fix last commit miss. 11082 11083Wed Jul 18 14:16:51 2012 Koichi Sasada <ko1@atdot.net> 11084 11085 * thread.c (rb_threadptr_async_errinfo_*): manage async errors queue. 11086 Async events such as an exception throwed by Thread#raise, 11087 Thread#kill and thread termination (after main thread termination) 11088 will be queued to th->async_errinfo_queue. 11089 - clear: clear the queue. 11090 - enque: enque err object into queue. 11091 - deque: deque err object from queue. 11092 - active_p: return 1 if the queue should be checked. 11093 rb_thread_t#thrown_errinfo was removed. 11094 11095 * vm_core.h: add declarations of rb_threadptr_async_errinfo_*. 11096 remove rb_thread_t#thrown_errinfo field and 11097 add rb_thread_t#async_errinfo_queue (queue body: Array), 11098 rb_thread_t#async_errinfo_queue_checked (flag), 11099 rb_thread_t#async_errinfo_mask_stack(Array, not used yet). 11100 11101 * vm.c (rb_thread_mark): fix a mark function. 11102 11103 * cont.c (rb_fiber_start): enque an error. 11104 11105 * process.c (after_fork): clear async errinfo queue. 11106 11107Wed Jul 18 14:25:55 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 11108 11109 * pack.c: (ditto) bitwise operations are not char. Apply explicit 11110 casts on them. 11111 11112Wed Jul 18 12:59:50 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 11113 11114 * encoding.c (load_encoding): explicit cast to suppress warning. 11115 Though the cast truncates some bits, from heuristic analysis I 11116 believe it is OK to do so here. 11117 11118 * bignum.c (rb_cstr_to_inum): ditto. 11119 11120Wed Jul 18 12:55:54 2012 NARUSE, Yui <naruse@ruby-lang.org> 11121 11122 * lib/benchmark.rb: Fix Benchmark.benchmark output with an empty 11123 caption. patched by Benoit Daloze. [ruby-core:45719] [Bug #6610] 11124 11125Wed Jul 18 10:00:54 2012 Eric Hodel <drbrain@segment7.net> 11126 11127 * lib/debug.rb: Added toplevel documentation. Based on patch by Oscar 11128 Del Ben. [Bug #6743], fixes #146 on github. 11129 11130Wed Jul 18 09:33:59 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11131 11132 * test/win32ole/test_win32ole_event.rb (TestWIN32OLE_EVENT): use 11133 standard skip method to skip tests. 11134 11135Wed Jul 18 09:26:45 2012 Eric Hodel <drbrain@segment7.net> 11136 11137 * lib/logger.rb: Updated typos and output to match modern Logger 11138 output. Patch by Marcus Stollsteimer. [Bug #6738] 11139 11140Wed Jul 18 07:59:29 2012 Takeyuki FUJIOKA <xibbar@ruby-lang.org> 11141 11142 * lib/cgi/util.rb (CGI.escapeHTML,unescapeHTML): Add ' for HTML5 11143 escaping. 11144 [Feature #6620] 11145 11146Tue Jul 17 22:17:13 2012 Tanaka Akira <akr@fsij.org> 11147 11148 * lib/open-uri.rb: call io.close! for Tempfile. 11149 11150Tue Jul 17 16:41:32 2012 NARUSE, Yui <naruse@ruby-lang.org> 11151 11152 * proc.c (rb_proc_arity): return normal value (not -n-1) if it is not 11153 a labmda, or it is a labmda and no arg_opts. [Bug #5694] 11154 11155Tue Jul 17 03:56:34 2012 Aaron Patterson <aaron@tenderlovemaking.com> 11156 11157 * ext/psych/lib/psych/visitors/to_ruby.rb: strings with YAML anchors 11158 are properly referenced. Patched by Joe Rafaniello via Github: 11159 https://github.com/tenderlove/psych/pull/69 11160 * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto 11161 * test/psych/test_alias_and_anchor.rb: test for change 11162 11163Mon Jul 16 23:20:24 2012 Tanaka Akira <akr@fsij.org> 11164 11165 * bignum.c (rb_integer_float_cmp): use FIXNUM_MIN and FIXNUM_MAX, 11166 instead of LONG_MIN and LONG_MAX. 11167 11168Mon Jul 16 22:50:41 2012 Tanaka Akira <akr@fsij.org> 11169 11170 * numeric.c (flo_to_s): use the exponential form if the integer part 11171 is longer than or equal DBL_DIG. 11172 [ruby-dev:45960] [ruby-trunk - Bug #6741] 11173 11174Mon Jul 16 22:01:00 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11175 11176 * ext/readline/readline.c: fixed docs. [Bug #6740][ruby-core:46501] 11177 patched by Nobuhiro IMAI. 11178 11179Mon Jul 16 19:24:01 2012 Tanaka Akira <akr@fsij.org> 11180 11181 * bignum.c (rb_integer_float_eq): new function. 11182 (rb_big_eq): use rb_integer_float_eq. 11183 11184 * internal.h (rb_integer_float_eq): declared. 11185 11186 * numeric.c (flo_eq): use rb_integer_float_eq. 11187 (fix_equal): ditto. 11188 11189Mon Jul 16 19:02:31 2012 Tanaka Akira <akr@fsij.org> 11190 11191 * bignum.c (rb_integer_float_cmp): rename a local variable. 11192 11193Mon Jul 16 18:40:26 2012 Tanaka Akira <akr@fsij.org> 11194 11195 * bignum.c (rb_integer_float_cmp): renamed from rb_big_float_cmp. 11196 11197 * internal.h: follow the above change. 11198 11199 * numeric.c: ditto. 11200 11201Mon Jul 16 17:57:54 2012 Tanaka Akira <akr@fsij.org> 11202 11203 * bignum.c (rb_big_float_cmp): compare an integer and float precisely. 11204 [ruby-core:31376] [Bug #3589] reported by Tomasz Wegrzanowski. 11205 11206Mon Jul 16 17:29:45 2012 Tanaka Akira <akr@fsij.org> 11207 11208 * bignum.c (rb_big_float_cmp): support fixnum for argument x. 11209 11210 * numeric.c (fix_equal): use rb_big_float_cmp. 11211 (fix_cmp): ditto. 11212 (fix_gt): ditto. 11213 (fix_ge): ditto. 11214 (fix_lt): ditto. 11215 (fix_le): ditto. 11216 (flo_eq): ditto. 11217 (flo_cmp): use rb_big_float_cmp for fixnum argument. 11218 (flo_gt): ditto. 11219 (flo_ge): ditto. 11220 (flo_lt): ditto. 11221 (flo_le): ditto. 11222 11223Mon Jul 16 17:05:53 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11224 11225 * test/fileutils/test_fileutils.rb: add test for FileUtils#uptodate? 11226 11227Mon Jul 16 16:56:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11228 11229 * lib/fileutils.rb (FileUtils.uptodate?): remove useless parameter. 11230 patched by Oscar Del Ben.[Bug #6708][ruby-core:46256] 11231 11232Mon Jul 16 15:37:56 2012 Tanaka Akira <akr@fsij.org> 11233 11234 * bignum.c (rb_big_eq): use rb_big_float_cmp. 11235 11236Mon Jul 16 15:00:45 2012 Tanaka Akira <akr@fsij.org> 11237 11238 * internal.h (rb_big_float_cmp): declared. 11239 11240 * bignum.c (rb_big_float_cmp): extracted from rb_big_cmp and big_op. 11241 (rb_big_cmp): use rb_big_float_cmp. 11242 (big_op): ditto. 11243 11244 * numeric.c (flo_cmp): use rb_big_float_cmp. 11245 (flo_gt): ditto. 11246 (flo_ge): ditto. 11247 (flo_lt): ditto. 11248 (flo_le): ditto. 11249 11250Mon Jul 16 14:14:21 2012 Tanaka Akira <akr@fsij.org> 11251 11252 * bignum.c (enum big_op_t): new type. 11253 (big_op): use enum big_op_t. 11254 (big_gt): ditto. 11255 (big_ge): ditto. 11256 (big_lt): ditto. 11257 (big_le): ditto. 11258 11259Sat Jul 14 18:18:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11260 11261 * array.c (rb_get_values_at): fill with nil out of range. 11262 [ruby-core:43678] [Bug #6203] 11263 11264Sat Jul 14 17:17:55 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11265 11266 * cont.c (cont_restore_0): improve docs. [Bug #6706][ruby-core:46243] 11267 patched by Oscar Del Ben via https://github.com/ruby/ruby/pull/140 11268 11269Sat Jul 14 17:08:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11270 11271 * hash.c (rb_hash_s_create): raise an exception, when input elements 11272 are not one or two elements arrays. [ruby-core:39945] [Bug #5406] 11273 11274Sat Jul 14 16:16:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11275 11276 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): use 11277 Array#uniq!. 11278 11279 * lib/test/unit.rb (Test::Unit::Runner#deal): deal tasks to workers. 11280 11281 * lib/test/unit.rb (Test::Unit::Runner#quit_workers): close and kill 11282 all workers. 11283 11284 * lib/test/unit.rb (Test::Unit::Runner#delete_worker): delete dead 11285 worker from working set. 11286 11287 * lib/test/unit.rb (Test::Unit::Runner#launch_worker): add new worker 11288 to working set. 11289 11290 * lib/test/unit.rb (Test::Unit::Runner#launch_worker): extract. 11291 11292 * lib/test/unit.rb (Test::Unit::Runner#start_watchdog): extract. 11293 11294 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): move 11295 initializations with nothing to release outside begin/ensure. 11296 11297Sat Jul 14 16:04:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11298 11299 * array.c (rb_ary_join): should not infected by separator if it is not 11300 used. [ruby-core:42161][Bug #5902] 11301 11302Sat Jul 14 02:31:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11303 11304 * include/ruby/intern.h (rb_thread_blocking_region): fix declarations 11305 prototypes without arguments in C++ have different meanings than C. 11306 11307Thu Jul 12 12:32:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11308 11309 * test/runner.rb: skip default gems to get rid of loading old versions 11310 before installation. 11311 11312Thu Jul 12 11:44:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11313 11314 * string.c (rb_str_new_frozen): since the result object should have 11315 same tainted/untrusted bits with the original object, return new 11316 object if the shared object unmatch. [ruby-core:39745][Bug #5374] 11317 11318Thu Jul 12 10:46:39 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11319 11320 * test/net/http/test_http.rb (TestNetHTTPLocalBind#test_bind_to_local*): 11321 cannot cross between network interfaces on Windows, so skip this test 11322 until we find better test. 11323 11324Thu Jul 12 08:48:33 2012 Ryan Davis <ryand-ruby@zenspider.com> 11325 11326 * lib/minitest/*: Imported minitest 3.2.0 (r7598) 11327 * test/minitest/*: ditto 11328 11329Thu Jul 12 05:11:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11330 11331 * insns.def (defined): use method entry and id in cfp for proper 11332 superclass, since klass in iseq is shared by dynamically defined 11333 methods from the same block. [ruby-core:45831][Bug #6644] 11334 11335Thu Jul 12 01:49:07 2012 NARUSE, Yui <naruse@ruby-lang.org> 11336 11337 * lib/net/http.rb (Net::HTTP#connect): use local_host and local_port 11338 if specified. patched by Ricardo Amorim [Feature #6617] 11339 11340Wed Jul 11 17:36:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11341 11342 * ext/extmk.rb: append ENCOBJS to DLDOBJS but not EXTSOLIBS which is 11343 not a target, to compile enc/encinit.c. 11344 11345Wed Jul 11 12:38:20 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11346 11347 * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): nonstatic initializer 11348 of an aggregate type is a C99ism. 11349 11350 * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): get rid of VC++ 11351 warnings. 11352 11353Mon Jul 9 16:11:30 2012 Yuki Yugui Sonoda <yugui@google.com> 11354 11355 * vm_eval.c (rb_eval_string_from_file, 11356 rb_eval_string_from_file_protect): new functions to replace 11357 rb_compile_main_from_string() and ruby_eval_main(). 11358 11359 * nacl/pepper_ruby.c: Follows the change in vm_eval.c 11360 11361Mon Jul 9 14:05:42 2012 Yuki Yugui Sonoda <yugui@google.com> 11362 11363 Reverts a half of r36079. As we discussed on ruby-dev@ and IRC, 11364 we do not need to disclose intermediate representation of program. 11365 The program embedding CRuby should use rb_eval_string family. 11366 * include/ruby/ruby.h (ruby_opaque_t): removed. 11367 (ruby_compile_main_from_file, ruby_compile_main_from_string, 11368 ruby_eval_main): removed. 11369 11370 * eval.c (ruby_eval_main_internal): became ruby_exec_internal() again. 11371 (ruby_eval_main): removed. 11372 11373 * ruby.c (PREPARE_PARSE_MAIN) reverted. 11374 (parse_and_compile_main, ruby_compile_main_from_file, 11375 ruby_compile_main_from_string): removed 11376 11377Wed Jul 11 10:16:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11378 11379 * include/ruby.h (HAVE_RUBY_THREAD_H): to show ruby/thread.h to be 11380 available. fixup of r36355. 11381 11382Wed Jul 11 03:26:47 2012 Eric Hodel <drbrain@segment7.net> 11383 11384 * ext/zlib/zlib.c: Added streaming support to inflate processing. 11385 This allows zlib streams to be processed without huge memory growth. 11386 [Feature #6612] 11387 * NEWS: ditto 11388 * ext/zlib/zlib.c (zstream_expand_buffer): Uses rb_yield when a block 11389 is given for streaming support. Refactored to use 11390 zstream_expand_buffer_into to remove duplicate code. 11391 * ext/zlib/zlib.c (zstream_expand_buffer_protect): Added wrapper 11392 function to pass jump state back through GVL-free section to allow 11393 zstream clean-up before terminating the ruby call. 11394 * ext/zlib/zlib.c (zstream_expand_buffer_without_gvl): Acquire GVL to 11395 yield processed chunk of output stream. 11396 * ext/zlib/zlib.c (zstream_detach_buffer): When a block is given, 11397 returns Qnil mid-stream and yields the output buffer at the end of 11398 the stream. 11399 * test/zlib/test_zlib.rb: Updated tests 11400 11401Tue Jul 10 22:57:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11402 11403 * include/ruby/thread.h: new header file for thread stuff. 11404 11405 * thread.c (rb_thread_call_without_gvl): export. [Feature#4328] 11406 returns void* instead of VALUE. [Feature #5543] 11407 11408 * thread.c (rb_thread_blocking_region): deprecate. [ruby-core:46295] 11409 11410Tue Jul 10 10:48:59 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11411 11412 * include/ruby/win32.h (NT, NtInitialize): removed unused old macros. 11413 11414Tue Jul 10 10:43:37 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11415 11416 * configure.in: removed --enable/disable-win95 options. (see r36342) 11417 11418Tue Jul 10 00:44:41 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 11419 11420 * include/ruby/ruby.h: Removed RUBY_GLOBAL_SETUP completely. It is 11421 no meaning definition since r24894. 11422 * main.c: ditto. 11423 * nacl/pepper_main.c: ditto. 11424 11425Mon Jul 9 23:59:36 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 11426 11427 * dln.c: Simplify and make consistent an ifdef for Mac OS X. 11428 * ext/socket/rubysocket.h: ditto. 11429 * ext/tk/stubs.c: ditto. 11430 * io.c: ditto. 11431 * process.c: ditto. 11432 * signal.c: ditto. 11433 * vm_dump.c: ditto. 11434 11435Mon Jul 9 17:37:35 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11436 11437 * win32/win32.c (win95_stat): removed unnecessary macro. 11438 11439Mon Jul 9 17:22:16 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11440 11441 * win32/configure.bat, win32/setup.mak, win32/Makefile.sub: omitted 11442 Win9x support. removed --enable/disable-win95 options. 11443 11444 * include/ruby/win32.h, file.c, win32/win32.c: ditto. 11445 11446 * win32/README.win32: ditto. 11447 11448Mon Jul 9 13:28:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11449 11450 * configure.in (DLDFLAGS): use TARGET_ENTRY to specify an entry point 11451 instead of TARGET which may contain non-identifier characters. 11452 11453 * lib/mkmf.rb (create_makefile): add TARGET_NAME which is the first 11454 part consists of only word characters. [ruby-core:46248][Bug #6709] 11455 11456Sun Jul 8 07:36:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11457 11458 * parse.y (shadowing_lvar_gen, warn_unused_var): no warnings for 11459 variables starting with _. [ruby-core:46160][Feature #6693] 11460 11461Sat Jul 7 23:07:30 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 11462 11463 * test/csv/test_features.rb: add require for Tempfile. 11464 * test/csv/test_serialization.rb: ditto. 11465 11466Fri Jul 6 06:49:50 2012 Eric Hodel <drbrain@segment7.net> 11467 11468 * array.c (rb_ary_aref): Added a description of the behavior of 11469 index positioning. [Bug #6680] 11470 * array.c (rb_ary_aset): ditto. Reordered sentences for clarity. 11471 * string.c (rb_str_aref_m): Added a description of the behavior of 11472 index positioning 11473 11474Fri Jul 6 05:38:44 2012 Eric Hodel <drbrain@segment7.net> 11475 11476 * string.c (rb_str_bytesize): Improve documentation. Patch by Oscar 11477 Del Ben from github issue #138. 11478 * string.c (rb_str_empty): ditto. 11479 * string.c (rb_str_times): ditto. 11480 * string.c (rb_str_dump): ditto. 11481 * string.c (rb_str_center): ditto. 11482 11483Fri Jul 6 04:05:59 2012 Eric Hodel <drbrain@segment7.net> 11484 11485 * ext/zlib/zlib.c (zstream_expand_buffer_without_gvl): Use 11486 ruby_xrealloc() to avoid crash with CALC_EXACT_MALLOC_SIZE. 11487 11488Thu Jul 5 17:32:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11489 11490 * internal.h: move ThreadShield declarations from intern.h. 11491 11492Thu Jul 5 16:00:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11493 11494 * thread.c (ThreadShield): rename from Barrier. 11495 11496Thu Jul 5 15:14:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11497 11498 * bootstraptest/runner.rb (show_progress): refine error output. do not 11499 count non-empty error message, but just warn. 11500 11501 * bootstraptest/runner.rb (error): show errors immediately if tty. 11502 11503Thu Jul 5 12:28:11 2012 Akinori MUSHA <knu@iDaemons.org> 11504 11505 * test/net/http/test_httpresponses.rb: Add a test file for 11506 Net::HTTPResponses and put a test case for the previous bug. 11507 11508Thu Jul 5 06:33:52 2012 Mark Dodwell <mark@mkdynamic.co.uk> 11509 11510 * lib/net/http/responses.rb: Fix 4xx classes to inherit correctly 11511 from Net::HTTPClientError. [Bug #6700] 11512 11513Wed Jul 4 21:55:35 2012 NARUSE, Yui <naruse@ruby-lang.org> 11514 11515 * ruby.c (proc_options): warn only if -K and -w option is specified. 11516 see also r36274 [Feature #5206] 11517 11518Wed Jul 4 21:41:44 2012 Naohisa Goto <ngotogenome@gmail.com> 11519 11520 * gc.c, atomic.h (ATOMIC_SIZE_*): moved from gc.c to atomic.h 11521 [ruby-dev:45909] 11522 11523Wed Jul 4 19:13:15 2012 Masaki Suketa <masaki.suketa@nifty.ne.jp> 11524 11525 * test/win32ole/test_win32ole.rb (test_s_codepage_changed): 11526 FileSystemObject only supports ANSI or UTF-16LE encoding. 11527 Patch by h.shirosaki (Hiroshi Shirosaki) [ruby-trunk - Bug #6650] 11528 11529Wed Jul 4 11:52:12 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11530 11531 * gc.c (ATOMIC_SIZE_*): 64bit Windows support. 11532 11533Wed Jul 4 11:11:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11534 11535 * eval.c (rb_frame_callee, rb_f_callee_name): fix to return the 11536 called id. this longstanding bug has been caused and blocked by 11537 the structure of old rb_control_frame_t and rb_iseq_t. 11538 11539 * vm_insnhelper.c (vm_push_frame): set proper method entry. 11540 11541Wed Jul 4 08:29:31 2012 Eric Hodel <drbrain@segment7.net> 11542 11543 * array.c (rb_ary_aref): Updated documentation to indicate the 11544 starting index is an index into the array or string. Updated 11545 examples to show behavior of indexes at the end of an array or 11546 string. Based on patch by Marcus Stollsteimer. [Bug #6680] 11547 * array.c (rb_ary_aset): ditto. 11548 * string.c (rb_str_aref): ditto. Also added descriptive argument 11549 names to call-seq section. 11550 11551Wed Jul 4 07:05:59 2012 Eric Hodel <drbrain@segment7.net> 11552 11553 * test/zlib/test_zlib.rb (test_inflate_partial_input): Added test for 11554 inflating incomplete zlib streams. 11555 11556Tue Jul 3 23:14:16 2012 Naohisa Goto <ngotogenome@gmail.com> 11557 11558 * gc.c (ATOMIC_SIZE_EXCHANGE): fix function name on Solaris [Bug #6689] 11559 [ruby-dev:45904] 11560 11561Tue Jul 3 16:07:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11562 11563 * gc.c (vm_malloc_fixup, vm_xrealloc, vm_xfree, after_gc_sweep): use 11564 atomic operations to update malloc_params. 11565 11566Tue Jul 3 14:50:16 2012 Eric Hodel <drbrain@segment7.net> 11567 11568 * ext/zlib/zlib.c (zstream_run_func): Don't exit run loop for buffer 11569 error. [Feature #6615] 11570 * ext/zlib/zlib.c: Fix style to match existing functions. 11571 11572Tue Jul 3 12:05:51 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11573 11574 * ext/dl/cfunc.c (rb_dlcfunc_call): also needed the workaround for VC8 11575 for x64. [ruby-dev:45875] [Bug #6676] 11576 reported by aves_ramphastos (Seigo Ishigane) 11577 11578Tue Jul 3 11:56:46 2012 Eric Hodel <drbrain@segment7.net> 11579 11580 * ext/zlib/zlib.c (zstream_detach_buffer): Refactored tainting of 11581 output string, moving it from the callee to zstream_detach_buffer. 11582 * ext/zlib/zlib.c (rb_zstream_finish): ditto 11583 * ext/zlib/zlib.c (rb_zstream_flush_next_out): ditto 11584 * ext/zlib/zlib.c (rb_deflate_deflate): ditto 11585 * ext/zlib/zlib.c (rb_deflate_flush): ditto 11586 * ext/zlib/zlib.c (rb_inflate_inflate): ditto 11587 11588Tue Jul 3 11:16:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11589 11590 * common.mk (runnable): make symbolic links to run in build directory. 11591 11592Tue Jul 3 10:46:06 2012 NARUSE, Yui <naruse@ruby-lang.org> 11593 11594 * ruby.c (proc_options): warn if -K option is specified. [Feature #5206] 11595 11596Tue Jul 3 06:12:13 2012 Eric Hodel <drbrain@segment7.net> 11597 11598 * object.c (Init_Object): Added RDoc location pointers for 11599 Kernel#methods, Kernel#protected_methods, Kernel#private_methods and 11600 Kernel#public_methods. [Bug #6666] 11601 11602Tue Jul 3 06:02:54 2012 Eric Hodel <drbrain@segment7.net> 11603 11604 * ext/zlib/zlib.c (zstream_run): Process zlib streams without GVL. 11605 [Feature #6615] 11606 * NEWS: ditto. 11607 11608Mon Jul 2 22:13:04 2012 Tanaka Akira <akr@fsij.org> 11609 11610 * thread.c (rb_thread_aref): add explanation for why Thread#[] and 11611 Thread#[]= are fiber-local and not thread-local. 11612 reported by Julien A. [ruby-core:41606] [ruby-trunk - Bug #5750] 11613 11614Mon Jul 2 21:25:55 2012 Tanaka Akira <akr@fsij.org> 11615 11616 * time.c (timew_out_of_timet_range): specialization for 11617 SIZEOF_TIME_T == SIZEOF_INT64_T. 11618 11619Mon Jul 2 17:06:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11620 11621 * class.c (rb_include_module): include modules after the origin. 11622 11623 * class.c (include_modules_at): skip prepended modules. 11624 11625 * class.c (rb_prepend_module): now basic.klass in ICLASS refers the 11626 old original class/module. [ruby-dev:45868][Bug #6662] 11627 11628 * class.c (rb_mod_ancestors): ditto. 11629 11630 * vm_method.c (search_method): search method entry from the origin 11631 iclass. 11632 11633Mon Jul 2 05:54:58 2012 Tadayoshi Funaba <tadf@dotrb.org> 11634 11635 * ext/date/date_core.c: [ruby-core:46058]. 11636 11637Mon Jul 2 05:35:43 2012 Tadayoshi Funaba <tadf@dotrb.org> 11638 11639 * ext/date/date_core.c (d_lite_marshal_load): accepts old dump. 11640 11641Mon Jul 2 03:21:53 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 11642 11643 * README.EXT.ja: fixed args of have_struct_member() , 11644 create_makefile() same as r35977. however, mkmf.rb include 11645 no Japanese-docs, so Appendix C was not removed. [Bug #6597] 11646 11647Fri Jun 29 05:08:41 2012 NARUSE, Yui <naruse@ruby-lang.org> 11648 11649 * lib/test/unit/parallel.rb: workaround fix for rubygems. 11650 RubyGems can't find rake if the source directory is not equal to 11651 the directory which is running the test. [Bug #6604] 11652 11653Thu Jun 28 20:33:15 2012 Luis Lavena <luislavena@gmail.com> 11654 11655 * test/win32ole/test_win32ole.rb (test_s_codepage_changed): 11656 FileSystemObject only supports ANSI or UTF-16LE encoding. 11657 Patch by bosko (Bosko Ivanisevic) [ruby-trunk - Bug #6650] 11658 11659Thu Jun 28 09:27:09 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 11660 11661 * class.c (class_instance_method_list): consider prepended Class/Module 11662 when recur != 0. [ruby-dev:45863] [Bug #6660] 11663 11664 * test/ruby/test_module.rb (test_prepend_instance_methods_false): add 11665 a test for it. 11666 11667 11668Thu Jun 28 06:12:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11669 11670 * class.c (rb_mod_ancestors): fix ancestors order. 11671 [ruby-core:45919][Bug #6658] [ruby-dev:45861][Bug #6659] 11672 11673Wed Jun 27 21:28:59 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 11674 11675 * lib/racc/parser.rb: NotImplementError is not exist. 11676 11677 * lib/irb/output-method.rb (IRB::OutputMethod#print): ditto. 11678 11679Wed Jun 27 21:31:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11680 11681 * class.c (rb_prepend_module): ancestors of prepending module also 11682 should be included. [ruby-core:45914][Bug #6654] 11683 11684Wed Jun 27 21:01:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11685 11686 * class.c (class_instance_method_list): m_tbl in prepended 11687 class/module is NULL. [ruby-core:45915][Bug #6655] 11688 11689Wed Jun 27 16:48:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11690 11691 * class.c (rb_prepend_module): prepend module into another module. 11692 11693 * eval.c (rb_mod_prepend): new method Module#prepend. [Feature #1102] 11694 11695Wed Jun 27 09:15:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11696 11697 * io.c (is_popen_fork): check if fork and raise NotImplementedError if 11698 unavailable. 11699 11700 * io.c (rb_io_s_popen): allow environment variables hash and exec 11701 options as flat parameters, not in an array arguments. 11702 [Feature#6651] [EXPERIMENTAL] 11703 11704 * process.c (rb_execarg_extract_options): extract exec options, but no 11705 exceptions on non-exec options and returns them as a Hash. 11706 11707 * process.c (rb_execarg_setenv): set environment variables. 11708 11709Tue Jun 26 16:57:14 2012 Koichi Sasada <ko1@atdot.net> 11710 11711 * thread_pthread.c (register_cached_thread_and_wait): 11712 return immediately if malloc() failed. 11713 [ruby-core:43960] [ruby-trunk - Bug #6235] 11714 11715 * thread_pthread.c (USE_THREAD_CACHE): check already defined or not. 11716 11717Tue Jun 26 10:01:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11718 11719 * io.c (rb_io_s_popen): revert r36213 "popen: shell commands with 11720 envvar" because it disabled to let single command bypass shell. 11721 11722Mon Jun 25 17:49:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11723 11724 * class.c (rb_mix_module): revert Module#mix. 11725 11726Mon Jun 25 16:57:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11727 11728 * proc.c (rb_mod_define_method): allow method transplanting from a 11729 module to either class or module. [ruby-core:34267][Feature #4254] 11730 11731Mon Jun 25 11:34:45 2012 NAKAMURA Usaku <usa@ruby-lang.org> 11732 11733 * internal.h: use rb_pid_t instead of pid_t because of there is no 11734 definition of pid_t here on Windows. 11735 11736Mon Jun 25 00:25:01 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 11737 11738 * configure.in (for stack end address): remove human68k specific 11739 check. It is no longer supported. 11740 11741Sun Jun 24 23:02:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11742 11743 * io.c (pipe_open): merge win32 code using spawnv(). 11744 11745Sun Jun 24 22:53:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11746 11747 * process.c (check_exec_fds): separate check_exec_fds_1() since 11748 nonstatic initializer of an aggregate type is not allowed by C89. 11749 11750Sun Jun 24 07:47:17 2012 Tanaka Akira <akr@fsij.org> 11751 11752 * internal.h (rb_execarg): options field removed. 11753 11754 * process.c: follow the rb_execarg change. 11755 11756Sat Jun 23 23:48:21 2012 Tanaka Akira <akr@fsij.org> 11757 11758 * process.c (proc_spawn_cmd): unused variable removed to suppress a 11759 warning. 11760 (save_env): ditto. 11761 11762 [ruby-core:45797] reported by Luis Lavena. 11763 11764Sat Jun 23 23:19:31 2012 Tanaka Akira <akr@fsij.org> 11765 11766 * internal.h (rb_execarg): add new_pgroup_given and new_pgroup_flag 11767 fields. 11768 11769 * process.c (EXEC_OPTION_NEW_PGROUP): removed. 11770 (proc_spawn_cmd): take a struct rb_execarg argument. 11771 use the new fields. 11772 (rb_execarg_addopt): use the new fields. 11773 (rb_spawn_process): follow the proc_spawn_cmd change. 11774 11775 [ruby-core:45794] [ruby-trunk - Bug #6633] reported by Luis Lavena. 11776 11777Sat Jun 23 20:26:36 2012 Tanaka Akira <akr@fsij.org> 11778 11779 * internal.h (rb_execarg): add fd_dup2, fd_close, fd_open, 11780 fd_dup2_child fields. 11781 11782 * process.c (EXEC_OPTION_DUP2): removed. 11783 (EXEC_OPTION_CLOSE): removed. 11784 (EXEC_OPTION_OPEN): removed. 11785 (EXEC_OPTION_DUP2_CHILD): removed. 11786 (mark_exec_arg): mark the new fields. 11787 (check_exec_redirect1): change condition for default option. 11788 (check_exec_redirect): take a struct rb_execarg argument. 11789 use the new fields. 11790 (rb_execarg_addopt): follow the check_exec_redirect change. 11791 (check_exec_fds): use the new fields. 11792 (save_redirect_fd): ditto. 11793 11794Sat Jun 23 19:01:18 2012 Tanaka Akira <akr@fsij.org> 11795 11796 * process.c (rb_execarg_fixup): fix envopts condition. 11797 11798Sat Jun 23 18:44:13 2012 Tanaka Akira <akr@fsij.org> 11799 11800 * process.c (check_exec_redirect1): extracted from 11801 check_exec_redirect. 11802 11803Sat Jun 23 17:22:02 2012 Tanaka Akira <akr@fsij.org> 11804 11805 * process.c (save_env): don't use EXEC_OPTION_UNSETENV_OTHERS. 11806 (rb_execarg_run_options): ditto. 11807 11808Sat Jun 23 17:04:08 2012 Tanaka Akira <akr@fsij.org> 11809 11810 * internal.h (rb_execarg): add env_modification field. 11811 11812 * process.c (EXEC_OPTION_ENV): removed. 11813 (mark_exec_arg): mark env_modification field. 11814 (rb_exec_fillarg): update the new field, instead of options array. 11815 (rb_execarg_fixup): use the new field. 11816 (save_env): ditto. 11817 (rb_execarg_run_options): ditto. 11818 11819Sat Jun 23 16:27:01 2012 Tanaka Akira <akr@fsij.org> 11820 11821 * internal.h (rb_execarg): add rlimit_limits field. 11822 11823 * process.c (EXEC_OPTION_RLIMIT): removed. 11824 (mark_exec_arg): mark rlimit_limits field. 11825 (rb_execarg_addopt): update the new fields, instead of options array. 11826 (run_exec_rlimit): use the new field. 11827 (rb_execarg_run_options): clear sarg using MEMZERO. use the new 11828 field. 11829 11830Sat Jun 23 14:29:25 2012 Tanaka Akira <akr@fsij.org> 11831 11832 * internal.h (rb_execarg): add chdir_given and chdir_dir fields. 11833 11834 * process.c (EXEC_OPTION_CHDIR): removed. 11835 (mark_exec_arg): mark chdir_dir field. 11836 (rb_execarg_addopt): update the new fields, instead of options array. 11837 (rb_execarg_run_options): use the new fields. 11838 11839Sat Jun 23 13:20:47 2012 Tanaka Akira <akr@fsij.org> 11840 11841 * internal.h (rb_execarg): add close_others_given, close_others_do and 11842 close_others_maxhint fields. 11843 11844 * process.c (EXEC_OPTION_CLOSE_OTHERS): removed. 11845 (rb_execarg_addopt): update the new fields, instead of options array. 11846 (check_exec_fds): take eargp as an argument. update the 11847 close_others_maxhint field. 11848 (rb_execarg_fixup): follow the argument change of check_exec_fds. 11849 (rb_execarg_run_options): use the new fields. 11850 11851Sat Jun 23 10:41:59 2012 Tanaka Akira <akr@fsij.org> 11852 11853 * internal.h (rb_execarg): add unsetenv_others_given and 11854 unsetenv_others_do fields. 11855 11856 * process.c (EXEC_OPTION_UNSETENV_OTHERS): removed. 11857 (rb_execarg_addopt): update the new fields, instead of options array. 11858 (rb_execarg_fixup): use the new fields. 11859 11860Sat Jun 23 09:35:47 2012 Tanaka Akira <akr@fsij.org> 11861 11862 * process.c: use the variable name "soptions" for sargp->options. 11863 11864Sat Jun 23 09:17:49 2012 Tanaka Akira <akr@fsij.org> 11865 11866 * process.c: use the name "sargp" for struct rb_execarg variables 11867 consistently for saving process attributes. 11868 11869 * io.c: ditto. 11870 11871Sat Jun 23 07:59:57 2012 Tanaka Akira <akr@fsij.org> 11872 11873 * process.c: use the name "eargp" for struct rb_execarg variables 11874 consistently except for saving process attributes. 11875 11876 * io.c: ditto. 11877 11878 * ext/pty/pty.c: ditto. 11879 11880Wed Jun 20 18:27:03 2012 Yuki Yugui Sonoda <yugui@google.com> 11881 11882 * common.mk: Add missing dependencies. 11883 11884Fri Jun 22 20:27:39 2012 Tanaka Akira <akr@fsij.org> 11885 11886 * internal.h (rb_execarg): add pgroup_given and pgroup_pgid fields. 11887 11888 * process.c (EXEC_OPTION_PGROUP): removed. 11889 (rb_execarg_addopt): update the new fields, instead of options array. 11890 (run_exec_pgroup): take a struct rb_execarg argument. refer the new 11891 fields. 11892 (rb_execarg_run_options): follow run_exec_pgroup change. 11893 11894Fri Jun 22 18:48:51 2012 Kouhei Sutou <kou@cozmixng.org> 11895 11896 * README.EXT, README.EXT.ja: use "sval" for the third argument 11897 name of Data_Wrap_Struct(). 11898 Suggested by @satoh_fumiyasu. Thanks!!! 11899 11900Fri Jun 22 18:04:26 2012 Koichi Sasada <ko1@atdot.net> 11901 11902 * iseq.c, vm_eval.c: set th->base_block properly. 11903 th->base_block is information for (a) parsing, (b) compiling 11904 and (c) setting up the frame to execute the program passed by 11905 `eval' method. For example, (1) parser need to know up-level 11906 variables to detect it is variable or method without paren. 11907 Befor (a), (b) and (c), VM set th->base_block by passed bindng 11908 (or previous frame information). After execute (a), (b) and (c), 11909 VM should clear th->base_block. However, if (a), (b) or (c) 11910 raises an exception, then th->base_block is not cleared. 11911 Problem is that the uncleared value th->balo_block is used for 11912 irrelevant iseq compilation. It causes SEGV or critical error. 11913 I tried to solve this problem: to clear them before exception, 11914 but finally I found out that it is difficult to do it (Ruby 11915 program can be run in many places). 11916 Because of this background, I set th->base_block before 11917 compiling iseq and restore it after compiling. 11918 Basically, th->base_block is dirty hack (similar to global 11919 variable) and this patch is also dirty. 11920 11921 * bootstraptest/test_eval.rb: add a test for above. 11922 11923 * internal.h: remove unused decl. 11924 11925 * iseq.c (rb_iseq_compile_with_option): add base_block parameter. 11926 set th->base_block before compilation and restore it after 11927 compilation. 11928 11929 * ruby.c (require_libraries): pass 0 as base_block instead of 11930 setting th->base_block 11931 11932 * tool/compile_prelude.rb (prelude_eval): apply above changes. 11933 11934 * vm.c, vm_eval.c: ditto. 11935 11936 * vm_core.h: add comments. 11937 11938Fri Jun 22 18:19:38 2012 Tanaka Akira <akr@fsij.org> 11939 11940 * process.c: pass struct rb_execarg value instead of its options 11941 field for saving process attribute changing functions. 11942 (save_redirect_fd): take a struct rb_execarg argument. 11943 (run_exec_dup2): ditto. 11944 (run_exec_close): ditto. 11945 (run_exec_open): ditto. 11946 (run_exec_dup2_child): ditto. 11947 (run_exec_pgroup): ditto. 11948 (run_exec_rlimit): ditto. 11949 (save_env): ditto. 11950 (rb_execarg_run_options): follow the above functions change. 11951 11952Fri Jun 22 17:55:48 2012 Koichi Sasada <ko1@atdot.net> 11953 11954 * test/ruby/test_backtrace.rb: decrease recursion depth 11955 to reduce consuming stack size. 11956 11957Fri Jun 22 13:36:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11958 11959 * random.c (random_init, random_load): cannot initialize frozen object 11960 again, nor with tainted/untrusted object. [Bug #6540] 11961 11962Fri Jun 22 13:32:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 11963 11964 * error.c (rb_check_copyable): new function, to ensure the target is 11965 not frozen and the source is not tainted nor untrusted. 11966 11967Fri Jun 22 05:55:20 2012 Eric Hodel <drbrain@segment7.net> 11968 11969 * eval.c (ruby_cleanup): Fixed typo. Patch by Trever Dawe. 11970 Fixes #131 (github). [ruby-trunk - Bug #6619] 11971 11972Thu Jun 21 21:16:58 2012 Tanaka Akira <akr@fsij.org> 11973 11974 * process.c (rb_execarg_addopt): take a VALUE argument instead of 11975 struct rb_execarg. 11976 (rb_exec_arg_addopt): follow the rb_execarg_addopt change. 11977 (check_exec_options_i): ditto. 11978 11979 * io.c (pipe_open): follow the rb_execarg_addopt change. 11980 11981 * internal.h (rb_execarg_addopt): follow the definition change. 11982 11983Thu Jun 21 20:34:19 2012 Tanaka Akira <akr@fsij.org> 11984 11985 * process.c (rb_exec_fillarg): take a VALUE argument instead of 11986 struct rb_execarg. 11987 (rb_check_exec_options): ditto. 11988 (check_exec_options_i): ditto. 11989 11990Thu Jun 21 19:48:05 2012 Tanaka Akira <akr@fsij.org> 11991 11992 * process.c (rb_exec_async_signal_safe): use rb_execarg_run_options 11993 instead of rb_run_exec_options_err. 11994 (rb_spawn_process): ditto. 11995 11996Thu Jun 21 19:02:43 2012 Tanaka Akira <akr@fsij.org> 11997 11998 * process.c (rb_exec_fillarg): take a VALUE argument instead of 11999 struct rb_execarg. 12000 (rb_execarg_init): follow the rb_exec_fillarg change. 12001 12002Thu Jun 21 18:36:43 2012 Tanaka Akira <akr@fsij.org> 12003 12004 * process.c (rb_execarg_init): take a VALUE argument instead of 12005 struct rb_execarg. 12006 (rb_execarg_new): follow the rb_execarg_init change. 12007 (rb_exec_arg_init): ditto. 12008 12009 * internal.h (rb_execarg_init): follow the definition change. 12010 12011Thu Jun 21 17:20:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12012 12013 * parse.y (new_args_tail_gen): fix GC problem of keyword rest 12014 argument. the wrapped struct should be bound to the wrapping node 12015 before assignment of child nodes, to get rid of the case the 12016 children are referred by only the struct pointer which is not a 12017 subject of GC. [ruby-core:45744] 12018 12019Thu Jun 21 07:06:52 2012 Koichi Sasada <ko1@atdot.net> 12020 12021 * error.c (err_append): rename err_append() to compile_err_append() 12022 and move definition body. err_append() is used only by compiling. 12023 12024Thu Jun 21 06:21:54 2012 Tanaka Akira <akr@fsij.org> 12025 12026 * process.c (rb_execarg_fixup): take a VALUE argument instead of 12027 struct rb_execarg. 12028 12029 * internal.h (rb_execarg_fixup): follow the definition change. 12030 12031 * io.c (pipe_open): follow rb_execarg_fixup change. 12032 12033 * ext/pty/pty.c (establishShell): ditto. 12034 12035Wed Jun 20 21:25:37 2012 Tanaka Akira <akr@fsij.org> 12036 12037 * internal.h (struct rb_execarg): add umask_given and umask_mask 12038 fields. 12039 12040 * process.c (STATIC_ASSERT): removed. 12041 (rb_execarg_addopt): follow the rb_execarg change. 12042 (rb_execarg_run_options): ditto. 12043 12044Wed Jun 20 20:38:23 2012 Tanaka Akira <akr@fsij.org> 12045 12046 * internal.h (struct rb_execarg) moved and renamed from 12047 struct rb_exec_arg in intern.h. 12048 12049 * include/ruby/intern.h (struct rb_exec_arg): refer Data object which 12050 contains struct rb_execarg. 12051 12052 * process.c: use struct rb_execarg instead of struct rb_exec_arg 12053 except functions declared in intern.h. 12054 (rb_exec_arg_addopt): extract a pointer to struct rb_execarg from 12055 struct rb_exec_arg. 12056 (rb_exec_arg_init): ditto. 12057 (rb_exec_arg_fixup): ditto. 12058 (rb_run_exec_options_err): ditto. 12059 (rb_run_exec_options): ditto. 12060 (rb_exec_err): ditto. 12061 (rb_exec): ditto. 12062 12063 * io.c: use struct rb_execarg instead of struct rb_exec_arg. 12064 12065 * ext/pty/pty.c: ditto. 12066 12067Wed Jun 20 19:13:25 2012 Tanaka Akira <akr@fsij.org> 12068 12069 * internal.h (rb_execarg_new): declared. 12070 (rb_execarg_get): ditto. 12071 12072 * process.c (mark_exec_arg): new function. 12073 (free_exec_arg): ditto. 12074 (memsize_exec_arg): ditto. 12075 (exec_arg_data_type): defined. 12076 (rb_execarg_new): new function. 12077 (rb_execarg_get): ditto. 12078 (rb_f_exec): use rb_execarg_new. 12079 (rb_spawn_internal): ditto. 12080 (rb_f_spawn): ditto. 12081 12082 * io.c (pipe_open_v): use rb_execarg_new. 12083 (pipe_open_s): ditto. 12084 12085 * ext/pty/pty.c (establishShell): use rb_execarg_new. 12086 12087Wed Jun 20 16:36:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12088 12089 * missing/setproctitle.c (environ): use (*_NSGetEnviron()) instead of 12090 environ on Darwin for namespace cleanness, same as [ruby-core:00537]. 12091 [ruby-core:45615] [Bug #6576] 12092 12093Wed Jun 20 11:33:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12094 12095 * process.c (rb_execarg_addopt): always make Fixnum, and ignore higher 12096 bits in too large umask value. 12097 12098Wed Jun 20 11:24:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12099 12100 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): deal with 12101 sudden-death of workers. 12102 12103Mon Jun 18 20:34:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 12104 12105 * time.c (init_leap_second_info): fix non-ANSI function declaration. 12106 12107Mon Jun 18 20:29:04 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 12108 12109 * ruby.c (rb_f_sub): use ansi style declaration. 12110 * ruby.c (rb_f_gsub): ditto. 12111 * ruby.c (rb_f_chomp): ditto. 12112 12113Mon Jun 18 20:26:23 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 12114 12115 * random.c (rb_random_int32): get rid of "warning: constant 0x100000000 12116 is so big it is long" warning. 12117 12118Mon Jun 18 20:07:23 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 12119 12120 * dir.c (dir_initialize): get rid of "unused return: argc = rb_scan_args()" 12121 warning. 12122 12123Mon Jun 18 19:31:20 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 12124 12125 * include/ruby/missing.h: include math.h before checking INFINITY 12126 and NAN. Otherwise, strange macro redefinition will occur. 12127 12128Mon Jun 18 19:12:37 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 12129 12130 * array.c (ary_reverse): use ansi style declaration. 12131 12132Tue Jun 19 18:43:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12133 12134 * include/ruby/backward/rubysig.h: fix visibility. [Bug #6607] 12135 12136Tue Jun 19 17:51:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12137 12138 * process.c (rb_execarg_run_options): do not call any methods in the 12139 async-signal-safe function. mask has been checked with NUM2MODET() 12140 already and converted with LONG2NUM(). 12141 12142Tue Jun 19 11:59:56 2012 NARUSE, Yui <naruse@ruby-lang.org> 12143 12144 * ext/readline/readline.c (Init_readline): don't set 0 to 12145 rl_catch_signals and rl_catch_sigwinch. [Bug #5423] 12146 12147Tue Jun 19 11:52:59 2012 NARUSE, Yui <naruse@ruby-lang.org> 12148 12149 * ext/readline/readline.c (readline_s_get_special_prefixes): suppress 12150 warning: uninitialized instance variable. 12151 12152Tue Jun 19 11:43:16 2012 NARUSE, Yui <naruse@ruby-lang.org> 12153 12154 * ext/readline/readline.c (readline_getc): fix editline compatibility 12155 broken by r36123. [Bug #6601] 12156 12157Mon Jun 18 17:10:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12158 12159 * string.c (rb_str_subpos): split from rb_str_substr. returns 12160 adjusted position for substring. 12161 12162Mon Jun 18 10:42:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12163 12164 * ext/readline/readline.c (readline_getc): deal with ESC just followed 12165 by ASCII as meta prefix in incremental search mode. based on the 12166 patch from rctay (Tay Ray Chuan) at [ruby-core:45682]. [Bug #6601] 12167 12168Sun Jun 17 22:23:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12169 12170 * dir.c (rb_file_directory_p): move documentation for Dir.exist? from 12171 file.c so that the proper description will be shown instead of the 12172 documentation of File.directory?. [ruby-core:45685] 12173 12174Sun Jun 17 16:21:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12175 12176 * thread_win32.h (rb_thread_lock_t): make a union for USE_WIN32_MUTEX. 12177 this internal is used only in thread_win32.c, but has to be complete 12178 to define rb_thread_t. 12179 12180 * thread_win32.c (native_mutex_lock, native_mutex_destroy): fix for 12181 USE_WIN32_MUTEX. 12182 12183 * thread_win32.c (native_cond_timedwait_ms): rename reserved pattern 12184 name. user defined symbols should not start with __. 12185 12186Sat Jun 16 19:24:01 2012 Tadayoshi Funaba <tadf@dotrb.org> 12187 12188 * ext/date/date_core.c: define date_sg_t. 12189 12190Sat Jun 16 18:46:57 2012 Tadayoshi Funaba <tadf@dotrb.org> 12191 12192 * ext/date/date_tmx.h: offset in struct tmx_funcs is now int. 12193 * ext/date/date_strftime.c: ditto. 12194 * ext/date/date_core.c: ditto. 12195 12196Sat Jun 16 18:31:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12197 12198 * eval.c (ruby_setup): set running state in the normal case before 12199 popping a tag. 12200 12201Sat Jun 16 07:46:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12202 12203 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): format workers 12204 results in the parent. 12205 12206Sat Jun 16 07:12:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12207 12208 * tool/runruby.rb (File.realpath): return real path of expanded path. 12209 [Bug #6598] 12210 12211Sat Jun 16 07:12:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12212 12213 * bootstraptest/runner.rb (main): ignore -j option for compatibility 12214 with test/unit. 12215 12216Sat Jun 16 07:11:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12217 12218 * lib/test/unit.rb (Test::Unit::Runner#puke): modify only result and 12219 drop useless reports, not override entirely. 12220 12221 * lib/test/unit/parallel.rb (Test::Unit::Worker#_run_suite): report 12222 unformatted results. formatting messages is not a workers task. 12223 12224 * lib/test/unit/parallel.rb (Test::Unit::Worker#puke): store raw 12225 results. 12226 12227Sat Jun 16 01:27:14 2012 Aaron Patterson <aaron@tenderlovemaking.com> 12228 12229 * ext/psych/lib/psych.rb: bumping psych to 1.3.3 12230 * ext/psych/psych.gemspec: ditto 12231 12232Fri Jun 15 20:54:28 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 12233 12234 * vm_backtrace.c (backtrace_collect): rename from backtreace_collect. 12235 12236Fri Jun 15 19:22:13 2012 Koichi Sasada <ko1@atdot.net> 12237 12238 * vm_core.h: remove VM_FRAME_MAGIC_FINISH (finish frame type). 12239 Before this commit: 12240 `finish frame' was place holder which indicates that VM loop 12241 needs to return function. 12242 If a C method calls a Ruby methods (a method written by Ruby), 12243 then VM loop will be (re-)invoked. When the Ruby method returns, 12244 then also VM loop should be escaped. `finish frame' has only 12245 one instruction `finish', which returns VM loop function. 12246 VM loop function executes `finish' instruction, then VM loop 12247 function returns itself. 12248 With such mechanism, `leave' instruction (which returns one 12249 frame from current scope) doesn't need to check that this `leave' 12250 should also return from VM loop function. 12251 Strictly, one branch can be removed from `leave' instruction. 12252 Consideration: 12253 However, pushing the `finish frame' needs costs because 12254 it needs several memory accesses. The number of pushing 12255 `finish frame' is greater than I had assumed. Of course, 12256 pushing `finish frame' consumes additional control frame. 12257 Moreover, recent processors has good branch prediction, 12258 with which we can ignore such trivial checking. 12259 After this commit: 12260 Finally, I decide to remove `finish frame' and `finish' 12261 instruction. Some parts of VM depend on `finish frame', 12262 so the new frame flag VM_FRAME_FLAG_FINISH is introduced. 12263 If this frame should escape from VM function loop, then 12264 the result of VM_FRAME_TYPE_FINISH_P(cfp) is true. 12265 `leave' instruction checks this flag every time. 12266 I measured performance on it. However on my environments, 12267 it improves some benchmarks and slows some benchmarks down. 12268 Maybe it is because of C compiler optimization parameters. 12269 I'll re-visit here if this cause problems. 12270 12271 * insns.def (leave, finish): remove finish instruction. 12272 12273 * vm.c, vm_eval.c, vm_exec.c, vm_backtrace.c, vm_dump.c: 12274 apply above changes. 12275 12276Fri Jun 15 19:11:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12277 12278 * lib/test/unit.rb (Test::Unit::Runner#puke): always add skipped 12279 results to the report for parallel test. [Bug #6595] 12280 12281Fri Jun 15 09:01:35 2012 Yuki Yugui Sonoda <yugui@google.com> 12282 12283 * nacl/pepper_main.c: Removed an unnecessary and erroneous inclusion. 12284 12285Thu Jun 14 22:59:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12286 12287 * configure.in (RUBY_CPPOUTFILE): check if output is really sent to 12288 specified file to tell if -o option works. [ruby-dev:45742] 12289 [Bug#6591] 12290 12291 * configure.in (RUBY_CPPOUTFILE): check if output file is actually 12292 created. [ruby-dev:45742] [Bug#6591] 12293 12294Thu Jun 14 22:10:50 2012 Tanaka Akira <akr@fsij.org> 12295 12296 * process.c (proc_exec_sh): don't strip leading spaces of the script. 12297 12298Thu Jun 14 15:54:02 2012 NAKAMURA Usaku <usa@ruby-lang.org> 12299 12300 * file.c (rb_file_s_basename, rb_file_s_dirname): documentation fix. 12301 File.basename and File.dirname support File::ALT_SEPARATOR. 12302 12303Thu Jun 14 11:10:10 2012 Yuki Yugui Sonoda <yugui@google.com> 12304 12305 * nacl/pepper_main.c: Applies the new embedding API to pepper_ruby. 12306 12307Thu Jun 14 10:44:41 2012 Yuki Yugui Sonoda <yugui@google.com> 12308 12309 * include/ruby/ruby.h: Grouped APIs for embedding CRuby interpreter. 12310 (ruby_setup, ruby_compile_main_from_file, 12311 ruby_compile_main_from_string, ruby_eval_main, 12312 ruby_set_script_name): new APIs to embed CRuby. 12313 (ruby_opaque_t) Opaque pointer to an internal data, to NODE or iseq 12314 in particular. 12315 12316 * eval.c (ruby_setup): Similar to ruby_init but returns an error code 12317 instead of exit(3) on error. 12318 (ruby_eval_main): Similar to ruby_exec_node but returns the 12319 evaluation result. 12320 (ruby_eval_main_internal): renamed from ruby_exec_internal. 12321 12322 * ruby.c (toplevel_context): new helper function. 12323 (PREPARE_EVAL_MAIN): moved. 12324 (process_options): refactored with new functions. 12325 (parse_and_compile_main) new helper function. 12326 (ruby_compile_main_from_file, ruby_compile_main_from_string) new API 12327 (ruby_set_script_name): new API. 12328 12329 12330Thu Jun 14 10:39:48 2012 Yuki Yugui Sonoda <yugui@google.com> 12331 12332 * eval.c: Add doxygen comments. 12333 12334 * ruby.c: ditto. 12335 12336 * thread_pthread.c: ditto 12337 12338 * version.c: ditto. 12339 12340 * vm_core.h: ditto. 12341 12342Thu Jun 14 10:16:07 2012 NARUSE, Yui <naruse@ruby-lang.org> 12343 12344 * configure.in: revert r36071 and add NetBSD to blacklist of -ansi. 12345 12346Thu Jun 14 07:59:12 2012 NARUSE, Yui <naruse@ruby-lang.org> 12347 12348 * thread_pthread.c (get_stack): Linux is the only OS which includes 12349 the size of guard page into the stack size. 12350 12351Thu Jun 14 06:21:00 2012 Eric Hodel <drbrain@segment7.net> 12352 12353 * lib/drb/drb.rb: Replace broken links to the English DRb book. 12354 Patch by Zachary Scott. [ruby-trunk - Bug #6544] 12355 12356Thu Jun 14 06:17:47 2012 Eric Hodel <drbrain@segment7.net> 12357 12358 * lib/observer.rb: Update broken link to the Programming Ruby book. 12359 Patch by Zachary Scott. [ruby-trunk - Bug #6536] 12360 * lib/drb/drb.rb: ditto. 12361 12362Thu Jun 14 05:23:05 2012 NARUSE, Yui <naruse@ruby-lang.org> 12363 12364 * regparse.c (PFETCH_READY): suppress Wunused-but-set-variable. 12365 12366 * regparse.c (is_onechar_cclass): restructured to clarify that c is 12367 used iff found == 1. 12368 12369Thu Jun 14 02:54:17 2012 NARUSE, Yui <naruse@ruby-lang.org> 12370 12371 * configure.in: use -fbuiltin with -ansi -std=iso9899:199409. 12372 This prevents errors introduced by disabling builtin functions, 12373 which is the sub-effect of -ansi/-std. 12374 Now NetBSD can use -ansi -std=iso9899:199409. 12375 Maybe mingw, cygwin and darwin can also. 12376 12377Thu Jun 14 02:53:30 2012 NARUSE, Yui <naruse@ruby-lang.org> 12378 12379 * Makefile.in: don't remove macros. now name2ctype uses macros. 12380 12381 * tool/enc-unicode.rb: add comment why it uses Hash#index. 12382 12383 * enc/unicode/{name2ctype.kwd,name2ctype.src,name2ctype.h.blt}: 12384 update to follow the current name2ctype.h. 12385 FYI current Unicode version is 6.1. 12386 12387Thu Jun 14 00:16:59 2012 Akinori MUSHA <knu@iDaemons.org> 12388 12389 * lib/net/http/responses.rb, lib/webrick/httpstatus.rb: Add HTTP 12390 response codes added in RFCs 2817 and 4918. [ruby-core:45547] 12391 [Feature #6569] 12392 12393 * lib/net/http/responses.rb: Rename Net::HTTPMultipleChoice to 12394 Net::HTTPMultipleChoices, leaving the former as alias to the 12395 latter for backward compatibility. [ruby-core:45547] 12396 [Feature #6569] 12397 12398 * lib/net/http/responses.rb: Add comments about unused, 12399 still-in-draft and private extension response codes. 12400 [ruby-core:45547] [Feature #6569] 12401 12402Wed Jun 13 22:44:32 2012 Naohisa Goto <ngotogenome@gmail.com> 12403 12404 * test/dl/test_func.rb (test_qsort1, test_qsort2): use TYPE_SIZE_T 12405 for size_t variables. [ruby-dev:45733] [Bug #6584] 12406 12407Wed Jun 13 22:18:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12408 12409 * configure.in: remove -ansi and -std options for lgamma_r() and 12410 finite(). 12411 12412Wed Jun 13 21:46:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12413 12414 * configure.in: cygwin does not provide some declarations in strict 12415 ANSI mode. 12416 12417Wed Jun 13 20:19:59 2012 Tanaka Akira <akr@fsij.org> 12418 12419 * process.c (rb_fork_internal): move a variable declaration. 12420 12421Wed Jun 13 17:54:38 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 12422 12423 * regparse.c (PFETCH_READY): this line was to suppress warning, 12424 but did emit warnings if -Wuninitialized was set. Assigning 12425 NULL instead if pfetch_prev should suffice the situation. 12426 12427Wed Jun 13 17:51:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12428 12429 * configure.in: cygwin needs C99 for some stuff, e.g., 12430 pthread_attr_setstacksize, sched_yield. 12431 12432Wed Jun 13 17:50:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12433 12434 * Makefile.in (.c.i): add warnflags to make the result consistent with 12435 compilation. 12436 12437Wed Jun 13 15:12:07 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 12438 12439 * configure.in: On Windows platforms, system provided headers are 12440 VC++ optimized. That is, C++ habits are often contaminated into 12441 various headers. Most frequent situation is the use of // 12442 comments. We bypass ANSI C mode for them. Otherwise extension 12443 libs cannot include those headers. 12444 12445Wed Jun 13 13:39:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12446 12447 * include/ruby/win32.h: get rid of C99 style one line comments. 12448 12449Wed Jun 13 13:39:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12450 12451 * encoding.c (enc_alias_internal): use strdup defined as macro. 12452 12453Wed Jun 13 10:20:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12454 12455 * process.c (rb_exec_fillarg): get rid of SIZE_T_MAX which may need 12456 more headers. 12457 12458 * process.c (rb_exec_fillarg): fix array element size. "continue" and 12459 "readonly" exceeded the size. 12460 12461 * process.c (rb_exec_fillarg): use shell if the first word is reserved 12462 or special built-in name. 12463 http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html 12464 12465 * process.c (rb_exec_fillarg): treat '=' only in the first word. if 12466 the first word does not contain '=', it is the command name and 12467 environment assignments cannot be anymore. 12468 12469Tue Jun 12 23:45:36 2012 NARUSE, Yui <naruse@ruby-lang.org> 12470 12471 * lib/mkmf.rb: add dummy clean-static target to prevent errors for the 12472 case real clean-static target doesn't exist. 12473 12474Tue Jun 12 22:49:42 2012 Naohisa Goto <ngotogenome@gmail.com> 12475 12476 * process.c (rb_exec_arg_fixup): fix compile error 12477 12478Tue Jun 12 21:40:13 2012 Tanaka Akira <akr@fsij.org> 12479 12480 * process.c (rb_exec_fillarg): treat '=' character as a meta 12481 character to detect assignments preceding command name. 12482 12483Tue Jun 12 20:29:19 2012 Tanaka Akira <akr@fsij.org> 12484 12485 * include/ruby/intern.h (rb_exec_arg_init): deprecated. 12486 (rb_exec_arg_addopt): ditto. 12487 (rb_exec_arg_fixup): ditto. 12488 (rb_run_exec_options): ditto. 12489 (rb_run_exec_options_err): ditto. 12490 12491 * internal.h (rb_execarg_init): declared. 12492 (rb_execarg_addopt): ditto. 12493 (rb_execarg_fixup): ditto. 12494 (rb_execarg_run_options): ditto. 12495 12496 * process.c: call rb_execarg_addopt, rb_execarg_fixup, 12497 rb_execarg_run_options, rb_execarg_init. 12498 (rb_execarg_addopt): renamed from rb_exec_arg_addopt. 12499 (rb_exec_arg_addopt): stub to call rb_execarg_addopt. 12500 (rb_execarg_init): renamed from rb_exec_arg_init. 12501 (rb_exec_arg_init): stub to call rb_execarg_init. 12502 (rb_execarg_fixup): renamed from rb_exec_arg_fixup. 12503 (rb_exec_arg_fixup): stub to call rb_execarg_fixup. 12504 (rb_execarg_run_options): renamed from rb_run_exec_options_err. 12505 (rb_run_exec_options_err): stub to call rb_execarg_run_options. 12506 (rb_run_exec_options): call rb_execarg_run_options. 12507 12508 * io.c: call rb_execarg_addopt, rb_execarg_fixup, 12509 rb_execarg_run_options, rb_execarg_init. 12510 12511 * ext/pty/pty.c (establishShell): call rb_execarg_init and 12512 rb_execarg_fixup. 12513 12514Tue Jun 12 18:39:59 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 12515 12516 * configure.in: enable strict ANSI mode by default in case of GCC, 12517 requested by _ko1. 12518 12519Tue Jun 12 06:40:23 2012 Tanaka Akira <akr@fsij.org> 12520 12521 * process.c (rb_exec_fillarg): detect '#' as a meta character. 12522 12523Mon Jun 11 22:15:44 2012 Tanaka Akira <akr@fsij.org> 12524 12525 * include/ruby/intern.h (rb_proc_exec_n): deprecated. 12526 (rb_exec): ditto. 12527 (rb_exec_err): ditto. 12528 (rb_fork): ditto. 12529 (rb_fork_err): ditto. 12530 12531Mon Jun 11 18:49:52 2012 NARUSE, Yui <naruse@ruby-lang.org> 12532 12533 * configure.in: on checking libexecinfo, don't specify /use/local. 12534 On FreeBSD people must specify --with-opt-dir or --with-execinfo-dir. 12535 12536Mon Jun 11 12:14:37 2012 Koichi Sasada <ko1@atdot.net> 12537 12538 * vm_core.h: remove lfp (local frame pointer) and rename 12539 dfp (dynamic frame pointer) to ep (environment pointer). 12540 This change make VM `normal' (similar to other interpreters). 12541 Before this commit: 12542 Each frame has two env pointers lfp and dfp. lfp points 12543 local environment which is method/class/toplevel frame. 12544 lfp[0] is block pointer. 12545 dfp is block local frame. dfp[0] points previous (parent) 12546 environment pointer. 12547 lfp == dfp when frame is method/class/toplevel. 12548 You can get lfp from dfp by traversing previous environment 12549 pointers. 12550 After this commit: 12551 Each frame has only `ep' to point respective environment. 12552 If there is parent environment, then ep[0] points parent 12553 environment (as dfp). If there are no more environment, 12554 then ep[0] points block pointer (as lfp). We call such ep 12555 as `LEP' (local EP). We add some macros to get LEP and to 12556 detect LEP or not. 12557 In short, we replace dfp and lfp with ep and LEP. 12558 rb_block_t and rb_binding_t member `lfp' and `dfp' are removed 12559 and member `ep' is added. 12560 rename rb_thread_t's member `local_lfp' and `local_svar' to 12561 `root_lep' and `root_svar'. 12562 (VM_EP_PREV_EP(ep)): get previous environment pointer. This macro 12563 assume that ep is not LEP. 12564 (VM_EP_BLOCK_PTR(ep)): get block pointer. This macro assume 12565 that ep is LEP. 12566 (VM_EP_LEP_P(ep)): detect ep is LEP or not. 12567 (VM_ENVVAL_BLOCK_PTR(ptr)): make block pointer. 12568 (VM_ENVVAL_BLOCK_PTR_P(v)): detect v is block pointer. 12569 (VM_ENVVAL_PREV_EP_PTR(ptr)): make prev environment pointer. 12570 (VM_ENVVAL_PREV_EP_PTR_P(v)): detect v is prev env pointer. 12571 12572 * vm.c: apply above changes. 12573 (VM_EP_LEP(ep)): get LEP. 12574 (VM_CF_LEP(cfp)): get LEP of cfp->ep. 12575 (VM_CF_PREV_EP(cfp)): utility function VM_EP_PREV_EP(cfp->ep). 12576 (VM_CF_BLOCK_PTR(cfp)): utility function VM_EP_BLOCK_PTR(cfp->ep). 12577 12578 * vm.c, vm_eval.c, vm_insnhelper.c, vm_insnhelper.h, insns.def: 12579 apply above changes. 12580 12581 * cont.c: ditto. 12582 12583 * eval.c, eval_intern.h: ditto. 12584 12585 * proc.c: ditto. 12586 12587 * thread.c: ditto. 12588 12589 * vm_dump.c: ditto. 12590 12591 * vm_exec.h: fix function name (on vm debug mode). 12592 12593Mon Jun 11 11:52:18 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 12594 12595 * compile.c (iseq_set_sequence): nonstatic initializer of an 12596 aggregate type is a C99ism. 12597 12598 * compile.c (enum compile_array_type_t): comma at the end of enum 12599 list is a C99ism. 12600 12601 * vm_backtrace.c (enum LOCATION_TYPE): ditto. 12602 12603Mon Jun 11 06:31:33 2012 Tanaka Akira <akr@fsij.org> 12604 12605 * process.c (rb_proc_exec_n): revert the function removed at r35889. 12606 12607Mon Jun 11 06:20:50 2012 NARUSE, Yui <naruse@ruby-lang.org> 12608 12609 * thread_pthread.c (rb_thread_create_timer_thread): assign return 12610 value to the variable err. 12611 12612Mon Jun 11 06:17:06 2012 NARUSE, Yui <naruse@ruby-lang.org> 12613 12614 * thread_pthread.c (native_cond_initialize): fix typo in r36022. 12615 this cause a failure on FreeBSD 8.2 amd64. 12616 http://fbsd.rubyci.org/~chkbuild/ruby-trunk/log/20120610T130201Z.diff.html.gz 12617 12618Mon Jun 11 05:21:57 2012 Koichi Sasada <ko1@atdot.net> 12619 12620 * .gdbinit (SDR): add SDR function. It's only for VM debugging. 12621 12622Sun Jun 10 21:50:45 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp> 12623 12624 * nacl/nacl_config.rb: Fixed for 32bit hosts. 12625 12626Sun Jun 10 20:23:14 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp> 12627 12628 Fixes threading on NativeClient. 12629 12630 * thread_pthread.c (timer_thread_sleep): Extracted out a function from 12631 thread_timer(). Added an alternative implementation for platforms 12632 that lacks select(2) or pipe(2). 12633 (rb_thread_create_timer_thread, native_cond_initialize, 12634 native_cond_destroy): Replaced wrong HAVE_XXX checks. 12635 12636 * configure.in (pthread_attr_init): New check. 12637 12638Sun Jun 10 21:30:11 2012 Tanaka Akira <akr@fsij.org> 12639 12640 * process.c (rb_exec_without_timer_thread): renamed from rb_exec_err. 12641 (rb_exec_err): new stub function to call 12642 rb_exec_without_timer_thread. 12643 (rb_f_exec): call rb_exec_without_timer_thread. 12644 (rb_exec): call rb_exec_without_timer_thread. 12645 12646Sun Jun 10 21:13:10 2012 Tanaka Akira <akr@fsij.org> 12647 12648 * process.c (rb_fork): call rb_fork_internal instead of rb_fork_err. 12649 12650Sun Jun 10 20:55:59 2012 Tanaka Akira <akr@fsij.org> 12651 12652 * process.c (rb_fork_ruby): call rb_fork_internal directly. 12653 12654Sun Jun 10 20:19:40 2012 Tanaka Akira <akr@fsij.org> 12655 12656 * process.c (rb_fork_ruby): new function. 12657 (rb_f_fork): use rb_fork_ruby instead of rb_fork. 12658 (rb_daemon): ditto. 12659 12660 * io.c (pipe_open): use rb_fork_ruby instead of rb_fork. 12661 12662 * internal.h (rb_fork_ruby): declared. 12663 12664Sun Jun 10 18:58:16 2012 Akinori MUSHA <knu@iDaemons.org> 12665 12666 * lib/net/http/response.rb: Remove a duplicated rdoc and leave a 12667 pointer. 12668 12669 * lib/net/http/responses.rb: Add RFC numbers to base on. 12670 12671Sun Jun 10 18:31:42 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp> 12672 12673 * configure.in (RUBY_NACL): Warns if $PATH does not contain the path 12674 to NativeClient SDK. PATH variable redefinition in GNUmakefile does 12675 not work for GNU make 3.81. 12676 12677Sun Jun 10 17:54:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12678 12679 * gc.h (IS_STACK_DIR_UPPER): utility macro. 12680 12681 * thread_pthread.c (get_stack): seems stack size does not include 12682 guard size on Mac OS X. 12683 12684 * thread_pthread.c (ruby_init_stack): adjust stack size for offset of 12685 addr from the bottom. 12686 12687Sun Jun 10 15:49:47 2012 Tanaka Akira <akr@fsij.org> 12688 12689 * process.c (retry_fork): call after_fork except in a child process. 12690 (rb_fork_internal): restrict after_fork call condition. 12691 12692Sun Jun 10 14:19:33 2012 NARUSE, Yui <naruse@ruby-lang.org> 12693 12694 * configure.in: NetBSD 6 adds libexecinfo but it only works on amd64. 12695 http://www.mail-archive.com/source-changes-full@netbsd.org/msg38729.html 12696 12697Sun Jun 10 12:43:23 2012 Tanaka Akira <akr@fsij.org> 12698 12699 * process.c (rb_f_exec): call rb_exec_async_signal_safe except on 12700 Mac OS X. cf. the comment in before_exec_non_async_signal_safe. 12701 12702Sun Jun 10 12:15:18 2012 Tanaka Akira <akr@fsij.org> 12703 12704 * io.c (popen_exec): don't call rb_thread_atfork_before_exec. use 12705 rb_exec_async_signal_safe instead of rb_exec_err. 12706 (pipe_open): use rb_fork_async_signal_safe instead of rb_fork_err. 12707 12708Sun Jun 10 11:44:57 2012 Tanaka Akira <akr@fsij.org> 12709 12710 * process.c (rb_fork_internal): call after_fork only unless 12711 chfunc_is_async_signal_safe. 12712 12713Sun Jun 10 11:33:01 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 12714 12715 * ext/openssl/ossl_pkey_ec.c 12716 test/openssl/test_pkey_ec.rb: Add support for EC_POINT_mul. 12717 Patch provided by Sambasiva Suda. Thanks! 12718 [ruby-core:44408][ruby-trunk - Feature #6310] 12719 12720Sun Jun 10 10:48:15 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 12721 12722 * lib/openssl/ssl.rb: Use a simple random number to generate the 12723 session id. MD5, as was used before, causes problems when 12724 using a FIPS version of OpenSSL. Issue was found by Jared 12725 Jennings, thank you! 12726 [ruby-trunk - Bug #6137] 12727 12728Sun Jun 10 10:27:34 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 12729 12730 * NEWS: Add note about the new private key export behavior. 12731 12732Sun Jun 10 10:24:51 2012 Tanaka Akira <akr@fsij.org> 12733 12734 * process.c (rb_exec_async_signal_safe): exported. 12735 12736 * ext/pty/extconf.rb: modify $INCFLAGS to include internal.h 12737 12738 * ext/pty/pty.c: include internal.h. 12739 (chfunc): don't call rb_thread_atfork_before_exec. use 12740 rb_exec_async_signal_safe instead of rb_f_exec. 12741 (establishShell): set up earg. use rb_fork_async_signal_safe 12742 instead of rb_fork_err. 12743 12744 * internal.h (rb_exec_async_signal_safe): declared. 12745 (rb_fork_async_signal_safe): declared. 12746 12747Sun Jun 10 10:21:37 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 12748 12749 * ext/openssl/ossl.c 12750 ext/openssl/ossl_pkey_rsa.c 12751 ext/openssl/ossl_pkey_dsa.c 12752 ext/openssl/ossl_pkey_ec.c: Forbid export passwords that are less 12753 than four characters long, as OpenSSL itself does not allow this. 12754 Issue found by Eric Hodel. 12755 * ext/openssl/ossl_pkey_ec.c: Add export as an alias of to_pem, 12756 following the PKey interface contract. 12757 * test/openssl/test_pkey_dsa.rb 12758 test/openssl/test_pkey_rsa.rb 12759 test/openssl/test_pkey_ec.rb: Add tests that assert correct 12760 behaviour when dealing with passwords that are less than four 12761 characters long. 12762 [ruby-core: 42281][ruby-trunk - Bug #5951] 12763 12764Sun Jun 10 10:14:26 2012 Tanaka Akira <akr@fsij.org> 12765 12766 * process.c (rb_f_exec): use rb_exec_arg_prepare. 12767 12768Sun Jun 10 06:43:51 2012 Tanaka Akira <akr@fsij.org> 12769 12770 * process.c: split after_exec into async-signal-safe part and rest. 12771 (after_exec_async_signal_safe): extracted from after_exec. 12772 (after_exec_non_async_signal_safe): ditto. 12773 (after_exec): call them. 12774 (rb_exec_async_signal_safe): call after_exec_async_signal_safe. 12775 (rb_exec_err): call after_exec_non_async_signal_safe instead of 12776 after_exec. 12777 12778Sun Jun 10 06:21:10 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 12779 12780 * NEWS: document new features of Ruby OpenSSL. 12781 12782Sun Jun 10 03:09:41 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 12783 12784 * ext/openssl/ossl.c: Fix error in example. Patch by David Albert. 12785 12786 Add/extend existing documentation. Examples now also cover RSA 12787 signatures and PBKDF2. 12788 [ruby-core: 45154][ruby-trunk - Bug #6475] 12789 12790 12791Sun Jun 10 01:41:45 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 12792 12793 * ext/openssl/ossl_ssl.c: Introduce SSLContext#renegotiation_cb and 12794 remove SSLContext#disable_client_renegotiation and related 12795 functionality introduced in r35797. The new callback approach 12796 gives clients maximum flexibility to decide on their own what to 12797 do on renegotiation attempts. 12798 Add documentation for SSL module and SSLError. 12799 * test/openssl/test_ssl.rb: Add a test for 12800 SSLContext#renegotiation_cb. 12801 12802Sun Jun 10 01:37:18 2012 Tanaka Akira <akr@fsij.org> 12803 12804 * process.c (rb_fork_internal): initialize exc. 12805 12806Sun Jun 10 00:19:25 2012 Tanaka Akira <akr@fsij.org> 12807 12808 * process.c: don't use non async-signal-safe functions in a child 12809 process before exec, for invoking a command. 12810 (rb_exec_atfork): call rb_exec_async_signal_safe only. 12811 (retry_fork): take chfunc_is_async_signal_safe argument. call 12812 before_fork and after_fork only unless chfunc_is_async_signal_safe. 12813 (send_child_error): take chfunc_is_async_signal_safe argument. 12814 send an exception only unless chfunc_is_async_signal_safe. 12815 (recv_child_error): take chfunc_is_async_signal_safe argument. 12816 receive an exception only unless chfunc_is_async_signal_safe. 12817 (rb_fork_internal): renamed from rb_fork_err and take 12818 chfunc_is_async_signal_safe argument. 12819 use rb_protect only unless chfunc_is_async_signal_safe. 12820 (rb_fork_err): call rb_fork_internal with false as 12821 chfunc_is_async_signal_safe. 12822 (rb_fork_async_signal_safe): call rb_fork_internal with true as 12823 chfunc_is_async_signal_safe. 12824 (rb_spawn_process): call rb_fork_async_signal_safe instead of 12825 rb_fork_err. 12826 12827Sat Jun 9 23:57:03 2012 Tanaka Akira <akr@fsij.org> 12828 12829 * process.c (rb_fork_err): rewrite a complex "if" statement. 12830 12831Sat Jun 9 23:44:29 2012 Tanaka Akira <akr@fsij.org> 12832 12833 * process.c (before_exec_async_signal_safe): extracted from 12834 before_exec. 12835 (before_exec_non_async_signal_safe): ditto. 12836 (before_exec): call before_exec_async_signal_safe and 12837 before_exec_non_async_signal_safe. 12838 (rb_exec_async_signal_safe): call before_exec_async_signal_safe. 12839 (rb_exec_err): call before_exec_non_async_signal_safe instead of 12840 before_exec. 12841 12842Sat Jun 9 23:36:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12843 12844 * iseq.c (iseq_load, insn_operand_intern, rb_iseq_disasm) 12845 (rb_iseq_parameters): use rb_id2str() instead of rb_id2name() to 12846 keep encoding. 12847 12848 * string.c (rb_str_symname_p): new function that checks if the string 12849 is valid as a symbol name. split from sym_inspect(). 12850 12851Sat Jun 9 22:27:05 2012 Tanaka Akira <akr@fsij.org> 12852 12853 * process.c (retry_fork): rewrite a complex "for" statement by 12854 simple statements. 12855 12856Sat Jun 9 21:50:04 2012 Tanaka Akira <akr@fsij.org> 12857 12858 * process.c (retry_fork): extracted from rb_fork_err. 12859 (send_child_error): ditto. 12860 (recv_child_error): ditto. 12861 12862Sat Jun 9 17:21:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12863 12864 * iseq.c (iseq_load): type is a symbol, and invalid as ID in common. 12865 12866Sat Jun 9 10:57:14 2012 Tanaka Akira <akr@fsij.org> 12867 12868 * process.c (rb_exec_async_signal_safe): extracted from rb_exec_err. 12869 12870Sat Jun 9 09:31:07 2012 Tanaka Akira <akr@fsij.org> 12871 12872 * process.c: simplified because close_others option is always 12873 enabled by default. 12874 (rb_f_exec): don't need to set the option. 12875 (rb_exec_arg_prepare): don't need to set the option. don't need 12876 default_close_others argument. 12877 (rb_spawn_internal): don't need to give default_close_others 12878 argument for rb_exec_arg_prepare. don't need default_close_others 12879 argument. 12880 (rb_spawn_err): don't need to give default_close_others 12881 argument for rb_spawn_internal. 12882 (rb_spawn): don't need to give default_close_others 12883 argument for rb_spawn_internal. 12884 (rb_f_system): don't need to give default_close_others argument for 12885 rb_spawn_internal. 12886 (rb_f_spawn): don't need to give default_close_others argument for 12887 rb_exec_arg_prepare. 12888 12889Sat Jun 9 09:00:58 2012 Tanaka Akira <akr@fsij.org> 12890 12891 * process.c (rb_proc_exec): call before_exec() here addition to 12892 rb_exec_err. 12893 12894Sat Jun 9 08:30:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12895 12896 * thread_pthread.c (ruby_init_stack): use stack info if possible. 12897 12898Sat Jun 9 08:21:32 2012 Eric Hodel <drbrain@segment7.net> 12899 12900 * README.EXT (prepare extconf.rb): Added note to see MakeMakefile for 12901 documentation of extconf.rb functions. Patch by Zachary Scott. 12902 [ruby-trunk - Feature #6522] 12903 * README.EXT (Appendix C): Removed in favor of MakeMakefile. 12904 Patch by Zachary Scott. 12905 * lib/mkmf.rb: Merged documentation from README.EXT Appendix C. Patch 12906 by Zachary Scott. 12907 12908Sat Jun 9 08:16:47 2012 Eric Hodel <drbrain@segment7.net> 12909 12910 * doc/re.rdoc: Completed wording in the description of the =~ operator. 12911 [ruby-trunk - Bug #6529] 12912 12913Sat Jun 9 08:09:38 2012 Eric Hodel <drbrain@segment7.net> 12914 12915 * string.c (rb_str_start_with): Removed "p" from start_with? examples 12916 to match other String method examples. [ruby-trunk - Bug #6553] 12917 * string.c (rb_str_end_with): Updated end_with? to use code markup 12918 instead of italic. 12919 12920Sat Jun 9 07:56:03 2012 Eric Hodel <drbrain@segment7.net> 12921 12922 * lib/benchmark.rb: Updated formatting of Benchmark documentation for 12923 consistency. [ruby-trunk - Bug #6533] 12924 12925Sat Jun 9 07:46:26 2012 Eric Hodel <drbrain@segment7.net> 12926 12927 * lib/delegate.rb: Added documentation for Delegator#!. Patch by 12928 Zachary Scott. [ruby-trunk - Feature #6534] 12929 12930Sat Jun 9 07:39:50 2012 Eric Hodel <drbrain@segment7.net> 12931 12932 * lib/net/http/responses.rb: Add RFC 6585 response codes. Patch by 12933 Sangil Jung. [ruby-trunk - Feature #6480] 12934 * lib/net/http/response.rb: ditto 12935 * lib/net/http.rb: ditto 12936 * lib/webrick/httpstatus.rb: ditto 12937 12938Sat Jun 9 01:24:28 2012 Tanaka Akira <akr@fsij.org> 12939 12940 * process.c (rb_exec_err): before_exec() call moved from proc_exec_cmd 12941 and proc_exec_sh. 12942 (rb_proc_exec): ditto. 12943 12944Sat Jun 9 01:11:07 2012 Tanaka Akira <akr@fsij.org> 12945 12946 * include/ruby/intern.h (rb_exec_arg_init): declaration changed to 12947 return a value. 12948 12949 * process.c (rb_exec_arg_init): return a value. 12950 12951Fri Jun 8 23:44:14 2012 Tanaka Akira <akr@fsij.org> 12952 12953 * process.c: don't check the availability of FD_CLOEXEC. It should 12954 be available if fork() is available. 12955 12956 * io.c: ditto. 12957 12958Fri Jun 8 22:39:32 2012 Tanaka Akira <akr@fsij.org> 12959 12960 * process.c (rb_fork_err): revert r35955. The condition needs !chfunc 12961 to close ep[0] and ep[1]. The catched exception is re-raised 12962 immediately after that if status is not NULL. 12963 12964Fri Jun 8 19:43:33 2012 Tanaka Akira <akr@fsij.org> 12965 12966 * process.c (rb_exec_err): after_exec() call moved from proc_exec_cmd 12967 and proc_exec_sh. 12968 (rb_proc_exec): ditto. 12969 12970Fri Jun 8 19:00:59 2012 Tanaka Akira <akr@fsij.org> 12971 12972 * process.c (ARGV_COUNT): unused macro removed. 12973 (ARGV_SIZE): ditto. 12974 (ALLOC_ARGV): ditto. 12975 (ALLOC_ARGV_WITH_STR): ditto. 12976 12977Fri Jun 8 16:19:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12978 12979 * test/runner.rb (src_testdir): expand real path so that 12980 TestGem#test_self_find_files does not fail by aliased load path when 12981 srcdir contains a symbolic link. 12982 12983 * tool/runruby.rb (srcdir): ditto. 12984 12985Fri Jun 8 12:04:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 12986 12987 * process.c (rb_fork_err): error state in the child process is prior 12988 to exceptions in proc_syswait(). 12989 12990 * process.c (rb_fork_err): determine status on errors. 12991 12992 * ext/pty/pty.c (establishShell): reraise exception if something 12993 raised during sleep. 12994 12995 * ext/pty/pty.c (establishShell): now needs status to protect from 12996 exceptions in rb_fork_err(). 12997 12998Thu Jun 7 22:13:05 2012 Tanaka Akira <akr@fsij.org> 12999 13000 * process.c (rb_fork_err): Fix the condition to use rb_protect. 13001 13002Thu Jun 7 20:29:12 2012 Tanaka Akira <akr@fsij.org> 13003 13004 * include/ruby/intern.h: rb_exec_arg and related stuff moved back from 13005 internal.h 13006 13007Thu Jun 7 15:53:03 2012 Koichi Sasada <ko1@atdot.net> 13008 13009 * .gdbinit: add function `trace_machine_instructions' to trace 13010 in native machine assemble. 13011 See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/MachineInstructionsTraceWithGDB 13012 for more details. 13013 13014Wed Jun 6 21:31:21 2012 Tanaka Akira <akr@fsij.org> 13015 13016 * process.c (proc_exec_cmd) renamed from proc_exec_v. 13017 (proc_exec_sh): renamed from rb_proc_exec_e. 13018 (proc_spawn_cmd_internal): renamed from proc_spawn_v. 13019 (proc_spawn_cmd): renamed from proc_spawn_n. 13020 (proc_spawn_sh): renamed from proc_spawn. 13021 13022Wed Jun 6 21:18:47 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13023 13024 * process.c (try_with_sh): please take care of the macro defined by 13025 you. 13026 13027Wed Jun 6 20:45:08 2012 Tanaka Akira <akr@fsij.org> 13028 13029 * process.c (proc_exec_v): don't call dln_find_exe_r here because it 13030 is not async-signal-safe and proc_exec_v is called in a child 13031 process. 13032 command_abspath field of rb_exec_arg. 13033 (rb_exec_fillarg): call dln_find_exe_r and set command_abspath. 13034 (rb_exec_err): Give the absolute path of the invoking command for 13035 proc_exec_v, instead of the command name. 13036 13037 * internal.h: add command_abspath field for rb_exec_arg. 13038 13039Wed Jun 6 20:08:01 2012 Tanaka Akira <akr@fsij.org> 13040 13041 * process.c (try_with_sh): take envp argument. 13042 (exec_with_sh): ditto. use it for execve. 13043 (proc_exec_v): provide envp for try_with_sh. 13044 13045Wed Jun 6 13:25:04 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13046 13047 * win32/win32.c, include/ruby/win32.h (rb_w32_wrap_io_handle): new API. 13048 this API wraps an I/O handle (HANDLE or SOCKET) and returns fd. 13049 the second parameter should be combination of O_*, for example, 13050 O_RDWR | O_BINARY | O_NOINHERIT. 13051 13052 * win32/win32.c, include/ruby/win32.h (rb_w32_unwrap_io_handle): new 13053 API. this API unwraps an I/O handle and close the fd (not closes 13054 the handle itself). 13055 13056 [Feature #4906] [ruby-core:37227] 13057 13058Wed Jun 6 13:18:26 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13059 13060 * win32/win32.c (rb_w32_close): of course, console handle is not socket. 13061 13062Wed Jun 6 12:37:43 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13063 13064 * process.c (rb_run_exec_options_err): allocate a temporary buffer for 13065 run_exec_dup2() for restoring fds on non-fork environments. 13066 13067Wed Jun 6 09:45:21 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13068 13069 * test/dl/test_c_{struct_entry,union_entity}.rb: sorry, typos. 13070 13071Wed Jun 6 05:27:54 2012 Tanaka Akira <akr@fsij.org> 13072 13073 * process.c (rb_exec_fillarg): check use_shell field before accessing 13074 a union field. 13075 13076Wed Jun 6 04:58:44 2012 Tanaka Akira <akr@fsij.org> 13077 13078 * process.c (rb_spawn_process): prog variable is not used for Unix. 13079 13080Wed Jun 6 00:20:37 2012 Tanaka Akira <akr@fsij.org> 13081 13082 * internal.h (rb_exec_arg_init): change return type to void. 13083 13084 * process.c (rb_exec_arg_init): don't return a value. 13085 (rb_exec_arg_prepare): ditto. 13086 (rb_spawn_process): don't take the prog argument. extract the 13087 information from earg. 13088 (rb_spawn_internal): follow rb_spawn_process change. 13089 (rb_f_spawn): ditto. 13090 13091 * io.c (pipe_open): don't take the prog argument. extract the 13092 information from eargp. 13093 (pipe_open_v): follow pipe_open change. 13094 (pipe_open_s): ditto. 13095 13096Tue Jun 5 23:51:33 2012 Tanaka Akira <akr@fsij.org> 13097 13098 * internal.h (rb_exec_arg): use union to represent command invocation 13099 with/without shell. 13100 13101 * process.c: follow the rb_exec_arg change. 13102 13103 * io.c (pipe_open): ditto. 13104 13105Tue Jun 5 22:28:46 2012 Tanaka Akira <akr@fsij.org> 13106 13107 * internal.h: rb_exec_arg and related stuff moved from intern.h 13108 13109 * include/ruby/intern.h (rb_proc_exec_n): removed. 13110 13111Tue Jun 5 21:57:22 2012 Tanaka Akira <akr@fsij.org> 13112 13113 * process.c (rb_exec_arg_fixup): allocate a temporary buffer for 13114 run_exec_dup2 here because it should be async-signal-safe. 13115 (run_exec_dup2): use the temporary buffer. 13116 (run_exec_dup2_tmpbuf_size): new function. 13117 13118 * include/ruby/intern.h (rb_exec_arg): add dup2_tmpbuf field. 13119 13120Tue Jun 5 20:13:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13121 13122 * object.c (rb_obj_init_copy): should check if trusted too. 13123 13124Tue Jun 5 19:59:13 2012 Tanaka Akira <akr@fsij.org> 13125 13126 * process.c (strtok): declaration removed because it is not used. 13127 13128Tue Jun 5 19:33:51 2012 Tanaka Akira <akr@fsij.org> 13129 13130 * process.c (proc_spawn): don't detect simple command line here 13131 because rb_exec_fillarg already did. 13132 13133Tue Jun 5 19:21:10 2012 Tanaka Akira <akr@fsij.org> 13134 13135 * process.c (rb_exec_fillarg): bail out a loop eagerly. 13136 13137Tue Jun 5 19:15:14 2012 Tanaka Akira <akr@fsij.org> 13138 13139 * process.c: add comments about async-signal-safe. 13140 13141 * io.c: ditto. 13142 13143Tue Jun 5 09:25:10 2012 Eric Hodel <drbrain@segment7.net> 13144 13145 * io.c: Edited documentation for IO and File open and new and 13146 Kernel#open for consistency and clarity. 13147 13148Mon Jun 4 21:53:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13149 13150 * win32/win32.c (rb_w32_sysinit): let the system not display the 13151 critical-error-handler message box and the Windows Error Reporting 13152 dialog. [ruby-core:45389] [Bug #6535] 13153 13154Mon Jun 4 19:36:25 2012 Tanaka Akira <akr@fsij.org> 13155 13156 * process.c (rb_exec_fillarg): allocate one more element before 13157 beginning in argv_str for try_with_sh. 13158 13159 * internal.h (ARGVSTR2ARGC): adjust for the above change. 13160 (ARGVSTR2ARGV): ditto. 13161 13162Mon Jun 4 19:17:06 2012 Tanaka Akira <akr@fsij.org> 13163 13164 * internal.h (ARGVSTR2ARGC): defined. 13165 (ARGVSTR2ARGV): defined. 13166 13167 * process.c (proc_exec_v): use ARGVSTR2ARGV. 13168 (rb_spawn_process): use ARGVSTR2ARGC and ARGVSTR2ARGV. 13169 13170 * io.c (pipe_open): use ARGVSTR2ARGV. 13171 13172Mon Jun 4 16:13:00 2012 Koichi Sasada <ko1@atdot.net> 13173 13174 * vm_insnhelper.h: remove magical code "lfp[0] & 0x02". 13175 Current VM doesn't use this bit. 13176 13177 * vm_core.h (RUBY_VM_GET_BLOCK_PTR): added. 13178 13179 * eval.c (rb_block_given_p): use RUBY_VM_GET_BLOCK_PTR(). 13180 13181 * vm_eval.c (rb_f_block_given_p): ditto. 13182 13183Mon Jun 4 15:39:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13184 13185 * win32/win32.c (constat_apply): apply VT100 functions. 13186 [ruby-core:44958] [Feature #6418] 13187 13188 * win32/win32.c (constat_parse): parse some VT100 escape sequence. 13189 13190Mon Jun 4 14:06:12 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13191 13192 * process.c (rb_exec_err): should preserve errno. 13193 13194Mon Jun 4 13:10:11 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13195 13196 * test/dl/test_c_{struct_entry,union_entity}.rb: broken require. 13197 13198Mon Jun 4 12:01:21 2012 Koichi Sasada <ko1@atdot.net> 13199 13200 * test/ruby/test_backtrace.rb: fix test. 13201 Windows path includes `:' character. 13202 13203Mon Jun 4 11:42:39 2012 Koichi Sasada <ko1@atdot.net> 13204 13205 * vm_core.h (rb_location_t): fix type and field name. 13206 (1) rename rb_location_t to rb_iseq_location_t. 13207 (2) rename field names of rb_iseq_location_t to adjust 13208 RubyVM::Backtrace::Location methods. 13209 (2-1) filename -> path 13210 (2-2) filepath -> absolute_path 13211 (2-3) basename -> base_label 13212 (2-4) name -> label 13213 (3) rename filed name rb_iseq_location_t#line_no to 13214 rb_iseq_location_t#first_lineno to clear purpose of this field. 13215 (4) The field names rb_binding_t#(filename|line_no) are also renamed 13216 to rb_binding_t#(path|first_lineno). 13217 13218 * compile.c: apply above changes. 13219 13220 * iseq.c: ditto. 13221 13222 * proc.c: ditto. 13223 13224 * vm*.c: ditto. 13225 13226Mon Jun 4 11:40:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13227 13228 * marshal.c (r_object0): also load TYPE_USRMARSHAL, TYPE_DATA using 13229 compatible loader. 13230 13231Mon Jun 4 11:33:42 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13232 13233 * process.c (rb_run_exec_options_err): restore save_env() call for 13234 non-fork environments. 13235 13236 * process.c (rb_exec_err): restore environments after the failure of 13237 exec to fix [ruby-core:44093] [Bug #6249] on non-fork environments 13238 13239Mon Jun 4 10:42:04 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13240 13241 * io.c (pipe_open): follow up changes in r35889. 13242 13243 * process.c (proc_spawn_n): now uses char ** instead of VALUE *. 13244 13245 * process.c (rb_spawn_process): prog is now VALUE of String, not char *. 13246 13247Mon Jun 4 06:12:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13248 13249 * marshal.c (r_object0): remove old warning for _alloc. 13250 13251Mon Jun 4 04:24:06 2012 Tadayoshi Funaba <tadf@dotrb.org> 13252 13253 * marshal.c: experimental test aborted. 13254 * complex.c: ditto. 13255 * rational.c: ditto. 13256 * include/ruby/intern.h: ditto. 13257 13258Mon Jun 4 00:45:18 2012 Tanaka Akira <akr@fsij.org> 13259 13260 * process.c (rb_spawn_process): fix for Windows. not tested. 13261 13262Mon Jun 4 00:11:51 2012 Tanaka Akira <akr@fsij.org> 13263 13264 * process.c (rb_proc_exec_e): don't use ISSPACE(). \f, \r and \v 13265 are not word separator in Bourne shell. 13266 13267Sun Jun 3 23:47:30 2012 Tanaka Akira <akr@fsij.org> 13268 13269 * include/ruby/intern.h (rb_exec_arg): remove argc and argv fields. 13270 add use_shell, argv_str and argv_buf fields. 13271 13272 * process.c (rb_proc_exec_e): don't split shell command line arguments 13273 here to avoid memory allocation in a child process. 13274 (rb_exec_fillarg): split shell command line arguments here. 13275 (proc_exec_v): takes argv_str argument instead of argv. 13276 (rb_proc_exec_ne): removed. 13277 (rb_proc_exec_n): removed. 13278 (rb_run_exec_options_err): don't initialize the removed fields. 13279 (rb_exec_err): don't initialize the removed fields. 13280 call proc_exec_v directly instead of rb_proc_exec_ne. 13281 (rb_spawn_process): use use_shell field. 13282 13283Sun Jun 3 21:53:00 2012 NARUSE, Yui <naruse@ruby-lang.org> 13284 13285 * GPL: update text of GPLv2. [ruby-core:44488] [Bug #6328] 13286 http://www.gnu.org/licenses/gpl-2.0.txt 13287 13288Sun Jun 3 21:22:52 2012 Tanaka Akira <akr@fsij.org> 13289 13290 * process.c (rb_exec_getargs): remove rb_exec_arg argument. 13291 13292Sun Jun 3 21:14:26 2012 Tadayoshi Funaba <tadf@dotrb.org> 13293 13294 * marshal.c: calls directly rb_{Complex,Rational}_marshal_load(). 13295 But now disabled. [experimental] 13296 * complex.c: followed the above. 13297 * rational.c: ditto. 13298 * include/ruby/intern.h: ditto. 13299 13300Sun Jun 3 21:18:17 2012 Tanaka Akira <akr@fsij.org> 13301 13302 * process.c (rb_check_argv): use rb_str_new_frozen instead of 13303 rb_str_new4. 13304 13305Sun Jun 3 20:10:52 2012 Tanaka Akira <akr@fsij.org> 13306 13307 * process.c (rb_proc_exec_e): extended version of rb_proc_exec() to 13308 call execle(). 13309 (rb_proc_exec): use rb_proc_exec_e(). 13310 (rb_exec_err): use rb_proc_exec_e(). 13311 13312Sun Jun 3 19:47:18 2012 NARUSE, Yui <naruse@ruby-lang.org> 13313 13314 * thread.c (vm_living_thread_num): suppress a warning. 13315 13316Sun Jun 3 17:23:52 2012 Tanaka Akira <akr@fsij.org> 13317 13318 * use execve() to preserve environment variables when exec method is 13319 failed. [ruby-core:44093] [ruby-trunk - Bug #6249] 13320 13321 * include/ruby/intern.h (rb_exec_arg): add envp_str and envp_buf field 13322 to store envp of execve(). 13323 13324 * process.c (proc_exec_v): takes envp_str as an argument and use it 13325 for execve(). 13326 (rb_proc_exec_ne): extended version of rb_proc_exec_n(). 13327 (rb_proc_exec_n): use rb_proc_exec_ne(). 13328 (rb_proc_exec): follow proc_exec_v() change. 13329 (fill_envp_buf_i): new function. 13330 (rb_exec_arg_fixup): set up envp_str and envp_buf. 13331 (save_env_i): removed. 13332 (save_env): removed. 13333 (rb_run_exec_options_err): don't modify environment variables. 13334 (rb_exec_err): use rb_proc_exec_ne(). 13335 13336Sun Jun 3 16:33:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13337 13338 * marshal.c: revert r35879 "now marshal_{load|dump} are external." 13339 13340 * complex.c (nucomp_marshal__{dump,load}): should use rb_marshal_{dump,load}. 13341 13342 * rational.c (nurat_marshal__{dump,load}): ditto. 13343 13344Sun Jun 3 14:13:58 2012 Tadayoshi Funaba <tadf@dotrb.org> 13345 13346 * ext/date/date_core.c: checks whether the object is frozen or not. 13347 13348Sun Jun 3 14:00:51 2012 Tadayoshi Funaba <tadf@dotrb.org> 13349 13350 * complex.c: wrote Complex#_dump and Complex::load. But now 13351 disabled (due to compatibility) [experimental]. 13352 13353 * rational.c: wrote Rational#_dump and Rational::load. ditto. 13354 13355Sun Jun 3 10:23:32 2012 Tadayoshi Funaba <tadf@dotrb.org> 13356 13357 * complex.c (nucomp_marshal_load): [ruby-core:45394] 13358 * rational.c (nurat_marshal_load): ditto. 13359 13360Sun Jun 3 03:15:46 2012 NARUSE, Yui <naruse@ruby-lang.org> 13361 13362 * regparse.c (onig_number_of_names): suppress a warning. 13363 13364Sun Jun 3 01:36:52 2012 Koichi Sasada <ko1@atdot.net> 13365 13366 * vm_backtrace.c: change names. 13367 (1) Class name: RubyVM::FrameInfo -> RubyVM::Backtrace::Location. 13368 (2) Method name: RubyVM::FrameInfo.caller -> 13369 Kernel.caller_locations. 13370 (3) Instance methods of 13371 RubyVM::FrameInfo (RubyVM::Backtrace::Location) 13372 (3-1) name -> label 13373 (3-2) basename -> base_label (basename is confusing with 13374 File.basename) 13375 (3-3) line_no -> lineno (We have already similar name 13376 File#lineno, commented by kou [ruby-dev:45686]). 13377 (3-4) filename -> path. 13378 (3-5) filepath -> absolute_path. 13379 (3-5) iseq -> removed (we will make other APIs to access iseq 13380 and other information of frame for debugging). 13381 13382 * test/ruby/test_backtrace.rb: apply above changes. 13383 And apply comment from kou [ruby-dev:45686]. 13384 13385Sun Jun 3 00:49:11 2012 Koichi Sasada <ko1@atdot.net> 13386 13387 * common.mk: fix to build vm_backtrace.c only itself (vm_backtrace.c 13388 is no longer included from vm.c). I hope this separation reduce 13389 compile time of vm.c. 13390 13391 * internal.h: ditto. 13392 13393 * vm.c, vm_core.h, vm_dump.c, vm_eval.c: ditto. 13394 13395 * vm_eval.c: some functions (callee, etc) moved to vm_backtrace.c. 13396 13397Sun Jun 3 00:20:53 2012 Koichi Sasada <ko1@atdot.net> 13398 13399 * vm_backtrace.c: added. Separate backtrace related functions to 13400 this file. 13401 13402 * vm.c, common.mk: ditto. 13403 13404Sat Jun 2 18:09:02 2012 Akinori MUSHA <knu@iDaemons.org> 13405 13406 * lib/ipaddr.rb: Inhibit zero-filled octets in an IPv4 address in 13407 all platforms. [ruby-dev:45671] 13408 13409 * lib/ipaddr.rb: Allow the x:x:x:x:x:x:d.d.d.d form not limited to 13410 IPv4 mapped/compatible addresses. This change also makes it 13411 possible for the parser to understand IPv4 mapped and compatible 13412 IPv6 addresses in non-compressed form. 13413 13414 * lib/ipaddr.rb: Stop exposing IPSocket.valid*? methods which were 13415 only usable on non-IPv6-ready platforms. 13416 13417Sat Jun 2 16:59:00 2012 NARUSE, Yui <naruse@ruby-lang.org> 13418 13419 * string.c (rb_enc_cr_str_buf_cat): don't reset coderange as unknown. 13420 the condition 'ptr_a8 && str_cr != ENC_CODERANGE_7BIT' means not 13421 unknown, str is also ASCII-8BIT because str_encindex == ptr_encindex, 13422 and nont (str_cr == ENC_CODERANGE_UNKNOWN) and 13423 str_cr != ENC_CODERANGE_7BIT means str_cr is valid because ASCII-8BIT 13424 can't be broken. [ruby-dev:45688] [Bug #6509] 13425 13426Sat Jun 2 07:04:48 2012 Eric Hodel <drbrain@segment7.net> 13427 13428 * doc/re.rdoc (Performance): Replaced incorrect example of reducing 13429 backtracking through anchoring with reduced backtracking through a 13430 range. [ruby-trunk - Bug #6525] 13431 13432Sat Jun 2 06:34:15 2012 Eric Hodel <drbrain@segment7.net> 13433 13434 * doc/re.rdoc (Performance): Removed useless sample output from final 13435 performance example and switched from #match to #=~ for consistency. 13436 [ruby-trunk - Bug #6524] 13437 13438Fri Jun 1 09:30:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13439 13440 * object.c (class_or_module_required): extract check for class or 13441 module. 13442 13443Fri Jun 1 08:50:47 2012 Eric Hodel <drbrain@segment7.net> 13444 13445 * array.c: Updated Array documentation formatting. Patch by Zachary 13446 Scott. [ruby-trunk - Feature #6517] 13447 13448Fri Jun 1 06:57:10 2012 Eric Hodel <drbrain@segment7.net> 13449 13450 * ext/dl/lib/dl/struct.rb (DL::CStructEntity#set_ctypes): Refactored 13451 #set_ctypes using newer ruby features to simplify its implementation. 13452 * test/dl/test_c_struct_entry.rb (class DL): Test to verify 13453 refactoring. 13454 13455Fri Jun 1 06:40:25 2012 Eric Hodel <drbrain@segment7.net> 13456 13457 * object.c (Init_Object): Restored Kernel documentation based on 13458 Pickaxe book documentation. Patch by Zachary Scott. 13459 [ruby-trunk - Feature #6521] 13460 13461Fri Jun 1 06:29:42 2012 Eric Hodel <drbrain@segment7.net> 13462 13463 * object.c (rb_equal): Let Object be a link in #=== documentation. 13464 Patch by Zachary Scott. [ruby-trunk - Feature #6518] 13465 13466Thu May 31 09:27:06 2012 Eric Hodel <drbrain@segment7.net> 13467 13468 * ext/dl/lib/dl/struct.rb (DL::CStructEntity::size): Refactored ::size 13469 to remove unused variables and simplify using newer ruby features. 13470 * test/dl/test_c_struct_entry.rb: Test to validate refactoring 13471 13472Thu May 31 08:40:34 2012 Eric Hodel <drbrain@segment7.net> 13473 13474 * ext/dl/lib/dl/struct.rb (DL::CUnionEntity#set_ctypes): Refactored 13475 #set_types to reuse DL::CUnionEntity::size 13476 * test/dl/test_c_union_entity.rb: Added test 13477 13478Thu May 31 08:20:14 2012 Eric Hodel <drbrain@segment7.net> 13479 13480 * ext/dl/lib/dl/struct.rb (DL::CUnionEntity::size): Fixed ::size to 13481 return the size of the union. 13482 * test/dl/test_c_union_entity.rb: Test for DL::CUnionEntity::size 13483 13484Thu May 31 07:45:43 2012 Eric Hodel <drbrain@segment7.net> 13485 13486 * ext/dl: Added documentation. Patch by Vincent Batts. 13487 [ruby-trunk - Bug #6496] 13488 13489Wed May 30 16:30:00 2012 Kenta Murata <mrkn@cookpad.com> 13490 13491 * ext/bigdecimal/lib/bigdecimal/jacobian.rb, 13492 ext/bigdecimal/lib/bigdecimal/newton.rb: 13493 fix documentation comments. 13494 Patch by alperakgun from github.com/shyouhei/ruby/pull/8 13495 13496Wed May 30 16:20:00 2012 Kenta Murata <mrkn@cookpad.com> 13497 13498 * ext/bigdecimal/lib/bigdecimal/jacobian.rb (Jacobian#dfdxi): 13499 fix jacobian to get stuck in an infinite loop when a solution is not 13500 found due to forget to increment nRetry counter. 13501 Patch by alperakgun from github.com/shyouhei/ruby/pull/8 13502 13503Wed May 30 10:58:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13504 13505 * time.c (utc_offset_arg): utc offset can be precision in seconds. 13506 e.g. old Europe/Lisbon (c.f. [ruby-dev:40066]) 13507 13508Wed May 30 06:20:29 2012 Eric Hodel <drbrain@segment7.net> 13509 13510 * error.c (exc_set_backtrace): Updated documentation to indicate 13511 set_backtrace allows a string as well as an array of strings. 13512 [ruby-trunk - Bug #6501] 13513 13514Tue May 29 17:28:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13515 13516 * strftime.c (rb_strftime_with_timespec): support GNU extension triple 13517 colons modifier. [EXPERIMENTAL] 13518 13519 * strftime.c (rb_strftime_with_timespec): check conversion with locale 13520 modifier. 13521 13522 * strftime.c (rb_strftime_with_timespec): colons are valid only for 13523 'z' and must come just before it. 13524 13525Mon May 28 16:56:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13526 13527 * lib/test/unit.rb (Test::Unit::Runner#_prepare_run): StatusLineOutput 13528 needs job_status to be :replace. 13529 13530Mon May 28 13:35:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13531 13532 * common.mk (do-install-*): fix dependencies. based on the patch by 13533 nagachika at [ruby-dev:45683]. [Bug #6506] 13534 13535Mon May 28 12:03:04 2012 Narihiro Nakamura <authornari@gmail.com> 13536 13537 * gc.c (obj_free): doesn't free a method table if it doesn't 13538 exist. [ruby-dev:44436] 13539 * test/ruby/test_gc.rb (class TestGc): added the test case for 13540 this issue. 13541 13542Sun May 27 23:37:48 2012 Koichi Sasada <ko1@atdot.net> 13543 13544 * benchmark/bm_vm1_lvar_init.rb: added. 13545 This benchmark measures a initialize time of non-used variable. 13546 13547 * benchmark/bm_vm1_lvar_set.rb: added. 13548 This benchmark measures a local variables initialization time. 13549 13550 * benchmark/bm_vm2_bigarray.rb: added. 13551 This benchmark mesures a big array literal creation time. 13552 13553 * benchmark/bm_vm2_bighash.rb: added. 13554 This benchmark mesures a big hash literal creation time. 13555 13556 * benchmark/bm*: change notation "i=0" to "i = 0". 13557 13558Sun May 27 13:33:26 2012 Koichi Sasada <ko1@atdot.net> 13559 13560 * benchmark/driver.rb: fix to continue benchmarks when 13561 an error is occurred. 13562 13563Sun May 27 11:27:50 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13564 13565 * lib/test/unit.rb (Test::Unit::Runner#_prepare_run): fix operator 13566 precedence, so that platform and TERM should be counted. 13567 13568Sun May 27 10:02:33 2012 Tadayoshi Funaba <tadf@dotrb.org> 13569 13570 * ext/date/date_strftime.c: allows %Ok and %Ol. 13571 13572Sun May 27 09:29:20 2012 Tadayoshi Funaba <tadf@dotrb.org> 13573 13574 * ext/date/date_core.c: modified doc. 13575 13576Sat May 26 19:04:34 2012 Tadayoshi Funaba <tadf@dotrb.org> 13577 13578 * ext/date/date_core.c: added description. 13579 13580Sat May 26 18:14:57 2012 Tadayoshi Funaba <tadf@dotrb.org> 13581 13582 * ext/date/date_strftime.c: reduced the code. 13583 13584Sat May 26 18:08:59 2012 Tadayoshi Funaba <tadf@dotrb.org> 13585 13586 * time.c: modified doc. 13587 * ext/date/date_core.c: ditto. 13588 13589Sat May 26 17:05:45 2012 Koichi Sasada <ko1@atdot.net> 13590 13591 * vm.c (backtrace_*): change type of lev and n from size_t to int. 13592 Also set type of rb_backtrace_t#backtrace_size to int. 13593 A patch from nobu. 13594 13595 * vm_eval.c: ditto. 13596 13597Sat May 26 16:26:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13598 13599 * file.c (realpath_rec): UNC prefix does not end with path separator, 13600 so new separator is needed after it. 13601 13602Sat May 26 15:29:22 2012 Koichi Sasada <ko1@atdot.net> 13603 13604 * test/ruby/test_backtrace.rb (test_caller_lev): 13605 decrease recursion size. 13606 13607Sat May 26 13:50:48 2012 Koichi Sasada <ko1@atdot.net> 13608 13609 * NEWS: add Kernel#caller's second argument. 13610 13611Sat May 26 13:40:29 2012 Koichi Sasada <ko1@atdot.net> 13612 13613 * vm.c (RubyVM::FrameInfo): add a class to access each frame 13614 information. You don't need to parse strings from caller(). 13615 FrameInfo has the following methods: 13616 FrameInfo#name: method name, class name, etc with decorations. 13617 FrameInfo#basename: name without decorations. 13618 FrameInfo#line_no: line number. 13619 FrameInfo#filename: file name. 13620 FrameInfo#filepath: full filepath. 13621 FrameInfo#iseq: iseq if it is iseq frame (defined by ruby script) 13622 FrameInfo#to_s: return caller() method style string. 13623 RubyVM::FrameInfo.caller(n, lev) returns array of FrameInfo objects. 13624 The name "RubyVM::FrameInfo.caller" is long and ambiguous (it is 13625 confusing with Kernel::caller() method), we need to change the name 13626 before Ruby 2.0 release. Good names or comments are welcome. 13627 13628 * test/ruby/test_backtrace.rb: add a test for above change. 13629 13630Sat May 26 12:18:09 2012 Koichi Sasada <ko1@atdot.net> 13631 13632 * vm.c (frame_info_to_str): add `break'. 13633 13634 * vm.c (backtrace_object): remove lev and n parameter. 13635 backtrace_object always returns all of backtrace information. 13636 13637 * vm.c (rb_backtrace_to_str_ary): fix to use backtrace_object(). 13638 This change improve performance of caller(lev, n). 13639 13640 * benchmark/bm_vm3_backtrace.rb: added to check above improvement. 13641 FYI: measurement on my laptop, 1.9.3p229 needs 5.125 sec, 13642 and current trunk only needs 0.299sec. 13643 13644Sat May 26 11:05:09 2012 Koichi Sasada <ko1@atdot.net> 13645 13646 * vm.c (rb_frame_info_t): keep previous ISEQ frame info for CFUNC 13647 frame info. And fix to cache a calculated line_no of ISEQ frame 13648 info. 13649 13650Sat May 26 09:54:53 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 13651 13652 * ext/openssl/ossl_ssl.c: Allow disabling client-side renegotiation. 13653 * test/openssl/test_ssl.rb: Simple tests for this. 13654 13655 Client-side renegotiation is still considered problematic, even 13656 when used in the context of secure renegotiation (RI, RFC 5746). 13657 The changes allow users to either completely disable client 13658 renegotiation on the server, or to specify a maximum number of 13659 handshakes allowed in total. The number of total handshakes is 13660 counted in a callback set as SSL_set_info_callback. If the 13661 maximum number of handshakes is exceeded an error will be raised 13662 We do not support renegotiation in the OpenSSL extension, therefore 13663 this feature can only be tested externally. 13664 The feature is opt-in, the default setting will be to allow 13665 unlimited client renegotiation, as was the case before. 13666 13667Fri May 25 23:38:58 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 13668 13669 * test/openssl/test_ssl.rb: Clarify the intention of errors to be 13670 expected. Two errors are possible when connection is refused due 13671 to a protocol version that was explicitly disallowed, 13672 OpenSSL::SSL::SSLError or Errno::ECONNRESET, depending on the 13673 OpenSSL version in use. 13674 13675Fri May 25 22:19:40 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 13676 13677 * ext/openssl/ossl_ssl.c: Revert r35583 13678 * test/openssl/test_ssl.rb: Handle ECONNRESET in code instead to avoid 13679 the test failing in Ruby CI [1] 13680 13681 [1] http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120507T190102Z.log.html.gz#test-all 13682 13683Fri May 25 19:51:36 2012 Koichi Sasada <ko1@atdot.net> 13684 13685 * vm_eval.c (rb_f_caller): caller() method accepts second optional 13686 argument `n' which specify how many frames should return. 13687 For example, `caller(0, 1)' returns only one frame information 13688 which calls caller() method. If there are less than n frame 13689 information, then all frame information are returned. If n is 0, 13690 then always return []. 13691 This fix is part of [ruby-dev:42345] [Ruby 1.9-Feature#3917]. 13692 However, performance and features are not enough. 13693 RDoc is also not available. 13694 13695 * test/ruby/test_backtrace.rb: add a test for above. 13696 13697Fri May 25 17:05:07 2012 Koichi Sasada <ko1@atdot.net> 13698 13699 * vm.c (oldbt_init, vm_backtrace_str_ary): arg->data should 13700 be initialized before calling `backtrace_each()'. 13701 13702Fri May 25 16:11:27 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13703 13704 * trunk/ext/-test-/printf/printf.c: change function names because of 13705 conflict with msvcrt. fixed build error of mswin. 13706 13707Fri May 25 10:52:52 2012 Koichi Sasada <ko1@atdot.net> 13708 13709 * vm.c: refactoring backtrace related functions. 13710 (1) unify similar functions (rb_backtrace_each() and 13711 backtrace_object()). backtrace_each() is a unified function. 13712 variation: 13713 a) backtrace_object(): create backtrace object. 13714 b) vm_backtrace_str_ary(): create bt as an array of string. 13715 c) vm_backtrace_print(): print backtrace to specified file. 13716 d) rb_backtrace_print_as_bugreport(): print backtrace on 13717 bugreport style. 13718 (2) remove rb_backtrace_each(). Use backtrace_each() instead. 13719 (3) change the type of lev parameter to size_t. 13720 a) lev == 0 means current frame (exception, etc use it). 13721 b) lev == 1 means upper frame (caller(0) use it). 13722 13723 * vm_core.h, vm_dump.c, vm_eval.c: ditto. 13724 13725 * vm.c (backtrace_object(), vm_backtrace_str_ary()): fix to return a 13726 correct size of caller(lev) array. 13727 Let n be a "caller(0).size" then ln as caller(lev).size should be 13728 (n - lev). However, the previous implementation returns a wrong 13729 size array (ln > n - lev). [ruby-dev:45673] 13730 13731 * test/ruby/test_backtrace.rb: add tests for backtrace. 13732 13733Fri May 25 08:51:39 2012 Eric Hodel <drbrain@segment7.net> 13734 13735 * enum.c (enum_count): Enumerable#count no longer uses #size when 13736 counting elements. Patch by Nobuhiro IMAI. [ruby-trunk - Bug #6473] 13737 13738Fri May 25 01:15:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13739 13740 * sprintf.c (ruby__sfvextra): [EXPERIMENTAL] use inspect instead of 13741 to_s if plus flag is given. 13742 13743 * vsnprintf.c (BSD_vfprintf): pass sign flag. 13744 13745Fri May 25 00:37:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13746 13747 * test/rubygems/test_gem_indexer.rb (setup, teardown): save @tempdir 13748 to remove it properly. [Bug #5348] 13749 13750Thu May 24 23:36:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13751 13752 * vsnprintf.c (BSD_vfprintf): [EXPERIMENTAL] object representation in 13753 rb_enc_vsprintf(). [Feature #5896] 13754 13755Thu May 24 15:33:01 2012 Koichi Sasada <ko1@atdot.net> 13756 13757 * vm_method.c (rb_method_defined_by): removed. 13758 nobu pointed out that rb_method_basic_definition_p() is enough 13759 for last commit. 13760 13761 * error.c, eval_error.c: change for above. 13762 13763Thu May 24 14:30:13 2012 Koichi Sasada <ko1@atdot.net> 13764 13765 * vm.c: add RubyVM::Backtrace object (btobj). 13766 Backtrace information contains an array consists of location 13767 information for each frames by string. 13768 RubyVM::Backtrace object is lightweight backtrace information, 13769 which contains complete information to generate traditional style 13770 backtrace (an array of strings) with faster generation. 13771 If someone accesses to backtrace information via 13772 Exception#backtrace, then convert a RubyVM::Backtrace object to 13773 traditional style backtrace. 13774 This change causes incompatibility on marshal dumped binary 13775 of Exception. If you have any trouble on it, please tell us 13776 before Ruby 2.0 release. 13777 Note that RubyVM::Backtrace object should not expose Ruby level. 13778 13779 * error.c, eval.c, vm_eval.c: ditto. 13780 13781 * internal.h: ditto. 13782 13783 * eval_error.c: fix to skip "set_backtrace" method invocation in 13784 creating an exception object if it call a normal set_backtrace 13785 method (defined by core). 13786 13787 * test/ruby/test_settracefunc.rb: fix for above change. 13788 13789 * vm_method.c (rb_method_defined_by): added. This function 13790 checks that the given object responds with the given method 13791 by the given cfunc. 13792 13793 * benchmark/bm_vm2_raise1.rb, benchmark/bm_vm2_raise2.rb: 13794 add to measure exception creation speed. raise1 create 13795 exception objects from shallow stack frame. raise2 create 13796 exception objects from deep stack frame. 13797 13798Thu May 24 12:07:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13799 13800 * io.c (io_strip_bom): check EOF. [Bug #6487][ruby-core:45203] 13801 13802Wed May 23 22:06:14 2012 NARUSE, Yui <naruse@ruby-lang.org> 13803 13804 * lib/net/http/header.rb (Net::HTTPHeader#range): fix broken parser of 13805 HTTP Range request. Old one can't parse invalid specs and multiple 13806 specs correctly. 13807 13808Wed May 23 10:18:54 2012 NAKAMURA Usaku <usa@ruby-lang.org> 13809 13810 * win32/win32.c (finish_overlapped_socket, overlapped_socket_io): 13811 replace ECONNABORTED to EPIPE in send, sendto and sendmsg to improve 13812 BSD socket compatibility. this change removes a failure on the test 13813 of net/ftp. 13814 13815Wed May 23 05:35:58 2012 Eric Hodel <drbrain@segment7.net> 13816 13817 * lib/net/http.rb: Broke up Net::HTTP into individual files. 13818 [ruby-trunk - Feature #6435] 13819 * lib/net/http/backward.rb: ditto. 13820 * lib/net/http/response.rb: ditto. 13821 * lib/net/http/exceptions.rb: ditto. 13822 * lib/net/http/responses.rb: ditto. 13823 * lib/net/http/generic_request.rb: ditto. 13824 * lib/net/http/header.rb: ditto. 13825 * lib/net/http/request.rb: ditto. 13826 * lib/net/http/proxy_delta.rb: ditto. 13827 * lib/net/http/requests.rb: ditto. 13828 13829Wed May 23 05:15:11 2012 Eric Hodel <drbrain@segment7.net> 13830 13831 * class.c (rb_mod_init_copy): Clear the cached inspect string of a 13832 dup'd anonymous module or class. [ruby-trunk - Bug #6454] 13833 * test/ruby/test_module.rb (class TestModule): ditto 13834 13835Tue May 22 16:49:15 2012 Koichi Sasada <ko1@atdot.net> 13836 13837 * vm_core.h: add a data type rb_location_t to store iseq location 13838 information. 13839 rb_location_t#filename, filepath, name and line_no was moved from 13840 rb_iseq_t. rb_location_t#basename is a new field which is 13841 similar to `name' field without any decoration. 13842 `name' field contains some decoration such as `block in foo'. 13843 `basename' only contains `foo'. 13844 rb_iseq_t contains memory object of rb_location_t. 13845 13846 * iseq.c: setup rb_location_t for each rb_iseq_t memory objects. 13847 13848 * compile.c, proc.c, vm.c, vm_dump.c, vm_eval.c, vm_insnhelper.c, 13849 vm_method.c: support about it. 13850 13851Tue May 22 00:45:05 2012 Yusuke Endoh <mame@tsg.ne.jp> 13852 13853 * struct.c (rb_struct_members): Refactoring. As Struct#members had 13854 returned an array of String, the old code was needed to convert 13855 Symbols to Strings. But it is almost unnecessary because the 13856 method now returns an array of Symbols. A patch by Masaki 13857 Matsushita <glass.saga at gmail dot com> [Feature #6218] 13858 [ruby-dev:45451] 13859 13860Mon May 21 19:20:25 2012 NARUSE, Yui <naruse@ruby-lang.org> 13861 13862 * lib/net/ftp.rb (Net::FTP#retrbinary): close only if conn is not nil 13863 because transfercmd may fail and return nil. 13864 13865 * lib/net/ftp.rb (Net::FTP#retrlines): ditto. 13866 13867Mon May 21 15:10:28 2012 Akinori MUSHA <knu@iDaemons.org> 13868 13869 * ext/syslog/syslog.c: Classify constants and macros into several 13870 sub-modules. (Syslog::Priority, Syslog::Level, Syslog::Option 13871 and Syslog::Macros) 13872 13873 * ext/syslog/syslog.c (mSyslog_inspect): Use rb_sprintf(). 13874 13875 * ext/syslog/syslog.c (mSyslog_inspect): Make sure self is a 13876 module before calling rb_class2name(). 13877 13878Mon May 21 12:44:11 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 13879 13880 * .travis.yml (install): It seems tcl/tk is skipped in Travis 13881 CI. Trying to fix the situation. 13882 13883Mon May 21 12:11:25 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13884 13885 * enc/depend (ENCOBJS): add dependencies. 13886 13887 * enc/make_encmake.rb (target_encodings): extract dependencies. 13888 13889Mon May 21 11:26:17 2012 NARUSE, Yui <naruse@ruby-lang.org> 13890 13891 * lib/net/ftp.rb (Net::FTP#transfercmd): rescue shutdown. 13892 13893Sun May 20 23:00:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13894 13895 * ext/extmk.rb (extmake): reopen $stdout to NULL, since setting 13896 $stdout cannot affect child processes. 13897 13898Sun May 20 21:36:39 2012 NARUSE, Yui <naruse@ruby-lang.org> 13899 13900 * enc/shift_jis.c (code_to_mbclen): return 13901 ONIGERR_INVALID_CODE_POINT_VALUE if the code is invalid. 13902 13903 * string.c (tr_next): increment character until the code 13904 is a valid character. [ruby-dev:45652] [Bug #6450] 13905 13906Sun May 20 12:25:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13907 13908 * Makefile.in (LIBRUBY_SO): link EXTSOLIBS too. 13909 13910 * ext/extmk.rb (mf.macro): use EXTSOLIBS instead of SOLIBS to get rid 13911 of discard libraries needed by default. [Bug #6462] 13912 13913Sat May 19 19:04:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13914 13915 * ext/extmk.rb (command_output): ENCOBJS is needed for all linked 13916 ruby, if --disable-shared and --with-static-linked-ext. 13917 13918 * ext/extmk.rb (command_output): dmyext is needed as DLDOBJS if no 13919 static linked extensions. 13920 13921 * Makefile.in, common.mk (PROGRAM): no extension libraries. 13922 13923 * common.mk (build-ext): pass macros for libruby.so. 13924 13925 * ext/extmk.rb (command_output): link extension libraries and encoding 13926 libraries into libruby.so, not ruby executable. 13927 13928 * ext/extmk.rb (command_output): fold long macro lines. 13929 13930 * Makefile.in (LIBEXT): add macro. 13931 13932 * configure.in (ENCOBJS, EXTOBJS): use LIBEXT, not hardcoded suffix. 13933 13934 * Makefile.in (LIBRUBY_A): fix typo. re-applying r35242. 13935 13936Sat May 19 04:46:53 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13937 13938 * ext/openssl/extconf.rb: Use Logging::message instead of message. 13939 * ext/zlib/extconf.rb: ditto. 13940 13941Fri May 18 18:13:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13942 13943 * lib/mkmf.rb (MakeMakefile#configuration): keep space at end of 13944 OUTFLAG and COUTFLAG. [ruby-dev:45650] 13945 13946Fri May 18 17:39:42 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13947 13948 * thread_pthread.c (rb_thread_create_timer_thread): Added error 13949 check when failing fcntl(). [Bug #6147] [ruby-dev:45364] 13950 13951Fri May 18 17:41:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 13952 13953 * ext/extmk.rb (extmake): link archives only, skip script only 13954 extension libraries. 13955 13956Fri May 18 17:25:33 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13957 13958 * cont.c: bump up fiber machine stack size when running on 64bit 13959 arch. [Bug #6344] [ruby-dev:45554] 13960 13961Fri May 18 15:20:56 2012 NARUSE, Yui <naruse@ruby-lang.org> 13962 13963 * lib/uri/generic.rb (URI::Generic.build): duplicate args before adding 13964 new items. (don't change arguments) 13965 13966 * lib/uri/generic.rb (URI::Generic.build): use URI::Generic::COMPONENT 13967 if this method is called from URI::Generic. 13968 13969 * lib/uri/generic.rb (URI::Generic.build2): escape only if the item is 13970 a String. 13971 13972 * lib/uri/generic.rb (URI::Generic.build2): use DEFAULT_PARSER because 13973 it doesn't have parser method. [Bug #6420] 13974 13975Fri May 18 15:54:07 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13976 13977 * ext/zlib/extconf.rb: Use an exception instead of bare puts. 13978 13979Fri May 18 15:53:05 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13980 13981 * ext/psych/extconf.rb: Use an exception instead of bare abort. 13982 13983Fri May 18 15:51:32 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13984 13985 * ext/fiddle/extconf.rb: Use an exception instead of bare abort. 13986 13987Fri May 18 15:49:35 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13988 13989 * ext/readline/extconf.rb: Use an exception instead of bare exit. 13990 13991Fri May 18 15:38:11 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13992 13993 * ext/ripper/extconf.rb: Use an exception instead of bare 13994 Logging.message. 13995 13996Fri May 18 15:23:06 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 13997 13998 * ext/openssl/extconf.rb: Clarify a message when hit Apple 13999 OpenSSL issue. 14000 14001Fri May 18 15:14:32 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 14002 14003 * ext/extmk.rb: Show a message when extconf.rb raised an exception. 14004 * ext/openssl/extconf.rb: Use exception raising instead of message 14005 and/or abort. We want to display error message to console _and_ 14006 logging into mkmf.log. 14007 14008Fri May 18 06:14:07 2012 Eric Hodel <drbrain@segment7.net> 14009 14010 * ext/syslog/lib/syslog/logger.rb: Added Syslog::Logger which was 14011 ported from the SyslogLogger gem. [ruby-trunk - Feature #5096] 14012 * NEWS: ditto. 14013 * test/syslog/test_syslog_logger.rb: ditto. 14014 14015Fri May 18 01:28:21 2012 Aaron Patterson <aaron@tenderlovemaking.com> 14016 14017 * ext/psych/parser.c (transcode_string): fix encoding index names. 14018 Thanks markizko for reporting. 14019 14020Thu May 17 23:03:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14021 14022 * configure.in: fix function name to be checked, to initialize 14023 rb_thread_cond_t properly. 14024 14025 * thread_pthread.c (native_cond_initialize, native_cond_destroy): 14026 fix macro name. 14027 14028Thu May 17 12:53:07 2012 Yuki Yugui Sonoda <yugui@google.com> 14029 14030 * thread.c, thread_pthread.c: Moved pthread-specific preprocessor 14031 hacks to thread_pthread.c 14032 14033Thu May 17 12:18:47 2012 Yuki Yugui Sonoda <yugui@google.com> 14034 14035 * io.c: Fix a mistake on merging the patch in the previous commit. 14036 14037Thu May 17 11:33:07 2012 Yuki Yugui Sonoda <yugui@google.com> 14038 14039 Imports Ruby's port to NativeClient (a.k.a NaCl). 14040 Patch by Google Inc. [ruby-core:45073]. 14041 14042 * configure.in (RUBY_NACL): New M4 func to configure variables for 14043 NaCl. 14044 (RUBY_NACL_CHECK_PEPPER_TYPES): New M4 func to check the old names 14045 of Pepper interface types. 14046 (BTESTRUBY): New variable to specify which ruby should be run on 14047 "make btest". NaCl can run the built binary by sel_ldr, but it need 14048 rbconfig.rb. So this variable is distinguished from $MINIRUBY. 14049 14050 * thread_pthread.c: Disabled some features on NaCl. 14051 14052 * io.c: ditto. 14053 14054 * process.c: ditto. 14055 14056 * signal.c: ditto. 14057 14058 * file.c: ditto. 14059 14060 * missing/flock.c: ditto. 14061 14062 * nacl/pepper_main.c: An example implementation of Pepper application 14063 that embeds Ruby. 14064 14065 * nacl/example.html: An example of web page that uses the Pepper 14066 application. 14067 14068 * nacl/nacl-config.rb: Detects variants of NaCl SDK. 14069 14070 * nacl/GNUmakefile.in: Makefile template for NaCl specific build 14071 process. 14072 14073 * nacl/package.rb: script for packaging a NaCl-Ruby embedding 14074 application. 14075 14076 * nacl/reate_nmf.rb: Wrapper script of create_nmf.py 14077 14078 * dln.c (dln_load): Added a hack to call on NaCl. 14079 14080 * util.c (ruby_getcwd): Path to the current directory is not available 14081 on NaCl. 14082 14083Thu May 17 10:54:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14084 14085 * ext/tk/extconf.rb: add -l options to $libs not $LDFLAGS, 14086 to be passed to EXTLIBS in exts.mk. 14087 14088 * enc/encinit.c.erb: use %-lines to adjust indent in the generated file. 14089 14090 * lib/mkmf.rb (MakeMakefile#have_framework): combine -framework option 14091 and its argument with an equal sign not to be separated in merge_libs. 14092 14093 * ext/tk/extconf.rb: ditto. 14094 14095 * ext/extmk.rb: EXTLDFLAGS also needs to be passed. 14096 14097Wed May 16 15:44:22 2012 Yuki Yugui Sonoda <yugui@google.com> 14098 14099 * configure.in: Fix an unbalanced quote. 14100 14101Wed May 16 15:43:10 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14102 14103 * ext/extmk.rb (exts.mk): use double quotes instead of single quotes 14104 for commandline because it's not recognized as quotes on Windows. 14105 14106Wed May 16 15:15:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14107 14108 * configure.in (LD): enclose with single quotes but not double quotes 14109 not to expand command substitution. 14110 14111Wed May 16 14:19:51 2012 Yuki Yugui Sonoda <yugui@google.com> 14112 14113 Supports static linking of extensions and encodings again. 14114 Fixes --with-static-linked-ext. 14115 14116 Patch by Google Inc. [ruby-core:45073]. 14117 14118 * Makefile.in (ENCOBJS, EXTOBJS): New variables to specify static 14119 linked libraries. Also reintroduces extinit.o, introduces encinit.o 14120 introduces encinit.o 14121 14122 * common.mk: Builds static libraries rather than shared objects if 14123 specified. 14124 14125 * configure.in (LD): new substitution. 14126 14127 * enc/depend: Supports static linked libraries 14128 (libencs, libenc, libtrans): New target. 14129 14130 * enc/encinit.c.erb: new template to generate the initialization of 14131 statically linked encodings. 14132 14133 * enc/make_encmake.rb (--module): new flag to specify whether static 14134 or dynamic. 14135 14136 * transcode_data.h (TRANS_INIT): New macro to get rid of the name 14137 collision of encoding initializers and transcoder initializers. 14138 14139 * ext/extmk.rb: Fixes the behavior on $extstatic is true. 14140 14141 * lib/mkmf.rb (clean-static): new target to clean up static linked 14142 libraries. 14143 14144 * ruby.c (process_options): New initializes statically linked 14145 encodings here. 14146 14147Wed May 16 14:30:43 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14148 14149 * io.c: fixed a merge mistake of r33878, reported by nobu via IRC. 14150 14151Wed May 16 06:59:41 2012 Tadayoshi Funaba <tadf@dotrb.org> 14152 14153 * ext/date/date_strftime.c: should also be aware of flags on 14154 complex specifier. 14155 14156Wed May 16 05:11:29 2012 Aaron Patterson <aaron@tenderlovemaking.com> 14157 14158 * ext/psych/lib/psych/visitors/to_ruby.rb: fix a bug with string 14159 subclass dumping and loading. 14160 14161 * test/psych/test_array.rb: pertinent tests 14162 14163 * test/psych/test_string.rb: ditto 14164 14165Wed May 16 01:31:21 2012 Aaron Patterson <aaron@tenderlovemaking.com> 14166 14167 * ext/psych/lib/psych/visitors/to_ruby.rb: convert omap tagged maps to 14168 Psych::Omap objects rather than hashes. [Bug #6425] 14169 14170 * test/psych/test_omap.rb: pertinent test. 14171 14172Wed May 16 01:15:45 2012 Aaron Patterson <aaron@tenderlovemaking.com> 14173 14174 * ext/psych/lib/psych/visitors/yaml_tree.rb: keep a reference to 14175 custom coders so that GC does not impact dumped yaml reference ids. 14176 14177Tue May 15 23:59:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14178 14179 * lib/test/unit.rb (Test::Unit::Options#setup_options): add --color option. 14180 14181 * lib/test/unit.rb (Test::Unit::Runner#_prepare_run): defer color code 14182 initialization to regard --color option. 14183 14184Mon May 14 16:28:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14185 14186 * parse.y (f_arglist): should reset lexical states after empty 14187 argument list with no parenthesis as well as parenthesized list, 14188 so that reserved name method definition work. [ruby-dev:45626] 14189 [Bug #6403] 14190 14191Mon May 14 00:14:24 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 14192 14193 * enumerator.c (lazy_take_func, lazy_take): multiple calls of 14194 force/to_a method to Enumerator::Lazy#take should return same 14195 results. [ruby-dev:45634] [Bug #6428] 14196 14197 * test/ruby/test_lazy_enumerator.rb (test_take_recycle): add test for 14198 above. 14199 14200Sun May 13 23:38:31 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 14201 14202 * test/ruby/test_io.rb (test_flush_in_finalizer1): don't use IO.for_fd 14203 to close IO objects. it create IO object with already closed fd, and 14204 cause occasional Errno::EBADF in following tests. [ruby-core:45020] 14205 [Bug #6228] 14206 14207Sun May 13 23:32:16 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org> 14208 14209 * test/ruby/test_io.rb (TestIO): revert r35631. it broke the intent of 14210 test_flush_in_finalizer1. [ruby-core:43951] [Bug #6228] 14211 14212Sun May 13 22:46:36 2012 Tanaka Akira <akr@fsij.org> 14213 14214 * ext/etc/etc.c (passwd_ensure): move endpwent() call from 14215 passwd_iterate to close /etc/passwd on exception. 14216 (group_ensure): move endgrent() call from group_iterate to close 14217 /etc/group on exception. 14218 14219Sun May 13 18:10:43 2012 Tadayoshi Funaba <tadf@dotrb.org> 14220 14221 * ext/date/date_strftime.c: removed unused code and changed the style. 14222 14223Sun May 13 17:37:56 2012 Tadayoshi Funaba <tadf@dotrb.org> 14224 14225 * ext/date/date_strftime.c: refactored. 14226 14227Sun May 13 06:40:12 2012 Luis Lavena <luislavena@gmail.com> 14228 14229 * test/ruby/test_io.rb (class TestIO): Disable GC during IO tests to 14230 avoid file descriptors being GC'ed. Suggestion by Tomoyuki Chikanaga 14231 [ruby-core:43951][Bug #6228] 14232 14233Sat May 12 07:00:16 2012 Eric Hodel <drbrain@segment7.net> 14234 14235 * ext/sdbm/init.c: Added documentation. Patch by Justin Collins, 14236 cleanup by Zachary Scott. [ruby-trunk - #6410] 14237 14238Sat May 12 06:02:03 2012 Eric Hodel <drbrain@segment7.net> 14239 14240 * lib/fileutils.rb (cp_r): Fixed cp_r example. Patch by TJ Koblentz 14241 from pull request #114. [ruby-trunk - Bug #6411] 14242 14243Sat May 12 05:23:06 2012 NARUSE, Yui <naruse@ruby-lang.org> 14244 14245 * thread.c (rb_threadptr_execute_interrupts_common): 14246 test_signal_requiring of test/ruby/test_signal.rb fail if the sub 14247 process is killed on waiting IO in lex_io_gets in rb_load_file in 14248 rb_load_internal in require. 14249 This is because 14250 (1) the process receive the killing signal in 14251 rb_thread_io_blocking_region in rb_read_internal in lex_io_gets. 14252 (2) set th->errinfo as INT2FIX(TAG_FATAL) at 14253 rb_threadptr_execute_interrupts_common. 14254 (3) escape rb_load_file in rb_load_internal and jump to EXEC_TAG() 14255 without set loaded as TRUE. 14256 (4) call first rb_exc_raise(GET_THREAD()->errinfo); because loaded 14257 is FALSE as above. this errinfo should be an exception object 14258 but this is INT2FIX(TAG_FATAL). 14259 Don't call first rb_exc_raise if GET_THREAD()->errinfo is Fixnum. 14260 14261Fri May 11 14:23:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14262 14263 * parse.y (primary): begin/end block should be isolated from outside. 14264 [ruby-dev:45631][Bug #6419] 14265 14266Fri May 11 14:09:47 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14267 14268 * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC, 14269 must not cast it to unsigned long, which may be shorter than 14270 VALUE, and the result can be mere garbage. 14271 14272Fri May 11 09:51:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14273 14274 * lib/test/unit.rb (Test::Unit::Runner#failed): no unnecessary 14275 newlines if no reports to be displayed. 14276 14277Thu May 10 10:55:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14278 14279 * test/minitest/test_minitest_mock.rb: Correct requiring path to 14280 metametameta.rb. 14281 14282 * test/minitest/test_minitest_unit.rb: Correct requiring path to 14283 metametameta.rb. 14284 14285Thu May 10 10:18:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14286 14287 * parse.y (lex_state_name): returns name for lex_state_e, for debug 14288 use. 14289 14290Wed May 9 16:36:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14291 14292 * lib/mkmf.rb (MakeMakefile#pkg_config): check if libs resulted from 14293 pkg-config works actually. 14294 14295Wed May 9 16:01:38 2012 Shugo Maeda <shugo@ruby-lang.org> 14296 14297 * lib/net/imap.rb (decode_utf7, encode_utf7): refactored by 14298 Nobuyoshi Nakada, to use String#encode. 14299 14300Wed May 9 13:26:25 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14301 14302 * test/rubygems/test_gem_remote_fetcher.rb: skip OpenSSL dependent 14303 tests if not available. 14304 14305Wed May 9 08:09:38 2012 Ryan Davis <ryand-ruby@zenspider.com> 14306 14307 * lib/minitest/*: Imported minitest 3.0.0 (r7435) 14308 * test/minitest/*: ditto 14309 * test/rubygems/*: Imported fixes for buggy use of assert_match 14310 and deprecated assert_block 14311 UNBUNCH YOUR PANTIES. THE TESTS DO NOT RUN CLEAN ON OSX. 14312 14313Wed May 9 06:28:59 2012 Eric Hodel <drbrain@segment7.net> 14314 14315 * re.c (rb_reg_equal): Removed incorrect example for Regexp#== with 14316 "n" option. [ruby-talk - Bug #6415] 14317 14318Wed May 9 06:23:33 2012 Tadayoshi Funaba <tadf@dotrb.org> 14319 14320 * ext/date/date_core.c: reverted. 14321 14322Wed May 9 04:31:26 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> 14323 14324 * lib/rinda/ring.rb (lookup_ring_any): fix Rinda::RingFinger.primary 14325 hungs forever. [ruby-talk:395364] 14326 14327Tue May 8 21:09:00 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 14328 14329 * include/ruby/win32.h (FD_SET): change function to macro. 14330 To avoid buffer overflow when smaller FD_SETSIZE is used in ext 14331 libraries. 14332 14333 * win32/win32.c (rb_w32_fdset): this function is not used anymore. 14334 But we leave this for compatibility. 14335 14336 * win32/win32.c (rb_w32_select_with_thread): fix SEGV when smaller 14337 FD_SETSIZE is used in ext libraries. Dereference of fd_set pointer 14338 causes SEGV. 14339 14340 * test/-ext-/win32/test_fd_setsize.rb(TestFdSetSize): add tests for 14341 above. 14342 * ext/-test-/win32/fd_setsize/depend: ditto. 14343 * ext/-test-/win32/fd_setsize/extconf.rb: ditto. 14344 * ext/-test-/win32/fd_setsize/fd_setsize.c: ditto. 14345 14346 [ruby-core:44588] [Bug #6352] 14347 14348Tue May 8 20:44:46 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 14349 14350 * io.c (io_unread): fix IO#pos with mode 'r' bug on Windows. 14351 If the end of reading buffer is CR, io_unread() needs to unread one 14352 more byte. 14353 [ruby-core:44874] [Bug #6401] 14354 14355 * test/ruby/test_io_m17n.rb (TestIO_M17N#test_pos_with_buffer_end_cr): 14356 add a test for above. 14357 14358Tue May 8 13:38:17 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 14359 14360 * ext/date/date_core.c: improving introduction in Date/DateTime 14361 documentation. patched by Daniel Kaufman via Github. 14362 https://github.com/ruby/ruby/pull/110 14363 14364Tue May 8 13:36:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14365 14366 * configure.in (POSTLINK): default to : command to get rid of flag 14367 only command, since BSD make does not work with it. 14368 14369Tue May 8 13:35:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14370 14371 * lib/test/unit.rb (MiniTest#run_test): remove exact trace and get rid 14372 of IndexError, which could caused by modified $@ sometimes. 14373 14374Tue May 8 11:21:27 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14375 14376 * test/minitest/metametameta.rb (MetaMetaMetaTestCase#assert_report): 14377 support drive letter on Windows. yes, the original code is metameta. 14378 14379Tue May 8 08:54:48 2012 Eric Hodel <drbrain@segment7.net> 14380 14381 * lib/abbrev.rb: Fixed typo in abbrev pattern documentation. Based on 14382 patch by Mark Rushakoff. [ruby-trunk - #6346] 14383 14384Tue May 8 07:44:18 2012 NARUSE, Yui <naruse@ruby-lang.org> 14385 14386 * ext/openssl/ossl_ssl.c (ossl_start_ssl): remove useless rb_sys_fail 14387 before ossl_raise. this cause a test failure on Linux. 14388 http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120507T190102Z.log.html.gz 14389 14390Tue May 8 05:35:18 2012 Eric Hodel <drbrain@segment7.net> 14391 14392 * object.c (Init_Object): Added reference to variable.c where 14393 public_constant and private_constant documentation lives. [#6381] 14394 14395Tue May 8 04:47:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14396 14397 * lib/test/unit.rb (Test::Unit::Runner#output): prefer local output to 14398 get rid of unexpected side effect in test/minitest/metametameta.rb. 14399 14400 * lib/test/unit.rb (MiniTest#run_test): show the running test in $0. 14401 14402 * lib/test/unit.rb (Test::Unit::StatusLineOutput): new class to output 14403 in status line. 14404 14405 * test/testunit/test_hideskip.rb (TestHideSkip#test_hideskip): 14406 MiniTest#puke now reports Skipped messages only if verbose mode. 14407 14408 * test/testunit/test_sorting.rb (TestTestUnitSorting#test_sorting): 14409 ditto. 14410 14411 * lib/test/unit.rb (Test::Unit::Runner#puke): modify only result and 14412 drop useless reports, not override entirely. 14413 14414 * bootstraptest/runner.rb (exec_test, show_progress): show rotators 14415 and pass/fail counts. 14416 14417 * sample/test.rb (PROGRESS): refine output. 14418 14419Tue May 8 02:34:26 2012 NARUSE, Yui <naruse@ruby-lang.org> 14420 14421 * lib/minitest/unit.rb (assert_match): refix of r35563. 14422 r35563 breaks the intention of the original change. 14423 https://github.com/seattlerb/minitest/commit/68858105b2eb11c85105ffac5f32b662c59397f3 14424 * lib/minitest/unit.rb (refute_match): ditto. 14425 14426Mon May 7 21:19:17 2012 NARUSE, Yui <naruse@ruby-lang.org> 14427 14428 * ext/json: Merge JSON 1.7.1. 14429 https://github.com/flori/json/commit/e5b9a9465c1159fae533bca320d950b772bcb4ac 14430 14431Mon May 7 22:54:22 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 14432 14433 * ext/openssl/ossl_ssl.c: add support for option flags 14434 OpenSSL::SSL::OP_NO_TLSv1_1 14435 OpenSSL::SSL::OP_NO_TLSv1_2 14436 to allow blocking specific TLS versions. Thanks to Justin Guyett for 14437 pointing this out to me. 14438 * test/openssl/test_ssl.rb: add tests to assert correct behavior when 14439 blocking certain versions of TLS/SSL both on server and client side. 14440 Also refactored tests to reduce boilerplate code a little. 14441 * test/openssl/utils.rb: rescue Errno::ECONNRESET for tests where 14442 client rejects the connection because a forbidden protocol version 14443 was used. 14444 14445Mon May 7 20:14:15 2012 Tanaka Akira <akr@fsij.org> 14446 14447 * lib/securerandom.rb (random_bytes): call to_int method for the 14448 argument at first. 14449 14450Mon May 7 17:54:12 2012 NARUSE, Yui <naruse@ruby-lang.org> 14451 14452 * lib/minitest/unit.rb (assert_match): replace matcher only if both 14453 matcher and obj are String. fix r35541. [Bug #6405] 14454 DON'T COMMIT IF YOU CAN'T RUN TEST. 14455 FIX AS SOON AS POSSIBLE YOU BREAK TESTS. 14456 patched by ayumin. 14457 https://github.com/seattlerb/minitest/pull/124 14458 14459 * lib/minitest/unit.rb (refute_match): ditto. 14460 14461Mon May 7 13:41:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14462 14463 * Makefile.in (PROGRAM), configure.in (POSTLINK): sign built program 14464 using RUBY_CODESIGN identity. 14465 14466Mon May 7 13:03:55 2012 Shugo Maeda <shugo@ruby-lang.org> 14467 14468 * lib/net/imap.rb (body_type_attachment): parse body type 14469 "ATTACHMENT". [ruby-core:44849] [Bug #6397] 14470 14471Mon May 7 10:49:36 2012 NARUSE, Yui <naruse@ruby-lang.org> 14472 14473 * ext/bigdecimal/bigdecimal.c (Init_bigdecimal): define IDs before 14474 they are used. [ruby-core:44900] [Bug #6406] 14475 14476Mon May 7 10:27:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14477 14478 * ext/digest/rmd160/rmd160.c (RMD160_Update): fix for huge data. 14479 14480Mon May 7 10:23:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14481 14482 * test/fileutils/fileasserts.rb: use assert_equal, assert_match, and so on. 14483 14484 * test/ruby/enc/test_utf16.rb, test/ruby/enc/test_utf32.rb, 14485 test/ruby/test_io_m17n.rb (assert_str_equal): ditto. 14486 14487 * test/rubygems/test_gem_remote_fetcher.rb 14488 (assert_data_from_{server,proxy}): ditto. 14489 14490 * test/test_pstore.rb (test_thread_safe): ditto. 14491 14492Mon May 7 10:16:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14493 14494 * test/rubygems/test_gem_installer.rb (TestGemInstaller#test_dir): fix 14495 argument order. expected value must come first. 14496 14497Mon May 7 09:14:11 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 14498 14499 * ext/openssl/ossl_ssl.c: support TLSv1.1 & TLSv1.2. Add 14500 SSLContext#version to inspect the version that was negotiated for 14501 a given connection. 14502 * ext/openssl/extconf.rb: detect TLS 1.1 & 1.2 support. 14503 * test/openssl/test_ssl.rb: add tests for TLS 1.1 & 1.2 given they 14504 are supported by the native OpenSSL being used. 14505 14506Sun May 6 21:34:29 2012 NARUSE, Yui <naruse@ruby-lang.org> 14507 14508 * io.c (io_encoding_set): suppress warnings. [ruby-dev:45627] 14509 this tmp1 is not required after r35538. 14510 14511 * addr2line.c: suppress warnings. 14512 14513Sun May 6 18:39:39 2012 Koichi Sasada <ko1@atdot.net> 14514 14515 * compile.c (iseq_compile_each): remove unused variable `size'. 14516 14517Sun May 6 14:50:03 2012 Tanaka Akira <akr@fsij.org> 14518 14519 * lib/securerandom.rb: show actual read length in an error message. 14520 14521Sat May 5 06:43:10 2012 Ryan Davis <ryand-ruby@zenspider.com> 14522 14523 * lib/minitest/*: Imported minitest 2.12.1 (r7323) 14524 * test/minitest/*: ditto 14525 14526Sat May 5 01:47:33 2012 NARUSE, Yui <naruse@ruby-lang.org> 14527 14528 * test/zlib/test_zlib.rb (test_inflate): add a test for Zlib.inflate. 14529 patched by headius (Charles Nutter). [ruby-core:44859] [Bug #6398] 14530 14531 * test/zlib/test_zlib.rb (test_deflate): add a test for Zlib.deflate. 14532 14533Sat May 5 00:53:55 2012 NARUSE, Yui <naruse@ruby-lang.org> 14534 14535 * io.c (parse_mode_enc): remove warnings 'Ignoring internal encoding'. 14536 [ruby-core:44455] [Bug #6324] 14537 14538 * io.c (io_encoding_set): ditto. 14539 14540Fri May 4 07:19:02 2012 NARUSE, Yui <naruse@ruby-lang.org> 14541 14542 * lib/rdoc/parser.rb (RDoc.binary?): fix wrong regexp. 14543 [ruby-core:44798] [Bug #6393] 14544 14545Fri May 4 01:33:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14546 14547 * lib/rdoc/parser.rb (RDoc.alias_extension): a real file is irrelevant 14548 to aliasing. [ruby-core:44796][Bug #6392] 14549 14550 * lib/rdoc/parser.rb (RDoc.zip?): non-existent file will not be a zip 14551 file. 14552 14553 * lib/rdoc/parser.rb (RDoc.can_parse_by_name): accept aliased 14554 extension file names. 14555 14556 * lib/rdoc/parser.rb (RDoc.binary?): binary read data may have 14557 incomplete multibyte sequence. [ruby-core:44798][Bug #6393] 14558 14559Wed May 2 23:55:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14560 14561 * lib/test/unit.rb (Test::Unit::RequireFiles#non_options): expand 14562 real path to get rid of loading same files via symlinks. 14563 14564Wed May 2 23:26:04 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 14565 14566 * cont.c (rb_fiber_m_transfer): improve sample code in Fiber#transfer 14567 documentation. emphasize the difference between transfer and resume. 14568 14569Wed May 2 23:21:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14570 14571 * parse.y (parser_yylex): allow spaces between lambda arrow and 14572 parenthesis. [ruby-dev:45605][Feature #6390] 14573 14574Wed May 2 19:06:30 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 14575 14576 * cont.c (rb_fiber_m_transfer): Improved Fiber documentation. 14577 patched by Anuj Dutta. [ruby-core:44540][Bug #6343] 14578 14579Wed May 2 13:06:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14580 14581 * README, README.ja: reformatted using rdoc markup. based on the 14582 patches by zzak (Zachary Scott) in [Feature #6388]. 14583 14584 * README, README.ja: updated the author's mail address. 14585 14586Wed May 2 09:46:09 2012 Kouji Takao <kouji@takao7.net> 14587 14588 * ext/readline/readline.c (Readline.special_prefixes=) 14589 (Readline.special_prefixes): new function. An original patch was 14590 created by nagachika. [Feature #5784] 14591 14592Tue May 1 22:18:45 2012 Kouji Takao <kouji@takao7.net> 14593 14594 * ext/readline/readline.c (Readline.pre_input_hook) 14595 (Readline.insert_text, Readline.redisplay): new function. An 14596 original patch was created by nagachika. [Feature #5785] 14597 14598Tue May 1 15:46:48 2012 Koichi Sasada <ko1@atdot.net> 14599 14600 * common.mk: "$(Q)-..." doesn't work on nmake. 14601 14602Tue May 1 15:32:10 2012 Koichi Sasada <ko1@atdot.net> 14603 14604 * common.mk: replace '@' prefix to '$(Q)' to control build 14605 process outputs. 14606 14607Tue May 1 14:17:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14608 14609 * ext/openssl/deprecation.rb (OpenSSL.check_func): check if header is 14610 available for macro compatibility. 14611 14612Tue May 1 10:53:54 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14613 14614 * test/ruby/test_settracefunc.rb: ignore traces from another threads 14615 because Kernel.set_trace_func affects other threads. 14616 14617Tue May 1 06:04:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14618 14619 * ext/digest/sha2/sha2.c (REVERSE32): explicitly cast since unsigned 14620 long may be larger than sha2_word32. 14621 14622 * ext/digest/sha2/sha2.c (SHA{256,512,384}_{Final,End}): should clear 14623 whole content, not pointer size. 14624 14625 * ext/digest/*/extconf.rb: use pkg_config to use same library with 14626 openssl. [ruby-core:44755][Bug #6379] 14627 14628 * ext/openssl/deprecation.rb: extract check for broken Apple OpenSSL. 14629 14630Tue May 1 05:02:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14631 14632 * configure.in (optflags): disable unsafe optimizations. 14633 [ruby-core:44679][Bug #6370] 14634 14635Mon Apr 30 23:36:49 2012 Tanaka Akira <akr@fsij.org> 14636 14637 * lib/fileutils.rb (copy_metadata): use File.lchown and File.lchmod to 14638 update meta data of symlinks. 14639 14640Mon Apr 30 23:05:53 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 14641 14642 * test/ruby/test_continuation.rb (tracing_with_set_trace_func): don't 14643 call Continuation from other threads. [ruby-dev:45596] [Bug #6382] 14644 14645Mon Apr 30 20:10:04 2012 Tanaka Akira <akr@fsij.org> 14646 14647 * ext/zlib/extconf.rb: detect z_crc_t type which will be defined 14648 since zlib-1.2.7. 14649 14650 * ext/zlib/zlib.c (rb_zlib_crc_table): use z_crc_t if available. 14651 14652Mon Apr 30 09:02:15 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 14653 14654 * ext/openssl/lib/openssl/ssl.rb: add hostname to "hostname does not 14655 match server cert." error. patched by Wes Morgan via Github. 14656 https://github.com/ruby/ruby/pull/122 14657 14658Mon Apr 30 04:43:53 2012 Aaron Patterson <aaron@tenderlovemaking.com> 14659 14660 * ext/psych/lib/psych/json/yaml_events.rb: implicit styles should not 14661 be changeable for JSON events. 14662 14663Sun Apr 29 06:12:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14664 14665 * parse.y (assoc, parser_yylex): add syntax to splat keyword hash. 14666 [ruby-core:44591][Feature #6353] 14667 14668 * compile.c (compile_array_): generate keyword splat insns. 14669 14670 * vm.c (m_core_hash_merge_kwd): merge keyword hash into intermediate 14671 hash. leftward argument is prior currently. 14672 14673Fri Apr 27 12:34:23 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14674 14675 * ext/dl/cfunc.c (rb_dlcfunc_call): should convert a Bignum value to 14676 unsigned long long on Win64. 14677 [ruby-core:44636][Bug #6364] reported by raylinn@gmail.com (ray linn) 14678 14679Fri Apr 27 10:58:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14680 14681 * test/readline/test_readline.rb (setup): avoid affected by user's 14682 inputrc file. [ruby-dev:45584][Bug #6357] 14683 14684Fri Apr 27 01:45:05 2012 NARUSE, Yui <naruse@ruby-lang.org> 14685 14686 * thread.c (rb_threadptr_execute_interrupts_common): 14687 handle timer_interrupt only on the first loop for the case to avoid 14688 the infinite loop like following case: 14689 * there is 2 Ruby threads (3 pthreads) 14690 (1) main thread is waiting at gvl_yield:112 (native_cond_wait) 14691 (2) sub thread works 14692 (3) sub thread waits at gvl_yield:133 (native_mutex_unlock) 14693 (4) main thread works 14694 (5) main thread goes to gvl_acquire_common 14695 (6) main thread call rb_wakeup_timer_thread 14696 (7) timer thread set timer interrupt to the main thread 14697 (8) main thread works 14698 (9) main thread waits at gvl_acquire_common:64 (native_cond_wait) 14699 (10) sub tread works 14700 (11) set sub thread as the current thread 14701 (12) run Ruby thread 14702 (13) ...100ms 14703 (14) sub thread goes to rb_threadptr_execute_interrupts_common 14704 (15) sub thread call rb_thread_schedule_limits 14705 (16) sub thread call gvl_release_common 14706 (17) sub threads waits at gvl_yield:121 (native_cond_wait) 14707 (18) main threads works 14708 (19) main thread back to gvl_yield 14709 (20) set main thread as the current thread 14710 (21) main thread call gvl_yield 14711 (22) main thread waits at gvl_yield:112 (native_cond_wait) 14712 As described above, the main thread can't escape from 14713 rb_threadptr_execute_interrupts_common. 14714 See extended memo: http://bugs.ruby-lang.org/projects/ruby-trunk/wiki/R35480_ExtendedMemo 14715 14716Fri Apr 27 07:15:07 2012 Tanaka Akira <akr@fsij.org> 14717 14718 * ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest 14719 path in sockaddr_un, really. 14720 reported by nagachika. 14721 http://d.hatena.ne.jp/nagachika/20120426/ruby_trunk_changes_35474_35476 14722 14723Thu Apr 26 12:28:06 2012 Tanaka Akira <akr@fsij.org> 14724 14725 * ext/socket/raddrinfo.c (init_unix_addrinfo): support the longest 14726 path in sockaddr_un. 14727 (inspect_sockaddr): ditto. 14728 (addrinfo_mdump): ditto. 14729 (addrinfo_mload): ditto. 14730 (rsock_unixpath_str): new function. 14731 (rsock_unixpath): removed. 14732 (rsock_unixaddr): use rsock_unixpath_str. 14733 14734 * ext/socket/socket.c (sock_s_pack_sockaddr_un): support the longest 14735 path in sockaddr_un. 14736 (sock_s_unpack_sockaddr_un): ditto. 14737 (sock_s_gethostbyaddr): unused variable removed. 14738 14739 * ext/socket/unixsocket.c (rsock_init_unixsock): support the longest 14740 path in sockaddr_un. 14741 14742 * ext/socket/rubysocket.h (rsock_unixpath_str): declared. 14743 (rsock_unixpath): removed. 14744 14745 * test/socket/test_unix.rb: comment out test_nul because abstract unix 14746 sockets may contain NULs. 14747 14748Thu Apr 26 01:32:33 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 14749 14750 * test/optparse/test_summary.rb (test_summary_containing_space): add 14751 test for r35467. OptionParser#to_a shouldn't split banner by spaces. 14752 14753Wed Apr 25 23:02:46 2012 Tanaka Akira <akr@fsij.org> 14754 14755 * ext/socket/raddrinfo.c (init_unix_addrinfo): refine error message 14756 format. 14757 (addrinfo_mload): show more information on "too long AF_UNIX path" 14758 error. 14759 (addrinfo_unix_path): ditto for "too short AF_UNIX address" and 14760 "too long AF_UNIX address" error. 14761 14762Wed Apr 25 05:46:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14763 14764 * lib/optparse.rb (OptionParser#to_a): split for each lines. 14765 [ruby-dev:45568][Bug #6348] 14766 14767Tue Apr 24 21:57:53 2012 Tanaka Akira <akr@fsij.org> 14768 14769 * ext/socket/raddrinfo.c (init_unix_addrinfo): show actual path length 14770 when it is too long for Unix socket. 14771 14772 * ext/socket/unixsocket.c (rsock_init_unixsock): ditto. 14773 14774 * ext/socket/socket.c (sock_s_pack_sockaddr_un): ditto. 14775 14776Tue Apr 24 21:43:58 2012 Yusuke Endoh <mame@tsg.ne.jp> 14777 14778 * lib/net/smtp.rb (check_continue): raise an error with an explanatory 14779 message. [ruby-core:35854] [Feature #4598] 14780 14781Tue Apr 24 21:11:31 2012 NARUSE, Yui <naruse@ruby-lang.org> 14782 14783 * lib/optparse.rb (OptionParser#to_a): should split by end-of-line, 14784 and MUST TEST IT, MUST RUN THE TEST, MUST VERIFY BEFORE BACKPORT. 14785 [ruby-dev:45568][Bug #6348] 14786 14787Tue Apr 24 19:59:31 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14788 14789 * enc/euc_jp.c: added EUC-JP-2004 and its alias EUC-JISX0213. 14790 [ruby-dev:45571] [Feature #6349] 14791 Requested by Kyouhei Yanagita <yanagi@shakenbu.org>. 14792 14793 * enc/trans/japanese_euc.trans: ditto. 14794 14795 * enc/trans/JIS/JISX0213-[12]%UCS@{BMP,SIP}.src: JIS X 0213:2004 -> 14796 Unicode mapping table from NetBSD. 14797 14798 * enc/trans/JIS/UCS@{BMP,SIP}%JISX0213-[12].src: Unicode -> JIS X 14799 0213:2004 mapping table from NetBSD. 14800 14801 * tool/transcode-tblgen.rb: added SIP support. 14802 14803 * test/ruby/test_transcode.rb: tests of above changes. 14804 14805Tue Apr 24 18:12:13 2012 Koichi Sasada <ko1@atdot.net> 14806 14807 * compile.c: fix to output warning when the same literals 14808 are available as a condition of same case clause. 14809 And remove information ('#n') because we can find duplicated 14810 condition with explicit line numbers. 14811 [ruby-core:38343] [Ruby 1.9 - Bug #5068] 14812 14813 * test/ruby/test_syntax.rb: add a test for above. 14814 14815Tue Apr 24 17:03:51 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14816 14817 * win32/win32.c (waitpid): need to check the return value of 14818 FindChildSlotByHandle() before passing poll_child_status(). 14819 this fixed a SEGV in test-all. reported by ko1 via IRC. 14820 14821Tue Apr 24 16:04:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14822 14823 * parse.y (parser_yylex): EXPR_BEG by keywords is a start point of 14824 commands. [ruby-dev:45563][Bug #6347] 14825 14826 * parse.y (superclass): ditto for superclass. 14827 14828 * parse.y (parser_parse_string, parser_here_document): ditto for 14829 string interpolation. 14830 14831 * parse.y (parser_yylex): ditto for singleton class. 14832 14833Tue Apr 24 15:51:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14834 14835 * lib/optparse.rb (OptionParser#to_a): should split by end-of-line 14836 [ruby-dev:45568][Bug #6348] 14837 14838 * lib/optparse.rb (OptionParser#to_a): String#to_a is no longer 14839 defined. [ruby-dev:45568][Bug #6348] 14840 14841Tue Apr 24 12:46:50 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 14842 14843 * hash.c, object.c, struct.c, lib/ostruct.rb: add to_h methods. 14844 [Feature #6276] 14845 14846Tue Apr 24 10:54:34 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14847 14848 * test/drb/drbtest.rb ({DRbCore,DRbAry}#teardown): cannot pass SIGTERM 14849 to another process on Windows, so use SIGINT instead. 14850 14851Tue Apr 24 00:25:39 2012 Yusuke Endoh <mame@tsg.ne.jp> 14852 14853 * thread.c (rb_check_deadlock): refine an error message of deadlock 14854 detection. [ruby-core:44336] [Bug #6288] 14855 14856Tue Apr 24 00:14:42 2012 Yusuke Endoh <mame@tsg.ne.jp> 14857 14858 * parse.y (primary): remove wrong "fixpos" that caused incorrect 14859 source_location of blocks. [ruby-core:42232] [Bug #5930] 14860 14861 * test/ruby/test_proc.rb: add a test for above. 14862 14863Mon Apr 23 22:56:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14864 14865 * ext/iconv: deprecated. [Feature #6322] 14866 14867Mon Apr 23 22:07:00 2012 Tanaka Akira <akr@fsij.org> 14868 14869 * test/socket/test_unix.rb (bound_unix_socket): make temporary 14870 filename shorter for less possibility of Unix socket path over 14871 107 bytes when TMPDIR has long path. 14872 14873Mon Apr 23 20:35:49 2012 NAKAMURA Usaku <usa@ruby-lang.org> 14874 14875 * win32/win32.c (szInternalCmds, internal_match, internal_cmd_match): 14876 get rid of a segmentation fault with GCC 4.7.0. 14877 reported by raylinn@gmail.com (ray linn) at [ruby-core:44505] 14878 [Bug #6333], and patched by mame. 14879 14880 * test/ruby/test_system.rb (TestSystem#test_system): test for it. 14881 14882Mon Apr 23 20:11:02 2012 Tanaka Akira <akr@fsij.org> 14883 14884 * lib/drb/ssl.rb: generate 1024 bits RSA key instead of 512 bits. 14885 OpenSSL 1.0.1 rejects 512 bits RSA key for TLS1.2 with SHA512. 14886 http://rt.openssl.org/Ticket/Display.html?id=2769&user=guest&pass=guest 14887 reported by Bohuslav Kabrda. 14888 [ruby-core:43844] [ruby-trunk - Bug #6221] 14889 14890Mon Apr 23 19:54:33 2012 Tanaka Akira <akr@fsij.org> 14891 14892 * test/drb/drbtest.rb: rescue Errno::ESRCH for Process.kill. 14893 reported by NARUSE, Yui. [ruby-dev:45551] 14894 14895Mon Apr 23 14:16:45 2012 NARUSE, Yui <naruse@ruby-lang.org> 14896 14897 * .gdbinit (rb_ps_vm): follow st_table's packing change. 14898 14899Mon Apr 23 10:43:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14900 14901 * configure.in: disable rubygems not to load rbconfig.rb before 14902 fake.rb. [ruby-core:44492][Bug #6329] 14903 14904Sun Apr 22 20:26:06 2012 Tanaka Akira <akr@fsij.org> 14905 14906 * lib/drb/extservm.rb (DRb::ExtServManager): don't use /bin/sh to 14907 invoke service subprocess. mark detach threads for clean up. 14908 14909 * test/drb/drbtest.rb: clean up the service subprocess in teardown. 14910 14911 * test/drb/test_drb.rb: set @service_name for teardown. 14912 14913 * test/drb/test_drbunix.rb: ditto. 14914 14915 * test/drb/test_drbssl.rb: ditto. 14916 14917 [ruby-dev:45547] 14918 14919Sun Apr 22 07:51:29 2012 Tanaka Akira <akr@fsij.org> 14920 14921 * lib/drb/ssl.rb: close accepted TCP socket if SSL accept is failed. 14922 [ruby-dev:45541] 14923 14924Sat Apr 21 14:36:49 2012 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> 14925 14926 * test/rinda/test_rinda.rb: fix sticks on some tests problem 14927 [Bug #6272] 14928 14929Fri Apr 20 12:24:04 2012 Eric Hodel <drbrain@segment7.net> 14930 14931 * lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem: Removed to avoid 14932 conflict with ca-bundle.pem 14933 * lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem: 14934 ditto. 14935 * lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem: 14936 ditto. 14937 14938Fri Apr 20 08:07:06 2012 Eric Hodel <drbrain@segment7.net> 14939 14940 * lib/rubygems: Update to RubyGems 1.8.23 which contains security 14941 fixes: 14942 14943 RubyGems now disallows redirection from HTTPS to HTTP. 14944 14945 RubyGems now verifies SSL connections. 14946 14947 See https://github.com/rubygems/rubygems/blob/1.8/History.txt for 14948 changes since 1.8.22. 14949 * test/rubygems: ditto. 14950 14951Thu Apr 19 16:33:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14952 14953 * strftime.c (rb_strftime_with_timespec): fix carry-up bug and 14954 overwrite '+' with '-' if negative offset less than a hour. 14955 [ruby-core:44447][Bug #6323] 14956 14957Thu Apr 19 09:39:57 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14958 14959 * ext/-test-/win32/dln/extconf.rb: need import library for ordinal 14960 entry even on mingw. [ruby-core:44441][Bug #6320] 14961 14962Thu Apr 19 09:35:15 2012 Eric Hodel <drbrain@segment7.net> 14963 14964 * random.c (random_init): Clarify that the default seed is 14965 Random.new_seed, not zero. Based on patch by Roger Pack. 14966 [ruby-trunk - Bug #6313] 14967 * random.c (rb_f_srand): ditto. 14968 14969Thu Apr 19 08:59:02 2012 Eric Hodel <drbrain@segment7.net> 14970 14971 * ext/curses/curses.c (window_nodelay): Fixed call-seq of nodelay to 14972 include the '='. 14973 14974 Improved description window.nodelay=. 14975 14976Thu Apr 19 08:47:54 2012 Eric Hodel <drbrain@segment7.net> 14977 14978 * io.c (io_readpartial): Document the output buffer parameter is 14979 overwritten with the read contents even when non-empty. 14980 Patch by yu nobuoka. [ruby-trunk - Bug #6285] 14981 * io.c (io_read_nonblock): ditto. 14982 * io.c (io_read): ditto. 14983 * io.c (rb_io_sysread): ditto. 14984 * io.c (argf_read): ditto. 14985 * io.c (argf_readpartial): ditto. 14986 * ext/stringio/stringio.c (strio_read): ditto. 14987 * test/ruby/test_argf.rb (class TestArgf): Add test for existing 14988 behavior of read outbuf. 14989 * test/ruby/test_io.rb (class TestIO): ditto. 14990 * test/stringio/test_stringio.rb (class TestStringIO): ditto. 14991 14992Wed Apr 18 22:58:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 14993 14994 * configure.in (DOT, DOXYGEN): use AC_CHECK_PROGS instead of 14995 AC_CHECK_PROG which needs the third argument. [ruby-core:44433] 14996 [Bug #6316] 14997 14998 * configure.in (PKG_CONFIG): fix condition to skip older version 14999 of pkg-config. continue in backticks does not affect outside. 15000 15001Wed Apr 18 13:59:40 2012 NAKAMURA Usaku <usa@ruby-lang.org> 15002 15003 * win32/file.c (INVALID_FILE_ATTRIBUTES): define for old SDK. 15004 15005Wed Apr 18 10:22:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15006 15007 * strftime.c (rb_strftime_with_timespec): add an interim digit for 15008 the timezone offset which is less than an hour. 15009 15010Wed Apr 18 09:58:29 2012 Eric Hodel <drbrain@segment7.net> 15011 15012 * lib/rubygems/version.rb: Fixed init_with warning by calling into 15013 yaml_initialize (for syck) from psych's init_with 15014 15015Wed Apr 18 09:03:43 2012 Eric Hodel <drbrain@segment7.net> 15016 15017 * lib/rubygems: Update to RubyGems 1.8.22 plus r33517 and r35337 which 15018 were ported to the rubygems git repository. 15019 15020 See https://github.com/rubygems/rubygems/blob/1.8/History.txt for 15021 changes since 1.8.11. 15022 15023 * test/rubygems: ditto. 15024 15025Tue Apr 17 22:18:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15026 15027 * strftime.c (rb_strftime_with_timespec): fix padding of time zone 15028 offset. [ruby-dev:43287][Bug #4458] 15029 15030Tue Apr 17 13:11:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15031 15032 * dln.c (rb_w32_check_imported): skip ordinal entries. based on a 15033 patch by phasis68 (Heesob Park) at [ruby-core:44381]. 15034 [ruby-core:44371][Bug #6303] 15035 15036Mon Apr 16 18:22:14 2012 NARUSE, Yui <naruse@ruby-lang.org> 15037 15038 * spec/default.mspec: expand relative path for ruby_exe which uses 15039 them with Dir.chdir; it breaks relative paths, for example 15040 core/kernel/exec_spec.rb. 15041 15042Mon Apr 16 16:22:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15043 15044 * win32/win32.c (gmtime_r, localtime_r): POSIX compliant reentrant 15045 versions. 15046 15047 * configure.in (RUBY_MSVCRT_VERSION): define on mingw too. 15048 15049 * win32/Makefile.sub (config.h): prefix RT_VER with RUBY and make 15050 more descriptive to get rid of potential conflict. 15051 15052Mon Apr 16 15:19:39 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15053 15054 * configure.in (NO_RUBY_VENDOR_LIB): fix missing comma. 15055 15056Mon Apr 16 12:17:12 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 15057 15058 * lib/matrix.rb (hermitian?): Bug fix, patch by George Koehler 15059 [Bug #6290] [rubyspec:4b9573d7613] 15060 15061Mon Apr 16 09:42:50 2012 NAKAMURA Usaku <usa@ruby-lang.org> 15062 15063 * lib/rubygems/remote_fetcher.rb (Gem::RemoteFetcher#download): should 15064 use File.identical? to check the identity of the files. 15065 this fixed an error of a test on Windows. 15066 15067Sat Apr 14 12:55:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15068 15069 * configure.in (UNREACHABLE): gcc 4.4 eliminates unreachable code 15070 if -O3 is given. 15071 15072 * win32/win32.c (child_result): dropped colon. 15073 15074Sat Apr 14 10:45:18 2012 NARUSE, Yui <naruse@ruby-lang.org> 15075 15076 * lib/webrick/server.rb (WEBrick::GenericServer#start): 15077 partially revert r35315. 15078 15079 * test/webrick/test_server.rb (test_start_exception): 15080 received signal is delivered to the main thread, so it is needed to 15081 emulate it. patched by Eric Hodel. [ruby-core:44348] [Feature #6236] 15082 15083Sat Apr 14 09:35:45 2012 Eric Hodel <drbrain@segment7.net> 15084 15085 * variable.c (trace_ev): Removed "not reached" comment as this line is 15086 reached. 15087 * variable.c (rb_obj_remove_instance_variable): Replaced "not reached" 15088 comment with the UNREACHABLE macro. 15089 * variable.c (rb_mod_const_missing): ditto. 15090 * variable.c (rb_mod_remove_cvar): ditto. 15091 * enum.c (first_i): ditto. 15092 * string.c (rb_str_aref): ditto. 15093 * string.c (str_byte_aref): ditto. 15094 * string.c (rb_to_id): ditto. 15095 * io.c (rb_io_fmode_modestr): ditto. 15096 * io.c (rb_io_oflags_modestr): ditto. 15097 * pack.c (num2i32): ditto. 15098 * vm_eval.c (rb_method_missing): ditto. 15099 * vm_eval.c (rb_f_throw): ditto. 15100 * dir.c (dir_read): ditto. 15101 * win32/win32.c (child_result): ditto. 15102 * struct.c (rb_struct_getmember): ditto. 15103 * struct.c (rb_struct_set): ditto. 15104 * struct.c (rb_struct_aref_id): ditto. 15105 * eval.c (rb_f_raise): ditto. 15106 * process.c (rb_f_exit_bang): ditto. 15107 * process.c (rb_f_exit): ditto. 15108 * process.c (rb_f_abort): ditto. 15109 * ext/-test-/iter/break.c (iter_break_value): ditto. 15110 * ext/pty/pty.c (pty_check): ditto. 15111 * ext/openssl/ossl_pkey.c (ossl_pkey_new): ditto. 15112 * ext/readline/readline.c (rb_remove_history): ditto. 15113 * ext/stringio/stringio.c (strio_unimpl): ditto. 15114 * numeric.c (num_sadded): ditto. 15115 * numeric.c (num_init_copy): ditto. 15116 * numeric.c (rb_num2ll): ditto. 15117 * numeric.c (rb_num2ull): ditto. 15118 * vm_insnhelper.c (call_cfunc): ditto. 15119 * ruby.c (opt_W_getter): ditto. 15120 * bignum.c (rb_big_coerce): ditto. 15121 * file.c (rb_f_test): ditto. 15122 15123Sat Apr 14 08:38:20 2012 Eric Hodel <drbrain@segment7.net> 15124 15125 * encoding.c (rb_enc_codepoint_len): Use UNREACHABLE to avoid "control 15126 reaches end of non-void function" warnings. [ruby-trunk - Bug #6066] 15127 * re.c (name_to_backref_number): ditto. 15128 * object.c (rb_Float): ditto. 15129 * io.c (io_readpartial): ditto. 15130 * io.c (io_read_nonblock): ditto. 15131 * pack.c (rb_uv_to_utf8): ditto. 15132 * proc.c (rb_method_entry_arity): ditto. 15133 * vm_method.c (rb_f_notimplement): ditto. 15134 * struct.c (rb_struct_aset_id): ditto. 15135 * class.c (rb_scan_args): ditto. 15136 * process.c (rlimit_resource_type): ditto. 15137 * process.c (rlimit_resource_value): ditto. 15138 * process.c (p_uid_switch): ditto. 15139 * process.c (p_gid_switch): ditto. 15140 * ext/digest/digest.c (rb_digest_instance_update): ditto. 15141 * ext/digest/digest.c (rb_digest_instance_finish): ditto. 15142 * ext/digest/digest.c (rb_digest_instance_reset): ditto. 15143 * ext/digest/digest.c (rb_digest_instance_block_length): ditto. 15144 * ext/bigdecimal/bigdecimal.c (BigDecimalCmp): ditto. 15145 * ext/dl/handle.c (rb_dlhandle_close): ditto. 15146 * ext/tk/tcltklib.c (pending_exception_check0): ditto. 15147 * ext/tk/tcltklib.c (pending_exception_check1): ditto. 15148 * ext/tk/tcltklib.c (ip_cancel_eval_core): ditto. 15149 * ext/tk/tcltklib.c (lib_get_reltype_name): ditto. 15150 * ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core): ditto. 15151 * ext/tk/tkutil/tkutil.c (tk_hash_kv): ditto. 15152 * ext/openssl/ossl_ssl.c (ossl_ssl_session_reused): ditto. 15153 * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1): ditto. 15154 * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit): ditto. 15155 * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve): ditto. 15156 * ext/fiddle/conversions.c (generic_to_value): ditto. 15157 * ext/socket/raddrinfo.c (rsock_io_socket_addrinfo): ditto. 15158 * ext/socket/socket.c (sock_s_getnameinfo): ditto. 15159 * ext/ripper/eventids2.c (ripper_token2eventid): ditto. 15160 * cont.c (return_fiber): ditto. 15161 * dmydln.c (dln_load): ditto. 15162 * vm_insnhelper.c (vm_search_normal_superclass): ditto. 15163 * bignum.c (big_fdiv): ditto. 15164 * marshal.c (r_symlink): ditto. 15165 * marshal.c (r_symbol): ditto. 15166 15167Fri Apr 13 17:12:09 2012 NARUSE, Yui <naruse@ruby-lang.org> 15168 15169 * hash.c (inspect_i): keep string's coderange. 15170 15171Fri Apr 13 15:26:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15172 15173 * hash.c (rb_hash_aset, rb_hash_update, rb_hash_update_by): use 15174 st_update() to reduce evaluation of hash values. 15175 15176Fri Apr 13 15:17:36 2012 NARUSE, Yui <naruse@ruby-lang.org> 15177 15178 * lib/webrick/server.rb (WEBrick::GenericServer#stop): fix r35303; 15179 this method is to deny new connections, not shutdown yet. 15180 15181 * lib/webrick/server.rb (WEBrick::GenericServer#start): 15182 re-raise exception only when the exception is Interrupt (^C). 15183 15184Thu Apr 12 19:51:45 2012 Tadayoshi Funaba <tadf@dotrb.org> 15185 15186 * ext/date/date_core.c: added some notes. 15187 15188Wed Apr 11 17:16:49 2012 Koichi Sasada <ko1@atdot.net> 15189 15190 * compile.c (compile_array, compile_array_): 15191 Divide big array (or hash) literals into several blocks and 15192 concatenate them. There was a problem that a big array (hash) 15193 literal causes SystemStackError exception (stack overflow) 15194 because VM push all contents of the literal onto VM stack to 15195 make an array (or hash). To solve this issue, we make several 15196 arrays (hashes) and concatenate them to make a big array (hash) 15197 object. [ruby-dev:37701] [Bug #982] 15198 15199 * compile.c (iseq_compile_each, setup_args): use modified 15200 compile_array. 15201 15202 * vm.c (m_core_hash_from_ary, m_core_hash_merge_ary, 15203 m_core_hash_merge_ptr): added for above change. 15204 15205 * id.c (Init_id), parse.y: add core method ids. 15206 15207 * bootstraptest/test_literal.rb: add simple tests. 15208 15209 * bootstraptest/test_eval.rb: remove rescue clause to catch 15210 SystemStackError exception. 15211 15212 * test/ruby/test_literal.rb: add tests to check no stack overflow. 15213 15214Thu Apr 12 07:10:37 2012 Eric Hodel <drbrain@segment7.net> 15215 15216 * lib/uri/generic.rb (module URI): URI now downcases the scheme to 15217 follow RFC 2396 section 3.1. [ruby-trunk - Feature #4551] 15218 * test/uri/test_generic.rb (class URI): Test for above 15219 15220Thu Apr 12 06:15:44 2012 Eric Hodel <drbrain@segment7.net> 15221 15222 * lib/net/protocol.rb (module Net): Added ReadTimeout to match 15223 OpenTimeout. ReadTimeout is now raised by rbuf_fill instead of 15224 Timeout::Error to help users distinguish what type of timeout 15225 occurred. [ruby-trunk - Feature #6088] 15226 * lib/net/pop.rb (module Net): Updated documentation for ReadTimeout 15227 and OpenTimeout. 15228 * lib/net/http.rb (module Net): ditto 15229 * lib/net/smtp.rb (module Net): ditto 15230 * lib/net/telnet.rb (module Net): Net::ReadTimeout is now raised in 15231 waitfor to match Net::Protocol. 15232 * test/net/http/test_http.rb: Updated Timeout::Error expectation to 15233 Net::ReadTimeout. 15234 * test/net/ftp/test_ftp.rb: ditto 15235 15236Thu Apr 12 05:27:01 2012 Eric Hodel <drbrain@segment7.net> 15237 15238 * lib/webrick/server.rb (module WEBrick::GenericServer): A server 15239 will now continue only when a StandardError subclass is raised. For 15240 other exception types the error will be logged at the fatal level and 15241 the server will safely stop. Based on a patch by Alex Young. 15242 [ruby-trunk - Feature #6236] 15243 * test/webrick/test_server.rb: Test for new exception handling 15244 behavior. Join the server thread instead of busy-waiting for it to 15245 shut down to remove race conditions. 15246 15247Thu Apr 12 03:50:44 2012 NARUSE, Yui <naruse@ruby-lang.org> 15248 15249 * lib/test/unit.rb (Test::Unit:Runner::Worker#_run_suites): 15250 call GC.start before running the test suites. 15251 15252Wed Apr 11 22:31:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15253 15254 * parse.y (rb_check_id_cstr): new function to check if ID is 15255 registered with NUL-terminated C string. 15256 15257 * sprintf.c (rb_str_format): avoid inadvertent symbol creation. 15258 15259Wed Apr 11 20:28:36 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 15260 15261 * io.c (rb_io_eof): use eof() instead of io_fillbuf(). It's because 15262 io_unread() doesn't work properly when reading CRLF with read(length) 15263 and mode 'r'. 15264 [ruby-core:44189][Bug #6271] 15265 15266 * test/ruby/test_io_m17n.rb (TestIO_M17N#test_read_crlf_and_eof): 15267 test for above. 15268 15269Wed Apr 11 07:38:33 2012 Eric Hodel <drbrain@segment7.net> 15270 15271 * ext/digest/sha2/lib/sha2.rb (Digest#block_length): Fixed method name 15272 in documentation examples. Patch by naleski via 15273 https://github.com/ruby/ruby/pull/115 15274 15275Wed Apr 11 07:33:13 2012 Eric Hodel <drbrain@segment7.net> 15276 15277 * pack.c (pack_pack): Warn when an invalid character is found in the 15278 format string when $VERBOSE is true. [ruby-trunk - Feature #5219] 15279 * pack.c (pack_unpack): ditto 15280 * test/ruby/test_pack.rb (class TestPack): Test for warnings on 15281 invalid format characters. 15282 15283Wed Apr 11 06:11:10 2012 Eric Hodel <drbrain@segment7.net> 15284 15285 * string.c (rb_str_tr): Documented use of \ to escape characters. 15286 [ruby-trunk - Bug #6161] 15287 * string.c (rb_str_count): ditto 15288 15289Wed Apr 11 05:14:51 2012 Eric Hodel <drbrain@segment7.net> 15290 15291 * lib/abbrev.rb: Clarified that Abbrev.abbrev returns a Hash instead 15292 of an Array. Patch by Andrei Bocan. [ruby-trunk - Bug #6107] 15293 15294Wed Apr 11 03:02:24 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 15295 15296 * ext/ripper/lib/ripper/sexp.rb: fix spelling. patched by 15297 Jonathan Hinkle via https://github.com/ruby/ruby/pull/116 15298 15299Tue Apr 10 19:07:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15300 15301 * error.c (rb_enc_raise): new function to raise an exception with 15302 the message in the given encoding. patched by now (Nikolai 15303 Weibull) at [ruby-core:41160]. [Feature #5650] 15304 15305Tue Apr 10 18:19:32 2012 NARUSE, Yui <naruse@ruby-lang.org> 15306 15307 * lib/net/http.rb (Net::HTTP#send_request_with_body_stream): 15308 use IO.copy_stream for requests using body_stream. 15309 patched by Eric Wong. [ruby-core:40898] [Feature #5605] 15310 15311Tue Apr 10 16:53:21 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15312 15313 * thread_pthread.c: add prototype declarations for older Mac OS X. 15314 [ruby-core:43376][Bug #6170] 15315 15316Tue Apr 10 15:35:21 2012 Koichi Sasada <ko1@atdot.net> 15317 15318 * compile.c (iseq_set_sequence): show a hint if there are duplicated 15319 "when" clauses. [ruby-core:41502] [ruby-trunk - Feature #5716] 15320 15321Tue Apr 10 09:57:00 2012 Eric Hodel <drbrain@segment7.net> 15322 15323 * string.c (rb_str_split_m): Documented behavior of split on the empty 15324 string. [ruby-trunk - Feature #3575] 15325 15326Tue Apr 10 09:48:31 2012 Eric Hodel <drbrain@segment7.net> 15327 15328 * ext/zlib/zlib.c (rb_deflate_s_deflate): Fixed ruby example replacing 15329 NO_FLUSH with FINISH. [ruby-trunk - Bug #6273] 15330 15331Mon Apr 9 23:10:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15332 15333 * win32/win32.c (isUNCRoot, winnt_stat): support long UNC. 15334 [ruby-core:30623][Feature #3399] 15335 15336Mon Apr 9 15:16:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15337 15338 * parse.y (string_content, parser_yylex): count brace nesting to 15339 dispatch embexpr_end. [ruby-core:43775][Bug #6211] 15340 15341Mon Apr 9 13:06:58 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 15342 15343 * hash.c (rb_hash_set_default_proc): Accept nil, patch by Run Paint 15344 [Feature #4234] 15345 15346 * test/ruby/test_hash.rb: test for above. 15347 15348Mon Apr 9 08:01:15 2012 Tadayoshi Funaba <tadf@dotrb.org> 15349 15350 * ext/date/date_strftime.c: gets the value with range() consistently. 15351 * ext/date/date_strftime.c (range): now just replaces the given item. 15352 15353Mon Apr 9 06:58:01 2012 Tadayoshi Funaba <tadf@dotrb.org> 15354 15355 * complex.c (nucomp_expt): [ruby-core:44170]. 15356 15357Mon Apr 9 02:52:03 2012 NARUSE, Yui <naruse@ruby-lang.org> 15358 15359 * complex.c (nucomp_expt): the result of f_complex_new2 may be a fixnum 15360 with mathn. [ruby-core:44170] [Bug #6267] 15361 15362Sun Apr 8 22:46:01 2012 NARUSE, Yui <naruse@ruby-lang.org> 15363 15364 * ext/json/generator/generator.c (generate_json_bignum): 15365 add RB_GC_GUARD. 15366 http://fb.rubyci.org/~chkbuild/ruby-trunk/log/20120407T210301Z.diff.html.gz 15367 15368Sun Apr 8 07:26:40 2012 NARUSE, Yui <naruse@ruby-lang.org> 15369 15370 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): get keys 15371 and fetch values from it to prevent @timeout_info's error 15372 "can't add a new key into hash during iteration". 15373 15374Sun Apr 8 06:51:57 2012 NARUSE, Yui <naruse@ruby-lang.org> 15375 15376 * io.c (io_unread): cast as long the value for extra_max. 15377 [ruby-core:44137] [Bug #6257] 15378 15379Sun Apr 8 06:46:48 2012 NARUSE, Yui <naruse@ruby-lang.org> 15380 15381 * lib/webrick/httpresponse.rb (WEBrick::HTTPResponse#send_body_io): 15382 use readpartial to get data even if the response is streaming data and 15383 each data is smaller than @buffer_size. 15384 patched by yu nobuoka. [ruby-dev:45471] [Bug #6230] 15385 15386Sat Apr 7 22:35:36 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 15387 15388 * include/ruby/win32.h (rb_w32_aspawn_flags): add the declaration of 15389 new function. 15390 15391 * process.c (enum): add EXEC_OPTION_PGROUP and move the position 15392 above for the usage in proc_spawn_n(). 15393 15394 * process.c (proc_spawn_n): add an argument to pass new option 15395 `new_pgroup`. The option specifies CREATE_NEW_PROCESS_GROUP flag to 15396 CreateProcessW(). This flag is necessary for the usage of 15397 Process.kill on the subprocess on Windows. 15398 15399 * process.c (rb_exec_arg_addopt): ditto. 15400 15401 * process.c (rb_spawn_process): ditto. 15402 15403 * process.c (documentation for rb_f_spawn): add documentation for new 15404 option `new_pgroup` of spawn. 15405 15406 * test/ruby/test_process.rb (TestProcess#test_execopts_new_pgroup): 15407 add tests for option `new_pgroup`. 15408 15409 * test/ruby/test_thread.rb 15410 (TestThreadGroup#test_thread_timer_and_interrupt): 15411 add option `new_pgroup: true` to spawn on Windows. It's needed for 15412 Process.kill on a subprocess. 15413 15414 * win32/win32.c (CreateChild): add an argument to pass 15415 dwCreationFlags of CreateProcessW(). 15416 15417 * win32/win32.c (rb_w32_spawn): ditto. 15418 15419 * win32/win32.c (rb_w32_aspawn_flags): add new function to pass 15420 dwCreationFlags. 15421 15422 * win32/win32.c (rb_w32_aspawn): refactor to move the content to 15423 rb_w32_aspawn_flags(). 15424 [ruby-core:43245][Bug #6131] 15425 15426Sat Apr 7 22:32:00 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 15427 15428 * test/ruby/test_thread.rb 15429 (TestThreadGroup#test_thread_timer_and_interrupt): skip on Windows. 15430 Process.kill cannot kill a subprocess if CREATE_NEW_PROCESS_GROUP 15431 flag is not specified in a call to CreateProcessW(). 15432 15433 * win32/win32.c (CreateChild): revert the usage of 15434 CREATE_NEW_PROCESS_GROUP flag for compatibility. 15435 [ruby-core:43245][Bug #6131] 15436 15437Sat Apr 7 10:28:40 2012 Aaron Patterson <aaron@tenderlovemaking.com> 15438 15439 * ext/psych/lib/psych.rb: bumping up psych version to match release. 15440 * ext/psych/psych.gemspec: ditto 15441 15442Sat Apr 7 02:07:00 2012 Aaron Patterson <aaron@tenderlovemaking.com> 15443 15444 * ext/psych/parser.c: fall back to any encoding if the external 15445 encoding is wrong. [ruby-core:44163] 15446 * test/psych/test_encoding.rb: fix test 15447 15448Fri Apr 6 16:24:24 2012 Martin Duerst <duerst@it.aoyama.ac.jp> 15449 15450 * struct.c (documentation for rb_struct_members_m): 15451 fix 'array of strings' to 'array of symbols' 15452 [ruby-core:44152][Bug #6264] 15453 15454Fri Apr 6 14:27:04 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 15455 15456 * Makefile.in ($(LIBRUBY_A)): fix typo. 15457 15458Thu Apr 5 13:26:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15459 15460 * missing/alloca.c (xmalloc, xfree): use ruby version, not 15461 depending on RUBY_LIB_PREFIX. [ruby-dev:45492][Bug #6255] 15462 15463Wed Apr 4 13:06:39 2012 NARUSE, Yui <naruse@ruby-lang.org> 15464 15465 * lib/ftp/ftp.rb (Net::FTP#close): restore original read_timeout. 15466 15467Wed Apr 4 10:33:31 2012 NARUSE, Yui <naruse@ruby-lang.org> 15468 15469 * lib/ftp/ftp.rb (Net::FTP#close): ignore exceptions from shutdown and 15470 read on closing. 15471 15472Wed Apr 4 01:48:35 2012 NARUSE, Yui <naruse@ruby-lang.org> 15473 15474 * lib/ftp/ftp.rb (Net::FTP#close): close socket more gracefully. 15475 15476 * lib/ftp/ftp.rb (Net::BufferedSocket#shutdown): added. 15477 15478 * test/net/ftp/test_ftp.rb (FTPTest#create_ftp_server): wait socket 15479 with shutdown and read. 15480 15481Tue Apr 3 19:00:52 2012 NAKAMURA Usaku <usa@ruby-lang.org> 15482 15483 * test/net/ftp/test_ftp.rb (FTPTest#create_ftp_server): should wait 15484 a little before closing socket because if the client call 15485 Net::FTP#getmultiline the socket is suddenly closed by the server in 15486 the getline loop. 15487 15488Tue Apr 3 18:33:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15489 15490 * process.c (setreuid, setregid): suppress warnings. 15491 [ruby-core:43374][Bug #6169] 15492 15493Tue Apr 3 10:18:27 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15494 15495 * enumerator.c (inspect_enumerator): suppress uninitialized 15496 instance variable warnings. [ruby-dev:45449][Bug #6214] 15497 patched by no6v (Nobuhiro IMAI). 15498 15499Mon Apr 2 13:25:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15500 15501 * lib/optparse/ac.rb: autoconf-like options. 15502 15503Mon Apr 2 10:34:00 2012 eregon <eregontp@gmail.com> 15504 15505 * string.c (rb_str_start_with, rb_str_end_with): raise an error if 15506 an argument is not convertible to a String. 15507 [ruby-core:40623][Bug #5536] 15508 15509Mon Apr 2 03:35:25 2012 NARUSE, Yui <naruse@ruby-lang.org> 15510 15511 * lib/webrick/server.rb (WEBrick::GenericServer): close socket only if 15512 the socket is not closed yet. 15513 15514Sun Apr 1 23:03:18 2012 NARUSE, Yui <naruse@ruby-lang.org> 15515 15516 * lib/net/ftp.rb (Net::BufferedSocket): should delegate send() to @io 15517 for Net::FTP#abort and Net::FTP#status. 15518 15519Sun Apr 1 00:41:56 2012 Shugo Maeda <shugo@ruby-lang.org> 15520 15521 * lib/net/ftp.rb: fixed the domain name in examples. 15522 15523Sat Mar 31 21:39:45 2012 NARUSE, Yui <naruse@ruby-lang.org> 15524 15525 * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler): dup to prevent 15526 @timeout_info's "can't add a new key into hash during iteration". 15527 15528Sat Mar 31 14:22:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15529 15530 * hash.c (hash_default_value): extract from rb_hash_aref(), to be 15531 shared with rb_hash_shift(), so that overriding Hash#default 15532 will be respected. 15533 15534Sat Mar 31 14:16:02 2012 Sokolov Yura (funny-falcon) <funny.falcon@gmail.com> 15535 15536 * hash.c: do not allocate st_table when it is not necessary. 15537 15538Sat Mar 31 13:42:39 2012 Shugo Maeda <shugo@ruby-lang.org> 15539 15540 * lib/net/ftp.rb (read_timeout=, open_timeout=): supported timeout. 15541 15542Sat Mar 31 13:20:40 2012 Sokolov Yura (funny-falcon) <funny.falcon@gmail.com> 15543 15544 * hash.c: remove unnecessary checks for Qundef in hash iterations. 15545 since hash use st_foreach_check for iterations, such checks are 15546 needless. 15547 15548Sat Mar 31 12:05:01 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 15549 15550 * ext/openssl/ossl_x509cert.c: Fix doc typo. 15551 15552Sat Mar 31 10:13:24 2012 Sokolov Yura (funny-falcon) <funny.falcon@gmail.com> 15553 15554 * st.c (st_foreach_check, st_foreach): remove ancient check. This 15555 check are from initial ordered hash commit when first entry were 15556 created with entry->fore = entry->back = entry. 15557 15558 * st.c (st_delete): use real_entries in st_delete for packed tables 15559 15560Sat Mar 31 07:53:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15561 15562 * st.c (st_foreach_check): remove the entry by replacing with never 15563 when ST_DELETE. 15564 15565 * hash.c (st_foreach_safe): since table is not for VALUE, Qundef is 15566 not special value, so use 0 instead. therefore this function can be 15567 applied to only st_table which 0 is invalid as keys, e.g., IDs. 15568 15569 * hash.c: Qundef cannot be passed from st_foreach_check(). 15570 15571 * hash.c, marshal.c, object.c, variable.c: fix callback argument types 15572 of iterators. 15573 15574Thu Mar 29 23:50:15 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15575 15576 * st.c (st_update): pass pointer to key to the callback function. 15577 15578Thu Mar 29 16:36:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15579 15580 * st.c (st_update): add existing parameter to the callback function. 15581 15582Thu Mar 29 16:35:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15583 15584 * lib/test/unit.rb (terminal_width, del_status_line, put_status): 15585 extract as methods. 15586 15587Thu Mar 29 10:20:18 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 15588 15589 * ext/openssl/ossl_pkcs7.c: fix crash when parsing garbage data. 15590 * test/openssl/test_pkcs7.rb: assert correct behavior for it. 15591 Thanks to Matt Venables for reporting the issue. 15592 [ruby-core:43250][Bug #6134] 15593 15594Thu Mar 29 10:16:05 2012 NAKAMURA Usaku <usa@ruby-lang.org> 15595 15596 * thread_win32.c (TIME_QUANTUM_USEC): 10ms(= old setting) [experimental] 15597 cf. [Bug #6098] 15598 15599Thu Mar 29 10:12:12 2012 NAKAMURA Usaku <usa@ruby-lang.org> 15600 15601 * thread.c (rb_threadptr_execute_interrupts_common): use defined 15602 TIME_QUANTUM_USEC instead of a magic number. there is no meanings 15603 to use different values for checking interval of interruption and 15604 thread switching limits. 15605 cf. [Bug #6098] 15606 15607Thu Mar 29 09:26:17 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 15608 15609 * test/openssl/test_x509cert.rb: exclude test that fails when issuing 15610 a certificate with RSA signature and DSS1 digest for earlier 15611 OpenSSL versions when used in conjunction with OpenSSL 1.0.1. 15612 Thanks, Vit Ondruch, for reporting the issue. 15613 [ruby-core:42949][Bug #6089] 15614 15615Thu Mar 29 08:25:35 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 15616 15617 * NEWS: add note about unified behavior of encoding nil values in 15618 instances of OpenSSL::ASN1::ASN1Data. 15619 15620Thu Mar 29 07:45:36 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 15621 15622 * ext/openssl/ossl_asn1.c: raise TypeError when trying to encode nil 15623 values for Primitive instances. 15624 * test/openssl/test_asn1.rb: Assert consistent behavior when 15625 encoding nil values: Primitives raise TypeError, Constructives 15626 raise NoMethodError. 15627 Fixes [ruby-core:43009][Bug #6102] 15628 15629Wed Mar 28 16:39:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15630 15631 * process.c (obj2uid, obj2gid): allow strings as input user/group id. 15632 [ruby-core:40923][Feature #5610] 15633 15634Wed Mar 28 15:06:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15635 15636 * marshal.c (r_symreal): default to ASCII-8BIT for non-ascii symbols, 15637 otherwise it should be converted to US-ASCII in rb_intern_str() if 15638 possible. [ruby-core:43762][Bug #6209] 15639 15640Wed Mar 28 08:44:24 2012 Aaron Patterson <aaron@tenderlovemaking.com> 15641 15642 * ext/psych/lib/psych.rb: updating version to match gem 15643 * ext/psych/psych.gemspec: ditto 15644 * ext/psych/lib/psych/visitors/to_ruby.rb: fixing deprecation warning 15645 15646Tue Mar 27 23:44:11 2012 NAKAMURA Usaku <usa@ruby-lang.org> 15647 15648 * io.c (io_unread): fixed memory leak. report by nagachika via IRC. 15649 15650Tue Mar 27 22:44:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15651 15652 * configure.in (verconf.h): separate load path specific stuff from 15653 config.h. 15654 15655Tue Mar 27 22:43:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15656 15657 * win32/Makefile.sub: fix config.h path to include. 15658 15659Tue Mar 27 17:08:08 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 15660 15661 * win32/win32.c (check_if_dir): fix memory leak. 15662 15663Tue Mar 27 13:13:51 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15664 15665 * string.c (str_new_empty): should copy also the encoding as an 15666 empty substring. [ruby-dev:45441][Bug #6206] 15667 15668Mon Mar 26 23:43:04 2012 Shugo Maeda <shugo@ruby-lang.org> 15669 15670 * lib/net/ftp.rb (parse227, parse228, parse229): don't use $~. 15671 15672Mon Mar 26 23:34:40 2012 Shugo Maeda <shugo@ruby-lang.org> 15673 15674 * lib/net/ftp.rb (parse227, parse228, parse229): don't use local 15675 variables defined by named capture for other Ruby implementations 15676 such as Rubinius. 15677 15678Mon Mar 26 23:19:03 2012 Shugo Maeda <shugo@ruby-lang.org> 15679 15680 * lib/net/ftp.rb (parse_pasv_port): refactored. 15681 15682Mon Mar 26 19:49:49 2012 Shugo Maeda <shugo@ruby-lang.org> 15683 15684 * test/net/ftp/test_ftp.rb: add the test, which was forgotten in the 15685 previous commit. 15686 15687Mon Mar 26 19:37:27 2012 Shugo Maeda <shugo@ruby-lang.org> 15688 15689 * lib/net/ftp.rb (parse227, parse228, parse229): refactored. 15690 15691Mon Mar 26 11:46:23 2012 Shugo Maeda <shugo@ruby-lang.org> 15692 15693 * enumerator.c (inspect_enumerator): show method arguments of 15694 lazy enumerators correctly. 15695 15696Mon Mar 26 13:51:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15697 15698 * win32/win32.c (check_if_dir, check_if_wdir): fix for Visual C++ 15699 not to use S_ISDIR(). [Feature #2408][ruby-core:26925] 15700 15701 * ruby.c (load_file_internal): ditto. 15702 15703Mon Mar 26 11:46:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15704 15705 * ruby.c (load_file_internal): bail out if the script is a directory. 15706 [Feature #2408][ruby-core:26925] 15707 15708 * win32/win32.c (rb_w32_open, rb_w32_wopen): check if the file is a 15709 directory when access denied, to set errno to EISDIR. 15710 15711Sun Mar 25 18:13:14 2012 NARUSE, Yui <naruse@ruby-lang.org> 15712 15713 * string.c (tr_setup_table): fix multiple non latin argument for 15714 non latin (over 256 characters) tr-like methods. 15715 [ruby-core:43371] [Bug #6167] 15716 15717Sun Mar 25 00:46:06 2012 Shugo Maeda <shugo@ruby-lang.org> 15718 15719 * enumerator (lazy_initialize): set the instance variable "receiver" 15720 to include the receiver to the return value of inspect on a lazy 15721 enumerator directly created by Enumerator::Lazy.new. 15722 15723 * enumerator (RETURN_LAZY): don't set the instance variable "receiver". 15724 15725Sat Mar 24 23:59:00 2012 Shugo Maeda <shugo@ruby-lang.org> 15726 15727 * enumerator (enumerator_inspect): include the original receiver and 15728 method name of Enumerator::Lazy in the result of inspect. 15729 [ruby-core:43345] [Bug #6159] 15730 15731 * enumerator (InitVM_Enumerator): don't use rb_define_alias for 15732 some methods such as collect in order to make rb_frame_this_func() 15733 return the correct method names. 15734 15735Sat Mar 24 22:22:18 2012 Sambasiva Rao Suda <sambasivarao@gmail.org> 15736 15737 * time.c (time_init_1): Time.new will accept seconds as string or 15738 int. [ruby-core:43569][Bug #6193] 15739 15740Fri Mar 23 15:12:12 2012 Martin Duerst <duerst@it.aoyama.ac.jp> 15741 15742 * transcode.c (documentation for str_encode): Explain 15743 that transcoding to the same encoding is a no-op 15744 (i.e. no exceptions, no replacements,...). 15745 [ruby-core:43557][Bug #6190] 15746 15747Fri Mar 23 13:19:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15748 15749 * bignum.c (rb_str_to_inum): must be ASCII compatible encoding as 15750 well as String#hex and String#oct. [ruby-core:43566][Bug #6192] 15751 15752 * string.c (rb_must_asciicompat): check if ASCII compatible. 15753 15754Thu Mar 22 23:14:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15755 15756 * transcode.c (str_encode_bang, encoded_dup): if nothing was 15757 transcoded, just set encoding but leave coderange unchanged as 15758 force_encoding. [ruby-core:43557][Bug #6190] 15759 15760Thu Mar 22 22:30:44 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 15761 15762 * io.c (static int io_fflush): add the definition. 15763 Use it in set_binary_mode_with_seek_cur(). 15764 15765 * io.c (set_binary_mode_with_seek_cur): refactoring to split the 15766 content into io_unread(). Fix the possibility of buffer overflow. 15767 15768 * io.c (io_unread): add new implementation for Windows. Previous one 15769 caused invalid cursor position using IO#pos with OS text mode. New 15770 one fixes the bug. 15771 15772 * test/ruby/test_io_m17n.rb 15773 (TestIO_M17N#test_pos_dont_move_cursor_position): add a test for 15774 above bug. 15775 [ruby-core:43497] [Bug #6179] 15776 15777Thu Mar 22 19:55:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15778 15779 * win32/win32.c (rb_w32_fstat, rb_w32_fstati64): convert FILETIME 15780 to time_t directly, not to be affected by TZ unnecessarily. 15781 15782 * win32/win32.c (unixtime_to_filetime): convert time_t to FILETIME 15783 simply. 15784 15785Thu Mar 22 13:43:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15786 15787 * ext/openssl/ossl_pkey_rsa.c (rsa_generate): fix argument type. 15788 [Bug #6094] 15789 15790Thu Mar 22 11:14:10 2012 NAKAMURA Usaku <usa@ruby-lang.org> 15791 15792 * test/ruby/test_io.rb (TestIO#test_pos_with_getc): updated. 15793 see [ruby-core:43550] 15794 15795Wed Mar 21 17:57:57 2012 NARUSE, Yui <naruse@ruby-lang.org> 15796 15797 * regcomp.c: Merge Onigmo 3d855b30d574536d3ae600260208c6624ae4791c. 15798 [Bug#6143] [Bug#6144] [Bug#6145] 15799 15800Wed Mar 21 17:01:55 2012 NAKAMURA Usaku <usa@ruby-lang.org> 15801 15802 * test/ruby/test_io.rb (TestIO#test_pos_with_getc): added. 15803 see [Bug #6179][ruby-core:43518] 15804 15805Mon Mar 19 17:18:51 2012 Shugo Maeda <shugo@ruby-lang.org> 15806 15807 * enumerator.c (lazy_flat_map_func): convert the block value to 15808 Array if it doesn't respond to each. [ruby-core:43334] 15809 [Bug #6155] 15810 15811Mon Mar 19 16:34:14 2012 Shugo Maeda <shugo@ruby-lang.org> 15812 15813 * enum.c (zip_i): variadic argument needs explicit cast on the 15814 platforms where VALUE is longer than int. 15815 15816Mon Mar 19 15:36:41 2012 Shugo Maeda <shugo@ruby-lang.org> 15817 15818 * enumerator.c (enumerable_lazy): add an example of take and first 15819 to the documentation. [ruby-core:43344] [Bug #6158] 15820 add the description of the behavior when a block is given to zip 15821 or cycle. 15822 15823Mon Mar 19 15:20:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15824 15825 * compile.c (iseq_specialized_instruction): DRY and replace chain 15826 of if-else with switch for special instructions. based on a 15827 patch by Vasfed. https://github.com/ruby/ruby/pull/105 15828 15829Mon Mar 19 15:05:54 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 15830 15831 * test/test_pty.rb: same as r29280, skip tests when PTY allocation 15832 failed (that's not our fault). 15833 15834Sun Mar 18 23:21:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15835 15836 * gc.c (aligned_free): fix condition for free. memalign() and 15837 posix_memalign() are not defined together normally. 15838 15839Sun Mar 18 18:31:45 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp> 15840 15841 * gc.c (aligned_malloc, aligned_free): added fallback implementations 15842 for platforms like OSX Leopard. 15843 15844Sun Mar 18 17:17:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15845 15846 * bignum.c (rb_big_pow): estimate result bit size more precisely. 15847 [ruby-core:30735][Feature #3429] 15848 15849Sun Mar 18 17:17:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15850 15851 * gc.c (free_method_entry_i): method entry may be in 15852 unlinked_method_entry_list. [ruby-core:43383][Bug #6171] 15853 15854Sun Mar 18 15:27:31 2012 Tanaka Akira <akr@fsij.org> 15855 15856 * compile.c: typo fix by Run Paint Run Run. 15857 [ruby-core:28368] [Bug #2824] 15858 15859Sun Mar 18 10:01:02 2012 Kazuki Tsujimoto <kazuki@callcc.net> 15860 15861 * lib/profiler.rb: support calling singleton methods of 15862 an instance of BasicObject. 15863 15864Sat Mar 17 06:56:58 2012 Eric Hodel <drbrain@segment7.net> 15865 15866 * object.c: Fix indentation of Class#inherited example. 15867 15868Sat Mar 17 01:46:05 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 15869 15870 * string.c (trnext): fix bug with string ending with '\\'. 15871 [ruby-dev:45374][Bug #6160] 15872 15873 * test/ruby/test_string.rb (TestString#test_delete): test for 15874 above. 15875 15876Fri Mar 16 20:06:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15877 15878 * string.c (trnext): should advance char-wise. 15879 [ruby-core:43335][Bug #6156] 15880 15881Fri Mar 16 17:42:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15882 15883 * parse.y (block_append_gen): fix unreachable warning line number. 15884 should warn at the code, not jump. 15885 15886Fri Mar 16 17:33:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15887 15888 * enum.c (enum_take): allocate buffer array before iteration, as well 15889 as enum_first did. 15890 15891 * enum.c (enum_first): remove duplication. 15892 15893Fri Mar 16 14:43:18 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp> 15894 15895 * load.c (ruby_init_ext): don't free the given pointer itself. 15896 It is not guaranteed even that the pointer is on heap. 15897 15898Fri Mar 16 14:37:57 2012 Shugo Maeda <shugo@ruby-lang.org> 15899 15900 * vm_eval.c (rb_mod_module_eval): fix the documentation of 15901 class_eval to mention class variable lookup. [ruby-core:40649] 15902 [Bug #5544] 15903 15904Fri Mar 16 14:27:11 2012 Shugo Maeda <shugo@ruby-lang.org> 15905 15906 * vm_eval.c (rb_mod_module_eval): fix the documentation of 15907 class_eval to mention constant lookup. [ruby-core:41718] 15908 [Bug #5777] 15909 15910Fri Mar 16 14:10:45 2012 Shugo Maeda <shugo@ruby-lang.org> 15911 15912 * lib/net/imap.rb (initialize): raise Net::IMAP::Error when the 15913 connection is closed without a greeting response. 15914 [ruby-core:40938] [Bug #5616] 15915 15916Fri Mar 16 13:50:12 2012 Shugo Maeda <shugo@ruby-lang.org> 15917 15918 * lib/net/imap.rb (rfc822_text): ignore [] after RFC822. 15919 [ruby-core:40945] [Bug #5620] 15920 15921Fri Mar 16 12:00:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15922 15923 * vm_insnhelper.c (argument_error): use line number at the beginning 15924 of lambda, not the first code of its body. 15925 [ruby-core:43314][Bug #6151] 15926 15927 * iseq.c (rb_iseq_first_lineno): constified. 15928 15929Fri Mar 16 11:20:07 2012 Shugo Maeda <shugo@ruby-lang.org> 15930 15931 * enumerator.c (lazy_take): don't enumerate an extra value. 15932 [ruby-dev:45370] [Bug #6152] 15933 15934Fri Mar 16 06:30:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15935 15936 * enumerator.c (lazy_zip_func): variadic argument needs explicit cast 15937 on the platforms where VALUE is longer than int. 15938 15939 * enumerator.c (lazy_init_iterator): no need to check overflow twice. 15940 15941Fri Mar 16 05:47:09 2012 Eric Hodel <drbrain@segment7.net> 15942 15943 * enumerator.c (lazy_init_iterator): Fix type error (int vs long). 15944 15945Thu Mar 15 23:13:36 2012 Shugo Maeda <shugo@ruby-lang.org> 15946 15947 * enum.c (rb_enum_values_pack): rename from enum_values_pack, and 15948 remove static. 15949 15950 * enumerator.c (lazy_init_iterator, lazy_init_yielder, 15951 lazy_select_func, lazy_reject_func, lazy_grep_func): handle 15952 multiple values correctly. 15953 15954 * enumerator.c (lazy_grep): change the behavior when a block is 15955 given, to be consistent with Enumerable#grep. 15956 15957Thu Mar 15 19:12:31 2012 Shugo Maeda <shugo@ruby-lang.org> 15958 15959 * enumerator.c (lazy_zip): rescue StopIteration returned by 15960 Enumerator#next. 15961 15962Thu Mar 15 18:19:53 2012 Shugo Maeda <shugo@ruby-lang.org> 15963 15964 * enumerator.c (lazy_zip, lazy_cycle): Enumerator::Lazy#{zip,cycle} 15965 should be eager when a block is given, to be consistent with 15966 Enumerable#{zip,cycle}. 15967 15968Thu Mar 15 17:45:27 2012 Shugo Maeda <shugo@ruby-lang.org> 15969 15970 * enumerator.c (InitVM_Enumerator): renamed Enumerable::Lazy to 15971 Enumerator::Lazy. 15972 15973Thu Mar 15 16:37:38 2012 Shugo Maeda <shugo@ruby-lang.org> 15974 15975 * enumerator.c (enumerable_lazy): added cycle to the documentation. 15976 15977Thu Mar 15 15:37:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15978 15979 * parse.y (parser_yylex): fix warning line number. 15980 15981Thu Mar 15 15:19:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15982 15983 * enumerator.c (lazy_cycle): check argument number overflow before 15984 creating temporary array. 15985 15986Thu Mar 15 15:04:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 15987 15988 * util.c (ruby_strtod): no need to check same digit for hexdigit 15989 twice. [ruby-dev:45363][Bug #6146] 15990 15991 * parse.y (sym_check_asciionly): check ascii compatibility before 15992 scanning for code range. 15993 15994 * parse.y (intern_str): set to us-ascii if ascii only. 15995 [ruby-dev:45363][Bug #6146] 15996 15997 * file.c (ruby_enc_find_basename): allow NULL as alllen. 15998 [ruby-dev:45363][Bug #6146] 15999 16000Thu Mar 15 14:49:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16001 16002 * string.c (rb_str_conv_enc_opts): default to original encoding. 16003 16004Thu Mar 15 13:47:17 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16005 16006 * hash.c (env_str_new, rb_f_getenv, env_fetch): use rb_str_conv_enc() 16007 instead of rb_str_encode() to simplify the code. 16008 16009Thu Mar 15 12:44:50 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16010 16011 * win32/win32.c, include/ruby/win32.h (rb_w32_ugetenv): new API to 16012 accept and to return UTF-8 strings. 16013 16014 * win32/win32.c (rb_w32_getenv): follow above change. 16015 16016 * win32/win32.c (rb_w32_get_environ): returns UTF-8 environment area. 16017 16018 * hash.c (env_str_new, rb_f_getenv, env_fetch): follow above changes. 16019 [Bug #5570] [ruby-core:40737] 16020 16021Thu Mar 15 10:57:27 2012 Shugo Maeda <shugo@ruby-lang.org> 16022 16023 * enumerator.c (lazy_cycle): add Enumerable::Lazy#cycle. 16024 16025Thu Mar 15 10:31:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16026 16027 * test/ruby/test_arity.rb (TestArity#err_mess): use assert_raise. 16028 16029Thu Mar 15 07:03:52 2012 Eric Hodel <drbrain@segment7.net> 16030 16031 * vm_eval.c (check_funcall): Raise ArgumentError if respond_to? 16032 requires more than three arguments. [Bug #6000] 16033 16034 * test/ruby/test_object.rb (class TestObject): Test for respond_to? 16035 requiring more than three arguments. 16036 16037Thu Mar 15 06:08:06 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 16038 16039 * include/ruby/intern.h: Add rb_check_arity, rb_error_arity [#6085] 16040 16041 * array.c: Use rb_check_arity / rb_error_arity 16042 16043 * class.c: ditto 16044 16045 * enumerator.c: ditto 16046 16047 * eval.c: ditto 16048 16049 * file.c: ditto 16050 16051 * hash.c: ditto 16052 16053 * numeric.c: ditto 16054 16055 * proc.c: ditto 16056 16057 * process.c: ditto 16058 16059 * random.c: ditto 16060 16061 * re.c: ditto 16062 16063 * signal.c: ditto 16064 16065 * string.c: ditto 16066 16067 * struct.c: ditto 16068 16069 * transcode.c: ditto 16070 16071 * vm_eval.c: ditto 16072 16073 * vm_insnhelper.c: ditto & implementation of rb_error_arity 16074 16075 * test/ruby/test_arity.rb: tests for above 16076 16077Thu Mar 15 06:08:05 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 16078 16079 * vm_insnhelper.c: improve number of arguments error in case of 16080 optional parameters (issue #6085) 16081 16082 * include/ruby/intern.h: define UNLIMITED_ARGUMENTS 16083 16084 * test/ruby/test_arity.rb: test for above 16085 16086Thu Mar 15 00:58:04 2012 Shugo Maeda <shugo@ruby-lang.org> 16087 16088 * enumerator.c (enumerable_lazy): fix the documentation of 16089 Enumerable#lazy. 16090 16091Wed Mar 14 22:01:06 2012 Shugo Maeda <shugo@ruby-lang.org> 16092 16093 * enumerator.c (lazy_init_iterator): break when Qundef is returned 16094 to make obj.drop(3).take(2) work properly. 16095 16096 * enumerator.c (lazy_take_while): add Enumerable::Lazy#take_while. 16097 16098 * enumerator.c (lazy_drop): add Enumerable::Lazy#drop. 16099 16100 * enumerator.c (lazy_drop_while): add Enumerable::Lazy#drop_while. 16101 16102 * enumerator.c (InitVM_Enumerator): add Enumerable::Lazy#force as an 16103 alias of to_a. 16104 16105Wed Mar 14 19:28:40 2012 Shugo Maeda <shugo@ruby-lang.org> 16106 16107 * enumerator.c (lazy_take): add Enumerable::Lazy#take. 16108 16109Wed Mar 14 18:40:36 2012 Shugo Maeda <shugo@ruby-lang.org> 16110 16111 * enumerator.c: use long for array indices. 16112 16113Wed Mar 14 18:25:18 2012 Shugo Maeda <shugo@ruby-lang.org> 16114 16115 * enumerator.c: moved the comment of StopIteration. 16116 16117Wed Mar 14 17:55:29 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16118 16119 * numeric.c (flodivmod): must go through the same pass if HAVE_FMOD or 16120 not. this is a bugfix of r35013. 16121 16122Wed Mar 14 16:41:55 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16123 16124 * test/test_tmpdir.rb (TestTmpdir#test_world_writable): skip on Windows. 16125 16126Wed Mar 14 15:09:23 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 16127 16128 * numeric.c: fix flodivmod for cornercases [Bug #6044] 16129 add ruby_float_mod 16130 16131 * insns.def (opt_mod): use ruby_float_mod 16132 16133 * internal.h: declare ruby_float_mod 16134 16135 * test/ruby/test_float.rb: tests for above 16136 16137 * test/ruby/envutil.rb: create helper assert_is_minus_zero 16138 16139Wed Mar 14 10:44:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16140 16141 * enumerator.c (lazy_grep_func): should use === instead of =~, as 16142 well as Enumerable#grep 16143 16144Wed Mar 14 08:15:54 2012 Shugo Maeda <shugo@ruby-lang.org> 16145 16146 * enumerator.c (lazy_flat_map_func): use each for non-Array objects. 16147 16148Wed Mar 14 08:06:35 2012 Shugo Maeda <shugo@ruby-lang.org> 16149 16150 * enumerator.c (lazy_zip): add Enumerable::Lazy#zip. 16151 16152 * enumerator.c (lazy_lazy): just returns self. 16153 16154Wed Mar 14 07:48:36 2012 Tadayoshi Funaba <tadf@dotrb.org> 16155 16156 * ext/date/date_core.c (datetime_s_now): [ruby-core:43256]. 16157 16158Tue Mar 13 22:00:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16159 16160 * compile.c (iseq_set_arguments): keyword rest arg without keyword args. 16161 16162 * node.c (dump_node): dump kw_rest_arg too. 16163 16164 * parse.y (block_param, f_arg): more kwrest patterns. 16165 [ruby-core:42455][Bug #5989] 16166 16167 * parse.y (new_args_gen): no extra kw_rest_arg if no keyword rest arg. 16168 16169Tue Mar 13 15:17:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16170 16171 * parse.y (block_param, f_args): add rules for the case arguments 16172 begin with kwrest. [ruby-core:42455][Bug #5989] 16173 16174Tue Mar 13 12:37:53 2012 NARUSE, Yui <naruse@ruby-lang.org> 16175 16176 * io.c (io_encoding_set): always warn if external encoding and internal 16177 encoding are identical. [ruby-core:40727] [Bug #5568] 16178 16179Tue Mar 13 12:37:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16180 16181 * gc.c: add ObjectSpace::WeakMap. [ruby-dev:44565][Bug #5350] 16182 16183 * lib/weakref.rb: use WeakMap instead of _id2ref. 16184 16185Tue Mar 13 10:59:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16186 16187 * tool/rbinstall.rb (prepare): skip if basedir is not defined. 16188 [ruby-core:39135][Bug #5238] 16189 16190 * tool/rbinstall.rb (CONFIG.[]): check for mandatory 16191 configurations. 16192 16193Tue Mar 13 00:09:18 2012 Shugo Maeda <shugo@ruby-lang.org> 16194 16195 * enumerator.c (enumerable_lazy): added documentation. 16196 16197Mon Mar 12 20:19:25 2012 Tanaka Akira <akr@fsij.org> 16198 16199 * lib/tmpdir.rb (Dir::tmpdir): test the current directory suitable for 16200 temporary directory. 16201 16202Mon Mar 12 20:08:16 2012 Tanaka Akira <akr@fsij.org> 16203 16204 * lib/fileutils.rb (fu_have_symlink?): specify TypeError for rescue 16205 clause. 16206 16207Mon Mar 12 19:23:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16208 16209 * encoding.c (rb_find_encoding): new function find encoding from 16210 arbitrary object as a pointer to rb_encoding, and return NULL if 16211 not found. 16212 16213 * io.c (io_encoding_set): just warn unsupported encodings, but not 16214 exception. [ruby-core:40726] [Bug #5567] 16215 16216Mon Mar 12 19:03:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16217 16218 * vm_method.c (Init_eval_method): respond_to? and 16219 respond_to_missing? are public. 16220 16221Mon Mar 12 14:56:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16222 16223 * node.h (NEW_YIELD), parse.y (new_yield_gen): array-values flags 16224 has been already obsolete. patch by Thomas Enebo. 16225 [ruby-core:41929][Bug #5847] 16226 16227Mon Mar 12 12:44:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16228 16229 * vm_method.c (Init_eval_method): copy basic methods to Exception. 16230 [ruby-core:40287][Bug #5473] 16231 16232Mon Mar 12 10:13:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16233 16234 * eval_jump.c (rb_exec_end_proc): remember the latest exit status. 16235 [ruby-core:43173][Bug #5218] 16236 16237Mon Mar 12 07:33:12 2012 Tanaka Akira <akr@fsij.org> 16238 16239 * lib/tmpdir.rb: update document for changing 16240 FileUtils.remove_entry_secure to FileUtils.remove_entry. 16241 16242 * NEWS: add incompatibility note for lib/tmpdir.rb. 16243 16244Mon Mar 12 07:19:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16245 16246 * lib/tmpdir.rb (Dir.tmpdir): should not use world-writable but 16247 non-sticky directory. 16248 16249 * lib/tmpdir.rb (Dir.mktmpdir): check the parent directory. 16250 16251Mon Mar 12 07:04:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16252 16253 * random.c (Init_Random): removed rb_Random_DEFAULT and register as 16254 mark-object instead of global variable. 16255 16256Mon Mar 12 07:03:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16257 16258 * random.c (random_s_rand): ensure default PRNG is re-initialized 16259 after fork. patched by Eric Wong. [ruby-core:41209][Bug #5661] 16260 16261Sun Mar 11 23:57:29 2012 NARUSE, Yui <naruse@ruby-lang.org> 16262 16263 * pack.c (pack_unpack): when unpack('M') occurs an illegal byte 16264 sequence, output the "=" character and the following character in 16265 the decoded data without any transformation. 16266 [ruby-dev:44875] [Bug #5635] 16267 16268Sun Mar 11 22:32:43 2012 NARUSE, Yui <naruse@ruby-lang.org> 16269 16270 * ext/json: Merge 164a75c8bd2007d32c4d7665d53140d8fc126dcd. 16271 [ruby-core:41917] [Bug #5846] 16272 16273Sun Mar 11 17:10:04 2012 Shota Fukumori <sorah@tubusu.net> 16274 16275 * lib/test/unit.rb: Put error message into STDERR if failed to launch 16276 worker (job) process. [ruby-dev:44802] [Bug #5577] 16277 16278 * lib/test/unit/parallel.rb: If failed to increment_io, exit with code 16279 2. [ruby-dev:44802] [Bug #5577] 16280 16281Sun Mar 11 15:46:45 2012 Shota Fukumori <sorah@tubusu.net> 16282 16283 * io.c: fix rdoc of `IO.binwrite` to show same as `IO.write` except 16284 it opens file with mode "wb:ASCII-8BIT". [Bug #5782] [ruby-core:42592] 16285 16286Sat Mar 10 23:52:28 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16287 16288 * st.c: pack tables also generic keys. patched by Sokolov Yura at 16289 https://github.com/ruby/ruby/pull/84 16290 16291 * st.c: add st_foreach_check for fixing iteration over packed table 16292 and st_delete_safe. patched by Sokolov Yura at 16293 https://github.com/ruby/ruby/pull/84 16294 16295 * st.c: fix packed num_entries on delete_safe. patched by Sokolov 16296 Yura at https://github.com/ruby/ruby/pull/84 16297 16298Fri Mar 9 14:29:32 2012 Shugo Maeda <shugo@ruby-lang.org> 16299 16300 * enumerator.c (lazy_flat_map): add Enumerable::Lazy#flat_map. 16301 16302Fri Mar 9 06:29:22 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16303 16304 * ext/psych/lib/psych.rb (load, parse): stop parsing or loading after 16305 the first document has been parsed. 16306 16307 * test/psych/test_stream.rb: pertinent tests. 16308 16309Fri Mar 9 06:17:05 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16310 16311 * ext/psych/lib/psych.rb (parse_stream, load_stream): if a block is 16312 given, documents will be yielded to the block as they are parsed. 16313 [ruby-core:42404] [Bug #5978] 16314 16315 * ext/psych/lib/psych/handlers/document_stream.rb: add a handler that 16316 yields documents as they are parsed 16317 16318 * test/psych/test_stream.rb: corresponding tests. 16319 16320Fri Mar 9 00:35:03 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16321 16322 * enumerator.c (lazy_initialize, enumerable_lazy): no additional 16323 arguments. 16324 16325Fri Mar 9 00:30:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16326 16327 * enumerator.c: add Enumerable#lazy. based on the patch by 16328 Innokenty Mikhailov at <https://github.com/ruby/ruby/pull/101> 16329 [ruby-core:37164] [Feature #4890] 16330 16331Fri Mar 9 00:25:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16332 16333 * enumerator.c (enumerator_each, generator_each): pass arguments to 16334 the block with yielder. 16335 16336Fri Mar 9 00:25:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16337 16338 * array.c (rb_ary_cat): new function to concat objects into array. 16339 16340Thu Mar 8 16:44:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16341 16342 * .gdbinit (rb_numtable_entry): update for recent refactoring of 16343 st_table. 16344 16345Wed Mar 7 22:41:50 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 16346 16347 * lib/xmlrpc/client.rb (module XMLRPC): fix typo. 16348 16349 * test/xmlrpc/test_client.rb (test_async_call): add test for 16350 XMLRPC::Client#call_async to check above fix. 16351 16352Wed Mar 7 16:30:24 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16353 16354 * error.c (rb_load_fail): should honor encoding. 16355 16356 * load.c (load_failed): ditto. 16357 16358Wed Mar 7 12:26:25 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16359 16360 * error.c (rb_load_fail): use path as a string, not char*. 16361 16362 * internal.h: (rb_load_fail): moved from ruby/intern.h. 16363 16364 * ruby.c (load_file_internal): fname cannot be NULL. 16365 16366Wed Mar 7 08:32:43 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16367 16368 * error.c (rb_loaderror_with_path): Adding the missing file as an 16369 instance variable to the LoadError exception. 16370 [ruby-core:39079] 16371 16372 * load.c: call rb_loaderror_with_path so that the missing path is 16373 added to the exception. 16374 16375 * ruby.c: call rb_loaderror rather than raising our own LoadError 16376 exception. 16377 16378 * include/ruby/intern.h: add declaration for rb_loaderror_with_path. 16379 16380 * test/ruby/test_require.rb: add supporting test for LoadError#path 16381 method. 16382 16383Wed Mar 7 08:28:00 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16384 16385 * lib/xmlrpc/parser.rb: support i8 types. Thanks Stas Kelvich! 16386 [ruby-core:29246] [Feature #3090] 16387 16388 * test/xmlrpc/test_client.rb: supporting test 16389 16390Wed Mar 7 07:43:29 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16391 16392 * lib/xmlrpc/client.rb: assume servers that do not send a Content-Type 16393 header are sending 'text/xml'. Thanks Nathan Leavitt! 16394 [ruby-core:41204] [Bug #5660] 16395 16396 * test/xmlrpc/test_client.rb: supporting test 16397 16398Wed Mar 7 07:39:28 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16399 16400 * test/xmlrpc/test_client.rb: adding a test for performing an XMLRPC 16401 call. 16402 * test/xmlrpc/data/blog.xml: supporting XML document for the response. 16403 16404Tue Mar 6 16:24:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16405 16406 * parse.y (parser_tokadd_string): escape simple regexp meta 16407 character terminators. 16408 16409Tue Mar 6 10:11:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16410 16411 * ext/io/console/console.c (set_rawmode): clear ECHOE and ECHOK 16412 bits too. 16413 16414 * ext/io/console/console.c (echo_p): ignore ECHOE and ECHOK bits. 16415 [ruby-dev:45309] [Bug #6116] 16416 16417 * ext/io/console/console.c (console_raw): fix rdoc. 16418 16419 * ext/io/console/console.c (console_set_echo): mentioned about 16420 platform dependency. 16421 16422Tue Mar 6 07:18:10 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16423 16424 * lib/xmlrpc/client.rb: switch net/http post2 calls to modern 16425 `request_post` methods. 16426 16427Tue Mar 6 02:31:20 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16428 16429 * ext/psych/lib/psych/core_ext.rb: only extend Kernel if IRB is loaded 16430 in order to stop method pollution. 16431 16432Tue Mar 6 01:34:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16433 16434 * parse.y (block_call): rules for block_call after block_call. 16435 based on a patch by pasberth https://github.com/ruby/ruby/pull/102 16436 [ruby-dev:45308][Bug #6115] 16437 16438Tue Mar 6 01:24:13 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16439 16440 * parse.y (block_command, block_call): simplified rules. 16441 16442Mon Mar 5 18:28:35 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 16443 16444 * test/ruby/test_regexp.rb (TestRegexp#test_source): fix typo. 16445 * test/ruby/test_regexp.rb (TestRegexp#test_equal): ditto. 16446 16447Mon Mar 5 17:11:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16448 16449 * ext/syck/lib/syck/rubytypes.rb (Exception.yaml_new): fix bug 16450 that causes YAML serialization problem for Exception. 16451 Exception#initialize doesn't use visible instance variable for 16452 the exception message, so call the method with the message. 16453 patched by Jingwen Owen Ou <jingweno AT gmail.com>. 16454 http://github.com/ruby/ruby/pull/41 16455 16456Mon Mar 5 16:50:22 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16457 16458 * test/ruby/test_sleep.rb (TestSleep#test_sleep_5sec): syntax error. 16459 16460 * test/ruby/test_sleep.rb (TestSleep#test_sleep_5sec): call uname 16461 only on linux because it's a workaround for linux only. 16462 16463Mon Mar 5 12:44:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16464 16465 * st.c (unpack_entries): chain entries directly. based on a patch 16466 by Sokolov Yura <funny.falcon AT gmail.com>. 16467 16468 * st.c (unpack_entries): use union instead of casted pointer. 16469 patched by Sokolov Yura <funny.falcon AT gmail.com>. 16470 16471 * st.c: use PACKED_ENT and FIND_ENTRY. patched by Sokolov 16472 Yura <funny.falcon AT gmail.com>. 16473 16474 * st.c (unpack_entries): reallocate bins if packed array size 16475 is not same as initial bins size. based on a patch by 16476 Sokolov Yura <funny.falcon AT gmail.com>. 16477 16478Mon Mar 5 11:51:48 2012 NARUSE, Yui <naruse@ruby-lang.org> 16479 16480 * ext/bigdecimal/lib/bigdecimal/math.rb: remove description about 16481 BigMath#log. patched by Sho Hashimoto [ruby-dev:45307] [Bug #6112] 16482 16483 * string.c (str_byteslice): fix typo. 16484 16485Sun Mar 4 23:21:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16486 16487 * parse.y (parser_tokadd_string): regexp engine doesn't need 16488 terminators to be escaped. [ruby-core:40364][Bug #5484] 16489 16490Sat Mar 3 22:51:46 2012 Tanaka Akira <akr@fsij.org> 16491 16492 * process.c (rb_run_exec_options_err): chdir at last to interpret 16493 relative pathnames from the current directory of the parent process. 16494 16495Sat Mar 3 12:20:44 2012 Tadayoshi Funaba <tadf@dotrb.org> 16496 16497 * ext/date/date_strftime.c: reassigned some variables. 16498 16499Sat Mar 3 12:12:16 2012 Tadayoshi Funaba <tadf@dotrb.org> 16500 16501 * ext/date/date_{parse,strptime}.c: [ruby-dev:45303]. 16502 16503Sat Mar 3 10:09:21 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16504 16505 * lib/xmlrpc/client.rb (initialize): net/http defaults to 1_2 in 1.8+, 16506 so we can safely remove the call to enable it. 16507 16508Sat Mar 3 08:42:25 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16509 16510 * lib/xmlrpc/client.rb (new2): use URI for uri parsing. 16511 * test/xmlrpc/test_client.rb: test that query params are passed to the 16512 client constructor. 16513 16514Sat Mar 3 08:20:10 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16515 16516 * lib/xmlrpc/client.rb (new2): raises an ArgumentError on bad 16517 arguments. 16518 * test/xmlrpc/test_client.rb: tests for bad uris 16519 16520Sat Mar 3 08:08:11 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16521 16522 * lib/xmlrpc/client.rb (new2): fix custom port specification when an 16523 SSL uri is used. 16524 * test/xmlrpc/test_client.rb: tests for XMLRPC::Client.new2 16525 16526Sat Mar 3 08:03:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16527 16528 * ext/syck/rubyext.c (mktime_do): use ISDIGIT(). 16529 [ruby-core:43060] [Bug #6108] 16530 16531 * ext/syck/token.c (sycklex_yaml_utf8): cast as unsigned char. 16532 [ruby-core:43060] [Bug #6108] 16533 16534Sat Mar 3 06:57:14 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16535 16536 * configure.in (ruby_pc): make configurable. [Bug #6051] 16537 16538Fri Mar 2 17:49:03 2012 Hiroshi Nakamura <nahi@ruby-lang.org> 16539 16540 * .travis.yml (branches): Enable TravisCI for ruby_1_9_3. 16541 16542Fri Mar 2 17:13:33 2012 Hiroshi Nakamura <nahi@ruby-lang.org> 16543 16544 * test/ruby/test_array.rb (test_combination2): Make the test case for 16545 [ruby-core:29240] more descriptive. 16546 cf. http://bugs.jruby.org/6518 16547 16548Fri Mar 2 16:37:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16549 16550 * file.c (file_expand_path): use wcscasecmp(). 16551 16552Fri Mar 2 16:36:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16553 16554 * thread_pthread.c (native_cond_timeout): cast explicitly to suppress 16555 a warning. 16556 16557Fri Mar 2 16:35:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16558 16559 * io.c (pipe_open): cmd is no longer used if fork is available. 16560 16561Thu Mar 1 16:13:18 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16562 16563 * internal.h (rb_file_const, rb_file_load_ok): moved functions for 16564 internal use only. 16565 16566Thu Mar 1 15:40:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16567 16568 * win32/makedirs.bat: new command to make intermediate 16569 directories, and not to report any errors if the directory 16570 already exists. 16571 16572 * win32/Makefile.sub (MAKEDIRS): enable command extensions. 16573 16574Thu Mar 1 01:25:43 2012 NARUSE, Yui <naruse@ruby-lang.org> 16575 16576 * regparse.c (is_onechar_cclass): optimize character class 16577 Merge Onigmo 27278c12e6674043cc8affca6507e20e119a86ee. 16578 16579 * regparse.c (is_onechar_cclass): [bug] unexpected match occurs when a 16580 char class contains no char 16581 16582 * enc/unicode.c (init_case_fold_table): define the sizes of case 16583 folding tables in casefold.h 16584 16585Wed Feb 29 16:11:34 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16586 16587 * win32/Makefile.sub (MAKEDIRS): use mkdir of cmd.exe instead of ruby. 16588 [Bug #6103] [ruby-core:43012] 16589 16590 * win32/README.win32: added a notice about command extension of cmd.exe. 16591 16592Wed Feb 29 15:39:39 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16593 16594 * test/ruby/test_io.rb (TestIO#test_readpartial_locktmp): skip on 16595 windows because of the platform restriction. 16596 16597Wed Feb 29 15:38:50 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16598 16599 * test/ruby/memory_status.rb (Memory): syntax error. 16600 16601Wed Feb 29 13:06:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16602 16603 * test/ruby/memory_status.rb: use /proc/self/status if it is in 16604 the expected format. 16605 16606Wed Feb 29 06:14:51 2012 Tadayoshi Funaba <tadf@dotrb.org> 16607 16608 * ext/date/date_core.c: reverted r34825. 16609 16610Tue Feb 28 23:20:01 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 16611 16612 * Makefile.in (PLATFORM_DIR): add a variable for `win32` directory. 16613 * Makefile.in (clean-platform): add new target. 16614 It cleans `win32` directory. 16615 16616 * common.mk (clean): add a dependency for `win32` directory. 16617 * common.mk (distclean): ditto. 16618 * common.mk (distclean-platform): add new target. 16619 It cleans `win32` directory. 16620 * common.mk ($(PLATFORM_D)): add new target to make `win32` directory. 16621 * common.mk (win32/win32.$(OBJEXT)): move win32.o into `win32` 16622 directory. 16623 * common.mk (win32/file.$(OBJEXT)): add new target for win32/file.c. 16624 16625 * configure.in: move win32.o into `win32` directory and add 16626 win32/file.o to MISSING. 16627 16628 * file.c (file_load_ok, rb_file_load_ok): replace static 16629 file_load_ok() with public rb_file_load_ok(). 16630 It's to link Windows implementation in win32/file.c. 16631 * file.c (rb_find_file_ext_safe): ditto. 16632 * file.c (rb_find_file_safe): ditto. 16633 16634 * win32/file.c (rb_file_load_ok): new file. Add Windows specific 16635 optimized implementation of rb_file_load_ok(). We created a 16636 separated file to avoid too many #ifdef macro which is unreadable. 16637 16638 * win32/Makefile.sub (PLATFORM_DIR): add a variable for `win32` 16639 directory. 16640 * win32/Makefile.sub (MISSING): move win32.obj into `win32` 16641 directory and add win32/file.obj to MISSING. 16642 * win32/Makefile.sub (MAKEDIRS): replace MINIRUBY with BASERUBY. 16643 It's because miniruby doesn't exist when making `win32` directory. 16644 * win32/Makefile.sub (clean-platform): add new target to clean `win32` 16645 directory. 16646 * win32/Makefile.sub ({$(srcdir)}.c{}.obj): make it not match 16647 win32/file.c to build properly. 16648 * win32/Makefile.sub (win32/win32.$(OBJEXT)): move win32.obj into 16649 `win32` directory. 16650 16651 Patch created with Luis Lavena. 16652 [ruby-core:42480] [Feature #5999] 16653 16654Tue Feb 28 20:27:25 2012 Tadayoshi Funaba <tadf@dotrb.org> 16655 16656 * ext/date/date_core.c: [ruby-core:42998] 16657 16658Tue Feb 28 18:47:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16659 16660 * io.c (io_binwrite, rb_io_syswrite): use shared frozen source 16661 strings. 16662 16663 * io.c (io_fread, io_getpartial, rb_io_sysread): set buffer size 16664 after check if readable, which can cause thread switch. 16665 [ruby-dev:45297][Bug #6099] 16666 16667Tue Feb 28 17:16:01 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16668 16669 * lib/time.rb (Time#xmlschema): use strftime specifiers instead of 16670 fractional exponential calculation which yields undesirable 16671 result. [ruby-core:42997][Bug #6100] 16672 16673Tue Feb 28 14:15:29 2012 Eric Hodel <drbrain@segment7.net> 16674 16675 * lib/net/protocol.rb: Add OpenTimeout subclass of Timeout::Error 16676 * lib/net/pop.rb: Modernize Timeout usage. Patch by Eric Wong. 16677 Use Net::OpenTimeout instead of Timeout::Error. [Bug #5765] 16678 * lib/net/http.rb: ditto 16679 * lib/net/smtp.rb: ditto 16680 * lib/net/telnet.rb: ditto 16681 16682Tue Feb 28 13:51:12 2012 Eric Hodel <drbrain@segment7.net> 16683 16684 * lib/net/http.rb: Retry HTTP requests for additional network errors. 16685 Introduce OpenTimeout subclass of Timeout::Error. [Bug #6001] 16686 * test/net/http/test_http.rb: Reduce timeout to 0.01s for faster test 16687 * test/net/http/test_https.rb: ditto 16688 16689Tue Feb 28 11:44:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16690 16691 * configure.in (debugflags): check if -ggdb is accepted. 16692 [ruby-core:42875][Bug #6080] 16693 16694Tue Feb 28 10:28:51 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16695 16696 * ext/psych/lib/psych.rb: default open YAML files with utf8 external 16697 encoding. [ruby-core:42967] 16698 * test/psych/test_tainted.rb: ditto 16699 16700Mon Feb 27 23:46:09 2012 Yukihiro Matsumoto <matz@ruby-lang.org> 16701 16702 * parse.y (opt_bv_decl): allow newline at the end. [ruby-dev:45292] 16703 16704Mon Feb 27 20:43:05 2012 NAKAMURA Usaku <usa@ruby-lang.org> 16705 16706 * io.c (rb_io_set_pos): add rdoc about textmode. 16707 16708 * test/ruby/test_io.rb (TestIO#test_setpos): use binmode. 16709 16710Mon Feb 27 17:00:15 2012 Akinori MUSHA <knu@iDaemons.org> 16711 16712 * string.c (rb_str_crypt): Update rdoc and state that this 16713 function is system dependent. Reviewed by nobu, thanks to 16714 @takai. 16715 16716Mon Feb 27 17:03:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16717 16718 * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): since methods 16719 can be overridden, so should not make an assumption on the type 16720 of results. [ruby-core:42969][Bug #6093] 16721 16722Mon Feb 27 10:54:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16723 16724 * lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): replace the 16725 target flags if the given flag is accepted. 16726 16727Mon Feb 27 10:53:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16728 16729 * test/rubygems/test_gem_specification.rb (test_self_from_yaml_syck_default_key_bug): 16730 ignore the test for too old versions. 16731 16732Mon Feb 27 10:53:12 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16733 16734 * lib/test/unit.rb (Test::Unit::Runner#puke): skips with no 16735 messages should be trivial. 16736 16737Mon Feb 27 10:50:23 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16738 16739 * io.c, process.c, time.c, ext: use rb_sys_fail_str instead of 16740 rb_sys_fail. 16741 16742Mon Feb 27 10:48:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16743 16744 * ext/openssl/extconf.rb: suppress useless deprecation warnings 16745 from OpenSSL added by Apple. 16746 16747Sun Feb 26 23:29:49 2012 NARUSE, Yui <naruse@ruby-lang.org> 16748 16749 * regparse.c (add_code_range_to_buf0): wrong condition of duplicated 16750 warnings. 16751 16752Sun Feb 26 11:26:44 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16753 16754 * compile.c (iseq_compile_each): call on special object instead of 16755 self. since stabby lambda is a syntax, so it should not be 16756 affected by the context. [ruby-core:42349][Bug #5966] 16757 16758 * insns.def (send): no special deal for FCALL. self should be put 16759 on TOS instead. 16760 16761Sun Feb 26 05:35:43 2012 NARUSE, Yui <naruse@ruby-lang.org> 16762 16763 * error.c (report_bug): use buf and snprintf to avoid consuming stack. 16764 [ruby-dev:45272] [Bug #6058] 16765 16766Sat Feb 25 17:41:19 2012 Tanaka Akira <akr@fsij.org> 16767 16768 * ext/dbm/extconf.rb (headers): try ambiguous headers at last. 16769 16770Sat Feb 25 17:07:15 2012 NARUSE, Yui <naruse@ruby-lang.org> 16771 16772 * lib/fileutils.rb: use chomp(?/) instead of sub to optimize and avoid 16773 to regexping invalid string. 16774 16775Sat Feb 25 16:18:24 2012 NARUSE, Yui <naruse@ruby-lang.org> 16776 16777 * complex.c (nucomp_marshal_load): raise error on invalid data. 16778 reported by John Firebaugh [ruby-core:42860] [Bug #6076] 16779 16780Sat Feb 25 14:46:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16781 16782 * ext/dl/dl.c (Init_dl): support intrinsic types, size_t, ptrdiff_t 16783 and intptr_t. [ruby-core:42460][Feature #5992] 16784 16785 * ext/fiddle/fiddle.c (Init_fiddle): ditto. 16786 16787 * ext/dl/lib/dl/cparser.rb (DL::CParser#parse_ctype): ditto. 16788 16789Sat Feb 25 11:08:28 2012 Tanaka Akira <akr@fsij.org> 16790 16791 * ext/curses/curses.c (Init_curses): use rb_define_const once for 16792 Curses::VERSION. 16793 16794 * ext/dbm/dbm.c (Init_dbm): ditto for DBM::VERSION. 16795 16796Sat Feb 25 10:34:22 2012 Tanaka Akira <akr@fsij.org> 16797 16798 * ext/curses/curses.c (Init_curses): make Curses::VERSION 16799 understandable without context. 16800 16801 * ext/dbm/dbm.c (Init_dbm): ditto for DBM::VERSION. 16802 16803Sat Feb 25 07:53:58 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16804 16805 * parse.y (parser_tokadd_string): insert a backslash only if 16806 quoted by single quotes. [ruby-dev:45281] [Bug #6069] 16807 16808Sat Feb 25 07:53:49 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16809 16810 * dir.c (dir_inspect), io.c (rb_io_inspect): keep encoding of path. 16811 [Bug #6072] 16812 16813Sat Feb 25 07:53:40 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16814 16815 * dir.c (dir_initialize): keep path in original encoding. 16816 16817 * error.c (syserr_initialize): prefer the encoding of message over 16818 locale. [ruby-dev:45279][Bug #6071] 16819 16820Sat Feb 25 06:55:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16821 16822 * file.c (utime_internal): fix a variable missed to replace. 16823 [ruby-core:42864] [Bug #6077] 16824 16825Fri Feb 24 18:21:55 2012 Hiroshi Nakamura <nahi@ruby-lang.org> 16826 16827 * test/zlib/test_zlib.rb (TestZlibGzipReader#test_encoding): Add 16828 encoding testcases for GzipReader#read. read() emits 16829 Encoding.default_external in contrast to read(size) emits BINARY. 16830 See also: http://bugs.jruby.org/6208 16831 16832Fri Feb 24 17:56:39 2012 URABE Shyouhei <shyouhei@ruby-lang.org> 16833 16834 * test/ruby/test_literal.rb (TestRubyLiteral#test_special_const): 16835 test for https://bugs.php.net/bug.php?id=61095 16836 16837Fri Feb 24 16:48:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16838 16839 * dir.c, file.c, io.c (rb_sys_fail_path): use rb_sys_fail_str. 16840 16841 * error.c: new functions to deal exceptions with string instances. 16842 16843 * dir.c, file.c, io.c: use rb_sys_fail_path. 16844 16845Fri Feb 24 15:49:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16846 16847 * configure.in (__builtin_unreachable): check for clang. 16848 [ruby-core:42849] 16849 16850 * include/ruby/ruby.h (UNREACHABLE): fallback definition. 16851 16852Fri Feb 24 13:54:33 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16853 16854 * ext/psych/parser.c: prevent a memory leak by protecting calls to 16855 handler callbacks. 16856 * test/psych/test_parser.rb: test to demonstrate leak. 16857 16858Fri Feb 24 12:07:34 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 16859 16860 * lib/net/http.rb: Fix documentation. Patched from Florian Mhun 16861 via http://github.com/ruby/ruby/pull/96 16862 16863Fri Feb 24 11:48:07 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 16864 16865 * string.c (rb_str_prepend): Fix documentation for String#prepend. 16866 Patched from Franck Verrot via http://github.com/ruby/ruby/pull/98 16867 and Andrew Horsman via http://github.com/ruby/ruby/pull/55 16868 16869Fri Feb 24 10:08:33 2012 Eric Hodel <drbrain@segment7.net> 16870 16871 * lib/net/http.rb (Net::HTTP#transport_request): Fix infinite loop 16872 upon EOFError or Errno::ECONNRESET where count is reset to 0. 16873 * test/net/http/test_http.rb (class TestNetHTTPKeepAlive): Test for 16874 above. 16875 16876Fri Feb 24 09:05:40 2012 Eric Hodel <drbrain@segment7.net> 16877 16878 * complex.c (Init_Complex): Document Complex::I. Patch by Sylvain 16879 Daubert. [Feature #5623] 16880 16881Fri Feb 24 08:52:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16882 16883 * parse.y (parser_tokadd_string, parser_yylex): insert a backslash 16884 if the next character is non-ascii. [ruby-dev:45278] [Bug #6069] 16885 16886Fri Feb 24 08:13:20 2012 Eric Hodel <drbrain@segment7.net> 16887 16888 * lib/profiler.rb: Add Profiler documentation by Gonzalo Rodriguez. 16889 [Bug #5816] 16890 16891Fri Feb 24 08:08:38 2012 Aaron Patterson <aaron@tenderlovemaking.com> 16892 16893 * ext/psych/parser.c: set parser encoding based on the YAML input 16894 rather than user configuration. 16895 * test/psych/test_encoding.rb: corresponding tests. 16896 * test/psych/test_parser.rb: ditto 16897 * test/psych/test_tainted.rb: ditto 16898 16899Fri Feb 24 08:02:52 2012 Eric Hodel <drbrain@segment7.net> 16900 16901 * hash.c (Init_Hash): Add section on how objects are used as Hash keys 16902 and how to use custom classes as Hash keys. 16903 16904Fri Feb 24 07:36:11 2012 Eric Hodel <drbrain@segment7.net> 16905 16906 * object.c (rb_obj_eql): Improve equality documentation by adding an 16907 example of equal? vs == and recommending eql? be aliased to == when 16908 overridden. 16909 16910Fri Feb 24 07:21:15 2012 Eric Hodel <drbrain@segment7.net> 16911 16912 * object.c (rb_obj_hash): Added note that the hash value is not 16913 deterministic on Marc-Andre's suggestion. Expanded description of 16914 the purpose of the hash method. [Bug #6068] 16915 16916Thu Feb 23 23:01:21 2012 Tanaka Akira <akr@fsij.org> 16917 16918 * ext/dbm/extconf.rb: unused macro removed. 16919 16920Thu Feb 23 22:26:53 2012 Tanaka Akira <akr@fsij.org> 16921 16922 * test/test_curses.rb: new file. 16923 16924Thu Feb 23 19:57:56 2012 Tanaka Akira <akr@fsij.org> 16925 16926 * ext/curses/rain.rb: trap SIGHUP, SIGINT, SIGQUIT and SIGTERM only. 16927 16928Thu Feb 23 19:56:48 2012 Tanaka Akira <akr@fsij.org> 16929 16930 * signal.c (sig_trap): show signal name on error. 16931 16932Thu Feb 23 12:21:48 2012 Tanaka Akira <akr@fsij.org> 16933 16934 * ext/dbm/extconf.rb: use DBM_SUFFIX only to detect header of 16935 Berkeley DB. 16936 16937Thu Feb 23 10:00:18 2012 Eric Hodel <drbrain@segment7.net> 16938 16939 * io.c (rb_io_f_sync): Fix double-negative typo. [ruby-trunk - #5837] 16940 16941Thu Feb 23 09:57:21 2012 Eric Hodel <drbrain@segment7.net> 16942 16943 * load.c (rb_f_require): Add note to require for scope of items in the 16944 loaded file. [ruby-trunk - #5910] 16945 16946Thu Feb 23 03:58:08 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 16947 16948 * lib/ostruct.rb (delete_field): Bug fix so previous value is 16949 returned. Patch by Nick Recobra [Bug #6063] 16950 16951Thu Feb 23 02:33:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16952 16953 * io.c (rb_io_extract_modeenc): fail only if conflicting 16954 text/binary modes given explicitly. [ruby-dev:45268][Bug #6055] 16955 16956Wed Feb 22 23:27:08 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16957 16958 * test/iconv/test_option.rb: enabled. [ruby-core:42802][Bug #6061] 16959 16960Wed Feb 22 21:45:56 2012 Tanaka Akira <akr@fsij.org> 16961 16962 * ext/curses/curses.c: use defined() to suppress a warning. 16963 16964Wed Feb 22 21:44:29 2012 Tanaka Akira <akr@fsij.org> 16965 16966 * ext/curses/extconf.rb: refactored. 16967 16968Wed Feb 22 20:42:28 2012 Tanaka Akira <akr@fsij.org> 16969 16970 * ext/curses/extconf.rb: try to distinguish curses_version is a 16971 function or variable. 16972 16973 * ext/curses/curses.c (Init_curses): refine Curses::VERSION. 16974 16975Wed Feb 22 19:47:03 2012 Tanaka Akira <akr@fsij.org> 16976 16977 * ext/curses/extconf.rb: show the chosen header and library. 16978 16979Wed Feb 22 19:22:31 2012 Tadayoshi Funaba <tadf@dotrb.org> 16980 16981 * reverted 34739 for test/date. 16982 16983Wed Feb 22 19:08:55 2012 Tanaka Akira <akr@fsij.org> 16984 16985 * ext/curses/extconf.rb: refactored. 16986 16987Wed Feb 22 18:44:41 2012 Shota Fukumori <sorah@tubusu.net> 16988 16989 * lib/test/unit.rb (setup_options): add option "--retry" as opposite 16990 for "--no-retry" 16991 16992Wed Feb 22 18:34:02 2012 Shota Fukumori <sorah@tubusu.net> 16993 16994 * lib/test/unit.rb (setup_options): add option "--show-skip" to 16995 cancel "--hide-skip" (-q) 16996 16997Wed Feb 22 17:36:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 16998 16999 * io.c (rb_io_s_foreach): argument check before making Enumerator. 17000 [ruby-dev:31525] 17001 17002Wed Feb 22 17:07:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17003 17004 * io.c (rb_io_s_foreach): return enumerator including keyword 17005 arguments. [ruby-dev:45267][Bug #6054] 17006 17007Wed Feb 22 12:15:16 2012 NARUSE, Yui <naruse@ruby-lang.org> 17008 17009 * configure.in: allow llvm-gcc because it work fine with r34278. 17010 17011Wed Feb 22 10:57:08 2012 NARUSE, Yui <naruse@ruby-lang.org> 17012 17013 * regparse.c (fetch_token): don't use // comment. 17014 17015Wed Feb 22 10:32:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17016 17017 * test/mkmf/test_framework.rb: try CoreFoundation framework, than 17018 Cocoa which is dependent on QuickTime SDK which has separated 17019 since Xcode 4.3. 17020 17021Wed Feb 22 10:18:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17022 17023 * common.mk (test-all, test-ruby): more dependencies. 17024 17025Wed Feb 22 06:48:55 2012 Eric Hodel <drbrain@segment7.net> 17026 17027 * file.c (rb_f_test): Fix formatting of Kernel#test rdoc. 17028 17029Wed Feb 22 06:12:15 2012 Tanaka Akira <akr@fsij.org> 17030 17031 * ext/dbm/extconf.rb: check DBM_SUFFIX for Mac OS X. 17032 Its ndbm.h doesn't include db.h. 17033 17034Wed Feb 22 06:02:42 2012 Tanaka Akira <akr@fsij.org> 17035 17036 * ext/dbm/dbm.c (fdbm_initialize): disable Berkeley DB error messages. 17037 17038 * ext/dbm/extconf.rb: check DBC type for above. 17039 17040 [ruby-dev:45269] 17041 17042Tue Feb 21 20:23:47 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17043 17044 * hash.c (rb_any_hash): treat Qundef like as other special constants. 17045 17046 * hash.c (hash_foreach_iter): fix signature. 17047 17048Tue Feb 21 19:39:34 2012 Tanaka Akira <akr@fsij.org> 17049 17050 * ext/curses/curses.c (Init_curses): use curses_version() for 17051 Curses::VERSION. 17052 17053Tue Feb 21 18:21:25 2012 Narihiro Nakamura <authornari@gmail.com> 17054 17055 * gc.c : remove gc_clear_mark_on_sweep_slots() and use 17056 rest_sweep() instead of it, because some dead objects might be 17057 marked in next the mark phase by false pointers. 17058 [ruby-core:42672] 17059 17060Tue Feb 21 16:08:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17061 17062 * proc.c (rb_hash_proc): get wrapped pointer properly. [Bug #6048] 17063 17064Tue Feb 21 14:41:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17065 17066 * template/ruby.pc.in: added rubylibprefix, {rubylib,vendor,site}dir 17067 and {ruby,vendor,site}archdir. [ruby-core:42766][Feature #6052] 17068 17069Tue Feb 21 09:13:25 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 17070 17071 * proc.c (method_hash, proc_hash): Fix {Unbound}Method#hash 17072 [Bug #6048]. Isolate hash computation for proc 17073 17074 * internal.h: Declaration for above 17075 17076 * vm_method.c (rb_method_definition_hash): Computation for 17077 hash part of a method definition 17078 17079 * method.h: Declaration for above 17080 17081 * test/ruby/test_method.rb: Test for above 17082 17083Tue Feb 21 02:56:15 2012 Yukihiro Matsumoto <matz@ruby-lang.org> 17084 17085 * enumerator.c (enumerator_rewind): update the documentation. 17086 fixed: #6053 17087 17088Mon Feb 20 23:38:35 2012 NAKAMURA Usaku <usa@ruby-lang.org> 17089 17090 * enc/depend: ignore mktable.c because it's not encoding library. 17091 [ruby-core:42760] [Bug #6049] 17092 17093Mon Feb 20 21:40:53 2012 Tanaka Akira <akr@fsij.org> 17094 17095 * ext/curses/extconf.rb: fold too long lines. 17096 17097Mon Feb 20 21:16:48 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 17098 17099 * lib/fileutils.rb: revert a line modified accidentally at r34669. 17100 This fixes mingw test errors in TestDir_M17N. 17101 [ruby-core:42728] [Feature #4970] 17102 17103Mon Feb 20 21:09:27 2012 Tanaka Akira <akr@fsij.org> 17104 17105 * ext/curses/curses.c (Init_curses): define Curses::VERSION. 17106 17107Mon Feb 20 21:08:00 2012 Tanaka Akira <akr@fsij.org> 17108 17109 * ext/curses/extconf.rb: restore $libs and $defs for each 17110 header/library choice. 17111 17112Mon Feb 20 19:57:26 2012 Tanaka Akira <akr@fsij.org> 17113 17114 * ext/dbm/extconf.rb: weaken header/library consistency check if db is 17115 "ndbm". It seems several (possibly historical) distributions 17116 provide libndbm. However the content of libndbm vary: Berkeley DB, 17117 GDBM or even 4.3BSD NDBM. (Mandriva, Tru64 UNIX, OpenSuSE, 17118 SCO OpenServer, ...) 17119 "ndbm" is not searched automatically now (dblib doesn't contain it) 17120 but configure --with-dbm-type=ndbm choose libndbm and ndbm.h. 17121 17122Mon Feb 20 19:15:57 2012 Tanaka Akira <akr@fsij.org> 17123 17124 * ext/dbm/extconf.rb: refine variable names. 17125 17126Mon Feb 20 15:50:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17127 17128 * configure.in: check if -fstack-protector is really available. 17129 17130Sun Feb 19 23:43:38 2012 Tanaka Akira <akr@fsij.org> 17131 17132 * ext/dbm/extconf.rb: show header and library found. 17133 17134Sun Feb 19 23:01:01 2012 Tanaka Akira <akr@fsij.org> 17135 17136 * ext/dbm/dbm.c (Init_dbm): refine DBM::VERSION definition. 17137 17138 * ext/dbm/extconf.rb: provide RUBYDBM_GDBM_HEADER macro. 17139 17140Sun Feb 19 17:07:27 2012 Tanaka Akira <akr@fsij.org> 17141 17142 * test/dbm/test_dbm.rb (test_dbmfile_suffix): check pag and dir is 17143 empty for 4.3BSD ndbm. 17144 17145Sun Feb 19 03:00:30 2012 Tanaka Akira <akr@fsij.org> 17146 17147 * test/dbm/test_dbm.rb (test_dbmfile_suffix): check magic numbers. 17148 17149Sun Feb 19 01:05:41 2012 Tanaka Akira <akr@fsij.org> 17150 17151 * ext/dbm/extconf.rb: detect GDBM's ndbm.h by testing dbm_clearerr is 17152 an empty macro. 17153 17154Sun Feb 19 00:25:55 2012 Tanaka Akira <akr@fsij.org> 17155 17156 * ext/dbm/extconf.rb: don't choose 'dbm' if _GDB_H_ is defined which 17157 is available since GDBM 1.9 because 'gdbm_compat' is appropriate 17158 choice since GDBM 1.8.1. 17159 17160Sat Feb 18 23:27:00 2012 Kenta Murata <mrkn@mrkn.jp> 17161 17162 * random.c: remove a duplicated comment. 17163 17164Sat Feb 18 18:43:13 2012 Tanaka Akira <akr@fsij.org> 17165 17166 * ext/dbm/extconf.rb (dblib): prefer recent GDBM over older GDBM. 17167 (have_declared_libvar): new function to check a declared variable 17168 exists in a library. 17169 (have_undeclared_libvar): renamed from renamed from have_libvar. 17170 (headers.db_check2): check that GDBM version variable if GDBM header 17171 is chosen. 17172 17173 * ext/dbm/dbm.c (Init_dbm): use HAVE_DECLARED_LIBVAR_GDBM_VERSION and 17174 HAVE_UNDECLARED_LIBVAR_GDBM_VERSION macro. 17175 17176Sat Feb 18 13:53:01 2012 Tanaka Akira <akr@fsij.org> 17177 17178 * test/dbm/test_dbm.rb (test_dbmfile_suffix): DBM::VERSION should 17179 be Berkeley DB if foo.db is created by DBM.open. 17180 17181Sat Feb 18 13:40:37 2012 Tanaka Akira <akr@fsij.org> 17182 17183 * test/dbm/test_dbm.rb (test_dbmfile_suffix): test dbm file suffix. 17184 17185Sat Feb 18 12:50:59 2012 Tanaka Akira <akr@fsij.org> 17186 17187 * ext/dbm/dbm.c (DBM::VERSION): define it by detecting _GDBM_H_ or 17188 _DBM_IOERR. 17189 17190Sat Feb 18 07:52:45 2012 NARUSE, Yui <naruse@ruby-lang.org> 17191 17192 * tool/enc-unicode.rb: don't use 1.9 feature on tools. 17193 17194Sat Feb 18 02:48:39 2012 Aaron Patterson <aaron@tenderlovemaking.com> 17195 17196 * lib/fileutils.rb: refactored FileUtil methods to use the 17197 `define_command` API. Patch from 7rans <transfire@gmail.com> 17198 * test/fileutils/test_dryrun.rb: corresponding test refactoring 17199 * test/fileutils/test_nowrite.rb: ditto 17200 * test/fileutils/test_verbose.rb: ditto 17201 17202Fri Feb 17 21:39:36 2012 Tanaka Akira <akr@fsij.org> 17203 17204 * ext/dbm/extconf.rb: remove dbm. 17205 17206Fri Feb 17 21:18:39 2012 Tanaka Akira <akr@fsij.org> 17207 17208 * ext/dbm/extconf.rb: refine header/library mismatch detection. 17209 check only for ndbm.h except libc. check _GDBM_H_ for gdbm. 17210 check _DBM_IOERR for the original ndbm. 17211 17212Fri Feb 17 20:30:44 2012 Tanaka Akira <akr@fsij.org> 17213 17214 * ext/dbm/extconf.rb: don't check libdbm. It is not a ndbm 17215 implementation. (libdbm in Version 7 Unix is database library 17216 for single database per process.) 17217 17218Fri Feb 17 15:38:53 2012 NARUSE, Yui <naruse@ruby-lang.org> 17219 17220 * Merge Onigmo-5.13.1. [ruby-dev:45057] [Feature #5820] 17221 https://github.com/k-takata/Onigmo 17222 cp reg{comp,enc,error,exec,parse,syntax}.c reg{enc,int,parse}.h 17223 cp oniguruma.h 17224 cp tool/enc-unicode.rb 17225 cp -r enc/ 17226 17227Fri Feb 17 15:20:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17228 17229 * enum.c (enum_each_slice): arrays to be yielded can be newly 17230 created in the block. 17231 17232 * enum.c: move work variables to objects not to let called blocks 17233 access stack area out of scope. [Bug #5801] 17234 17235Fri Feb 17 12:35:55 2012 NARUSE, Yui <naruse@ruby-lang.org> 17236 17237 * tool/merger.rb: remove borders from the commit message which is used 17238 when the commit doesn't change ChangeLog. 17239 17240Fri Feb 17 11:50:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17241 17242 * common.mk (btest, btest-ruby, test-sample test-knownbugs) 17243 (test-all, test-ruby): depend on prog. 17244 17245Fri Feb 17 09:56:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17246 17247 * lib/mkmf.rb (create_header): log the content of header. 17248 17249Fri Feb 17 09:44:55 2012 NARUSE, Yui <naruse@ruby-lang.org> 17250 17251 * tool/transcode-tblgen.rb (import_ucm): don't use \h because the 17252 script should work with ruby 1.8. 17253 17254 * tool/enc-unicode.rb: ditto. 17255 17256Fri Feb 17 07:33:29 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17257 17258 * enum.c (id_lshift): use constant ID. 17259 17260Fri Feb 17 07:30:53 2012 Tanaka Akira <akr@fsij.org> 17261 17262 * ext/dbm/extconf.rb: refactored to split too long conditions. 17263 17264Fri Feb 17 00:23:25 2012 Tanaka Akira <akr@fsij.org> 17265 17266 * test/dbm/test_dbm.rb: fix skip condition for libgdbm 1.8.0 or prior. 17267 reported by Bohuslav Kabrda. 17268 [ruby-core:42685] [ruby-trunk - Bug #6036] 17269 17270Fri Feb 17 00:04:21 2012 Tanaka Akira <akr@fsij.org> 17271 17272 * ext/dbm/extconf.rb: check _DB_H_ macro unavailable except 17273 Berkeley DB library. 17274 17275Thu Feb 16 05:41:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17276 17277 * insns.def (splatarray): make new array if flag is set. 17278 17279 * compile.c (iseq_compile_each): make new array with 17280 splat. [ruby-core:21901][Feature #1125] 17281 17282Thu Feb 16 00:14:04 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 17283 17284 * lib/abbrev.rb (Array#abbrev): add missing '"' in documentation. 17285 17286Wed Feb 15 22:20:19 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 17287 17288 * cont.c (rb_fiber_reset_root_local_storage): add a new function to 17289 restore rb_thread_t::local_storage. 17290 17291 * cont.c (rb_obj_is_fiber): add a new function to tell finalizer to 17292 prevent fibers from destroy. 17293 17294 * gc.c (rb_objspace_call_finalizer): don't sweep fibers at finalizing 17295 objspace. 17296 17297 * internal.h (rb_fiber_reset_root_local_storage, rb_obj_is_fiber): 17298 add prototypes. 17299 17300 * vm.c (ruby_vm_destruct): reset main thread's local_storage before 17301 free main thread. rb_thread_t::local_storage is replaced by fiber's 17302 local storage when forked from fiber, and it should be already freed 17303 when the fiber was destroyed. [ruby-core:41456] [Bug #5700] 17304 17305 * test/ruby/test_fiber.rb (test_fork_from_fiber): add test for fork 17306 from fiber. 17307 17308Wed Feb 15 19:57:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17309 17310 * ext/fiddle/closure.c (callback): deal with unsigned integers. 17311 [ruby-core:42458][Bug #5991][Bug #6022] 17312 17313 * ext/fiddle/conversions.c (value_to_generic, generic_to_value): 17314 ditto. 17315 17316 * ext/fiddle/closure.c (callback): same as r34506. 17317 17318Wed Feb 15 17:41:31 2012 NARUSE, Yui <naruse@ruby-lang.org> 17319 17320 * io.c (io_strsetbuf): call rb_str_modify to make str independent 17321 before calling rb_str_set_len for r34580. 17322 17323Wed Feb 15 12:30:10 2012 Eric Hodel <drbrain@segment7.net> 17324 17325 * ext/zlib/zlib.c (Init_zlib): Added Zlib::TEXT and note that 17326 Zlib::ASCII is deprecated in zlib 1.2.3 and newer. 17327 17328Wed Feb 15 12:24:40 2012 Eric Hodel <drbrain@segment7.net> 17329 17330 * ext/zlib/zlib.c: Move constant descriptions to constants. Remove 17331 extra comment block at the top of Init_zlib(). 17332 17333Wed Feb 15 12:30:46 2012 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 17334 17335 * lib/ostruct.rb: Create getters and setters after dup. 17336 [Bug #6028] [rubyspecs:0380bcc] 17337 17338Wed Feb 15 10:59:52 2012 Narihiro Nakamura <authornari@gmail.com> 17339 17340 * gc.c (HEAP_BITMAP_LIMIT): HEAP_BITMAP_LIMIT is computed on the 17341 basis of HEAP_SIZE because it must covers a whole heap block. 17342 [ruby-trunk - Bug #6006] 17343 17344Wed Feb 15 09:27:45 2012 Eric Hodel <drbrain@segment7.net> 17345 17346 * ext/zlib/zlib.c (Init_zlib): Added Zlib::FIXED and Zlib::RLE 17347 strategies. 17348 * NEWS: Add note about the new Zlib constants. 17349 17350Wed Feb 15 09:11:36 2012 Eric Hodel <drbrain@segment7.net> 17351 17352 * ext/zlib/zlib.c: Improve documentation. [ruby-trunk - Bug #5948] 17353 17354Wed Feb 15 07:28:54 2012 Eric Hodel <drbrain@segment7.net> 17355 17356 * encoding.c (Init_Encoding): Add IO example of internal and external 17357 encoding. Fixed a typo in the force_encoding example. [#5949] 17358 17359Wed Feb 15 06:58:21 2012 Eric Hodel <drbrain@segment7.net> 17360 17361 * encoding.c (Init_Encoding): Add Encoding documentation. 17362 [ruby-trunk - Bug #5949] 17363 * encoding.c (rb_set_default_external): Fix typo in documentation. 17364 17365Tue Feb 14 20:22:11 2012 Narihiro Nakamura <authornari@gmail.com> 17366 17367 * gc.c (CEILDIV): rename to a appropriate name. 17368 17369Tue Feb 14 18:07:20 2012 Narihiro Nakamura <authornari@gmail.com> 17370 17371 * gc.c (assign_heap_slot): SEGV happens cause on 64-bit platform 17372 sometime there should be `objs-=2` instead of `objs--`. 17373 [Bug #6006] 17374 patched by Sokolov Yura. https://github.com/ruby/ruby/pull/92 17375 17376Tue Feb 14 16:00:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17377 17378 * io.c (io_setstrbuf): cut down the buffer if longer. 17379 17380Tue Feb 14 15:06:37 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17381 17382 * lib/test/unit/assertions.rb (build_message): skip escaped 17383 question marks. 17384 17385Tue Feb 14 12:10:04 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17386 17387 * variable.c (autoload_const_set, autoload_require): fix 17388 signatures. 17389 17390Tue Feb 14 05:23:40 2012 Eric Hodel <drbrain@segment7.net> 17391 17392 * process.c (proc_wait): Change typo "SystemError" to 17393 "SystemCallError". [ruby-trunk - Bug #5962] 17394 * process.c (proc_wait2): ditto 17395 17396Tue Feb 14 05:18:24 2012 Eric Hodel <drbrain@segment7.net> 17397 17398 * enumerator.c: Document use of Enumerator.new for creating a lazy 17399 enumeration for filtering/chaining. [ruby-trunk - Feature #707] 17400 17401Mon Feb 13 23:01:50 2012 Akinori MUSHA <knu@iDaemons.org> 17402 17403 * vm_method.c (rb_method_boundp): 17404 obj.respond_to?(:a_protected_method) should return false because 17405 calling a protected method may cause NoMethodError if called 17406 from outside the class inheritance tree. Kernel#respond_to? is 17407 mostly used to test if it is safe to call a method, so the false 17408 positive should be avoided. [ruby-dev:40461] [ruby-dev:41739] 17409 [ruby-dev:41837] 17410 17411Mon Feb 13 21:52:06 2012 Narihiro Nakamura <authornari@gmail.com> 17412 17413 * gc.c (HEAP_OBJ_LIMIT, HEAP_BITMAP_LIMIT): HEAP_OBJ_LIMIT used 17414 `sizeof(struct heaps_slot)` while heap is currently allocated 17415 with `struct heaps_header`. 17416 HEAP_BITMAP_LIMIT were calculated from 17417 `HEAP_OBJ_LIMIT/sizeof(uintptr_t)` - one Byte for each object, 17418 not one Bit. [Bug #6006] 17419 patched by Sokolov Yura. https://github.com/ruby/ruby/pull/92 17420 17421Mon Feb 13 18:30:32 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17422 17423 * io.c (io_setstrbuf): defer resizing buffer string until data is 17424 read actually. 17425 17426Mon Feb 13 10:24:39 2012 Loren Segal <lsegal@soen.ca> 17427 17428 * io.c (Init_IO): use directive hack to make ARGF documentable 17429 in other tools. [ruby-core:42515][Bug #6007] 17430 17431Sun Feb 12 20:43:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17432 17433 * include/ruby/ruby.h (rb_event_hook_func_t): add argument names. 17434 17435Sun Feb 12 16:30:23 2012 Akinori MUSHA <knu@iDaemons.org> 17436 17437 * tool/merger.rb (#default_merge_branch): Add support for 17438 Subversion 1.7 which adopted a whole new working directory 17439 structure. 17440 17441Sun Feb 12 15:14:41 2012 Kazuki Tsujimoto <kazuki@callcc.net> 17442 17443 * benchmark/driver.rb: suppress unused/shadowing variable warnings. 17444 17445Sun Feb 12 03:14:40 2012 Eric Hodel <drbrain@segment7.net> 17446 17447 * vm_eval.c (check_funcall): Call respond_to? with matching arity for 17448 legacy single-argument implementations. [ruby-trunk - Bug #6000] 17449 17450Sat Feb 11 12:04:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17451 17452 * compile.c (defined_expr): guard the whole expression. 17453 [ruby-dev:45021][Bug#5786] 17454 17455Sat Feb 11 08:34:42 2012 Eric Hodel <drbrain@segment7.net> 17456 17457 * ext/zlib/zlib.c (rb_inflate_add_dictionary): Added 17458 Zlib::Inflate#add_dictionary to allow users to pre-specify 17459 for using during #inflate. [ruby-trunk - Feature #5937] 17460 17461Sat Feb 11 08:23:02 2012 Eric Hodel <drbrain@segment7.net> 17462 17463 * ext/zlib/zlib.c (do_inflate): Inflate more data if buffered data 17464 exists. Allows Zlib::Inflate#set_dictionary to work. 17465 [ruby-trunk - Bug #5929] 17466 17467Sat Feb 11 06:00:48 2012 NARUSE, Yui <naruse@ruby-lang.org> 17468 17469 * dir.c (fnmatch): The * needs to be escaped to avoid formatting in 17470 fnmatch comment. 17471 patched by @dalton. https://github.com/ruby/ruby/pull/91 17472 17473Fri Feb 10 03:41:31 2012 Aaron Patterson <aaron@tenderlovemaking.com> 17474 17475 * ext/psych/parser.c: removed external encoding setter, allow parser 17476 to be reused. 17477 * ext/psych/lib/psych/parser.rb: added external encoding setter. 17478 * test/psych/test_parser.rb: test parser reuse 17479 17480Fri Feb 10 01:30:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17481 17482 * ext/dl/dl.h (ALIGN_OF): use offsetof(). 17483 17484 * ext/dl/dl.h (DLALIGN): round up at once and get rid of overflow. 17485 17486Fri Feb 10 00:47:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17487 17488 * test/ruby/envutil.rb (assert_no_memory_leak): new assertion to 17489 check memory leak by invoking child ruby process and watch its 17490 memory size. 17491 17492Thu Feb 9 23:41:44 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 17493 17494 * test/pathname/test_pathname.rb (test_binread): add assertion to 17495 check encoding. 17496 17497Thu Feb 9 16:48:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17498 17499 * ext/dl/dl.c (Init_dl): fix mangled document. 17500 17501Thu Feb 9 16:10:34 2012 NAKAMURA Usaku <usa@ruby-lang.org> 17502 17503 * test/ruby/memory_status.rb (Memory::Win32): 64bit support. 17504 17505Thu Feb 9 16:08:55 2012 NAKAMURA Usaku <usa@ruby-lang.org> 17506 17507 * ext/dl/lib/value.rb (DL::ValueUtil.{unsigned_value,signed_value}): 17508 currently pack/unpack does not accept "q!" and "Q!". 17509 17510Thu Feb 9 16:01:29 2012 NAKAMURA Usaku <usa@ruby-lang.org> 17511 17512 * ext/fiddle/conversions.c (value_to_generic): src is not guaranteed as 17513 a Bignum if the type is LONG_LONG. it may be a Fixnum if the value 17514 is small. 17515 17516Thu Feb 9 11:32:36 2012 NAKAMURA Usaku <usa@ruby-lang.org> 17517 17518 * ext/dl/lib/types.rb: Win64 support. 17519 17520Thu Feb 9 04:12:29 2012 NARUSE, Yui <naruse@ruby-lang.org> 17521 17522 * test/pathname/test_pathname.rb: not read but binread. 17523 patched by Benoit Daloze, [ruby-core:42440] [Bug #5984] 17524 17525Wed Feb 8 22:29:59 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17526 17527 * string.c (rb_str_modify_expand): fix memory leak. 17528 17529Wed Feb 8 14:06:59 2012 Hiroshi Nakamura <nahi@ruby-lang.org> 17530 17531 * ext/openssl/ossl_ssl.c: Add SSL constants and allow to unset SSL 17532 option to prevent BEAST attack. See [Bug #5353]. 17533 17534 In OpenSSL, OP_DONT_INSERT_EMPTY_FRAGMENTS is used to prevent 17535 TLS-CBC-IV vulnerability described at 17536 http://www.openssl.org/~bodo/tls-cbc.txt 17537 It's known issue of TLSv1/SSLv3 but it attracts lots of attention 17538 these days as BEAST attack. (CVE-2011-3389) 17539 17540 Until now ossl sets OP_ALL at SSLContext allocation and call 17541 SSL_CTX_set_options at connection. SSL_CTX_set_options updates the 17542 value by using |= so bits set by OP_ALL cannot be unset afterwards. 17543 17544 This commit changes to call SSL_CTX_set_options only 1 time for each 17545 SSLContext. It sets the specified value if SSLContext#options= are 17546 called and sets OP_ALL if not. 17547 17548 To help users to unset bits in OP_ALL, this commit also adds several 17549 constant to SSL such as 17550 OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS. These constants were 17551 not exposed in Ruby because there's no way to unset bits in OP_ALL 17552 before. 17553 17554 Following is an example to enable 0/n split for BEAST prevention. 17555 17556 ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS 17557 17558 * test/openssl/test_ssl.rb: Test above option exists. 17559 17560Wed Feb 8 13:12:02 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 17561 17562 * ext/openssl/ossl_x509name.c: Use the numerical representation of 17563 unrecognized OIDs instead of the sn "UNDEF". 17564 17565 * test/openssl/test_x509name.rb: Add tests for the fixed behavior. 17566 17567 Patch provided by Paul Kehrer, thank you! 17568 [ruby-core:41769] [Feature #5787] 17569 17570Wed Feb 8 09:49:58 2012 NARUSE, Yui <naruse@ruby-lang.org> 17571 17572 * tool/merger.rb: don't abort, update first. 17573 17574Wed Feb 8 09:47:33 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 17575 17576 * ext/openssl/ossl_asn1.c: Call INT2NUM only once for GeneralString. 17577 Thanks to Mantas Mikulenas for noticing and providing a patch! 17578 [ruby-core:42358] [Bug #5972] 17579 17580Wed Feb 8 09:19:00 2012 Martin Bosslet <Martin.Bosslet@googlemail.com> 17581 17582 * ext/openssl/ossl_cipher.c: Add warning about key as IV. 17583 17584Tue Feb 7 20:08:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 17585 17586 * error.c (exc_inspect): Fix typo. patch from Trent Ogren 17587 via https://github.com/ruby/ruby/pull/90 17588 17589Tue Feb 7 19:37:35 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17590 17591 * st.c: refactor packed entries using structs. 17592 17593Tue Feb 7 14:52:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17594 17595 * st.c (st_update): table can be unpacked in the callback. 17596 17597 * st.c (st_foreach): should not yield same pair when checking 17598 after unpacking. 17599 17600Mon Feb 6 21:55:13 2012 NARUSE, Yui <naruse@ruby-lang.org> 17601 17602 * tool/merger.rb: abort if the working directory is dirty. 17603 17604 * tool/merger.rb: update the working directory after commit. 17605 17606Mon Feb 6 00:16:27 2012 NARUSE, Yui <naruse@ruby-lang.org> 17607 17608 * encoding.c (rb_enc_compatible): return ASCII-8BIT even if 2nd string 17609 is ascii only string. [ruby-core:42354] [Bug #5968] 17610 17611Fri Feb 3 07:16:47 2012 Eric Hodel <drbrain@segment7.net> 17612 17613 * lib/webrick.rb: Moved proxy rewriting to WEBrick::HTTPProxy. 17614 * lib/webrick/httpproxy.rb: Add examples of creating a proxy server 17615 and response rewriting using HTTPProxy. 17616 17617Fri Feb 3 06:53:22 2012 Eric Hodel <drbrain@segment7.net> 17618 17619 * ext/openssl/ossl_x509store.c: Add class documentation for 17620 OpenSSL::X509::Store 17621 17622Thu Feb 2 22:28:13 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 17623 17624 * test/net/http/test_https_proxy.rb 17625 (HTTPSProxyTest#test_https_proxy_authentication): 17626 add workaround to avoid to hang up without openssl. 17627 see [ruby-dev:45021][Bug #5786] 17628 17629 * test/resolv/test_dns.rb (TestResolvDNS#test_query_ipv4_address): 17630 ditto. 17631 17632Thu Feb 2 21:48:18 2012 Kouhei Sutou <kou@cozmixng.org> 17633 17634 * lib/rexml/parsers/baseparser.rb: use meaningful names. 17635 17636Thu Feb 2 21:38:52 2012 Kouhei Sutou <kou@cozmixng.org> 17637 17638 * lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb: 17639 fix the default xml namespace URI validation. 17640 [ruby-dev:45169] [Bug #5956] 17641 Reported by Miho Hiramatsu. Thanks!!! 17642 17643Thu Feb 2 17:51:02 2012 NARUSE, Yui <naruse@ruby-lang.org> 17644 17645 * io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace. 17646 r34409 breaks replacing ARGV. 17647 [ruby-dev:45160] [Bug #5952] 17648 17649Thu Feb 2 16:21:01 2012 NAKAMURA Usaku <usa@ruby-lang.org> 17650 17651 * test/net/http/test_http.rb (TestNetHTTPKeepAlive#*): remove debug 17652 output. 17653 17654Thu Feb 2 01:24:34 2012 Yusuke Endoh <mame@tsg.ne.jp> 17655 17656 * parse.y (debug_lines, coverage): set file path encoding for coverage 17657 result. [ruby-dev:44950] 17658 17659Wed Feb 1 14:38:31 2012 Akinori MUSHA <knu@iDaemons.org> 17660 17661 * lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): Just 17662 call File.unlink and ignore ENOENT because existence check 17663 before unlinking does not help in terms of race condition. 17664 17665 * lib/tempfile.rb (Tempfile#unlink, Tempfile::Remover#call): My 17666 comment about thread safeness is obsolete. 17667 17668Wed Feb 1 09:50:10 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17669 17670 * doc/re.rdoc (Repetition): fix typo. reported by Ori Avtalion 17671 and patched by Zachary Scott. [Bug #5947] 17672 17673Wed Feb 1 06:38:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17674 17675 * io.c (argf_close): skip stdin, which should be readable again. 17676 [ruby-dev:45160] [Bug #5952] 17677 17678 * io.c (argf_readlines): reinitialize after all read to be 17679 readable again. 17680 17681Tue Jan 31 21:27:43 2012 Narihiro Nakamura <authornari@gmail.com> 17682 17683 * configure.in (HEAP_ALIGN_LOG): HEAP_ALIGN_LOG should be page 17684 size in OpenBSD. [ruby-core:42158][Bug #5901] 17685 17686 * gc.c : avoid to redefine. 17687 17688Tue Jan 31 14:27:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17689 17690 * test/ruby/envutil.rb (EnvUtil.invoke_ruby): yield also child pid 17691 in block form. 17692 17693Mon Jan 30 19:08:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17694 17695 * vm_eval.c (vm_call0): should pass block to enumerators. patched 17696 by Kazuki Tsujimoto. [ruby-dev:44961][Bug #5731] 17697 17698 * vm_eval.c (method_missing), vm_insnhelper.c (vm_call_method): 17699 ditto. patched by satoshi shiba. 17700 17701Mon Jan 30 12:31:05 2012 NAKAMURA Usaku <usa@ruby-lang.org> 17702 17703 * file.c (append_fspath): need to set the encoding to result always. 17704 17705Mon Jan 30 10:38:37 2012 NAKAMURA Usaku <usa@ruby-lang.org> 17706 17707 * test/irb/test_completion.rb: skip if cannot load irb/completion 17708 (maybe readline does not exist). 17709 17710Sun Jan 29 22:47:19 2012 Yutaka Kanemoto <kanemoto@ruby-lang.org> 17711 17712 * tool/config.{guess,sub}: updated to automake-1.11.2. 17713 17714Sun Jan 29 12:17:56 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17715 17716 * ext/readline/readline.c (readline_attempted_completion_function): 17717 respect encodings. [Bug #5941] 17718 17719Sat Jan 28 09:33:33 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 17720 17721 * win32/win32.c (rb_w32_read): fix an issue that $stdin.read doesn't 17722 terminate by CTRL-C on Windows. 17723 [ruby-dev:45149] [Bug #5812] 17724 17725Sat Jan 28 08:18:11 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 17726 17727 * test/ruby/test_thread.rb 17728 (TestThreadGroup#test_thread_timer_and_interrupt): skip exit status 17729 assertion because we cannot get signal status on Windows. 17730 17731 * win32/win32.c (CreateChild): create process group to receive the 17732 signal by GenerateConsoleCtrlEvent(). 17733 17734 * win32/win32.c (kill): use CTRL_BREAK_EVENT instead of CTRL_C_EVENT 17735 if a process group is specified. CTRL_C_EVENT signal cannot be 17736 generated for process groups for the specification. 17737 [ruby-dev:45149] [Bug #5812] 17738 17739Sat Jan 28 07:46:03 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 17740 17741 * thread_win32.c (rb_w32_wait_events_blocking): use 17742 ruby_thread_from_native() instead of GET_THREAD() because 17743 GET_THREAD() doesn't always return the current thread and 17744 WaitForMultipleObjects() at rb_w32_read() doesn't return by 17745 Thread#kill. This fixes TestQueue#test_thr_kill failure on 17746 Windows. 17747 17748 * thread_win32.c (rb_w32_wait_events): use ruby_thread_from_native() 17749 instead of GET_THREAD() for consistency with the above change. 17750 17751 * thread_win32.c (rb_w32_sleep): ditto. 17752 17753 * thread_win32.c (rb_w32_Sleep): ditto. 17754 [ruby-dev:45149] [Bug #5812] 17755 17756Sat Jan 28 07:28:48 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 17757 17758 * test/zlib/test_zlib.rb (TestZlibGzipReader#test_reader_wrap): set 17759 binmode explicitly for fixing test error on Windows. This is consistent 17760 with r34243. 17761 [ruby-dev:45149] [Bug #5812] 17762 17763Sat Jan 28 05:53:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17764 17765 * lib/irb/completion.rb (IRB::InputCompletor::CompletionProc): 17766 ignore non-string name modules. [ruby-core:42244][Bug #5938] 17767 17768Fri Jan 27 16:31:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17769 17770 * gc.c (HEAP_ALIGN, HEAP_ALIGN_MASK): DRY, let compiler calculate 17771 from HEAP_ALIGN_LOG. 17772 17773Thu Jan 26 11:03:37 2012 Eric Hodel <drbrain@segment7.net> 17774 17775 * lib/matrix.rb: Clean up extra whitespace in output documentation. 17776 17777Thu Jan 26 03:24:02 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17778 17779 * ext/io/console/console.c (io_getch): default delegating method 17780 for StringIO. https://github.com/nobu/io-console/issues/4 17781 17782 * ext/stringio/stringio.c: moved some methods to hidden modules. 17783 17784Wed Jan 25 13:27:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17785 17786 * file.c (rb_file_s_basename): ignore non-ascii extension in 17787 different encoding, which cannot match. 17788 17789 * file.c (rmext): no extension to strip if empty string. 17790 17791 * file.c (rb_enc_path_next, rb_enc_path_skip_prefix) 17792 (rb_enc_path_last_separator, rb_enc_path_end) 17793 (ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware 17794 path handling functions. 17795 17796 * file.c (rb_home_dir, file_expand_path, rb_realpath_internal) 17797 (rb_file_s_basename, rb_file_dirname, rb_file_s_extname) 17798 (rb_file_join): should respect the encodings of arguments than 17799 file system encoding. [ruby-dev:45145] [Bug #5919] 17800 17801 * dir.c (check_dirname, ruby_glob0): ditto. 17802 17803 * ext/pathname/pathname.c (path_sub_ext): ditto. 17804 17805Tue Jan 24 14:20:42 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17806 17807 * vm.c (rb_iter_break_value): new function to break a block with 17808 the value. [ruby-dev:45132] [Feature #5895] 17809 17810Tue Jan 24 12:58:41 2012 Yukihiro Matsumoto <matz@ruby-lang.org> 17811 17812 * object.c (rb_Hash): add Kernel#Hash conversion method like 17813 Array() or Float(). a patch from Run Paint Run Run. Fix #3131 17814 17815Tue Jan 24 11:38:05 2012 NARUSE, Yui <naruse@ruby-lang.org> 17816 17817 * lib/uri/common.rb (URI.encode_www_form_component): initialize on 17818 requiring to support JRuby, which runs parallel multithreads. 17819 [ruby-core:42222] [Bug #5925] 17820 17821 * lib/uri/common.rb (URI.decode_www_form_component): initialize on 17822 17823Mon Jan 23 20:33:11 2012 Jason Kay <geniture@me.com> 17824 17825 * lib/net/http.rb (Net::HTTP#connect): Writing entire packet at 17826 once to avoid incomplete transmission. Current code using 17827 writeline was causing sub-optimal conversing with a proxy due to 17828 the connect tunnel request headers being split over multiple 17829 packets. The modification I made allows the connect request to 17830 be written as one packet, avoiding problems and optimizing the 17831 conversation. 17832 17833 https://github.com/ruby/ruby/pull/72 17834 [Feature #5460] 17835 17836Mon Jan 23 17:06:17 2012 NARUSE, Yui <naruse@ruby-lang.org> 17837 17838 * lib/uri/mailto.rb (URI::MailTo.build): follow Array#to_s change of 17839 Ruby 1.9; use Array#join. [Bug #5840] 17840 17841Mon Jan 23 16:42:28 2012 NARUSE, Yui <naruse@ruby-lang.org> 17842 17843 * io.c (extract_binmode): raise an exception if binmode/textmode 17844 is specified with both vmode and opthash. 17845 [ruby-core:42199] [Bug #5918] 17846 17847Mon Jan 23 16:35:27 2012 NARUSE, Yui <naruse@ruby-lang.org> 17848 17849 * io.c (rb_io_extract_modeenc): set ASCII-8BIT if binmode is specified 17850 with opthash. [ruby-core:42197] [Bug #5917] 17851 17852Mon Jan 23 10:08:00 2012 Kenta Murata <mrkn@cookpad.com> 17853 17854 * test/cgi/test_cgi_util.rb (test_cgi_escape_preserve_encoding): 17855 add a test for CGI::escape to preserve encoding. 17856 17857 * test/cgi/test_cgi_util.rb (test_cgi_unescape_preserve_encoding): 17858 add a test for CGI::unescape to preserve encoding. 17859 17860Mon Jan 23 00:45:34 2012 Akinori MUSHA <knu@iDaemons.org> 17861 17862 * misc/rdoc-mode.el (rdoc-imenu-create-index): Add imenu support 17863 to rdoc-mode. 17864 17865 * misc/rdoc-mode.el (rdoc-mode): Fix regexp patterns containing 17866 "\s " where CR/LF is not supposed to match. 17867 17868Sun Jan 22 15:41:26 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17869 17870 * parse.y (rb_intern3): split to registration check and new 17871 registration. 17872 17873 * parse.y (rb_intern_str): make interned string shared with the 17874 given string. 17875 17876 * parse.y (rb_intern3, rb_intern_str): check the coderange first. 17877 17878Sat Jan 21 22:21:07 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17879 17880 * include/ruby/ruby.h (FIXNUM_P): simple flag should be int. 17881 17882Sat Jan 21 21:51:19 2012 NARUSE, Yui <naruse@ruby-lang.org> 17883 17884 * encoding.c (rb_enc_compatible): fix segv on symbols. 17885 [ruby-core:42204] [Bug #5921] 17886 17887Sat Jan 21 11:43:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17888 17889 * dir.c (dir_chdir, check_dirname): get rid of optimization-out. 17890 17891Fri Jan 20 20:47:37 2012 Kenta Murata <mrkn@cookpad.com> 17892 17893 * lib/cgi/util.rb (CGI.escape): support a string with invalid byte 17894 sequence. [Bug #5913] 17895 17896 * test/cgi/test_cgi_util.rb 17897 (test_cgi_escape_with_invalid_byte_sequence): test for the above 17898 change. 17899 17900Fri Jan 20 17:37:37 2012 NARUSE, Yui <naruse@ruby-lang.org> 17901 17902 * vm.c (vm_exec): remove workaround for LLVM because r34278 fixes it. 17903 17904 * vm_insnhelper.c (vm_call_cfunc): ditto. 17905 17906Fri Jan 20 14:31:43 2012 NARUSE, Yui <naruse@ruby-lang.org> 17907 17908 * lib/net/http.rb (Net::HTTP#transport_request): retry a idempotent 17909 request automatically. [ruby-dev:45030] [Bug #5790] 17910 [ruby-core:41821] [Bug #5813] 17911 17912 * lib/net/http.rb (Net::HTTP#keep_alive_timeout=): added to specify 17913 the second to reconnect the TCP connection on Keep-Alive. 17914 The default value is 2 second because current servers uses 2 sec. 17915 http://ftp-admin.blogspot.com/2009/09/keepalivetimeout2.html 17916 17917 * lib/net/http.rb (Net::HTTP#begin_transport): reconnect TCP 17918 connection on keep-alive timeout. 17919 17920Thu Jan 19 07:53:09 2012 Tadayoshi Funaba <tadf@dotrb.org> 17921 17922 * ext/date/date_strptime.c: moved detector of leftover. 17923 17924Thu Jan 19 07:10:47 2012 Tadayoshi Funaba <tadf@dotrb.org> 17925 17926 * ext/date/date_parse.c: [ruby-core:42173]. 17927 17928Wed Jan 18 18:11:02 2012 Akinori MUSHA <knu@iDaemons.org> 17929 17930 * misc/rdoc-mode.el (rdoc-mode): Add provide so that requiring 17931 this library succeeds. 17932 17933Wed Jan 18 18:06:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17934 17935 * ext/curses/curses.c (cWindow, cMouseEvent): made typed data. 17936 17937Wed Jan 18 12:49:15 2012 Aaron Patterson <aaron@tenderlovemaking.com> 17938 17939 * ext/psych/lib/psych/visitors/to_ruby.rb: Added support for loading 17940 subclasses of String with ivars 17941 * ext/psych/lib/psych/visitors/yaml_tree.rb: Added support for dumping 17942 subclasses of String with ivars 17943 * test/psych/test_string.rb: corresponding tests 17944 17945Wed Jan 18 10:39:47 2012 Aaron Patterson <aaron@tenderlovemaking.com> 17946 17947 * ext/psych/lib/psych/visitors/to_ruby.rb: Added ability to load array 17948 subclasses with ivars. 17949 * ext/psych/lib/psych/visitors/yaml_tree.rb: Added ability to dump 17950 array subclasses with ivars. 17951 * test/psych/test_array.rb: corresponding tests 17952 17953Tue Jan 17 17:18:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17954 17955 * configure.in (SPT_TYPE): enable as SPT_REUSEARGV on Darwin. 17956 17957 * missing/setproctitle.c (ruby_init_setproctitle): changed prefix. 17958 17959Tue Jan 17 12:32:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17960 17961 * gc.c (aligned_malloc, aligned_free): covered missing defined 17962 operators and fixes for cygwin. 17963 17964Tue Jan 17 10:54:46 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17965 17966 * st.c (do_hash): it's the time to remove cast to unsigned int. 17967 17968Tue Jan 17 07:30:12 2012 NARUSE, Yui <naruse@ruby-lang.org> 17969 17970 * st.c (unpack_entries): Fix r34310: on unpacking, the position of 17971 a hash must be do_hash-ed value. 17972 17973 * st.c (add_packed_direct): ditto. 17974 17975Mon Jan 16 16:41:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17976 17977 * lib/optparse.rb (Regexp): fix incorrect options when casting to 17978 a Regexp, and suppress encoding option warnings. 17979 https://github.com/ruby/ruby/pull/82 17980 17981Mon Jan 16 11:22:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 17982 17983 * win32/win32.c (rb_chsize): no need to get the current file size. 17984 17985Mon Jan 16 00:41:33 2012 Sokolov Yura <funny.falcon@gmail.com> 17986 17987 * st.c: st use function instead of macro. In my current 17988 environment (Ubuntu 11.04 32bit gcc-4.5.2) it gives 4% 17989 performance improvement. 17990 17991 https://github.com/ruby/ruby/pull/77 17992 17993Sun Jan 15 14:09:48 2012 NARUSE, Yui <naruse@ruby-lang.org> 17994 17995 * object.c (rb_inspect): raise the result is not compatible with 17996 the default external encoding. [ruby-core:42095] [Bug #5848] 17997 If the default external encoding is ASCII compatible, the encoding of 17998 inspected result must be compatible with it. 17999 If the default external encoding is ASCII incompatible, 18000 the result must be ASCII only. 18001 18002Sun Jan 15 13:21:50 2012 NARUSE, Yui <naruse@ruby-lang.org> 18003 18004 * ext/json/parser/parser.rl (json_string_unescape): workaround fix 18005 for over optimization of GCC 4.7. [ruby-core:42085] [Bug #5888] 18006 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51862 18007 18008Sat Jan 14 22:24:09 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18009 18010 * ext/dl/callback/mkcallback.rb (gencallback): suppress unused 18011 variables. 18012 18013Sat Jan 14 21:56:43 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18014 18015 * iseq.c (iseq_data_to_ary): check line info table boundary. line 18016 number 0 means no line number info is needed. [ruby-dev:45130] 18017 [Bug #5894] 18018 18019Sat Jan 14 18:24:13 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18020 18021 * error.c (exc_equal): clear rb_thread_t::errinfo when ignore 18022 an exception under rb_protect(). [ruby-core:41979] [Bug #5865] 18023 18024Sat Jan 14 12:02:55 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18025 18026 * sprintf.c (rb_enc_vsprintf): relaxed the restriction. since the 18027 implementation deeply depends on plain char, so wchar_t based 18028 encodings are not supported. 18029 18030Sat Jan 14 12:00:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18031 18032 * error.c (exc_equal): ignore exceptions during implicit 18033 conversion. [ruby-core:41979] [Bug #5865] 18034 18035Sat Jan 14 05:58:54 2012 Eric Hodel <drbrain@segment7.net> 18036 18037 * io.c (rb_io_s_read): Fix formatting of open_args comment. Reported 18038 by Adam Prescott. 18039 18040Fri Jan 13 18:41:19 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18041 18042 * sprintf.c (rb_enc_vsprintf): can be used for ASCII compatible 18043 encodings only. 18044 18045Fri Jan 13 18:29:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18046 18047 * thread.c (rb_mutex_unlock_th): simplified. 18048 18049 * thread.c (rb_barrier_waiting): fix potential overflows. 18050 18051Fri Jan 13 17:23:38 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18052 18053 * load.c (load_unlock): update loading table at once. 18054 18055Fri Jan 13 16:44:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18056 18057 * error.c (exc_equal): try implicit conversion for delegator. 18058 [ruby-core:41979] [Bug #5865] 18059 18060Fri Jan 13 03:46:53 2012 Akinori MUSHA <knu@iDaemons.org> 18061 18062 * lib/shellwords.rb (Shellwords#shellescape): shellescape() now 18063 stringifies the given object using to_s. 18064 18065 * lib/shellwords.rb (Shellwords#shelljoin): shelljoin() accepts 18066 non-string objects in the given array, each of which is 18067 stringified using to_s. 18068 18069 * lib/shellwords.rb: Fix rdoc markups. 18070 18071Fri Jan 13 03:38:36 2012 Akinori MUSHA <knu@iDaemons.org> 18072 18073 * lib/shellwords.rb (Shellwords#shellsplit): Fix a bug where 18074 consecutive backslashes in double quotes are all removed except 18075 the one at the tail. 18076 18077Fri Jan 13 03:28:00 2012 Luis Lavena <luislavena@gmail.com> 18078 18079 * ext/socket/extconf.rb (if ipv6): only define _WIN32_WINNT if was not 18080 previously defined. This solve warnings with multiple defines in 18081 command line with GCC 4.6.1 18082 18083Thu Jan 12 18:44:31 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18084 18085 * lib/mkmf.rb: fix r33904 and revert r33905. initialize global 18086 variables with init_mkmf before initializing constants. 18087 [ruby-dev:45124] [Bug #5879] 18088 18089Thu Jan 12 13:51:00 2012 NARUSE, Yui <naruse@ruby-lang.org> 18090 18091 * cont.c (cont_restore_0): prevent optimizing out `sp'. sp is used for 18092 reserving a memory space with ALLOCA_N for restoring machine stack 18093 stored in cont->machine_stack, but clang optimized out it (and 18094 maybe #5851 is also caused by this). 18095 This affected TestContinuation#test_check_localvars. 18096 18097 * cont.c (cont_restore_1): revert workaround introduced in r32201. 18098 18099Thu Jan 12 02:14:43 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18100 18101 * object.c: Added examples for Object#is_a? and 18102 Object#instance_of? patched from Manoj Kumar. 18103 [Bug #5880] [ruby-core:42057] 18104 18105Thu Jan 12 00:57:48 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 18106 18107 * lib/mkmf.rb: verbose-mode can use by RM, RMDIRS, etc. 18108 (e.g. make V=1 realclean) 18109 18110Wed Jan 11 23:40:21 2012 Naohisa Goto <ngoto@gen-info.osaka-u.ac.jp> 18111 18112 * string.c (rb_str_concat): set array element after definition 18113 to fix compile error with Fujitsu C Compiler 5.6 on Solaris 10 18114 on Sparc. [Bug #5878] [ruby-dev:45123] 18115 18116Wed Jan 11 22:52:51 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18117 18118 * gc.c (ruby_mimmalloc): don't set allocated size to header. 18119 ruby_mimmalloc() doesn't increment allocated_size/allocations and 18120 decrement them in ruby_xfree() cause inconsistency. 18121 18122 * gc.c (ruby_xfree): don't decrement allocated_size/allocations if 18123 allocated size record is 0. 18124 18125Wed Jan 11 22:36:43 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18126 18127 * test/readline/test_readline.rb (test_completion_proc_empty_result): 18128 ensure clearance of Readline's line_buffer after the test. 18129 18130Tue Jan 10 21:57:38 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> 18131 18132 * ext/dbm/dbm.c (Init_dbm): fix a build error on mswin32. 18133 use `extern __declspec(dllimport)` for dll link with VC. 18134 [ruby-core:41996] [Bug #5869] 18135 18136Tue Jan 10 15:31:55 2012 NARUSE, Yui <naruse@ruby-lang.org> 18137 18138 * vm.c (vm_exec): refix r34162; suppress warning and add description. 18139 18140Tue Jan 10 15:13:58 2012 NARUSE, Yui <naruse@ruby-lang.org> 18141 18142 * ext/readline/readline.c (readline_attempted_completion_function): 18143 use rb_memerror(). 18144 18145Tue Jan 10 12:49:42 2012 NARUSE, Yui <naruse@ruby-lang.org> 18146 18147 * gc.c: in fact, i686-linux doesn't need to define _XOPEN_SOURCE 600. 18148 18149Tue Jan 10 12:44:11 2012 NARUSE, Yui <naruse@ruby-lang.org> 18150 18151 * gc.c (ruby_mimmalloc): defined for objects need not rb_objspace, 18152 but should return pointer suitable for ruby_xfree; 18153 main vm and main thread. 18154 patched by Sokolov Yura. https://github.com/ruby/ruby/pull/79 18155 18156 * internal.h: ditto. 18157 18158 * vm.c (Init_BareVM): use ruby_mimmalloc. 18159 18160 * ext/dl/cfunc.c: #include <ruby/util.h>. 18161 18162 * ext/syslog/syslog.c: use xfree because it is allocated by 18163 ruby_strdup. 18164 18165Tue Jan 10 12:13:56 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 18166 18167 * ext/readline/readline.c (readline_attempted_completion_function): 18168 fix compile error. 18169 18170Tue Jan 10 10:41:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18171 18172 * ext/readline/readline.c (readline_attempted_completion_function): 18173 empty completion result does not mean memory error. 18174 18175Tue Jan 10 02:19:22 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18176 18177 * test/ruby/test_io.rb (test_autoclose_true_closed_by_finalizer, 18178 test_autoclose_true_closed_by_finalizer): skip if IO objects are 18179 not recycled yet. [ruby-dev:45098] [Bug #5850] 18180 18181Tue Jan 10 00:41:28 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18182 18183 * lib/tempfile.rb (Tempfile#_close): clear @tempfile and @data[1] even 18184 when exception is raised at @tempfile.close. [ruby-dev:45113] 18185 18186 * lib/tempfile.rb (Tempfile#unlink): fix a typo. 18187 18188Tue Jan 10 00:32:17 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18189 18190 * gc.c (run_finalizer): clear rb_thread_t::errinfo when ignore 18191 an exception under rb_protect(). [ruby-dev:45113] 18192 18193Mon Jan 9 23:37:43 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18194 18195 * ext/readline/readline.c (readline_attempted_completion_function): 18196 fix typos. 18197 18198Mon Jan 9 20:55:34 2012 Narihiro Nakamura <authornari@gmail.com> 18199 18200 * gc.c : don't embed struct heaps_slot to a heap block because it 18201 can causes copy-on-write of memory page on heap block when its 18202 free_next is rewritten. 18203 18204Mon Jan 9 20:26:33 2012 Tanaka Akira <akr@fsij.org> 18205 18206 * ext/pathname/pathname.c (path_entries): add document suggested by 18207 the thread [ruby-core:41959] [Bug #5859]. 18208 18209Mon Jan 9 20:14:13 2012 Tanaka Akira <akr@fsij.org> 18210 18211 * ext/socket/lib/socket.rb (family_addrinfo): don't require protocol 18212 equality. For example, protocol 0 and IPPROTO_TCP is not problem 18213 for TCP. 18214 18215Mon Jan 9 20:08:52 2012 Tanaka Akira <akr@fsij.org> 18216 18217 * ext/socket/lib/socket.rb (family_addrinfo): return the given 18218 addrinfo object. 18219 Patch by Ippei Obayashi. [ruby-dev:45095] [Bug #5845] 18220 18221Mon Jan 9 19:40:20 2012 NAKAMURA Usaku <usa@ruby-lang.org> 18222 18223 * test/zlib/test_zlib.rb (TestZlibGzipWriter#test_writer_wrap): set 18224 binmode explicitly. 18225 18226Mon Jan 9 14:42:41 2012 Narihiro Nakamura <authornari@gmail.com> 18227 18228 * gc.c: free_slots is changed Singly linked list. clear 18229 free_slots before sweep. 18230 18231Mon Jan 9 07:46:17 2012 NARUSE, Yui <naruse@ruby-lang.org> 18232 18233 * gc.c: i686-linux needs to define _XOPEN_SOURCE 600 for posix_memalign. 18234 18235Mon Jan 9 04:24:59 2012 NARUSE, Yui <naruse@ruby-lang.org> 18236 18237 * gc.c (rb_objspace_free): global_List is allocated with xmalloc. 18238 patched by Sokolov Yura. https://github.com/ruby/ruby/pull/78 18239 18240 * dln_find.c: remove useless replacement of free. 18241 18242 * ext/readline/readline.c (readline_attempted_completion_function): 18243 strings for readline must allocated with malloc. 18244 18245 * process.c (run_exec_dup2): use free; see also r20950. 18246 18247 * re.c (onig_new_with_source): use malloc for oniguruma. 18248 18249 * vm.c (ruby_vm_destruct): use free for VMs. 18250 18251 * vm.c (thread_free): use free for threads. 18252 18253Mon Jan 9 04:24:59 2012 NARUSE, Yui <naruse@ruby-lang.org> 18254 18255 * dln_find.c: remove useless replacement of free. 18256 18257 * ext/readline/readline.c (filename_completion_proc_call): 18258 matches should use xfree. 18259 18260 * ext/readline/readline.c (username_completion_proc_call): ditto. 18261 18262Mon Jan 9 01:12:35 2012 NARUSE, Yui <naruse@ruby-lang.org> 18263 18264 * numeric.c (rb_enc_uint_char): raise RangeError when added codepoint 18265 is invalid. [Feature #5855] [Bug #5863] [Bug #5864] 18266 18267 * string.c (rb_str_concat): ditto. 18268 18269 * string.c (rb_str_concat): set encoding as ASCII-8BIT when the string 18270 is US-ASCII and the argument is an integer greater than 127. 18271 18272 * regenc.c (onigenc_mb2_code_to_mbclen): rearrange error code. 18273 18274 * enc/euc_jp.c (code_to_mbclen): ditto. 18275 18276 * enc/shift_jis.c (code_to_mbclen): ditto. 18277 18278Sun Jan 8 20:31:45 2012 Narihiro Nakamura <narihiro@netlab.jp> 18279 18280 * gc.c : consider header bytes which are used by malloc. 18281 18282Sun Jan 8 11:54:43 2012 Narihiro Nakamura <authornari@gmail.com> 18283 18284 * gc.c (aligned_free): support MinGW. Patch by Hiroshi Shirosaki. 18285 18286Sun Jan 8 11:43:05 2012 Narihiro Nakamura <authornari@gmail.com> 18287 18288 * gc.c (slot_sweep): add a assertion instead of a debug print. 18289 18290Sun Jan 8 01:18:19 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18291 18292 * test/-ext-/old_thread_select/test_old_thread_select.rb: 18293 avoid platform bug. [Bug #5858] [ruby-dev:45108] 18294 18295Sun Jan 8 00:46:34 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 18296 18297 * gc.c: get rid of implicit narrowing conversion. 18298 18299Sun Jan 8 00:10:10 2012 NARUSE, Yui <naruse@ruby-lang.org> 18300 18301 * configure.in: check posix_memalign(3) and memalign(3). 18302 18303 * gc.c (aligned_malloc): use configure's result instead of 18304 _POSIX_C_SOURCE and _XOPEN_SOURCE because they can't be used 18305 to check availability at least on FreeBSD. 18306 18307Sat Jan 7 22:25:50 2012 Narihiro Nakamura <authornari@gmail.com> 18308 18309 * gc.c: use Bitmap Marking algorithm to avoid copy-on-write of 18310 memory pages. See [ruby-dev:45085] [Feature #5839] 18311 [ruby-core:41916]. 18312 18313 * include/ruby/ruby.h : FL_MARK rename to FL_RESERVED1. 18314 18315 * node.h : ditto. 18316 18317 * debug.c : ditto. 18318 18319 * object.c (rb_obj_clone): FL_MARK move to a bitmap. 18320 18321 * class.c (rb_singleton_class_clone): ditto. 18322 18323Sat Jan 7 00:47:07 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18324 18325 * configure.in: always define CANONICALIZATION_FOR_MATHN. 18326 [ruby-dev:45100] [Bug #5852] 18327 18328Fri Jan 6 23:11:20 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18329 18330 * include/ruby/version.h: RUBY_API_VERSION 2.0.0 18331 18332Fri Jan 6 12:24:11 2012 NARUSE, Yui <naruse@ruby-lang.org> 18333 18334 * object.c (rb_inspect): raises Encoding::CompatibilityError if the 18335 result is incompatible with the default external encoding. 18336 [ruby-core:41931] [Bug #5848] 18337 18338Thu Jan 5 15:26:15 2012 NAKAMURA Usaku <usa@ruby-lang.org> 18339 18340 * win32/win32.c (check_valid_dir): strict checking of root. 18341 GetDriveType() succeeds with non root directory as the argument, 18342 even if MSDN says that the API needs the root directory. 18343 this patch fixes a failure of test/ruby/test_file_exhaustive.rb. 18344 18345Thu Jan 5 12:15:55 2012 NARUSE, Yui <naruse@ruby-lang.org> 18346 18347 * file.c (rb_file_join): separator is appended by array length - 1 18348 times. patched by Benoit Daloze [ruby-core:41901] [Bug #5841] 18349 18350Thu Jan 5 11:47:54 2012 NARUSE, Yui <naruse@ruby-lang.org> 18351 18352 * lib/uri/common.rb (URI::Parser#initialize_regexp): 18353 use \A \z instead of ^ $. [Bug #5843] 18354 18355Wed Jan 4 17:55:53 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18356 18357 * array.c (rb_ary_sample): add example for Array#sample 18358 based on patch from https://github.com/ruby/ruby/pull/74 18359 18360Wed Jan 4 14:24:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> 18361 18362 * string.c (str_nth_len): count ascii-only run at the end. this 18363 bug appears only when single-byte-optimization is disabled due 18364 to unknown coderange. [ruby-core:41896] [Bug #5836] 18365 18366Wed Jan 4 11:32:07 2012 NAKAMURA Usaku <usa@ruby-lang.org> 18367 18368 * win32/win32.c (check_valid_dir): special case for a root directory. 18369 Reported by Masateru OKAMOTO at [Bug #5819]. 18370 18371Wed Jan 4 00:19:54 2012 Kouhei Sutou <kou@cozmixng.org> 18372 18373 * lib/rexml/parsers/baseparser.rb: use private instead of _xxx 18374 method name. This is Ruby code not Python code. 18375 refs #5696 18376 18377Tue Jan 3 23:57:37 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18378 18379 * lib/rexml/parsers/baseparser.rb: rexml BaseParser uses 18380 instance_eval unnecessarily on listener add. 18381 patch from Charles Nutter. [Bug #5696] [ruby-core:41437] 18382 18383Tue Jan 3 20:44:13 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18384 18385 * README: add comment for Git user. patch from Arun Agrawal. 18386 * README.ja: ditto. 18387 18388Tue Jan 3 15:58:22 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18389 18390 * thread.c: changed documentation for "thread-local" variables. 18391 patch from Julien Ammous. 18392 18393Tue Jan 3 15:50:12 2012 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18394 18395 * process.c: Fix typo. patch from Aviv Ben-Yosef. 18396 18397Tue Jan 3 13:43:37 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 18398 18399 * tool/merger.rb: allow r0123 style revision number. 18400 18401Tue Jan 3 11:17:55 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 18402 18403 * tool/merger.rb (#version_up): version.h date should be Japanese 18404 locale date. 18405 18406Mon Jan 2 22:08:00 2012 Akinori MUSHA <knu@iDaemons.org> 18407 18408 * tool/file2lastrev.rb (VCS::detect): Add support for Subversion 18409 1.7 which adopted a whole new working directory structure. 18410 18411 * tool/file2lastrev.rb (VCS::detect): Simply use .each instead of 18412 .sort.reverse_each which looks too arbitrary. If you want SVN 18413 to be tried first, then you just have to register it first as it 18414 is right now. 18415 18416Mon Jan 2 20:53:36 2012 Tanaka Akira <akr@fsij.org> 18417 18418 * lib/securerandom.rb (random_bytes): use IO#read instead of 18419 IO#readpartial to make the intent more clear. 18420 18421Mon Jan 2 15:26:39 2012 Kazuki Tsujimoto <kazuki@callcc.net> 18422 18423 * test/ruby/test_object.rb (test_send_with_block): add a normal case. 18424 18425Mon Jan 2 15:18:54 2012 Kazuki Tsujimoto <kazuki@callcc.net> 18426 18427 * test/ruby/test_object.rb (test_send_with_block): moved from 18428 bootstraptest/test_flow.rb. 18429 18430Mon Jan 2 15:10:11 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 18431 18432 * lib/test/unit/parallel.rb: use pack("m0") instead of 18433 pack("m").gsub("\n",""). 18434 * lib/test/unit.rb (Test::Unit::Runner::Worker#run): ditto. 18435 18436Mon Jan 2 15:05:09 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 18437 18438 * lib/test/unit.rb (Test::Unit::Runner::Worker#run): use 18439 File.basename with suffix instead of gsub. 18440 18441Mon Jan 2 14:55:28 2012 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 18442 18443 * lib/test/unit.rb (Test::Unit::Runner#_run_parallel): find may 18444 return nil and nil can not dup. 18445 18446Sun Jan 1 12:23:10 2012 Akinori MUSHA <knu@iDaemons.org> 18447 18448 * lib/shellwords.rb (Shellwords#shellescape): Drop the //n flag 18449 that only causes warnings with no real effect. [Bug #5637] 18450 18451Sat Dec 31 06:28:37 2011 NARUSE, Yui <naruse@ruby-lang.org> 18452 18453 * thread.c (rb_barrier_waiting): save the number of waiting threads 18454 in RBASIC()->flags. [ruby-dev:45002] [Bug #5768] 18455 18456 * thread.c (rb_barrier_wait): increment and decrement around 18457 rb_mutex_lock, and use rb_barrier_waiting(). 18458 18459 * thread.c (rb_barrier_release): use rb_barrier_waiting(). 18460 18461 * thread.c (rb_barrier_destroy): ditto. 18462 18463Mon Dec 26 17:20:10 2011 NARUSE, Yui <naruse@ruby-lang.org> 18464 18465 * vm.c (vm_exec): add guard to prevent optimization for LLVM clang. 18466 18467Fri Dec 30 17:01:12 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 18468 18469 * vm_eval.c (rb_f_send): fix obj.send() documentation issue. 18470 [Bug #5125] [ruby-core:38633] 18471 18472Thu Dec 29 22:36:16 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18473 18474 * lib/test/unit.rb (Test::Unit::Runner::Worker#_run_parallels): fix 18475 premature exit when all workers' status are :ready or :prepare. 18476 [ruby-dev:45061] [Bug #5822] 18477 18478Thu Dec 29 01:51:13 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18479 18480 * include/ruby/ruby.h: fix #error pragma. LLP64 platform is supported. 18481 18482 * include/ruby/st.h: ditto. 18483 18484Wed Dec 28 11:22:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18485 18486 * lib/fileutils.rb (FileUtils::Entry_#entries): use utility method 18487 instead of typoed regexp. [ruby-core:41829] [Bug #5817] 18488 18489Wed Dec 28 02:08:04 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18490 18491 * vm_insnhelper.c (unknown_keyword_error): add GC guard to prevent 18492 intermediate object from GC. 18493 18494Tue Dec 27 22:34:54 2011 Shota Fukumori <sorah@tubusu.net> 18495 18496 * lib/test/unit.rb (Worker#close): "closing IO if IO is closed" 18497 should be "closing IO if IO isn't closed" 18498 18499Tue Dec 27 22:04:27 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18500 18501 * st.c (st_update): new function to lookup the given key and 18502 update the value. [ruby-dev:44998] 18503 18504Tue Dec 27 21:17:33 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18505 18506 * node.h (rb_args_info): change pre_args_num and post_args_num as 18507 int, to match with rb_iseq_t. 18508 18509 * parse.y (new_args_gen): check overflow. 18510 18511Mon Dec 26 22:38:35 2011 Yusuke Endoh <mame@tsg.ne.jp> 18512 18513 * vm_insnhelper.c (unknown_keyword_error): make it kind a error 18514 message when unknown keyword is given. It require more work. 18515 See [ruby-core:40518] and [ruby-core:40541] in detail. 18516 18517Mon Dec 26 22:31:07 2011 Yusuke Endoh <mame@tsg.ne.jp> 18518 18519 * vm_core.h (struct rb_iseq_struct), compile.c (iseq_set_arguments), 18520 iseq.c (rb_iseq_parameters), vm_insnhelper.c 18521 (vm_callee_setup_arg_complex): support Method#parameters for keyword 18522 arguments. The provisional spec is what Benoit Daloze proposed. 18523 [ruby-core:40541] 18524 18525 * test/ruby/test_keyword.rb: add a test for above. 18526 18527Mon Dec 26 22:15:27 2011 Yusuke Endoh <mame@tsg.ne.jp> 18528 18529 * vm_core.h (struct rb_iseq_struct), compile.c (iseq_set_arguments, 18530 iseq_compile_each), vm_insnhelper.c (vm_callee_setup_arg_complex): 18531 implement keyword arguments. See [ruby-core:40290] 18532 The feature is promised to be included in 2.0, but the detail spec 18533 is still under discussion; this commit is a springboard for further 18534 discussion. Please try it and give us feedback. 18535 This commit includes fixes for some problems reported by Benoit 18536 Daloze <eregontp AT gmail.com> [ruby-core:40518] and Marc-Andre 18537 Lafortune <ruby-core-mailing-list AT marc-andre.ca> 18538 [ruby-core:41772]. 18539 18540 * iseq.c (iseq_free, prepare_iseq_build): bookkeeping. 18541 18542 * test/ruby/test_keyword.rb: add tests for keyword arguments. 18543 18544 * test/ripper/dummyparser.rb (class DummyParser): temporal fix for 18545 ripper test. 18546 18547Mon Dec 26 22:00:17 2011 Yusuke Endoh <mame@tsg.ne.jp> 18548 18549 * node.h, node.c, parse.y: implement a parser part for keyword 18550 arguments. 18551 This is a preparation for keyword argument (see [ruby-core:40290]). 18552 18553 * gc.c (gc_mark_children): bookkeeping. 18554 18555Mon Dec 26 21:03:18 2011 Yusuke Endoh <mame@tsg.ne.jp> 18556 18557 * node.h, parse.y (new_args_gen), compile.c (iseq_set_arguments): use 18558 struct rb_args_info instead of NODEs. 18559 This is a preparation for keyword argument (see [ruby-core:40290]). 18560 18561 * node.c (dump_node), gc.c (gc_mark_children, obj_free): bookkeeping. 18562 18563Mon Dec 26 20:59:51 2011 Yusuke Endoh <mame@tsg.ne.jp> 18564 18565 * node.h, parse.y (lambda, f_larglist): remove NEW_LAMBDA hack. 18566 This is a preparation for keyword argument (see [ruby-core:40290]). 18567 18568Mon Dec 26 22:01:19 2011 Hiroshi Shirosaki <h.shirosaki@gmail.com> 18569 18570 * io.c (rb_sys_fail_path): move the definition. 18571 Move above for using it in set_binary_mode_with_seek_cur(). 18572 18573 * io.c (set_binary_mode_with_seek_cur): fix improper seek cursor. 18574 Seeking file cursor with setting binary mode has possibility to 18575 cause infinite loop. Fixed the bug and refined error handling. 18576 Introduced at r34043. 18577 18578 And cleanups as below. 18579 Remove unnecessary parentheses of `fptr`. 18580 Use return value of setmode(). 18581 18582 * test/ruby/test_io_m17n.rb 18583 (TestIO_M17N#test_seek_with_setting_binmode): add a test for above. 18584 [ruby-core:41671] [Bug #5714] 18585 18586Mon Dec 26 17:01:14 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18587 18588 * common.mk (LIBRUBY_A): depends on main.o since r33774. 18589 [ruby-core:41786] [Bug #5796] 18590 18591Mon Dec 26 13:07:08 2011 NAKAMURA Usaku <usa@ruby-lang.org> 18592 18593 * test/ruby/test_io.rb (TestIO#test_autoclose): Tempfile.new doesn't 18594 accept the block argument. 18595 18596Mon Dec 26 13:06:52 2011 Shota Fukumori <sorah@tubusu.net> 18597 18598 * lib/test/unit.rb: Avoid zombie processes on "--separate" option 18599 added at r34121. 18600 18601Mon Dec 26 04:01:23 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 18602 18603 * ext/openssl/ossl_cipher.c: Update and complete documentation. 18604 18605Sun Dec 25 23:16:11 2011 Shota Fukumori <sorah@tubusu.net> 18606 18607 * test/testunit/test_parallel.rb (test_separate): Test for "--separate" 18608 option (r34121) 18609 18610Sun Dec 25 22:39:49 2011 Shota Fukumori <sorah@tubusu.net> 18611 18612 * lib/test/unit.rb (_run_parallel): 18613 New option "--separate" for test/unit; when running tests with this 18614 option, a job process will be restarted after one test file has done. 18615 This means all test files will run with separated process. 18616 18617 * lib/test/unit/parallel.rb: Fix for above. Now parallel.rb puts 18618 "ready!" for first ready, "ready" for afters. 18619 18620Sun Dec 25 00:02:15 2011 Luis Lavena <luislavena@gmail.com> 18621 18622 * configure.in: change --with-ntver to --with-winnt-ver to be more 18623 descriptive in the context. [ruby-core:41794] 18624 18625Sat Dec 24 23:25:15 2011 Luis Lavena <luislavena@gmail.com> 18626 18627 * configure.in: add --with-ntver option to match win32/configure.bat 18628 functionality. Set 0x0501 as default. [ruby-core:35010] 18629 [ruby-core:35035] 18630 18631Sat Dec 24 12:38:53 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18632 18633 * proc.c (proc_call): get rid of optimization-out by clang. 18634 18635 * proc.c (rb_proc_call, rb_proc_call_with_block): ditto. 18636 18637Sat Dec 24 10:56:32 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18638 18639 * ext/readline/readline.c (readline_readline): check if outstream 18640 is closed to get rid of a bug of readline 6. [ruby-dev:45043] 18641 [Bug #5803] 18642 18643Sat Dec 24 06:59:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18644 18645 * test/readline/test_readline.rb (test_line_buffer__point): use 18646 lambda not to exit entire method by "return". or "next" for 18647 proc. [ruby-dev:45042] [Bug #5802] 18648 18649Sat Dec 24 01:20:39 2011 Kazuki Tsujimoto <kazuki@callcc.net> 18650 18651 * vm_eval.c (send_internal): PASS_PASSED_BLOCK_TH must be placed 18652 just before calling rb_call0. 18653 18654 * bootstraptest/test_flow.rb: add a test for above. 18655 18656Sat Dec 24 00:55:16 2011 Tanaka Akira <akr@fsij.org> 18657 18658 * lib/tempfile.rb (Tempfile#initialize): warn if a block is given. 18659 18660Fri Dec 23 16:14:30 2011 TAKAO Kouji <kouji@takao7.net> 18661 18662 * ext/readline/readline.c (readline_attempted_completion_function): 18663 in Readline module with GNU Readline 6 case, Readline module 18664 resets completion_append_character to " ", after it executes 18665 completion. So, Readline module stores 18666 completion_append_character, and Readline module always sets it 18667 after Readline module executes completion. [ruby-dev:43456] 18668 [Feature #4635] 18669 18670Fri Dec 23 15:59:05 2011 TAKAO Kouji <kouji@takao7.net> 18671 18672 * ext/readline/readline.c (Init_readline): libedit check 18673 rl_getc_function only when rl_initialize() is called, and 18674 using_history() call rl_initialize(). This assignment should be 18675 placed before using_history(). [ruby-core:40641] [Bug #5539] 18676 18677Fri Dec 23 10:14:47 2011 Tanaka Akira <akr@fsij.org> 18678 18679 * test/thread/test_queue.rb (test_thr_kill): show the number of loop 18680 run when the test failed. 18681 18682Fri Dec 23 09:23:48 2011 Tanaka Akira <akr@fsij.org> 18683 18684 * test/test_pty.rb (test_pty_check_default): call PTY.check until 18685 "cat" command is finished. 18686 18687Fri Dec 23 06:03:00 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 18688 18689 * common.mk: add "check succeeded" message. 18690 18691 * README, README.ja: follow above change. 18692 18693Fri Dec 23 06:00:39 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 18694 18695 * ext/bigdecimal/bigdecimal.h: add satisfy cc-mode comment. 18696 * util.c: ditto. 18697 18698Fri Dec 23 00:08:25 2011 Tanaka Akira <akr@fsij.org> 18699 18700 * test/test_pty.rb (test_pty_check_default): "cat" may not terminated 18701 in the 0.1 second. 18702 18703Thu Dec 22 23:37:25 2011 Tanaka Akira <akr@fsij.org> 18704 18705 * test/ruby/test_thread.rb (test_condvar_timed_wait): don't test the 18706 maximum sleep time. Ruby is not a real-time system. 18707 18708Thu Dec 22 22:37:45 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18709 18710 * thread_pthread.c (ping_signal_thread_list): remove return value. 18711 * thread_pthread.c (check_signal_thread_list): add a new function to 18712 check if signal thread list is empty. 18713 * thread_pthread.c (thread_timer): check signal thread list after 18714 timer_thread_function(). main thread might be added into signal thread 18715 list during timer_thread_function(). 18716 18717Thu Dec 22 00:40:24 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18718 18719 * ext/bigdecimal/bigdecimal.c (VpMult, VpCtoV, VpSqrt): remove assigned 18720 but unused variables. 18721 18722Wed Dec 21 18:28:22 2011 NAKAMURA Usaku <usa@ruby-lang.org> 18723 18724 * common.mk (newline.c, miniprelude.c): revert r33949 because the change 18725 broke mswin build, and the changer said no reason about the change. 18726 [ruby-dev:45016] [Bug #5783] 18727 18728Wed Dec 21 12:35:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18729 18730 * ext/bigdecimal/bigdecimal.c (BigDecimal_s_allocate): follow 18731 Allocation Framework. [Bug #5775] 18732 18733Wed Dec 21 02:25:36 2011 Aaron Patterson <aaron@tenderlovemaking.com> 18734 18735 * ext/psych/emitter.c: fixing clang warnings. Thanks Joey! 18736 18737Wed Dec 21 01:06:00 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 18738 18739 * ext/bigdecimal/README: Update redmine.ruby-lang.org to bugs.ruby-lang.org 18740 * ext/socket/ancdata.c: ditto 18741 * test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb: ditto 18742 * test/syck/test_yaml.rb: ditto 18743 * doc/ChangeLog-1.9.3: ditto 18744 18745Tue Dec 20 23:50:12 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 18746 18747 * PStore content update perf optimization. Patch by Masaki Matsushita. 18748 See #5248. 18749 18750 * lib/pstore.rb (save_data): 18751 18752 * Delete inadequate Marshal check. 18753 18754 * Deferred file truncation: when writing the new content, truncate 18755 the saved file to the data size after writing the data, instead of 18756 truncating whole bytes before writing data. 18757 18758 * Deferred MD5 calculation: when comparing MD5 hash to check the 18759 content modification, calculate MD5 hash of new data iif the 18760 content length is differ from the old one. 18761 18762 * Compare content size with String#bytesize instead of String#size. 18763 18764Tue Dec 20 21:00:30 2011 Tadayoshi Funaba <tadf@dotrb.org> 18765 18766 * ext/date/date_core.c: uses to_integer instead. 18767 * test/date/test_switch_hitter.rb: added a test. 18768 18769Tue Dec 20 15:04:18 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 18770 18771 * Make sure to clear $! when ignoring an exception 18772 18773 * ext/openssl/ossl.c (ossl_pem_passwd_cb0, ossl_verify_cb): 18774 pem_passwd_cb and verify_cb ignores the exception raised in a 18775 callback proc so it should clear $! for subsequent execution. 18776 18777 That's said, both subsequent processes for pem_passwd_cb and 18778 verify_cb raises another exception before leaking $! to Ruby world. 18779 We cannot test this fix in Ruby land. 18780 18781 * test/openssl/test_pkey_rsa.rb 18782 (test_read_private_key_pem_pw_exception): Test for pem_passwd_cb + 18783 exception. 18784 18785Tue Dec 20 11:49:13 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18786 18787 * test/date/test_date_base.rb (test_jd): tests for 18788 [ruby-dev:45008]. 18789 18790Tue Dec 20 10:20:48 2011 NARUSE, Yui <naruse@ruby-lang.org> 18791 18792 * ext/date/date_core.c (wholenum): fix the type of the return value. 18793 18794Tue Dec 20 05:03:24 2011 Eric Hodel <drbrain@segment7.net> 18795 18796 * README.ja: Update redmine.ruby-lang.org to bugs.ruby-lang.org 18797 * README: ditto 18798 * common.mk: ditto 18799 * man/erb.1: ditto 18800 * man/irb.1: ditto 18801 * man/ri.1: ditto 18802 * man/ruby.1: ditto 18803 * sparc.c: ditto 18804 * tool/install-sh: ditto 18805 18806Tue Dec 20 02:15:18 2011 Tadayoshi Funaba <tadf@dotrb.org> 18807 18808 * ext/date/date_core.c: [ruby-dev:45008]. 18809 18810Sun Dec 18 18:52:37 2011 Naohisa Goto <ngotogenome@gmail.com> 18811 18812 * vm.c (vm_define_method): improve guard of iseq from GC. Fix 18813 failure or segmentation fault in test_singleton_method(TestGc) 18814 on sparc Solaris10 compiled with Oracle Solaris Studio 12.2. 18815 [Bug #5762] [ruby-dev:45000] [Bug #4178] 18816 18817Sun Dec 18 14:34:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18818 18819 * ext/bigdecimal/bigdecimal.c (Init_bigdecimal): does not follow 18820 allocation framework right now. [ruby-core:41710] [Bug #5773] 18821 18822Sun Dec 18 12:42:48 2011 Aaron Patterson <aaron@tenderlovemaking.com> 18823 18824 * ext/psych/lib/psych/visitors/to_ruby.rb: BigDecimals can be restored 18825 from YAML. 18826 * ext/psych/lib/psych/visitors/yaml_tree.rb: BigDecimals can be dumped 18827 to YAML. 18828 * test/psych/test_numeric.rb: tests for BigDecimal serialization 18829 18830Sun Dec 18 12:03:13 2011 Aaron Patterson <aaron@tenderlovemaking.com> 18831 18832 * ext/psych/lib/psych/scalar_scanner.rb: Strings that look like dates 18833 should be treated as strings and not dates. 18834 18835 * test/psych/test_scalar_scanner.rb: corresponding tests. 18836 18837Sun Dec 18 09:43:21 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18838 18839 * test/thread/test_queue.rb (test_thr_kill): extend timeout. 18840 this test takes a long time at slow machine. 18841 18842Sun Dec 18 09:36:51 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18843 18844 * test/ruby/envutil.rb (invoke_ruby): remove :timeout option before 18845 pass it to Kernel#spawn. 18846 18847Fri Dec 16 17:18:38 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18848 18849 * README, README.ja: 'make check' is preferable to 'make test'. 18850 18851Thu Dec 15 23:16:13 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18852 18853 * error.c (builtin_type_name): don't return pointer to the buffer of 18854 temporary String object. 18855 18856Thu Dec 15 17:56:58 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18857 18858 * io.c (argf_type): make typed data. 18859 18860Thu Dec 15 17:40:28 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18861 18862 * error.c (rb_check_type): fix typo. 18863 18864Thu Dec 15 14:48:35 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18865 18866 * ext/strscan/strscan.c: use typed data with 18867 onig_region_memsize(). 18868 18869Thu Dec 15 14:33:33 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18870 18871 * error.c (rb_check_typeddata): refine error message with 18872 including expected struct name. 18873 18874Thu Dec 15 13:15:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18875 18876 * regcomp.c (onig_region_memsize): implemented for memsize_of(). 18877 18878 * ext/objspace/objspace.c (memsize_of): use it. 18879 18880Thu Dec 15 10:44:54 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18881 18882 * array.c (rb_ary_reject_bang, rb_ary_delete_if): update rdoc. 18883 documentation from Thomas Leitner <t_leitner AT gmx.at> in 18884 [ruby-core:41616]. [Bug #5752] 18885 18886Thu Dec 15 10:10:43 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18887 18888 * test/ruby/test_require.rb (test_race_exception): get rid of 18889 not-guaranteed timing issue. [ruby-core:41655] [Bug #5754] 18890 18891Wed Dec 14 21:58:42 2011 NAKAMURA Usaku <usa@ruby-lang.org> 18892 18893 * test/ruby/test_io_m17n.rb 18894 (TestIO_M17N#test_{read_with_binmode_and_get[cs]}): only for Windows. 18895 18896Wed Dec 14 19:57:23 2011 NAKAMURA Usaku <usa@ruby-lang.org> 18897 18898 * common.mk,Makefile.in,win32/Makefile.sub (ECHO1): move platform 18899 specific hack from common.mk to Makefile.in (and win32/Makefile.sub). 18900 [Bug #5711] 18901 18902 * lib/mkmf.rb: we can generate Makefile as we like. 18903 18904Wed Dec 14 19:22:33 2011 NAKAMURA Usaku <usa@ruby-lang.org> 18905 18906 * win32/win32.c, include/ruby/win32.h (rb_w32_fd_is_text): new function. 18907 18908 * win32/win32.c (init_stdhandle): set default mode of stdin as binmode. 18909 18910 * io.c (set_binary_mode_with_seek_cur): new function to replace 18911 SET_BINARY_MODE_WITH_SEEK_CUR macro. now returns previous mode of the 18912 fd and take care of LF in rbuf. 18913 18914 * io.c (do_writeconv): set text mode when needed. 18915 18916 * io.c (io_read): need to change the mode of the IO to binmode 18917 temporally when the length for IO#read, because IO#read with length 18918 must behave so. 18919 18920 * test/ruby/test_io_m17n.rb (TestIO_M17N#test_{read_with_length, 18921 read_with_length_binmode,get[cs]_and_read_with_binmode, 18922 read_with_binmode_and_get[cs],read_write_with_binmode}): tests for 18923 above changes. 18924 18925 all patches are written by Hiroshi Shirosaki. [ruby-core:41496] 18926 [Feature #5714] 18927 18928Wed Dec 14 15:28:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18929 18930 * transcode.c (str_encode): about the extension of :fallback 18931 option since 1.9.3. 18932 18933Wed Dec 14 12:19:59 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18934 18935 * load.c (load_unlock): release loading barrier and then remove it 18936 from loading_table if it is not in-use. [Bug #5754] 18937 18938 * thread.c (rb_barrier_release, rb_barrier_destroy): return 18939 whether any other threads are waiting on it. 18940 18941Wed Dec 14 11:23:45 2011 NARUSE, Yui <naruse@ruby-lang.org> 18942 18943 * thread_pthread.c (ubf_select): call rb_thread_wakeup_timer_thread() 18944 only when it is not timer_thread. [Bug #5757] [ruby-dev:44985] 18945 patched by Tomoyuki Chikanaga. 18946 18947Wed Dec 14 10:20:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18948 18949 * load.c (load_lock): delete the loading barrier if it has been 18950 destroyed. 18951 18952 * thread.c (rb_barrier_wait): return nil for recursive lock 18953 instead of false, to distinguish it from destroyed barrier. 18954 18955Wed Dec 14 01:24:55 2011 okkez <okkez000@gmail.com> 18956 18957 * thread_pthread.c (rb_thread_create_timer_thread): fix memory 18958 leak. [ruby-dev:44904] [Bug #5688] 18959 18960Wed Dec 14 00:01:15 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18961 18962 * parse.y (primary): point method name line. [ruby-core:40936] 18963 [Bug #5614] 18964 18965Tue Dec 13 23:43:48 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 18966 18967 * error.c (name_err_mesg_to_str): clear rb_thread_t::errinfo when 18968 ignore exception under rb_protect(). [ruby-core:41612] [Bug #5755] 18969 18970 * test/ruby/test_exception.rb (test_exception_in_name_error_to_str): 18971 add a corresponding test. 18972 18973Tue Dec 13 16:13:29 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18974 18975 * load.c (load_unlock): all threads requiring one file should 18976 share same loading barrier, so it must be kept alive while those 18977 are waiting on it. [ruby-core:41618] [Bug #5754] 18978 18979Tue Dec 13 07:30:14 2011 Aaron Patterson <aaron@tenderlovemaking.com> 18980 18981 * lib/webrick/httpresponse.rb (setup_header): 1xx responses 18982 are allowed to have Keep-Alive connections. 18983 18984 * test/webrick/test_httpresponse.rb: corresponding test. 18985 18986Tue Dec 13 07:13:28 2011 Aaron Patterson <aaron@tenderlovemaking.com> 18987 18988 * lib/webrick/httpresponse.rb (setup_header): 204 and 304 responses 18989 are allowed to have a Keep-Alive connection. [ruby-core:41581] 18990 18991 * test/webrick/test_httpresponse.rb: corresponding test. 18992 18993Tue Dec 13 06:29:39 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18994 18995 * parse.y (parser_magic_comment): should pass the proper value. 18996 [ruby-dev:44984][Bug #5753] 18997 18998Tue Dec 13 05:50:07 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 18999 19000 * vm_insnhelper.c (vm_yield_setup_block_args): splat single 19001 argument if optional arguments are defined not only mandatory or 19002 post arguments. [ruby-core:41557] [Bug #5730] 19003 19004Mon Dec 12 22:35:39 2011 Shugo Maeda <shugo@ruby-lang.org> 19005 19006 * parse.y (stmt_or_begin): changed the error message for BEGIN not 19007 at toplevel. [ruby-dev:44963] [Bug #5738] 19008 19009Mon Dec 12 17:29:01 2011 NARUSE, Yui <naruse@ruby-lang.org> 19010 19011 * README: Fixed SupportedPlatforms URL in the README. 19012 patched by eMxyzptlk. https://github.com/ruby/ruby/pull/62 19013 19014Mon Dec 12 17:26:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19015 19016 * load.c (rb_feature_p): lazy assigned load_path searched in 19017 loading_table were not expanded, but all features, pushed to 19018 loading table, are expanded. a patch by Yura Sokolov 19019 <funny.falcon AT gmail.com> in [ruby-core:41545]. [Bug #5727] 19020 19021Mon Dec 12 15:41:03 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19022 19023 * ext/stringio/stringio.c (strio_truncate): fix typo. patched by 19024 Nick Howard <ndh AT baroquebobcat.com>. 19025 https://github.com/ruby/ruby/pull/65 19026 19027Sun Dec 11 12:19:17 2011 Shugo Maeda <shugo@ruby-lang.org> 19028 19029 * lib/net/imap.rb: includes the sequence number of UID in a error 19030 message. suggested by art lussos. 19031 [ruby-core:41413] [Feature #5692] 19032 19033Sun Dec 11 11:42:10 2011 Kazuki Tsujimoto <kazuki@callcc.net> 19034 19035 * ext/syslog/syslog.c: fix a typo. [ruby-core:41585] [Bug #5740] 19036 19037Sun Dec 11 10:48:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19038 19039 * error.c (exit_initialize): deal with true and false as well as 19040 Kernel#exit. [ruby-dev:44951] [Bug #5728] 19041 19042Sun Dec 11 10:37:47 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19043 19044 * object.c (rb_check_to_int): new function to convert a VALUE to 19045 an Integer if possible, but returns nil instead of raising an 19046 exception otherwise. 19047 19048Sun Dec 11 10:34:39 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19049 19050 * process.c (rb_exit_status_code): extract from rb_f_exit_bang and 19051 rb_f_exit. assume 0 to be success in Kernel#exit! too. 19052 19053Fri Dec 9 19:24:31 2011 NARUSE, Yui <naruse@ruby-lang.org> 19054 19055 * enc/trans/iso-8859-16-tbl.rb: add ISO-8859-16 converter. 19056 19057 * enc/trans/single_byte.trans: ditto. 19058 19059Fri Dec 9 14:28:40 2011 NARUSE, Yui <naruse@ruby-lang.org> 19060 19061 * file.c (file_path_convert): don't convert it when the path string is 19062 ascii only. [ruby-core:41556] [Bug #5733] 19063 tests are contributed by nobu. 19064 19065Fri Dec 9 08:00:15 2011 Luis Lavena <luislavena@gmail.com> 19066 19067 * include/ruby/win32.h: undef stat to silence mingw-w64 stat 19068 redefinition warnings (GCC 4.6.3). 19069 19070Thu Dec 8 23:38:24 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 19071 19072 * variable.c (set_const_visibility): clear inline-cache when constant's 19073 visibility is modified. [ruby-dev:44929] 19074 19075 * test/ruby/test_module.rb (test_private_constants_clear_inlinecache): 19076 add test for it. 19077 19078Thu Dec 8 23:26:11 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19079 19080 * ext/extmk.rb (extract_makefile): should sort after map, not before 19081 it. in this case there is no difference, but we should write better 19082 code. this bad smell was caught by nagachika. 19083 19084Thu Dec 8 22:31:13 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19085 19086 * ext/extmk.rb (extract_makefile): need to sort the array of current 19087 srcs before comparing to the sorted old srcs. 19088 fixed the problem that the configuring stage of exts were always 19089 run, introduced at r33801. 19090 19091Thu Dec 8 13:26:24 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19092 19093 * test/rexml/test_order.rb (OrderTester#test_more_ordering): use 19094 Zlib::GzipReader.open instead of Zlib::GzipReader.new with File.new. 19095 fixed a test error on Windows introduced at r33946. 19096 19097Thu Dec 8 13:11:26 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19098 19099 * test/ruby/test_process.rb (TestProcess#test_sete[gu]id): silently 19100 skip if not implemented such functions (such as, on Windows). 19101 fixed test errors on Windows introduced at r33953. 19102 19103Thu Dec 8 12:57:50 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19104 19105 * ext/socket/extconf.rb: forgotten to define HAVE_SOCKETPAIR for 19106 windows. 19107 fixed test errors on Windows introduced at r33947. 19108 19109Thu Dec 8 12:11:06 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19110 19111 * configure.in (RUBY_WERROR_FLAG): append all warning flags which 19112 are enabled to compile, so that printf format modifiers properly 19113 fail. [ruby-core:41351] [Bug #5679] 19114 19115Thu Dec 8 07:20:15 2011 Eric Hodel <drbrain@segment7.net> 19116 19117 * doc/re.rdoc: Document difference between match and =~, options with 19118 Regexp.new and global variables. Patch by Sylvain Daubert. 19119 [Ruby 1.9 - Bug #5709] 19120 19121Thu Dec 8 06:53:10 2011 Eric Hodel <drbrain@segment7.net> 19122 19123 * doc/re.rdoc: Fix example code to match documentation. Patch by 19124 Jarno Lamberg. [Ruby 1.9 - Bug #5624] 19125 19126Wed Dec 7 19:04:22 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19127 19128 * configure.in (rpath): fix typo in the help string. a patch from 19129 Yuji Yamano <yyamano AT kt.rim.or.jp> in [ruby-list:48568]. 19130 19131Wed Dec 7 18:55:56 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19132 19133 * vm.c (vm_set_top_stack, vm_set_eval_stack): check for stack 19134 overflow with stack_max before push new frame. [ruby-core:41520] 19135 [Bug #5720] 19136 19137 * vm.c (vm_set_main_stack): no stack overflow chances after 19138 vm_set_eval_stack(). 19139 19140Wed Dec 7 09:58:15 2011 Eric Hodel <drbrain@segment7.net> 19141 19142 * ext/bigdecimal/bigdecimal.c: Document +@, -@, hash, INFINITY, Nan. 19143 Patch by Sylvain Daubert. [Ruby 1.9 - Feature #5622] 19144 19145Wed Dec 7 09:48:00 2011 Eric Hodel <drbrain@segment7.net> 19146 19147 * io.c (Init_IO): Mention io/console methods. [Ruby 1.9 - Bug #5602] 19148 * ext/io/console/console.c: Mention that io/console must be required 19149 similar to lib/time.rb 19150 19151Wed Dec 7 08:04:31 2011 Aaron Patterson <aaron@tenderlovemaking.com> 19152 19153 * ext/psych/lib/psych.rb (module Psych): parse and load methods take 19154 an optional file name that is used when raising Psych::SyntaxError 19155 exceptions 19156 * ext/psych/lib/psych/syntax_error.rb (module Psych): allow nil file 19157 names and handle nil file names in the exception message 19158 * test/psych/test_exception.rb (module Psych): Tests for changes. 19159 19160Tue Dec 6 18:26:33 2011 Tanaka Akira <akr@fsij.org> 19161 19162 * ext/dbm/dbm.c: use db_version() instead of DB_VERSION_STRING to 19163 detect runtime Berkeley DB version. 19164 use dpversion instead of _QDBM_VERSION to detect runtime QDBM 19165 version. 19166 [ruby-dev:44948] 19167 19168Tue Dec 6 12:30:41 2011 Tanaka Akira <akr@fsij.org> 19169 19170 * ext/dbm/extconf.rb: detect gdbm_version in libgdbm. 19171 19172 * ext/dbm/dbm.c: make DBM::VERSION more informative for gdbm, qdbm and 19173 Berkeley DB 1.x. [ruby-dev:44944] 19174 19175Tue Dec 6 07:26:37 2011 Eric Hodel <drbrain@segment7.net> 19176 19177 * range.c: Improve documentation for Range. Patch by Chris Zetter. 19178 [Ruby 1.9 - Bug #5656] 19179 19180Mon Dec 5 19:08:04 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19181 19182 * regparse.c (PFETCH_READY): separate gcc specific trick. 19183 19184Mon Dec 5 19:01:59 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19185 19186 * process.c (proc_seteuid_m): fix argument. 19187 19188 * test/ruby/test_process.rb (test_geteuid): fix typo. 19189 19190 * test/ruby/test_process.rb (test_getegid, test_set[eg]uid): add. 19191 19192Mon Dec 5 18:56:55 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19193 19194 * bignum.c (big_rshift), compile.c (validate_label, 19195 iseq_build_from_ary_exception), cont.c (cont_capture), dir.c 19196 (dir_open_dir), gc.c (objspace_each_objects), io.c (pipe_open) 19197 (rb_io_advise), parse.y (parser_compile_string) 19198 (rb_parser_compile_file), proc.c (binding_free), process.c 19199 (rb_proc_exec_n, rb_seteuid_core, proc_setegid, rb_setegid_core) 19200 (p_uid_exchange, p_gid_exchange), regparse.c (strdup_with_null), 19201 signal.c (sig_dfl), vm.c (rb_iseq_eval, rb_iseq_eval_main), 19202 vm_insnhelper.c (vm_expandarray): suppress 19203 unused-but-set-variable warnings. 19204 19205 * class.c (rb_obj_methods), compile.c (iseq_compile_each), 19206 iseq.c(iseq_load, rb_iseq_parameters), pack.c (pack_pack), 19207 regcomp.c (is_not_included, update_string_node_case_fold), 19208 transcode.c (rb_econv_open0, make_replacement), 19209 vm_eval.c (raise_method_missing): remove unused variable. 19210 19211 * signal.c (reserved_signal_p): static. 19212 19213Mon Dec 5 14:27:23 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19214 19215 * include/ruby/{subst.h,win32.h}, ext/socket/rubysocket.h: revert 19216 r33876. [ruby-core:41475] [Bug #5706] 19217 19218 * ext/socket/extconf.rb: the alternative hack for [Bug #5675]. 19219 19220Mon Dec 5 10:18:45 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19221 19222 * ext/zlib/zlib.c (rb_gzreader_initialize): revert a part of r33937. 19223 1st, to change the mode of an IO is very sensitive problem, so 19224 the maintainer of this library should judge it. 19225 2nd, usually Zlib::GzipReader.new is not called directly. #initialize 19226 is called via .open, and in the method the I/O is opened in binary 19227 mode, so there is no problem without changing the mode in #initialize. 19228 19229Sun Dec 4 22:53:12 2011 Tanaka Akira <akr@fsij.org> 19230 19231 * lib/tempfile.rb: don't use lock directory. [ruby-dev:39197] 19232 19233Sun Dec 4 22:34:43 2011 Tanaka Akira <akr@fsij.org> 19234 19235 * lib/tempfile.rb (Tempfile::MAX_TRY): remove unused constant. 19236 19237Sun Dec 4 12:11:28 2011 Kazuki Tsujimoto <kazuki@callcc.net> 19238 19239 * lib/pp.rb: fix rdoc. 19240 19241Sun Dec 4 12:03:16 2011 NARUSE, Yui <naruse@ruby-lang.org> 19242 19243 * lib/delegate.rb (Delegator#methods): Kernel#methods receives 19244 zero or one argument. [ruby-core:37118] [Bug #4882] 19245 19246Sun Dec 4 10:15:00 2011 Luis Lavena <luislavena@gmail.com> 19247 19248 * ext/zlib/zlib.c (rb_gzreader_initialize): use binary mode by default 19249 under Windows. Patch by Hiroshi Shirosaki. [ruby-core:40706] 19250 [Feature #5562] 19251 19252 * include/ruby/encoding.h (void rb_econv_binmode): define NEWLINE 19253 decorator. 19254 19255 * io.c (rb_cloexec_fcntl_dupfd): Introduce NEED_READCONV and 19256 NEED_WRITECONV to replace universal newline decorator by CRLF only 19257 when required to improve file reading and writing under Windows. 19258 Patch by Hiroshi Shirosaki. [ruby-core:40706] [Feature #5562] 19259 * io.c (do_writeconv): adjust binary mode if required. 19260 * io.c (read_all, appendline, swallow, rb_io_getline_1): ditto. 19261 * io.c (io_getc, rb_io_each_codepoint, rb_io_ungetc): ditto. 19262 * io.c (rb_io_binmode, rb_io_ascii8bit_binmode): ditto. 19263 * io.c (rb_io_extract_modeenc, rb_sysopen): ditto. 19264 * io.c (pipe_open, prep_stdio, io_encoding_set): ditto. 19265 * io.c (rb_io_s_pipe, copy_stream_body): ditto. 19266 19267 * test/ruby/test_io_m17n.rb (EOT): add test for pipe and stdin in 19268 binary mode. 19269 19270 * win32/win32.c (init_stdhandle): remove O_BINARY from stdhandle 19271 initialization. 19272 * win32/win32.c (rb_w32_write): use FTEXT mode accordingly. 19273 19274Sat Dec 3 20:49:16 2011 Yusuke Endoh <mame@tsg.ne.jp> 19275 19276 * variable.c (set_const_visibility): print a warning when no argument 19277 is passwd to Module#private_constant. [ruby-list:48558] 19278 19279 * vm_method.c (set_method_visibility): ditto for 19280 Module#private_class_method. 19281 19282Sat Dec 3 20:43:14 2011 Yusuke Endoh <mame@tsg.ne.jp> 19283 19284 * variable.c (set_const_visibility): Module#private_constant has 19285 changed the visibility of only the first argument. Now it changes 19286 all of them. [ruby-list:48558] 19287 19288 * test/ruby/test_module.rb: add a test for above. 19289 19290Sat Dec 3 07:17:29 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19291 19292 * Makefile.in (CFLAGS): append ARCH_FLAG. 19293 19294 * configure.in (ARCH_FLAG): exclude from CFLAGS. 19295 19296 * configure.in (UNIVERSAL_INTS): include short int. fix for 19297 test/mkmf. 19298 19299Fri Dec 2 15:48:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19300 19301 * ext/bigdecimal/bigdecimal.c (VpAllocReal): reduce extra frac. 19302 19303Fri Dec 2 15:41:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19304 19305 * configure.in: check whether -pie or -Wl,-pie is valid as 19306 LDFLAGS. [ruby-core:41438] [Bug#5697] 19307 19308 * configure.in: use $linker_flag for LDFLAGS option which is not 19309 limited to particular platforms. 19310 19311Thu Dec 1 23:21:58 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 19312 19313 * thread_pthread.c (thread_timer): call prctl(PR_SET_NAME) only if 19314 PR_SET_NAME is available. 19315 19316Thu Dec 1 22:31:16 2011 Tanaka Akira <akr@fsij.org> 19317 19318 * io.c (linux_get_maxfd): change local variable name. 19319 19320Thu Dec 1 16:59:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19321 19322 * ext/socket/extconf.rb: add arguments for macro calls. 19323 [ruby-core:41370] [Bug#5681] 19324 19325Thu Dec 1 16:20:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19326 19327 * lib/mkmf.rb (MakeMakefile#try_func): fix broken patch at r33834. 19328 19329Thu Dec 1 14:43:17 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19330 19331 * ext/bigdecimal/bigdecimal.h (Real): suppress false warning from 19332 clang. [ruby-core:41418] [Bug#5693] 19333 19334Thu Dec 1 10:31:55 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19335 19336 * configure.in (LDFLAGS): -fstack-protector is always needed to 19337 link static library created with it. [ruby-core:41387] 19338 [Bug#5686] 19339 19340Thu Dec 1 07:03:51 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19341 19342 * configure.in: add sys/prctl.h test. 19343 * thread_pthread.c (thread_timer): call prctl(PR_SET_NAME) to change 19344 thread name. It may help to debug. 19345 19346Wed Nov 30 23:35:45 2011 NARUSE, Yui <naruse@ruby-lang.org> 19347 19348 * variable.c (rb_path2class): don't raise NameError when the middle 19349 constant of the path is not defined but defined on toplevel. 19350 [ruby-core:41410] [Bug #5691] 19351 19352Wed Nov 30 20:02:02 2011 Martin Duerst <duerst@it.aoyama.ac.jp> 19353 19354 * transcode.c: Simplified rb_econv_binmode, avoided a warning on cygwin. 19355 19356Wed Nov 30 08:57:07 2011 Eric Hodel <drbrain@segment7.net> 19357 19358 * lib/mkmf.rb: Use MakeMakefile's rm_f to avoid conflict with Rake or 19359 FileUtils. 19360 * test/ruby/test_module.rb: Hide MakeMakefile's inclusion in Object 19361 19362Wed Nov 30 09:12:43 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19363 19364 * lib/rdoc/encoding.rb (RDoc::Encoding.read_file): fixup newline chars 19365 on Windows. 19366 see https://github.com/rdoc/rdoc/issues/87 19367 19368 * test/rdoc/test_rdoc_markup_pre_process.rb 19369 (TestRDocMarkupPreProcess#test_include_file, 19370 TestRDocMarkupPreProcess#test_include_file_encoding_incompatible): 19371 follow above change. 19372 19373Wed Nov 30 09:09:37 2011 Aaron Patterson <aaron@tenderlovemaking.com> 19374 19375 * ext/psych/parser.c (parse): parse method can take an option file 19376 name for use in exception messages. 19377 * test/psych/test_parser.rb: corresponding tests. 19378 19379Tue Nov 29 09:07:59 2011 Eric Hodel <drbrain@segment7.net> 19380 19381 * lib/mkmf.rb: Fix indentations of constants at end of module. 19382 Document some constants. 19383 19384Tue Nov 29 09:58:23 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19385 19386 * io.c (rb_write_error2): suppress unused variable warning. 19387 19388Tue Nov 29 07:45:26 2011 Eric Hodel <drbrain@segment7.net> 19389 19390 * lib/mkmf.rb: Wrap comments to 78 columns and clean up formatting. 19391 19392Tue Nov 29 05:54:18 2011 Eric Hodel <drbrain@segment7.net> 19393 19394 * lib/mkmf.rb: Wrap mkmf.rb in module MakeMakefile to clean up Object 19395 documentation. [Ruby 1.9 - Feature #5658] 19396 * ext/extmk.rb: Use MakeMakefile::CONFIG instead of Object::CONFIG 19397 * test/mkmf/base.rb: ditto 19398 19399Tue Nov 29 00:08:57 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp> 19400 19401 * common.mk (INSTRUBY_ARGS): added --mantype to apply mdoc2man.rb 19402 to man pages. Fixes #5598. 19403 (do-install-nodoc, do-install-local, do-install-man, 19404 dont-install-nodoc, dont-install-local, dont-install-man): 19405 No longer needs --mantype. 19406 19407 Reported by Rainer Orth <ro AT cebitec.uni-bielefeld.de>, 19408 patch by George Koehler <xkernigh AT netscape.net>. 19409 19410Mon Nov 28 22:26:31 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19411 19412 * test/rake/test_rake_directory_task.rb 19413 (TestRakeDirectoryTask#test_directory_win32): shouldn't create any 19414 file/directory on root directory. create on @tempdir (= Dir.pwd). 19415 see https://github.com/jimweirich/rake/issues/91 19416 19417Mon Nov 28 12:57:29 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19418 19419 * io.c (rb_write_error2): fwrite() returns ssize_t. 19420 19421Mon Nov 28 12:47:19 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19422 19423 * parse.y (nodetype, nodeline): static. these functions are for 19424 debugging, and not intend to be public. 19425 19426Mon Nov 28 12:37:54 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19427 19428 * gc.c (initial_params): static. it seems to be forgotten at r33501. 19429 19430Mon Nov 28 12:32:24 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19431 19432 * include/ruby/win32.h, win32/win32.c (GetCurrentThreadHandle): remove 19433 unused old API. 19434 19435Mon Nov 28 12:29:20 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19436 19437 * win32/mkexports.rb (Exports#initialize): remove old symbol name. 19438 19439Mon Nov 28 12:15:28 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19440 19441 * win32/mkexports.rb (Exports#read_substitution): need to read 19442 from subst.h too. [Bug #5675] 19443 19444Mon Nov 28 11:46:35 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19445 19446 * io.c (rb_io_flush): release GVL during fsync() on Windows. 19447 19448Mon Nov 28 11:00:25 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19449 19450 * include/ruby/subst.h: typo of r33876. 19451 19452Mon Nov 28 10:36:00 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19453 19454 * include/ruby/subst.h: moved Windows specific substitutions from 19455 win32.h. 19456 19457 * ext/socket/rubysocket.h: include ruby/subst.h. [Bug #5675] 19458 19459Mon Nov 28 10:20:58 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19460 19461 * win32/{Makeilfe.sub,win32.c} (FILE_COUNT, FILE_READPTR): move the 19462 definitions from config.h to win32.c. I dared to have left such 19463 macros, for other future compiler support. 19464 [ruby-core:41313] [Bug #5674] 19465 19466Mon Nov 28 09:28:30 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19467 19468 * win32/win32.c (rb_w32_uchmod): typo. [Bug#5671] [ruby-dev:44898] 19469 19470 * test/ruby/test_file.rb (TestFile#test_chmod_m17n): test of above bug. 19471 19472Sun Nov 27 21:25:33 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19473 19474 * configure.in: added -fno-strict-overflow. it suppress annoying 19475 -Wstrict-overflow warning. 19476 19477Sun Nov 27 20:58:02 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19478 19479 * io.c (rb_write_error2): get rid of warning on linux. fwrite 19480 of glibc is tagged __attribute__ ((__warn_unused_result__)) 19481 if _FORTIFY_SOURCE != 0. 19482 * vm_dump.c (rb_vm_bugreport): ditto. 19483 19484Sun Nov 27 19:09:02 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19485 19486 * configure.in (stack_protector): disable on mingw. [Bug#5676] 19487 19488 * Makefile.in (DLDFLAGS): also needs -fstack-protector. 19489 [Bug#5676] 19490 19491Sun Nov 27 14:13:33 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19492 19493 * configure.in: add -fstack-protector into XLDFLAGS as well as 19494 XCFLAGS if stack-protector is used. 19495 19496Sun Nov 27 13:09:25 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19497 19498 * configure.in: workaround to avoid MacOS X build error. 19499 Maybe autoconf 2.61 is slightly buggy. [ruby-core:41316] 19500 19501Sun Nov 27 04:57:11 2011 NARUSE, Yui <naruse@ruby-lang.org> 19502 19503 * configure.in (--no-undefined): r33840 breaks FreeBSD and DragonFly 19504 with gcc 4.4 or later. Their environ is in /usr/libexec/ld-elf.so.1, 19505 so it will be false negative. 19506 19507Sun Nov 27 04:55:45 2011 NARUSE, Yui <naruse@ruby-lang.org> 19508 19509 * lib/net/http.rb (Net::HTTP::SSL_IVNAMES): rerefix 33701. 19510 SSL_ATTRIBUTES stores names for set_params, they are symbol. 19511 SSL_IVNAMES stores instance variable names. 19512 19513Sun Nov 27 00:16:07 2011 Tanaka Akira <akr@fsij.org> 19514 19515 * io.c (copy_stream_body): use 0666 for permission argument for open. 19516 [ruby-core:40865] 19517 19518Sat Nov 26 23:01:38 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 19519 19520 * test/openssl/test_engine.rb: remove side effect of generic engine 19521 load by explicitly loading software-based "openssl" engine for 19522 all tests. 19523 19524Sat Nov 26 20:41:48 2011 NARUSE, Yui <naruse@ruby-lang.org> 19525 19526 * lib/net/http.rb (Net::HTTP.get_response): enable use_ssl 19527 if given URI object is https. 19528 patched by Mark Ferlatte [ruby-core:40665] [Bug #5545] 19529 19530 * lib/net/http.rb (Net::HTTP.post_form): ditto. 19531 19532Sat Nov 26 20:01:18 2011 NARUSE, Yui <naruse@ruby-lang.org> 19533 19534 * lib/net/http.rb (Net::HTTP::SSL_ATTRIBUTES): refix 33701. 19535 store instance variable symbol names. 19536 19537Sat Nov 26 15:40:25 2011 URABE Shyouhei <shyouhei@ruby-lang.org> 19538 19539 * .travis.yml (script): should be ./configure 19540 19541Sat Nov 26 15:39:18 2011 URABE Shyouhei <shyouhei@ruby-lang.org> 19542 19543 * .travis.yml (before_script): wrong name, sorry. 19544 19545Sat Nov 26 15:31:34 2011 URABE Shyouhei <shyouhei@ruby-lang.org> 19546 19547 * .travis.yml (before-script): autoconf required. 19548 19549Sat Nov 26 15:24:05 2011 URABE Shyouhei <shyouhei@ruby-lang.org> 19550 19551 * .travis.yml: Travis enable. 19552 19553Sat Nov 26 10:47:50 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 19554 19555 * ext/openssl/extconf.rb: remove checks for available functions. 19556 * ext/openssl/missing.h: ditto. 19557 Thanks, Tim Mooney for reporting this! 19558 [Bug #5432] [ruby-core:40088] 19559 19560Sat Nov 26 10:22:28 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 19561 19562 * ext/openssl/ossl_ssl.c: add comment on where to find implementation 19563 of OpenSSL::SSL::SSLSocket#session. 19564 19565Sat Nov 26 05:00:25 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19566 19567 * configure.in (--no-undefined): RUBY_TRY_CFLAGS does nothing for 19568 linker flags. use RUBY_TRY_LDFLAGS. 19569 19570Fri Nov 25 11:37:07 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19571 19572 * io.c (ioctl_narg_len, linux_iocparm_len): reinstantiate linux 19573 specific narg length calculation. 19574 * test/ruby/test_io.rb (test_ioctl_linux2): add new test for old and 19575 unstructured ioctl. 19576 19577Fri Nov 25 10:39:14 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19578 19579 * Makefile.in (EXTLDFLAGS): export it. 19580 * configure.in: add --no-undefined if --enable-shared is specified. 19581 Gentoo enabled this option long time. Also, export EXTLDFALGS. 19582 19583Fri Nov 25 08:48:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19584 19585 * configure.in: turn on PIE if --enable-shared is not specified. 19586 19587Fri Nov 25 08:05:07 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19588 19589 * configure.in: add -fstack-protector. It help to protect us from 19590 stack smashing attack. 19591 19592Fri Nov 25 08:03:28 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19593 19594 * configure.in: add -D_FORTIFY_SOURCE=2. It provide some compile 19595 time and runtime check for security. 19596 19597Fri Nov 25 08:00:23 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19598 19599 * lib/mkmf.rb: get rid of warnings of mkmf.rb if -Wmissing-declarations 19600 and/or -Wold-style-definition warnings if specified. 19601 Patch by Nikolai Weibull. Thank you! [Bug #5459] [ruby-core:40200] 19602 19603Fri Nov 25 07:46:09 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19604 19605 * configure.in: add -Wall always. 19606 19607Thu Nov 24 20:02:40 2011 Tanaka Akira <akr@fsij.org> 19608 19609 * test/openssl/test_engine.rb: use IO#reopen to restore stderr. 19610 19611Thu Nov 24 19:59:56 2011 Tanaka Akira <akr@fsij.org> 19612 19613 * io.c (rb_io_reopen): re-initialize buffering mode for stdout and 19614 stderr. 19615 19616Thu Nov 24 11:12:48 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19617 19618 * io.c (rb_io_fsync,rb_io_fdatasync): release GVL during fsync(). 19619 fsync() and fdatasync() may take a long time on slow disks and/or 19620 if there is much dirty data. 19621 Patch by Eric Wong. [Feature #5665] [ruby-core:41247] 19622 19623Thu Nov 24 10:05:02 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 19624 19625 * test/openssl/test_engine.rb: Suppress output from 'openssl' 19626 engine's RC4 cipher. 19627 [Bug #5633] [ruby-core:41026] 19628 19629Thu Nov 24 08:05:02 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 19630 19631 * ext/openssl/ossl_pkey_dsa.c: remove redundant colon from error 19632 message. 19633 * ext/openssl/ossl_ssl.c: ditto. 19634 * ext/openssl/ossl_pkey_rsa: ditto. 19635 patched by Eric Hodel [Bug #5604] [ruby-core:40896] 19636 19637Wed Nov 23 20:03:43 2011 NARUSE, Yui <naruse@ruby-lang.org> 19638 19639 * io.c (ioctl_narg_len): don't use _IOC_SIZE macro on Linux. 19640 On Linux some constants for ioctl(2) doesn't include the size of 19641 its return value and 16bit value; for example FIONREAD 0x541B. 19642 Moreover the manual, ioctl_list(2), says "Note that the size 19643 bits are very unreliable: in lots of cases they are wrong, 19644 either because of buggy macros using sizeof(sizeof(struct)), 19645 or because of legacy values." 19646 So we shouldn't use it. 19647 19648Tue Nov 22 18:07:32 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19649 19650 * win32/win32.c (_pioinfo): need to declare _pioinfo() before using 19651 _osfhnd and other macros which uses _pioinfo() internally. 19652 19653Tue Nov 22 17:49:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19654 19655 * win32/win32.c (_pioinfo): make an inline function. 19656 19657Tue Nov 22 11:26:08 2011 NARUSE, Yui <naruse@ruby-lang.org> 19658 19659Tue Nov 22 11:33:58 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19660 19661 * win32/win32.c (dupfd): argument of _osfhnd and so on should not 19662 have side effect. 19663 19664Tue Nov 22 11:26:08 2011 NARUSE, Yui <naruse@ruby-lang.org> 19665 19666 * bignum.c (rb_big_divide): refix of r33536. Don't change behavior of Bignum#/. 19667 [ruby-core:40429] [Bug #5490] 19668 19669Tue Nov 22 10:46:57 2011 NARUSE, Yui <naruse@ruby-lang.org> 19670 19671 * numeric.c (ruby_float_step): improve floating point calculations. 19672 [ruby-core:35753] [Bug #4576] 19673 19674 * numeric.c (ruby_float_step): correct the error of floating point 19675 numbers on the excluding case. 19676 patched by Masahiro Tanaka [ruby-core:39608] 19677 19678 * numeric.c (ruby_float_step): use the end value when the current 19679 value is greater than or equal to the end value. 19680 patched by Akira Tanaka [ruby-core:39612] 19681 19682Tue Nov 22 06:59:21 2011 Tanaka Akira <akr@fsij.org> 19683 19684 * test/ruby/test_io.rb (test_fcntl_dupfd): there is no known platform 19685 which don't have F_DUPFD. [ruby-dev:44874] 19686 19687Tue Nov 22 04:46:22 2011 Aaron Patterson <aaron@tenderlovemaking.com> 19688 19689 * ext/psych/lib/psych.rb: remove autoload from psych 19690 * ext/psych/lib/psych/json.rb: ditto 19691 19692Tue Nov 22 00:44:59 2011 Tanaka Akira <akr@fsij.org> 19693 19694 * test/ruby/test_io.rb (test_fcntl_dupfd): the argument of F_DUPFD is 19695 minimum file descriptor. 19696 19697Tue Nov 22 00:25:17 2011 Tanaka Akira <akr@fsij.org> 19698 19699 * io.c (linux_get_maxfd): get rid of a warning. 19700 19701Mon Nov 21 23:39:14 2011 Tanaka Akira <akr@fsij.org> 19702 19703 * io.c (linux_get_maxfd): new function to find maximum fd on Linux. 19704 (rb_close_before_exec): use linux_get_maxfd. 19705 19706Mon Nov 21 06:16:24 2011 NARUSE, Yui <naruse@ruby-lang.org> 19707 19708 * cont.c (fiber_switch): ignore fiber context switch 19709 because destination fiber is same as current fiber. 19710 With out this, it may segv on FreeBSD 9. 19711 patched by Koichi Sasada. 19712 19713Sun Nov 20 23:22:42 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19714 19715 * ext/extmk.rb (extract_makefile, extmake): regenerate makefiles 19716 if globbed source file list is changed. 19717 19718 * lib/mkmf.rb (create_makefile): store ORIG_SRCS. 19719 19720Sun Nov 20 22:43:03 2011 NARUSE, Yui <naruse@ruby-lang.org> 19721 19722 * enc/unicode.c (PROPERTY_NAME_MAX_SIZE): +1. 19723 reported by Ken Takata. [ruby-dev:44894][Bug #5652] 19724 19725Sun Nov 20 11:01:28 2011 Tanaka Akira <akr@fsij.org> 19726 19727 * lib/set.rb (SortedSet.setup): remove old_init after initialize 19728 method is redefined. The remove before redefinition makes the 19729 warning prevention fragile. [ruby-dev:44892] 19730 19731Sun Nov 20 04:01:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19732 19733 * Makefile.in (enc/unicode/name2ctype.h): remove duplicated 19734 ifdefs. 19735 19736Sat Nov 19 19:31:47 2011 Tanaka Akira <akr@fsij.org> 19737 19738 * time.c (TIME_COPY_GMT): copy vtm.utc_offset and vtm.zone too. 19739 patch by Tomoyuki Chikanaga. 19740 [ruby-dev:44827] [Bug #5586] 19741 19742Sat Nov 19 16:36:57 2011 Tanaka Akira <akr@fsij.org> 19743 19744 * test/net/http/test_http.rb: remove temporally files in ensure clause. 19745 19746Sat Nov 19 08:18:41 2011 Tanaka Akira <akr@fsij.org> 19747 19748 * test/net/http/test_http.rb: remove temporally files. 19749 19750Fri Nov 18 17:18:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19751 19752 * ext/io/console/console.c (console_raw, console_set_raw) 19753 (console_getch): optional parameters. [EXPERIMENTAL] 19754 19755Fri Nov 18 16:12:11 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19756 19757 * ext/io/console/console.c (console_cooked, console_set_cooked): 19758 new methods to reset cooked mode. [EXPERIMENTAL] 19759 19760Fri Nov 18 13:20:26 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19761 19762 * test/unit/assertions.rb (MINI_DIR): quick dirty hack to get rid of 19763 warnings when using assert/assert_respond_to. 19764 19765Fri Nov 18 13:03:38 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19766 19767 * io.c (rb_cloexec_open): set O_NOINHERIT instead of O_CLOEXEC if it is 19768 available (for Windows). 19769 19770 * win32/win32.c (fcntl): on F_DUPFD, determine the inheritance of the 19771 new handle by O_NOINHERIT flag of original fd. 19772 19773Fri Nov 18 08:00:41 2011 Ryan Davis <ryand-ruby@zenspider.com> 19774 19775 * lib/minitest/*: Imported minitest 2.8.1 (r6750) 19776 * test/minitest/*: ditto 19777 * configure.in: Improved gcc-llvm error message to help people migrate. 19778 19779Thu Nov 17 20:43:34 2011 Tanaka Akira <akr@fsij.org> 19780 19781 * ext/dbm/extconf.rb: revert a part of the patch in [ruby-dev:41531]. 19782 don't use db.h with other headers. [ruby-dev:44884]. 19783 19784Thu Nov 17 20:23:03 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19785 19786 * benchmark/bm_io_select[23].rb: use Process::RLIMIT_NOFILE only when 19787 it is defined. if it is not defined, assume 64 as the max of fds. 19788 19789Thu Nov 17 10:36:46 2011 Aaron Patterson <aaron@tenderlovemaking.com> 19790 19791 * ext/psych/lib/psych.rb (load_file): make sure opened yaml files are 19792 also closed. [ruby-core:41088] 19793 19794Wed Nov 16 18:13:52 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19795 19796 * Makefile.in (LIBRUBY_A): check if generated linked library is 19797 valid for extconf. 19798 19799Wed Nov 16 13:51:40 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19800 19801 * bignum.c (rb_big2ulong): need to calc in unsigned long, because 19802 the range of VALUE is larger than it on LLP64 platform, such as Win64. 19803 this change fixes the failures of test/-ext-/num2int. 19804 19805Wed Nov 16 12:02:47 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19806 19807 * test/webrick/test_cgi.rb (TestWEBrickCGI#start_cgi_server): there are 19808 no guarantee of existence of RbConfig::CONFIG['LIBPATHENV']. 19809 it only exists in Unix-like environments. 19810 19811 * test/webrick/test_filehandler.rb 19812 (WEBrick::TestFileHandler#test_script_disclosure): ditto. 19813 19814Wed Nov 16 11:34:20 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19815 19816 * io.c (argf_next_argv): wrong timing of setting ecflags. 19817 fixed the failure of TestArgf#test_textmode introduced at r33662. 19818 19819Wed Nov 16 10:45:00 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19820 19821 * ext/-test-/num2int/num2int.c: remove an unnecessary and wrong decl 19822 of rb_stdout. it's declared in ruby.h correctly. 19823 19824Wed Nov 16 10:26:41 2011 NAKAMURA Usaku <usa@ruby-lang.org> 19825 19826 * bignum.c (rb_big2ull): add a cast to get rid of a VC++ warning. 19827 19828Wed Nov 16 09:39:27 2011 NARUSE, Yui <naruse@ruby-lang.org> 19829 19830 * lib/minitest/unit.rb (assert_raises): experimental fix to run 19831 correctly on chkbuild over 64bit linux. call exception_details only 19832 when the detail is really needed to avoid create needless inspect 19833 under ulimit-ed environment. 19834 19835Wed Nov 16 06:34:30 2011 Tanaka Akira <akr@fsij.org> 19836 19837 * test/ruby/test_thread.rb (test_condvar_timed_wait): use 19838 assert_operator. 19839 19840Tue Nov 15 21:56:25 2011 Tanaka Akira <akr@fsij.org> 19841 19842 * test/ruby/test_sleep.rb (test_sleep_5sec): 0.1sec tolerance is too 19843 small for busy environment. 19844 19845Tue Nov 15 20:08:55 2011 Tanaka Akira <akr@fsij.org> 19846 19847 * io.c, thread.c, ext/pty/pty.c, ext/fiddle/closure.c: use 19848 __linux__ macro for consistency. 19849 19850Tue Nov 15 14:45:15 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19851 19852 * include/ruby/ruby.h(NUM2LONG, NUM2INT, NUM2SHORT, NUM2LL, 19853 INT2NUM, UINT2NUM, LONG2NUM, ULONG2NUM, NUM2CHR): wrap by 19854 macros. 19855 19856Tue Nov 15 13:38:14 2011 Naohisa Goto <ngotogenome@gmail.com> 19857 19858 * include/ruby/defines.h (FLUSH_REGISTER_WINDOWS): move sparc asm code 19859 to a separate file sparc.c for preventing inlining optimization. 19860 Patched by Jurij Smakov. [Bug #5244] [ruby-core:40685] 19861 * sparc.c (rb_sparc_flush_register_windows): ditto. 19862 * configure.in: ditto. 19863 19864Tue Nov 15 13:11:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19865 19866 * include/ruby/ruby.h: get rid of gcc specific rb_long2int(), 19867 NUM2LONG(), NUM2INT(), NUM2SHORT(), NUM2LL(), INT2NUM(), 19868 UINT2NUM(), LONG2NUM(), ULONG2NUM() and NUM2CHR() 19869 implementation. Because 1) They don't make any better code 19870 at all. 2) Inline function have a better debugger supoort. 19871 19872Tue Nov 15 09:58:25 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19873 19874 * test/ruby/test_io.rb (TestIO#test_fcntl_dupfd): fix OpenBSD test 19875 failure. [ruby-dev:44872] 19876 19877Tue Nov 15 09:50:21 2011 NARUSE, Yui <naruse@ruby-lang.org> 19878 19879 * regcomp.c (print_indent_tree): fix double printing of ENCLOSE_OPTION 19880 children bug. patched by Suraj Kurapati. [ruby-core:40964] 19881 19882Tue Nov 15 01:53:48 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 19883 19884 * test/ruby/test_io.rb (test_fcntl_dupfd): fix test error on 19885 SnowLeopard. Pointed out by CHIKANAGA Tomoyuki. [ruby-dev:44866] 19886 19887Mon Nov 14 22:06:02 2011 Tanaka Akira <akr@fsij.org> 19888 19889 * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_file): set close-on-exec 19890 flag. 19891 19892 * ext/openssl/ossl_x509cert.c (rb_fd_fix_cloexec): ditto. 19893 19894Mon Nov 14 14:54:17 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19895 19896 * bignum.c (rb_big2ull): fix 32bit platform breakage. we must 19897 not assume sizeof(VALUE) == sizeof(LONG_LONG). 19898 * test/-ext-/num2int/test_num2int.rb (class TestNum2int): 19899 fix false assumption on 32bit platform. 19900 19901Mon Nov 14 14:52:54 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19902 19903 * numeric.c (rb_fix2ushort): fix typo. use num rb_num2ushort() 19904 instead of num2uint(). 19905 19906Sun Nov 13 10:31:03 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19907 19908 * include/ruby/ruby.h: add #ifdef comment. 19909 19910Sun Nov 13 10:28:18 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19911 19912 * include/ruby/ruby.h: add NUM2SHORT(), NUM2USHORT() macros. 19913 * numeric.c: ditto. 19914 19915 * test/-ext-/num2int/test_num2int.rb: add testcases for NUM2SHORT(). 19916 * ext/-test-/num2int/num2int.c: ditto. 19917 19918Sun Nov 13 10:23:48 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19919 19920 * bignum.c (rb_big2ull): fix off-by-twice bug of NUM2ULL. 19921 * test/-ext-/num2int/test_num2int.rb (class TestNum2int): 19922 fix a testcase too. 19923 19924Sun Nov 13 10:22:44 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19925 19926 * test/-ext-/num2int/test_num2int.rb (class TestNum2int): 19927 add FIXNUM tests. 19928 19929Sun Nov 13 09:57:29 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19930 19931 * numeric.c (check_uint): fix off-by-one bug of NUM2UINT. 19932 * bignum.c (rb_big2ulong): fix off-by-one bug of NUM2ULONG. 19933 19934 * test/-ext-/num2int/test_num2int.rb: add a testcase for NUM2INT() 19935 NUM2UINT(), NUM2LONG(), NUM2ULONG(), NUM2LL and NUM2ULL(). 19936 * ext/-test-/num2int/depend: ditto. 19937 * ext/-test-/num2int/extconf.rb: ditto. 19938 * ext/-test-/num2int/num2int.c: ditto. 19939 19940Sun Nov 13 23:47:29 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19941 19942 * ext/dbm/extconf.rb: use convertible_int. 19943 19944Sun Nov 13 23:45:57 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19945 19946 * lib/mkmf.rb (checking_for): should not modify the result. 19947 19948 * lib/mkmf.rb (have_struct_member): accept compiler options. 19949 19950 * lib/mkmf.rb (convertible_int): add restricted support of struct 19951 member, and TYPEOF_ macro. 19952 19953Sun Nov 13 23:21:24 2011 Tanaka Akira <akr@fsij.org> 19954 19955 * ext/gdbm/gdbm.c (fgdbm_reorganize): set close-on-exec flag after 19956 gdbm_reorganize(). gdbm_reorganize() opens a new database internally. 19957 19958Sun Nov 13 19:57:18 2011 Tanaka Akira <akr@fsij.org> 19959 19960 * ext/dbm/extconf.rb: rollback for each headers for each libraries. 19961 19962Sun Nov 13 16:24:48 2011 Tanaka Akira <akr@fsij.org> 19963 19964 * ext/dbm/extconf.rb: treat libc as a choice for a library which 19965 provide ndbm API. 19966 19967Sun Nov 13 15:40:43 2011 Tanaka Akira <akr@fsij.org> 19968 19969 * ext/dbm/extconf.rb: duplicate $libs and $defs when save them. 19970 19971Sun Nov 13 12:43:48 2011 Tanaka Akira <akr@fsij.org> 19972 19973 * ext/dbm/extconf.rb: rollback $libs and $defs when db detection is 19974 failed. It fixes -lgdbm -lqdbm when the system has qdbm and gdbm 19975 without gdbm_compat. 19976 19977Sat Nov 12 21:14:51 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19978 19979 * test/webrick/test_cgi.rb (class TestWEBrickCGI): respect 19980 RbConfig::CONFIG["LIBPATHENV"]. [Bug #5135] [ruby-core:38653] 19981 * test/webrick/test_filehandler.rb (class WEBrick): ditto. 19982 19983Sat Nov 12 20:57:29 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 19984 19985 * test/ruby/test_io.rb (test_fcntl_dupfd): skip if Fcntl::DUPFD 19986 is not defined. Pointed out by CHIKANAGA Tomoyuki. Thanks. 19987 19988Sat Nov 12 17:26:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19989 19990 * io.c (do_ioctl, ioctl_narg_len, setup_narg, rb_ioctl): use 19991 ioctl_req_t. 19992 19993Sat Nov 12 17:01:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 19994 19995 * ext/dbm/extconf.rb (headers.db_check): reduce duplicated code. 19996 19997Sat Nov 12 15:59:42 2011 Tanaka Akira <akr@fsij.org> 19998 19999 * ext/dbm/extconf.rb: dbm_clearerr should be available in all ndbm 20000 implementation. If it is not available, it is caused by 20001 header/library mismatch such that Berkeley DB header & gdbm library. 20002 20003 * ext/dbm/dbm.c (fdbm_store): use dbm_clearerr() unconditionally. 20004 gdbm 1.9 provides it as a real function instead of a empty macro. 20005 20006Sat Nov 12 13:35:33 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20007 20008 * bootstraptest/runner.rb: don't suppress SIGINT. 20009 [Feature #5612] [ruby-dev:44856] 20010 20011Sat Nov 12 11:20:36 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20012 20013 * io.c (fcntl_narg_len): introduce narg calculation for fcntl instead 20014 of hard coded 256. 20015 * io.c (setup_narg): ditto. 20016 20017Sat Nov 12 11:19:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20018 20019 * test/ruby/test_io.rb (test_fcntl_dupfd): add another fcntl test. 20020 20021Sat Nov 12 11:18:17 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20022 20023 * test/ruby/test_io.rb (test_fcntl_lock_freebsd): add a testcase 20024 of fcntl lock for freebsd. 20025 20026Sat Nov 12 11:16:32 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20027 20028 * io.c (ioctl_narg_len): Linux doesn't have IOCPARM_LEN macro, but 20029 has _IOC_SIZE. support it. 20030 20031Sat Nov 12 11:13:18 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20032 20033 * io.c (rb_ioctl): don't expose our sanity check value to ruby script. 20034 It may change string value meaning if the value is string. 20035 (e.g. MacOS X has F_GETPATH ioctl) 20036 * io.c (rb_fcntl): ditto. 20037 20038Sat Nov 12 11:06:02 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20039 20040 * io.c (ioctl_req_t): Type of req argument of ioctl() depend on platform. 20041 Moreover almost all linux ioctl can't be represented by 32bit integer 20042 (i.e. MSB is 1). We need wrap ioctl argument type. 20043 [Bug #5429] [ruby-dev:44589] 20044 * io.c (struct ioctl_arg): ditto. 20045 * io.c (rb_ioctl): ditto. 20046 * test/ruby/test_io.rb (test_ioctl_linux): add a testcase for ioctl 20047 20048Sat Nov 12 11:00:42 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20049 20050 * io.c (struct io_cntl_arg): remove io_p member. 20051 * io.c (nogvl_fcntl, do_fcntl, rb_fcntl): separated from ioctl functions. 20052 * io.c (nogvl_io_cntl): remove fcntl depended logic. 20053 * io.c (io_cntl): ditto. 20054 * io.c (rb_io_ctl): ditto. 20055 * io.c (rb_io_ioctl): ditto. 20056 20057Sat Nov 12 10:59:49 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20058 20059 * io.c (setup_narg): fix off by one bug. 20060 20061Sat Nov 12 10:56:43 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20062 20063 * io.c (+setup_narg): factor out length calculation logic. 20064 * io.c (rb_io_ctl): ditto. 20065 20066Sat Nov 12 10:52:17 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20067 20068 * io.c (+ioctl_narg_len) new helper function. 20069 * io.c (rb_io_ctl): don't use ioctl specific length check 20070 if caller is fcntl. 20071 20072Fri Nov 11 23:00:46 2011 Tanaka Akira <akr@fsij.org> 20073 20074 * ext/dbm/extconf.rb: db_prefix is not required now. 20075 20076Fri Nov 11 21:13:30 2011 Tanaka Akira <akr@fsij.org> 20077 20078 * ext/gdbm/gdbm.c (fgdbm_initialize): use GDBM_CLOEXEC if available. 20079 20080Fri Nov 11 21:00:05 2011 Tanaka Akira <akr@fsij.org> 20081 20082 * ext/dbm/extconf.rb: fix dbm_pagfno and dbm_dirfno detection with 20083 Berkeley DB. Macro definitions needs arguments to detect correctly. 20084 SIZEOF_DSIZE needs -DDB_DBM_HSEARCH because db.h defines datum type 20085 only if DB_DBM_HSEARCH is defined. 20086 20087Fri Nov 11 18:41:57 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20088 20089 * process.c (proc_seteuid): separate an internal wrapper function 20090 from the method implementation. 20091 20092Fri Nov 11 17:21:15 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20093 20094 * lib/mkmf.rb (have_library, find_library, have_func): allow 20095 arguments of function to be checked. 20096 20097Fri Nov 11 17:09:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20098 20099 * vm_dump.c (HAVE_BACKTRACE): fallback to 0. 20100 20101 * vm_dump.c (rb_vm_bugreport): show "Other runtime information" 20102 header only when available. 20103 20104 * vm_dump.c (rb_vm_bugreport): get rid of modifying the content of 20105 VM directly. 20106 20107 * vm_dump.c (rb_vm_bugreport): check if vm is non-null. 20108 Pointed out by Ikegami Daisuke <ikegami.da@gmail.com>. 20109 Thank you. 20110 20111Fri Nov 11 12:36:37 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20112 20113 * io.c (pipe_open): Remove fflush(stdin). it's no effect. 20114 Pointed out by Ikegami Daisuke <ikegami.da@gmail.com>. 20115 Thank you. 20116 20117Fri Nov 11 07:33:30 2011 Eric Hodel <drbrain@segment7.net> 20118 20119 * lib/net/http.rb (Net::HTTP::SSL_ATTRIBUTES): Use symbol keys instead 20120 of string keys to avoid duplicating parameters in 20121 OpenSSL::SSL:SSLContext#set_params. 20122 20123Thu Nov 10 15:02:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20124 20125 * lib/mkmf.rb (have_library, have_func, have_var, have_header): 20126 add compiler option parameter. 20127 20128Thu Nov 10 07:45:16 2011 Eric Hodel <drbrain@segment7.net> 20129 20130 * ext/openssl/lib/openssl/ssl.rb (class OpenSSL::SSL::SSLContext): 20131 Document #set_params. 20132 20133Wed Nov 9 11:36:53 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 20134 20135 * thread_pthread.c (gvl_yield): don't prevent concurrent sched_yield(). 20136 [Bug #5130] [ruby-core:38647] 20137 20138Wed Nov 9 23:20:22 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20139 20140 * io.c (rb_update_max_fd): fstat(2) can fail with other than 20141 EBADF. [ruby-dev:44837] [Bug #5593]. Cf. 20142 http://pubs.opengroup.org/onlinepubs/9699919799/functions/fstat.html 20143 20144 * io.c (rb_sysopen): max fd is updated in rb_sysopen_internal() 20145 already. 20146 20147Wed Nov 9 22:13:38 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20148 20149 * test/ruby/test_file.rb (TestFile#test_utime_with_minus_time_segv): 20150 fixed previous commit. 20151 20152Wed Nov 9 19:53:45 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20153 20154 * test/ruby/test_file.rb (TestFile#test_utime_with_minus_time_segv): 20155 add test for r33685. 20156 20157Wed Nov 9 19:00:44 2011 Koichi Sasada <ko1@atdot.net> 20158 20159 * test/ruby/test_fiber.rb: add tests for r33684 (Fiber#resume). 20160 20161Wed Nov 9 16:40:49 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20162 20163 * win32/win32.c (unixtime_to_filetime): should check the return value 20164 of localtime(). reported by snowjail at gmail.com. 20165 [ruby-dev:44838] [Bug #5596] 20166 20167Thu Nov 9 13:17:25 2011 Koichi Sasada <ko1@atdot.net> 20168 20169 * cont.c (rb_fiber_m_transfer, rb_fiber_resume): prohibit using 20170 "resume" after "transfer" method are used. You should not mix 20171 "resume" fiber and "transfer" fiber. 20172 [Bug #5526] 20173 20174 * NEWS: add information about this change. 20175 20176Wed Nov 9 11:40:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20177 20178 * template/Doxyfile.tmpl (INCLUDE_PATH): add srcdir and include. 20179 [ruby-core:40843] [Bug #5597] 20180 20181Wed Nov 9 11:02:54 2011 NARUSE, Yui <naruse@ruby-lang.org> 20182 20183 * thread.c (do_select): fix cast, tv_sec is time_t. 20184 20185Wed Nov 9 10:32:20 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20186 20187 * configure.in: should not use test -e for portability. 20188 [ruby-core:40841] [Bug #5594] 20189 20190Wed Nov 9 04:52:16 2011 Aaron Patterson <aaron@tenderlovemaking.com> 20191 20192 * ext/psych/lib/psych/tree_builder.rb: dump complex numbers, 20193 rationals, etc with reference ids. 20194 * ext/psych/lib/psych/visitors/yaml_tree.rb: ditto 20195 * ext/psych/lib/psych/visitors/to_ruby.rb: loading complex numbers, 20196 rationals, etc with reference ids. 20197 * test/psych/test_object_references.rb: corresponding tests 20198 20199Tue Nov 8 23:34:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20200 20201 * ext/dbm/dbm.c (fdbm_fetch, fdbm_key, fdbm_delete, fdbm_store) 20202 (fdbm_has_key, fdbm_has_value): get rid of overflow. 20203 20204 * ext/gdbm/gdbm.c (rb_gdbm_fetch2, rb_gdbm_nextkey) 20205 (rb_gdbm_delete, fgdbm_store, fgdbm_has_key): ditto. 20206 20207 * ext/dbm/dbm.c (fdbm_delete_if): hide intermediate objects. 20208 20209 * ext/gdbm/gdbm.c (fgdbm_delete_if): ditto. 20210 20211 * ext/dbm/extconf.rb: check size of datum.dsize to get rid of 20212 overflow. 20213 20214Tue Nov 8 23:30:21 2011 NARUSE, Yui <naruse@ruby-lang.org> 20215 20216 * addr2line.c (PATH_MAX): define if not defined. [ruby-core:40840] 20217 20218Tue Nov 8 23:26:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20219 20220 * ext/tk/tcltklib.c (rb_thread_critical): fix type. 20221 20222 * ext/tk/tcltklib.c (eventloop_sleep, lib_eventloop_core): int is 20223 enough for micro seconds. may need to check overflow in the 20224 setter though. 20225 20226 * ext/tk/tcltklib.c (RSTRING_LENINT): check overflow if necessary. 20227 20228 * ext/tk/tcltklib.c (RbTk_ALLOC_N): wrapper for ckalloc() which 20229 takes an int. 20230 20231 * ext/tk/tcltklib.c (ip_ruby_cmd_receiver_get, tcltklib_compile_info): 20232 get rid overflow. 20233 20234 * ext/tk/tcltklib.c (tcltklib_compile_info): constified. 20235 20236Tue Nov 8 20:50:45 2011 Tanaka Akira <akr@fsij.org> 20237 20238 * test/dbm/test_dbm.rb: split tests for read only database. 20239 20240 * test/gdbm/test_gdbm.rb: ditto. 20241 20242Tue Nov 8 18:59:07 2011 Tanaka Akira <akr@fsij.org> 20243 20244 * ext/pty/pty.c (MasterDevice): define only when used. 20245 (SlaveDevice): ditto. 20246 (deviceNo): ditto. 20247 20248Tue Nov 8 17:59:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20249 20250 * include/ruby/ruby.h (rb_long2int): define as a macro always, so 20251 that cpp conditionals can tell if it is provided. 20252 20253Tue Nov 8 17:30:50 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20254 20255 * lib/mkmf.rb (cpp_command): remove multiple -arch flags since cpp 20256 cannot work. 20257 20258Tue Nov 8 14:50:55 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20259 20260 * io.c (io_fwrite): call rb_w32_write_console() only if FMODE_TTY is 20261 set. this is the one of the reason of IO writing slowness of Windows 20262 in 1.9.3 or later. 20263 20264Tue Nov 8 11:01:04 2011 NARUSE, Yui <naruse@ruby-lang.org> 20265 20266 * ext/pty/pty.c (get_device_once): FreeBSD 8 supported O_CLOEXEC flag 20267 for posix_openpt, but FreeBSD 9's posix_openpt doesn't support 20268 O_CLOEXEC and fails if specified. 20269 20270Tue Nov 8 02:36:45 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20271 20272 * include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_READ_MASK, 20273 ECONV_NEWLINE_DECORATOR_WRITE_MASK): new macro. 20274 20275 * io.c (rb_io_extract_modeenc, pipe_open, prep_stdio, argf_next_argv): 20276 set TEXTMODE_NEWLINE_DECORATOR_ON_WRITE for textmode on creating IO 20277 if the flag is available. 20278 20279 * io.c (make_writeconv): drop decorators for reading. 20280 20281 * io.c (make_readconv): drop decorators for writing. 20282 20283 * io.c (do_writeconv): existing writeconv is not the condition to raise 20284 ArgumentError. should check textmode or not. 20285 20286 * test/ruby/test_io_m17n.rb 20287 (TestIO_M17N#test_{cr,lf,crlf}_decorator_on_stdout): test above 20288 changes. 20289 20290Mon Nov 7 22:03:47 2011 Tanaka Akira <akr@fsij.org> 20291 20292 * ext/gdbm/gdbm.c (fgdbm_initialize): set close-on-exec flag. 20293 20294Mon Nov 7 20:31:52 2011 Aaron Patterson <aaron@tenderlovemaking.com> 20295 20296 * ext/psych/lib/psych/scalar_scanner.rb: make sure strings that look 20297 like base 60 numbers are serialized as quoted strings. 20298 * test/psych/test_string.rb: test for change. 20299 20300Mon Nov 7 20:26:37 2011 Aaron Patterson <aaron@tenderlovemaking.com> 20301 20302 * test/psych/test_yamlstore.rb: make test case inherit from MiniTest, 20303 load psych/helper so that psych is loaded. 20304 20305Mon Nov 7 20:18:29 2011 Aaron Patterson <aaron@tenderlovemaking.com> 20306 20307 * test/psych/test_yamldbm.rb: Test case should inherit from MiniTest, 20308 load psych/helper so that psych and friends are loaded. 20309 20310Mon Nov 7 20:15:44 2011 Tanaka Akira <akr@fsij.org> 20311 20312 * ext/dbm/extconf.rb: check dbm_pagfno() and dbm_dirfno(). 20313 20314 * ext/dbm/dbm.c: use above to set close-on-exec flag. 20315 20316Mon Nov 7 20:05:16 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20317 20318 * io.c (io_fflush): remove fsync(). 20319 20320 * io.c (rb_io_flush, rb_io_rewind): fsync() here. 20321 20322 these changes reduces fsync() calls to improve performance. 20323 first reported at [ruby-list:48515] by ak7 at mail.goo.ne.jp . 20324 [Bug #5585] 20325 20326Mon Nov 7 19:43:10 2011 Tanaka Akira <akr@fsij.org> 20327 20328 * io.c (rb_close_before_exec): use F_MAXFD if available. 20329 F_MAXFD is available on NetBSD since NetBSD 2.0. 20330 20331Mon Nov 7 19:25:16 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20332 20333 * test/ruby/test_io_m17n.rb 20334 (TestIO_M17N#test_default_stdout_stderr_mode): new test for 20335 r33627-33629. see [backport #5565] 20336 20337Mon Nov 7 01:14:22 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 20338 20339 * lib/debug.rb: add help for 'pp' and 'r[estart]'. patch 20340 from Sho Hashimoto. [Bug #5093] [ruby-dev:44222] 20341 20342Sun Nov 6 14:49:58 2011 Tanaka Akira <akr@fsij.org> 20343 20344 * ext/socket/rubysocket.h (rsock_recvmsg): declared. 20345 20346 * ext/socket/ancdata.c (rsock_recvmsg): extracted from 20347 nogvl_recvmsg_func. 20348 (nogvl_recvmsg_func): use rsock_recvmsg. 20349 20350 * ext/socket/unixsocket.c (recvmsg_blocking): use rsock_recvmsg. 20351 20352Sun Nov 6 03:22:36 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 20353 20354 * test/openssl/test_engine.rb: add test for engine cipher. RC4 is used 20355 because AES is not supported by the "openssl" engine currently. 20356 20357Sun Nov 6 00:11:52 2011 Tanaka Akira <akr@fsij.org> 20358 20359 * lib/test/unit.rb (Test::Unit::Options#non_options): options[:ruby] 20360 should be an array. This fixes 20361 "./ruby test/runner.rb test/testunit/test_parallel.rb" 20362 [ruby-dev:44782] 20363 20364Sat Nov 5 20:30:30 2011 Martin Duerst <duerst@it.aoyama.ac.jp> 20365 20366 * insns.def: Some fixes and tweaks to English explanations 20367 20368Sat Nov 5 19:11:50 2011 Tanaka Akira <akr@fsij.org> 20369 20370 * io.c (rb_cloexec_fcntl_dupfd): don't clear try_dupfd_cloexec if 20371 fcntl(F_DUPFD) failed as fcntl(F_DUPFD_CLOEXEC). 20372 20373Sat Nov 5 18:05:12 2011 Tanaka Akira <akr@fsij.org> 20374 20375 * ext/socket/socket.c (rsock_socketpair0): refactored. 20376 20377Sat Nov 5 17:55:52 2011 Tanaka Akira <akr@fsij.org> 20378 20379 * ext/socket/init.c (rsock_socket0): don't clear try_sock_cloexec if 20380 SOCK_CLOEXEC is not a reason for EINVAL. 20381 20382Sat Nov 5 16:27:52 2011 Kazuki Tsujimoto <kazuki@callcc.net> 20383 20384 * ext/pathname/lib/pathname.rb, ext/tk/lib/multi-tk.rb, 20385 ext/tk/sample/demos-en/widget, lib/benchmark.rb, lib/irb/cmd/fork.rb, 20386 lib/mkmf.rb, lib/net/ftp.rb, lib/net/smtp.rb, lib/open3.rb, 20387 lib/pstore.rb, lib/rexml/element.rb, lib/rexml/light/node.rb, 20388 lib/rinda/tuplespace.rb, lib/rss/maker/base.rb, 20389 lib/rss/maker/entry.rb, lib/scanf.rb, lib/set.rb, lib/shell.rb, 20390 lib/shell/command-processor.rb, lib/shell/process-controller.rb, 20391 lib/shell/system-command.rb, lib/uri/common.rb: remove unused block 20392 arguments to avoid creating Proc objects. 20393 20394Sat Nov 5 15:45:04 2011 Tanaka Akira <akr@fsij.org> 20395 20396 * ext/socket/init.c (rsock_socket0): extract single socket() call with 20397 CLOEXEC handling from rsock_socket. 20398 20399Sat Nov 5 13:49:40 2011 Kazuki Tsujimoto <kazuki@callcc.net> 20400 20401 * lib/pathname.rb (Pathname#find): return an enumerator if 20402 no block is given. 20403 20404 * test/pathname/test_pathname.rb: add tests for above. 20405 20406 [ruby-dev:44797] [Feature #5572] 20407 20408Sat Nov 5 11:18:12 2011 Tanaka Akira <akr@fsij.org> 20409 20410 * ext/socket/socket.c (rsock_socketpair0): don't clear 20411 try_sock_cloexec if SOCK_CLOEXEC is not a reason for EINVAL. 20412 20413Fri Nov 4 14:08:19 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 20414 20415 * ext/openssl/ossl_pkey_rsa.c (rsa_generate): [SECURITY] Set RSA 20416 exponent value correctly. Awful bug. This bug caused exponent of 20417 generated key to be always '1'. By default, and regardless of e 20418 given as a parameter. 20419 20420 !!! Keys generated by this code (trunk after 2011-09-01) must be 20421 re-generated !!! (ruby_1_9_3 is safe) 20422 20423 * test/openssl/test_pkey_rsa.rb: Add tests for default exponent and 20424 specifying exponent by a parameter. 20425 20426Fri Nov 4 01:31:25 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 20427 20428 * test/openssl/test_engine.rb: add first tests for builtin "openssl" 20429 engine. 20430 20431Fri Nov 4 08:41:26 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 20432 20433 * ext/openssl/extconf.rb: 20434 * ext/openssl/ossl_engine.c: add some missing OpenSSL engines. 20435 Thanks, Yui Naruse, for providing the patch! 20436 [Bug #5548] [ruby-core:40670] 20437 20438Fri Nov 4 04:54:10 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20439 20440 * win32/configure.bat: disable delayed expansion of enironment variable. 20441 [Bug #5517] [ruby-core:40531] 20442 20443Fri Nov 4 03:45:22 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20444 20445 * io.c (make_writeconv): fixed typo of previous commit. 20446 20447Fri Nov 4 01:56:30 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20448 20449 * io.c (make_writeconv): unversal_newline converter is for reading. 20450 so, if the io is text mode and has ECONV_UNIVERSAL_NEWLINE_DECORATOR 20451 flag, use crlf_newline converter for writing. 20452 this change fixes the problem about the luck of CR up Kernel.p and 20453 Kernel.puts to stdout/stderr on Windows. 20454 20455Fri Nov 4 01:04:48 2011 NARUSE, Yui <naruse@ruby-lang.org> 20456 20457 * ext/readline/readline.c (Init_readline): like r18313, libedit's 20458 replace_history_entry may use offset instead of which. 20459 so introduce history_replace_offset_func and initialize it. 20460 20461 * ext/readline/readline.c (hist_set): use history_replace_offset_func. 20462 20463Fri Nov 4 00:53:35 2011 NARUSE, Yui <naruse@ruby-lang.org> 20464 20465 * ext/readline/readline.c (Init_readline): fix wrong condition. 20466 20467Thu Nov 3 23:53:04 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20468 20469 * encoding.c (rb_locale_charmap): ignore calling nl_langinfo_codeset() 20470 on Windows except cygwin. [experimental] 20471 20472Thu Nov 3 22:45:09 2011 Tanaka Akira <akr@fsij.org> 20473 20474 * ext/socket/socket.c (rsock_socketpair0): extracted from 20475 rsock_socketpair to set close-on-exec flag for each socketpair() 20476 call. 20477 20478Thu Nov 3 22:12:41 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 20479 20480 * ext/socket/init.c (rsock_socket): set close-on-exec flag when 20481 SOCK_CLOEXEC is not available. 20482 20483Thu Nov 3 08:36:00 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 20484 20485 * test/openssl/test_engine.rb: call Engine::cleanup on exit. 20486 Patch provided by Yui Naruse, thanks! 20487 [Bug #5547] [ruby-core:40669] 20488 20489Wed Nov 2 21:36:00 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20490 20491 * complex.c (nucomp_rationalize): fix function. [ruby-core:40667] 20492 [Bug #5546] 20493 20494Wed Nov 2 08:16:45 2011 Tanaka Akira <akr@fsij.org> 20495 20496 * lib/webrick/utils.rb: fix fcntl call. 20497 20498 * lib/drb/unix.rb: ditto. 20499 20500Wed Nov 2 00:43:59 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 20501 20502 * test/psych/test_yamldbm.rb: avoid platform dependency. 20503 patch by Naohisa Goto. [ruby-dev:44763] [Bug #5535] 20504 * test/syck/test_yamldbm.rb: ditto. 20505 20506Wed Nov 2 00:14:15 2011 Shugo Maeda <shugo@ruby-lang.org> 20507 20508 * test/ruby/test_marshal.rb: renamed methods duplicated with those 20509 of marshaltestlib.rb. 20510 20511Tue Nov 1 22:08:27 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20512 20513 * configure.in: reject llvm-gcc. 20514 20515Tue Nov 1 21:39:00 2011 NARUSE, Yui <naruse@ruby-lang.org> 20516 20517 * io.c (rb_cloexec_pipe): remove workaround of r33587. 20518 The bug of NetBSD is fixed on Mon Oct 31 21:31:29 UTC 2011. 20519 http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45545 20520 20521Tue Nov 1 19:49:08 2011 Tanaka Akira <akr@fsij.org> 20522 20523 * io.c (rb_io_reopen): call rb_fd_fix_cloexec instead of 20524 rb_maygvl_fd_fix_cloexec. 20525 20526Tue Nov 1 19:00:30 2011 Tanaka Akira <akr@fsij.org> 20527 20528 * io.c (rb_io_reopen): call rb_maygvl_fd_fix_cloexec after freopen(). 20529 20530Tue Nov 1 17:17:26 2011 NARUSE, Yui <naruse@ruby-lang.org> 20531 20532 * file.c (file_expand_path): reset coderange after expanding path. 20533 20534Tue Nov 1 14:55:29 2011 NARUSE, Yui <naruse@ruby-lang.org> 20535 20536 * io.c (nogvl_io_cntl): rb_cloexec_fcntl_dupfd's 2nd argument is int. 20537 20538 * process.c (move_fds_to_avoid_crash): ditto. 20539 20540Tue Nov 1 13:14:33 2011 NARUSE, Yui <naruse@ruby-lang.org> 20541 20542 * vsnprintf.c (BSD_vfprintf): support 'll' prefix. 20543 20544 * vsnprintf.c (__sfeof): rename to avoid the collision with NetBSD's 20545 one. 20546 20547 * vsnprintf.c (__sferror): ditto. 20548 20549 * vsnprintf.c (__sclearerr): ditto. 20550 20551 * vsnprintf.c (__sfileno): ditto. 20552 20553Tue Nov 1 12:36:16 2011 Tanaka Akira <akr@fsij.org> 20554 20555 * internal.h (rb_maygvl_fd_fix_cloexec): change the visibility for 20556 ext/socket. 20557 20558Tue Nov 1 12:00:53 2011 Tanaka Akira <akr@fsij.org> 20559 20560 * io.c (rb_maygvl_fd_fix_cloexec): renamed from fd_set_cloexec. 20561 20562 * internal.h (rb_maygvl_fd_fix_cloexec): declared. 20563 20564 * ext/socket/init.c (cloexec_accept): use rb_maygvl_fd_fix_cloexec. 20565 (rsock_s_accept_nonblock): use rb_update_max_fd. 20566 (rsock_s_accept): use rb_update_max_fd. 20567 20568Tue Nov 1 08:24:40 2011 Tanaka Akira <akr@fsij.org> 20569 20570 * ext/socket/init.c (cloexec_accept): new function to use accept4 if 20571 available. 20572 (rsock_s_accept_nonblock): use cloexec_accept. 20573 (accept_blocking): ditto. 20574 20575 * ext/socket/extconf.rb: check accept4. 20576 20577Tue Nov 1 07:31:55 2011 Tanaka Akira <akr@fsij.org> 20578 20579 * ext/socket/ancdata.c (nogvl_recvmsg_func): use MSG_CMSG_CLOEXEC if 20580 available. 20581 20582 * ext/socket/unixsocket.c (recvmsg_blocking): ditto. 20583 20584Tue Nov 1 05:59:41 2011 Tanaka Akira <akr@fsij.org> 20585 20586 * ext/socket/socket.c (rsock_socketpair): use SOCK_CLOEXEC if 20587 available. 20588 20589Tue Nov 1 02:56:17 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20590 20591 * ruby.c (load_file_internal): convert the encoding of load path if 20592 needed by platform. calling open() was replaced by rb_cloexec_open() 20593 at r33549, but the function expected UTF-8 pathname on Windows. 20594 (open() expected "locale" pathname.) 20595 reported by taco via IRC. 20596 20597 * ruby.c (load_file): change the type of the 2nd parameter to pass its 20598 encoding to load_file_internal(). 20599 20600 * ruby.c (process_options, rb_load_file): follow above change. 20601 NOTE: we should pass encoding information to rb_load_file(). 20602 20603Mon Oct 31 23:49:38 2011 Tanaka Akira <akr@fsij.org> 20604 20605 * ext/socket/socket.c (rsock_socketpair): extracted from 20606 rsock_sock_s_socketpair. 20607 20608Mon Oct 31 23:31:53 2011 Tanaka Akira <akr@fsij.org> 20609 20610 * ext/socket/init.c (rsock_socket): use SOCK_CLOEXEC if available. 20611 20612Mon Oct 31 21:47:44 2011 NARUSE, Yui <naruse@ruby-lang.org> 20613 20614 * io.c (rb_cloexec_pipe): NetBSD 6.0 will support pipe2(2), 20615 but its return value is -1 or larger than 0. 20616 20617Mon Oct 31 22:04:54 2011 Tanaka Akira <akr@fsij.org> 20618 20619 * ext/dbm/dbm.c (fdbm_initialize): use O_CLOEXEC if available. 20620 20621Mon Oct 31 21:47:48 2011 Tanaka Akira <akr@fsij.org> 20622 20623 * include/ruby/intern.h (rb_fd_fix_cloexec): renamed from 20624 rb_fd_set_cloexec. 20625 20626 * io.c: follow the above renaming. 20627 20628 * ext/pty/pty.c: ditto. 20629 20630 * ext/socket/init.c: ditto. 20631 20632 * ext/socket/socket.c: ditto. 20633 20634 * ext/socket/ancdata.c: ditto. 20635 20636 * ext/socket/unixsocket.c: ditto. 20637 20638Mon Oct 31 21:02:43 2011 Tanaka Akira <akr@fsij.org> 20639 20640 * lib/resolv.rb (Resolv::DNS): retry IO.select for premature wakeup. 20641 20642Mon Oct 31 20:14:22 2011 Tanaka Akira <akr@fsij.org> 20643 20644 * io.c (fd_set_cloexec): clear CLOEXEC flag for standard file 20645 descriptors. 20646 (rb_cloexec_dup): use rb_cloexec_fcntl_dupfd. 20647 (rb_cloexec_fcntl_dupfd): use F_DUPFD_CLOEXEC if available. 20648 20649Mon Oct 31 19:14:11 2011 Tanaka Akira <akr@fsij.org> 20650 20651 * test/resolv/test_dns.rb: don't check maximum slept time. 20652 ruby doesn't guarantee the maximum time because it is not a 20653 realtime application. 20654 20655Mon Oct 31 13:10:06 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20656 20657 * win32/win32.c (setfl): extract from fcntl(). 20658 20659 * win32/win32.c (dupfd): new function to support F_DUPFD. based on a 20660 patch written by akr. 20661 20662 * win32/win32.c (fcntl): use above functions. 20663 20664 * include/ruby/win32.h (F_DUPFD): define. [experimental] 20665 20666 * include/ruby/win32.h (F_SETFL): change the value to correspond with 20667 other platforms. 20668 20669Mon Oct 31 12:37:50 2011 Tanaka Akira <akr@fsij.org> 20670 20671 * ext/pty/pty.c (get_device_once): use O_CLOEXEC for posix_openpt if 20672 available. 20673 20674Mon Oct 31 12:05:24 2011 Tanaka Akira <akr@fsij.org> 20675 20676 * io.c (rb_cloexec_dup2): check oldfd == newfd at first. 20677 pointed by KOSAKI Motohiro. [ruby-dev:44713] 20678 20679Mon Oct 31 10:50:26 2011 NAKAMURA Usaku <usa@ruby-lang.org> 20680 20681 * io.c (rb_cloexec_fcntl_dupfd): this function needs F_DUPFD. 20682 20683 * io.c (nogvl_io_cntl): use rb_cloexec_fcntl_dupfd() only if the 20684 platform has F_DUPFD. 20685 20686Mon Oct 31 00:50:00 2011 Luis Lavena <luislavena@gmail.com> 20687 20688 * configure.in: check -fno-omit-frame-pointer acceptance and usage 20689 under MinGW. [ruby-core:39957] [Bug #5407] 20690 20691Mon Oct 31 00:16:11 2011 Tanaka Akira <akr@fsij.org> 20692 20693 * include/ruby/intern.h (rb_cloexec_fcntl_dupfd): declared. 20694 20695 * io.c (rb_cloexec_fcntl_dupfd): new function. 20696 (nogvl_io_cntl): use rb_cloexec_fcntl_dupfd. 20697 20698 * process.c (move_fds_to_avoid_crash): use rb_cloexec_fcntl_dupfd. 20699 20700Sun Oct 30 22:46:46 2011 Tanaka Akira <akr@fsij.org> 20701 20702 * configure.in: check pipe2. 20703 20704 * io.c (rb_cloexec_pipe): use pipe2 if available. 20705 20706Sun Oct 30 22:32:44 2011 Tanaka Akira <akr@fsij.org> 20707 20708 * ruby.c (fill_standard_fds): use fstat() instead of fcntl(F_GETFD) 20709 for MinGW. reported by Luis Lavena. [ruby-core:40526] [Bug #5516] 20710 20711Sun Oct 30 21:12:47 2011 Tanaka Akira <akr@fsij.org> 20712 20713 * include/ruby/intern.h (rb_cloexec_pipe): declared. 20714 20715 * io.c (rb_cloexec_pipe): new function. 20716 (rb_pipe): use rb_cloexec_pipe. 20717 20718 * thread_pthread.c (rb_thread_create_timer_thread): use 20719 rb_cloexec_pipe. 20720 20721Sun Oct 30 20:06:07 2011 Tanaka Akira <akr@fsij.org> 20722 20723 * io.c (rb_cloexec_dup): refine control flow. 20724 (rb_cloexec_dup2): ditto. 20725 20726Sun Oct 30 18:45:50 2011 Tanaka Akira <akr@fsij.org> 20727 20728 * ruby.c (fill_standard_fds): new function to open closed standard 20729 file descriptors. 20730 (ruby_sysinit): call fill_standard_fds. 20731 20732Sun Oct 30 10:50:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20733 20734 * tool/rbinstall.rb (install_recursive, bin-comm): split mere 20735 string not path name. [ruby-core:40462] [Bug #5492] 20736 20737Sun Oct 30 10:47:20 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20738 20739 * io.c (rb_cloexec_dup, rb_cloexec_dup2): CLOEXEC has been set if 20740 dup3 succeeded. 20741 20742Sun Oct 30 09:58:48 2011 Tanaka Akira <akr@fsij.org> 20743 20744 * io.c (rb_cloexec_dup): don't allocate standard file descriptors. 20745 20746Sun Oct 30 08:29:51 2011 Tanaka Akira <akr@fsij.org> 20747 20748 * io.c (rb_cloexec_dup2): don't set CLOEXEC for standard file 20749 descriptors. 20750 20751Sun Oct 30 07:47:10 2011 Tanaka Akira <akr@fsij.org> 20752 20753 * configure.in: check dup3. 20754 20755 * io.c (rb_cloexec_dup2): use dup3 if available. 20756 20757Sat Oct 29 22:06:37 2011 Tanaka Akira <akr@fsij.org> 20758 20759 * include/ruby/intern.h (rb_cloexec_dup2): declared. 20760 20761 * io.c (rb_cloexec_dup2): new function. 20762 (io_reopen): use rb_cloexec_dup2. 20763 20764Sat Oct 20 21:08:18 2011 Tajima Akio <artonx@yahoo.co.jp> 20765 20766 * win32/Makefile.sub (CONFIG_H): have stdint.h if VC2010. 20767 [Bug #5243] 20768 20769Sat Oct 29 20:59:08 2011 Tanaka Akira <akr@fsij.org> 20770 20771 * io.c (rb_cloexec_dup): use F_DUPFD_CLOEXEC if available. 20772 20773Sat Oct 29 20:00:26 2011 Tanaka Akira <akr@fsij.org> 20774 20775 * include/ruby/intern.h (rb_cloexec_dup): declared. 20776 20777 * io.c (rb_cloexec_dup): new function. 20778 (ruby_dup): use rb_cloexec_dup. 20779 20780 * ext/pty/pty.c (pty_getpty): use rb_cloexec_dup. 20781 20782 * ext/openssl/ossl_bio.c (ossl_obj2bio): ditto. 20783 20784Sat Oct 29 16:11:34 2011 Tanaka Akira <akr@fsij.org> 20785 20786 * ext/sdbm/_sdbm.c (sdbm_prep): use O_CLOEXEC if available. 20787 20788Sat Oct 29 14:26:56 2011 Tanaka Akira <akr@fsij.org> 20789 20790 * io.c (rb_cloexec_open): use O_CLOEXEC if available. 20791 20792Sat Oct 29 12:57:15 2011 Tanaka Akira <akr@fsij.org> 20793 20794 * process.c (ruby_setsid): use rb_cloexec_open. 20795 (rb_daemon): ditto. 20796 20797 * ruby.c (load_file_internal): ditto. 20798 20799 * file.c (rb_file_s_truncate): ditto. 20800 (file_load_ok): ditto. 20801 20802 * random.c (fill_random_seed): ditto. 20803 20804 * ext/pty/pty.c (chfunc): ditto. 20805 (get_device_once): ditto. 20806 20807 * ext/io/console/console.c (console_dev): ditto. 20808 20809Sat Oct 29 10:40:19 2011 Tanaka Akira <akr@fsij.org> 20810 20811 * include/ruby/intern.h (rb_cloexec_open): declared. 20812 20813 * io.c (fd_set_cloexec): extracted from rb_fd_set_cloexec. 20814 (rb_cloexec_open): new function. 20815 (sysopen_func): use rb_cloexec_open. 20816 (rb_sysopen_internal): use rb_update_max_fd instead of 20817 rb_fd_set_cloexec. 20818 20819Sat Oct 29 09:05:07 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20820 20821 * thread_pthread.h: no Structured Exception Handling like macros. 20822 [ruby-core:40432] [Bug #5491] 20823 20824Fri Oct 28 22:05:34 2011 Tanaka Akira <akr@fsij.org> 20825 20826 * ext/sdbm/_sdbm.c: RCS $Id$ removed. 20827 20828Thu Oct 27 18:58:00 2011 NARUSE, Yui <naruse@ruby-lang.org> 20829 20830 * parse.y (parser_nextc): set encoding for the buffer of ripper. 20831 20832Fri Oct 28 06:06:08 2011 Tanaka Akira <akr@fsij.org> 20833 20834 * ext/sdbm/_sdbm.c (sdbm_prep): set FD_CLOEXEC flags for file 20835 descriptors. 20836 (fd_set_cloexec): new function. 20837 20838Fri Oct 28 03:01:27 2011 Aaron Patterson <aaron@tenderlovemaking.com> 20839 20840 * vm_insnhelper.c (vm_call_cfunc): adding back useless hack. For some 20841 reason, this fixes CFP errors on OS X 10.7. 20842 20843Fri Oct 28 00:09:31 2011 Tanaka Akira <akr@fsij.org> 20844 20845 * ext/sdbm/_sdbm.c (sdbm_prep): refactored for less nesting. 20846 20847Thu Oct 27 18:28:18 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20848 20849 * configure.in (RUBY_DEFINE_IF): revert r33534 partially to get 20850 rid of AS_ECHO which is not available in autoconf 2.61. 20851 [ruby-dev:44702] 20852 20853Thu Oct 27 16:10:46 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20854 20855 * bignum.c (rb_big_divide): raise ZeroDivisionError if divisor is 20856 zero, as well as Fixnum. [ruby-core:40429] [Bug #5490] 20857 20858Thu Oct 27 14:56:22 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20859 20860 * configure.in (RUBY_FUNC_ATTRIBUTE): unset temporary variable. 20861 20862 * configure.in (RUBY_STACK_GROW_DIRECTION): substitute CPU name as 20863 shell variable name. based on the patch by The Written Word Inc. at 20864 [ruby-core:40421]. [Bug #5488] 20865 20866Thu Oct 27 09:57:56 2011 NARUSE, Yui <naruse@ruby-lang.org> 20867 20868 * include/ruby/ruby.h (SIZE_MAX): define SIZE_MAX if not defined. 20869 patched by The Written Word Inc. [ruby-core:40422] [Bug #5489] 20870 20871Thu Oct 27 08:47:38 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 20872 20873 * ext/psych/parser.c: remove unused variable. 20874 20875Thu Oct 27 08:38:41 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 20876 20877 * ext/openssl/extconf.rb: add -Wall flag by default when compiler is 20878 GCC. 20879 20880Wed Oct 26 15:24:25 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20881 20882 * file.c (rb_file_join): honor input encodings than ASCII-8BIT. 20883 [ruby-core:40338] [Bug #5483] 20884 20885Tue Oct 25 21:52:31 2011 Tanaka Akira <akr@fsij.org> 20886 20887 * include/ruby/defines.h: use "__sparc" instead of "sparc" and 20888 "__sparc__". 20889 20890 * dln.c: ditto. 20891 20892 [ruby-dev:44694] 20893 20894Tue Oct 25 06:34:39 2011 Eric Hodel <drbrain@segment7.net> 20895 20896 * re.c (match_aref): Use <code> around indexing examples to prevent 20897 hyperlinks. [ruby-talk:389396] 20898 20899Mon Oct 24 23:55:31 2011 Tanaka Akira <akr@fsij.org> 20900 20901 * complex.c: use "__sun" instead of "__sun__" to detect SunOS. 20902 20903 * math.c: ditto. 20904 20905 * hash.c: ditto. 20906 20907 * atomic.h: ditto. 20908 20909 * ext/io/wait/wait.c: ditto. 20910 20911 [ruby-dev:44693] 20912 20913Mon Oct 24 22:45:37 2011 Tanaka Akira <akr@fsij.org> 20914 20915 * io.c: use "__sun" instead of "sun" to detect SunOS. 20916 20917 * dln.c: ditto. 20918 20919 * cont.c: ditto. 20920 20921 * ext/sdbm/_sdbm.c: ditto. 20922 20923 [ruby-dev:44693] 20924 20925Mon Oct 24 22:38:08 2011 Tanaka Akira <akr@fsij.org> 20926 20927 * ext/pty/pty.c (get_device_once): delay rb_fd_set_cloexec() until 20928 grantpt() on Solaris. grantpt() doesn't work with CLOEXEC on 20929 Solaris 10. 20930 reported by Naohisa GOTO. [ruby-dev:44688] [Bug #5475] 20931 20932Mon Oct 24 08:18:14 2011 Tanaka Akira <akr@fsij.org> 20933 20934 * io.c (copy_stream_fallback_body): check nil for EOF of read method. 20935 patch by Eric Wong. [ruby-core:39134] [Bug #5237] 20936 20937Sun Oct 23 18:21:23 2011 Kazuki Tsujimoto <kazuki@callcc.net> 20938 20939 * ext/tk/MANUAL_tcltklib.eng: fix typo. 20940 20941Sun Oct 23 18:03:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 20942 20943 * numeric.c (rb_infinity, rb_nan): aggregated member initializers 20944 need braces. 20945 20946Sun Oct 23 16:43:43 2011 Naohisa Goto <ngotogenome@gmail.com> 20947 20948 * ext/io/wait/wait.c: ioctl(2) is declared in unistd.h on Solaris. 20949 20950Sun Oct 23 16:33:35 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 20951 20952 * ext/tk/MANUAL_tcltklib.eng: fix typo. reported by Mimura-san. 20953 [ruby-dev:44683] [Bug #5471] 20954 20955Sun Oct 23 08:01:29 2011 Tanaka Akira <akr@fsij.org> 20956 20957 * io.c (rb_fd_set_cloexec): set close-on-exec flag only if F_GETFD is 20958 defined. reported by Luis Lavena. [ruby-core:40281] [Bug #5470] 20959 20960Sat Oct 22 19:48:50 2011 Tanaka Akira <akr@fsij.org> 20961 20962 * test/openssl/test_ssl.rb (test_multibyte_read_write): start server 20963 for each length to avoid race condition. 20964 20965Sat Oct 22 18:49:24 2011 Tanaka Akira <akr@fsij.org> 20966 20967 * include/ruby/intern.h (rb_fd_set_cloexec): declared. 20968 20969 * io.c (rb_fd_set_cloexec): new function. 20970 (ruby_dup): call rb_fd_set_cloexec to set close-on-exec flag. 20971 (rb_sysopen_internal): ditto. 20972 (rb_pipe): ditto. 20973 (io_reopen): ditto. 20974 (io_cntl): ditto. 20975 20976 * process.c (rb_f_exec): change the default :close_others option to 20977 true. 20978 (rb_f_system): ditto. 20979 (move_fds_to_avoid_crash): call rb_fd_set_cloexec to set 20980 close-on-exec flag. 20981 (ruby_setsid): ditto. 20982 (rb_daemon): ditto. 20983 20984 * thread_pthread.c (rb_thread_create_timer_thread): call 20985 rb_fd_set_cloexec to set close-on-exec flag. 20986 20987 * ruby.c (load_file_internal): ditto. 20988 20989 * file.c (rb_file_s_truncate): ditto. 20990 (file_load_ok): ditto. 20991 20992 * random.c (fill_random_seed): ditto. 20993 20994 * ext/pty/pty.c (chfunc): ditto. 20995 (get_device_once): ditto. 20996 20997 * ext/openssl/ossl_bio.c (ossl_obj2bio): ditto. 20998 20999 * ext/socket/init.c (rsock_socket): ditto. 21000 (rsock_s_accept_nonblock): ditto. 21001 (rsock_s_accept): ditto. 21002 21003 * ext/socket/socket.c (rsock_sock_s_socketpair): ditto. 21004 21005 * ext/socket/ancdata.c (discard_cmsg): ditto. 21006 (make_io_for_unix_rights): ditto. 21007 21008 * ext/socket/unixsocket.c (unix_recv_io): ditto. 21009 21010 * ext/io/console/console.c (console_dev): ditto. 21011 21012 [ruby-core:38140] [Feature #5041] 21013 21014Sat Oct 22 17:46:27 2011 Tanaka Akira <akr@fsij.org> 21015 21016 * lib/resolv.rb: fix a exception name in previous patch. 21017 21018Sat Oct 22 17:43:33 2011 Tanaka Akira <akr@fsij.org> 21019 21020 * lib/resolv.rb: make timeout configurable for DNS query. 21021 patch by Eric Wong. [ruby-core:38533] [Feature #5100] 21022 21023Sat Oct 22 02:07:48 2011 Naohisa Goto <ngotogenome@gmail.com> 21024 21025 * numeric.c (rb_infinity, rb_nan): use union to prevent bus error 21026 caused by misalignment. [Bug #5469] [ruby-dev:44657] 21027 21028 * include/ruby/missing.h (INFINITY, NAN): ditto 21029 21030Fri Oct 21 22:02:17 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21031 21032 * gc.c (initial_params): pack in a struct. 21033 21034 * gc.c (rb_gc_set_params): set parameters always. 21035 [ruby-dev:44648] [Bug #5467] 21036 21037Fri Oct 21 12:10:20 2011 Naohisa Goto <ngotogenome@gmail.com> 21038 21039 * atomic.h: change Solaris checking macro because atomic_ops can work 21040 not only with Sun Studio but also with Fujitsu C Compiler. 21041 21042Fri Oct 21 02:11:00 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21043 21044 * ext/openssl/ossl_ns_spki.c: Complete documentation. 21045 * test/openssl/test_ns_spki.rb: Integrate SPKI#to_text. 21046 21047Thu Oct 20 22:47:28 2011 NAKAMURA Usaku <usa@ruby-lang.org> 21048 21049 * win32/win32.c (socklist_insert, socklist_lookup, socklist_delete): 21050 new functions to wrap of st_insert(), st_lookup() and st_delete() to 21051 socklist. 21052 allocating socklist is deferred until it is really needed. 21053 21054 * win32/win32.c (exit_handler): delete socklist only if it is 21055 initialized. 21056 21057 * win32/win32.c (rb_w32_sysinit, StartSockets): refactoring: move 21058 initialization of select_mutex to StartSockets(). 21059 21060 * win32/win32.c (exit_handler): refactoring: delete select_mutex only 21061 if winsock is used. 21062 21063Thu Oct 20 22:38:53 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21064 21065 * ext/openssl/ossl_pkcs5.c: add note on timing attacks and general 21066 documentation. 21067 21068Thu Oct 20 21:19:15 2011 Naohisa Goto <ngotogenome@gmail.com> 21069 21070 * vm_eval.c (check_funcall): set array elements one-by-one to fix 21071 compile error with Fujitsu C Compiler 5.6 on Solaris 10 on Sparc. 21072 [Bug #5464] [ruby-dev:44632] 21073 21074Thu Oct 20 13:09:35 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21075 21076 * include/ruby/defines.h (flush_register_windows): use software 21077 trap on Debian Sparc 32-bit userspace. [Bug #5244] 21078 21079Thu Oct 20 12:28:22 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21080 21081 * test/openssl/test_pkcs5.rb: add RFC 6070 tests for PBKDF2 with 21082 HMAC-SHA1 21083 21084Thu Oct 20 11:42:23 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21085 21086 * util.c (mmprepare): fix for fragmental size. 21087 21088 * util.c (mmswap_, mmrot3_): portability improvement. 21089 21090Thu Oct 20 05:58:02 2011 Eric Hodel <drbrain@segment7.net> 21091 21092 * ext/openssl/ossl_ns_spki.c (Init_ossl_ns_spki): Stub documentation 21093 for Netscape SPKI. 21094 21095Thu Oct 20 05:13:39 2011 Ryan Davis <ryand-ruby@zenspider.com> 21096 21097 * lib/minitest/*: Imported minitest 2.6.2 (r6712) 21098 * test/minitest/*: ditto 21099 21100Thu Oct 20 06:55:32 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21101 21102 * lib/openssl/buffering.rb: Force multi-byte strings to be treated as 21103 binary data. 21104 * test/openssl/test_ssl.rb: Add test for it. 21105 21106 Thanks to Niklas Baumstark for reporting the issue! 21107 21108 [Ruby 1.9 - Bug #5233] [ruby-core:39120] 21109 21110Wed Oct 19 17:06:54 2011 Yukihiro Matsumoto <matz@ruby-lang.org> 21111 21112 * version.h (RUBY_VERSION): finally declare start of 2.0 work! 21113 21114Wed Oct 19 11:48:44 2011 Eric Hodel <drbrain@segment7.net> 21115 21116 * error.c (Init_Exception): Document $! and $@. Provide 21117 recommendations for creating exceptions for a library. 21118 21119Wed Oct 19 11:25:46 2011 Eric Hodel <drbrain@segment7.net> 21120 21121 * error.c (Init_Exception): Add hierarchy of Exception subclasses. 21122 Based on patch by Sylvain Daubert. [Ruby 1.9 - Bug #5438] 21123 21124Wed Oct 19 11:04:47 2011 Eric Hodel <drbrain@segment7.net> 21125 21126 * enum.c: Reformat block args to a single standard, { |args| ... }. 21127 Patch by b t. [Ruby 1.9 - Bug #5393] 21128 21129Wed Oct 19 12:11:26 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21130 21131 * ext/openssl/ossl_ssl.c: Remove set, but unused variables. 21132 ext/openssl/ossl_pkey.c: ditto 21133 21134 * ext/openssl/ossl_pkey_dh.c: Make functions passed to 21135 rb_thread_blocking_region return VALUE instead of void. 21136 ext/openssl/ossl_pkey_dsa.c: ditto 21137 ext/openssl/ossl_pkey_rsa.c: ditto 21138 21139Tue Oct 18 23:28:53 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21140 21141 * hash.c (identhash): share with type_numhash. 21142 21143 * st.c (st_hashtype_num): rename from type_numhash. 21144 21145Tue Oct 18 23:07:30 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21146 21147 * vm_core.h (ruby_current_thread): probeprofiler has been removed 21148 long ago. 21149 21150Tue Oct 18 23:05:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21151 21152 * ext/ripper/eventids2.c (ripper_init_eventids2): separate 21153 initializations of IDs and objects. 21154 21155 * ext/ripper/tools/generate.rb (generate_eventids1): ditto. 21156 21157 * parse.y (Init_ripper, InitVM_ripper): fix inversed roles. 21158 21159Sun Oct 16 19:46:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21160 21161 * ext/bigdecimal/bigdecimal.gemspec (files): fixed typo, and 21162 removed nonexistent file. 21163 21164 * ext/bigdecimal/bigdecimal.gemspec (homepage): added. 21165 21166 * ext/io/console/io-console.gemspec (homepage): ditto. 21167 21168Fri Oct 14 12:13:57 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21169 21170 * ext/pty/pty.c (pty_check): should return nil until the child 21171 terminates or stops. [ruby-dev:44600] [Bug #2642] 21172 21173Fri Oct 14 11:19:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21174 21175 * include/ruby/intern.h (rb_ary_rotate): export. 21176 21177Fri Oct 14 05:58:05 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21178 21179 * atomic.h (ATOMIC_INC, ATOMIC_DEC): return old values. 21180 [ruby-dev:44596] [Bug #5439] 21181 21182 * signal.c (ruby_atomic_exchange): no needs to define on the 21183 platforms where atomic.h is available. 21184 21185Thu Oct 13 19:29:40 2011 Naohisa Goto <ngotogenome@gmail.com> 21186 21187 * atomic.h (ATOMIC_*): use atomic_ops(3C) when SunStudio on Solaris. 21188 [ruby-dev:44596] [Bug #5439] 21189 21190Thu Oct 13 18:13:04 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21191 21192 * atomic.h(ATOMIC_SET): add cast to void to prevent misuse. 21193 [ruby-dev:44596] [Bug #5439] 21194 21195Thu Oct 13 18:04:27 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21196 21197 * gc.c (rb_gc_finalize_deferred, rb_objspace_call_finalizer): 21198 should use ATOMIC_EXCHANGE() to check the previous value. 21199 [ruby-dev:44596] [Bug #5439] 21200 21201Wed Oct 12 23:39:58 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 21202 21203 * test/openssl/test_ssl.rb: Move duplicated tests for SSL::Session to 21204 test_ssl_session.rb 21205 21206Tue Oct 11 08:49:40 2011 Eric Hodel <drbrain@segment7.net> 21207 21208 * array.c (rb_ary_initialize): Improve explanation of Array.new 21209 parameters. Patch by Alvaro Pereyra Rabanal. [Ruby 1.9 - Bug #5425] 21210 * array.c (rb_ary_s_try_convert): Fix typo (try => tries) 21211 * array.c (rb_ary_rindex): Add spacing for block. 21212 * array.c (rb_ary_uniq_bang): Describe block 21213 * array.c (rb_ary_uniq): ditto 21214 21215Tue Oct 11 07:55:38 2011 Eric Hodel <drbrain@segment7.net> 21216 21217 * array.c: Add a description to Array, minor cleanups. Patch by 21218 Andrea Singh. [Ruby 1.9 - Bug #5412] 21219 21220Tue Oct 11 06:09:52 2011 Eric Hodel <drbrain@segment7.net> 21221 21222 * lib/pp.rb: Move PP documentation to top of class PP. Patch by 21223 Sylvain Daubert. [Ruby 1.9 - Bug #5430] 21224 21225Tue Oct 11 06:06:29 2011 Eric Hodel <drbrain@segment7.net> 21226 21227 * ext/coverage/coverage.c (Init_coverage): Change list format and 21228 describe Coverage.result output. Patch by Sylvain Daubert. 21229 [Ruby 1.9 - Bug #5428] 21230 21231Tue Oct 11 05:53:23 2011 Eric Hodel <drbrain@segment7.net> 21232 21233 * object.c (Init_Object): Add reference to BasicObject, brief 21234 explanation of constant lookup. Based on patch by Alvaro Pereyra 21235 Rabanal. 21236 [Ruby 1.9 - Bug #5426] 21237 21238Sun Oct 9 11:06:52 2011 Kazuki Tsujimoto <kazuki@callcc.net> 21239 21240 * test/psych/test_yamldbm.rb: don't run test if the system 21241 don't support yaml/dbm. 21242 21243 * test/syck/test_yamldbm.rb: ditto. 21244 21245Sat Oct 8 08:54:56 2011 Eric Hodel <drbrain@segment7.net> 21246 21247 * enum.c (group_by): Improve group_by description. Patch by b t. 21248 [#5411] 21249 21250Sat Oct 8 03:17:51 2011 Eric Hodel <drbrain@segment7.net> 21251 21252 * lib/shell.rb: Document some methods of Shell. Patch by Carol 21253 Nichols. [Ruby 1.9 - Bug #5417] 21254 21255Fri Oct 7 17:54:28 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21256 21257 * lib/test/unit/assertions.rb (assert_send, assert_not_send): 21258 parenthesize non-empty arguments. 21259 21260Fri Oct 7 06:35:50 2011 Eric Hodel <drbrain@segment7.net> 21261 21262 * array.c: Use + for arguments described in documentation to allow 21263 rdoc -C2 to work better. Remove <code> from method references to 21264 allow cross-references in HTML documentation. 21265 21266Thu Oct 6 18:46:23 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 21267 21268 * vm_eval.c (make_no_method_exception): fix typo. 21269 21270 * vm_insnhelper.c, vm_insnhelper.h: ditto. 21271 21272Thu Oct 6 16:29:30 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21273 21274 * vm_eval.c (make_no_method_execption): extract from 21275 raise_method_missing(). 21276 21277 * vm_eval.c (send_internal): remove inadvertent symbol creation 21278 from public_send. based on a patch by Jeremy Evans <code AT 21279 jeremyevans.net> in [ruby-core:38576]. [Feature #5112] 21280 21281 * vm_insnhelper.c (vm_call_method): remove inadvertent symbol 21282 creation from send and __send__, too. 21283 21284Thu Oct 6 14:59:11 2011 Eric Hodel <drbrain@segment7.net> 21285 21286 * lib/time.rb: Clean up Time documentation. Patch by Jake Goulding. 21287 [Ruby 1.9 - Bug #5416] 21288 21289Thu Oct 6 10:00:54 2011 Eric Hodel <drbrain@segment7.net> 21290 21291 * enum.c (group_by): Improve documentation based on patch by b t. 21292 21293Thu Oct 6 09:56:30 2011 Eric Hodel <drbrain@segment7.net> 21294 21295 * enum.c: Clean up wording in Enumerable documentation. Patch by b t. 21296 [Ruby 1.9 - Bug #5411] 21297 21298Thu Oct 6 09:17:18 2011 Eric Hodel <drbrain@segment7.net> 21299 21300 * time.c (Init_Time): Remove editorial comments from Time 21301 documentation, fix link. 21302 21303Thu Oct 6 09:14:20 2011 Eric Hodel <drbrain@segment7.net> 21304 21305 * time.c (Init_Time): Improve Time documentation. Patch by Shane 21306 Emmons. [Ruby 1.9 - Bug #5404] 21307 * lib/time.rb: Improve time.rb documentation including Time.strptime. 21308 Patch by Shane Emmons. [Ruby 1.9 - Bug #5402] 21309 21310Thu Oct 6 08:54:05 2011 Eric Hodel <drbrain@segment7.net> 21311 21312 * random.c: Improve documentation of Random. Patch by Gregory 21313 Parkhurst. [Ruby 1.9 - Bug #5410] 21314 21315Thu Oct 6 01:44:51 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 21316 21317 * cont.c (cont_mark): mark original Thread object from saved_thread. 21318 [ruby-dev:44571] [Bug #5386] 21319 21320Wed Oct 5 16:33:04 2011 NARUSE, Yui <naruse@ruby-lang.org> 21321 21322 * vm_insnhelper.c (vm_call_cfunc): remove useless hack. 21323 21324Wed Oct 5 05:56:39 2011 Eric Hodel <drbrain@segment7.net> 21325 21326 * hash.c (Init_Hash): Improve Hash documentation. Patch by Alvaro 21327 Pereyra Rabanal. [Ruby 1.9 - Bug #5405] 21328 21329Wed Oct 5 05:47:59 2011 Eric Hodel <drbrain@segment7.net> 21330 21331 * random.c (Init_Random): Add a top-level comment for Random. Patch 21332 by Brett Bim. [Ruby 1.9 - Bug #5403] 21333 21334Wed Oct 5 02:50:27 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21335 21336 * ext/psych/lib/psych/syntax_error.rb: Add file, line, offset, and 21337 message attributes during parse failure. 21338 * ext/psych/parser.c: Update parser to raise exception with correct 21339 values. 21340 * test/psych/test_exception.rb: corresponding tests. 21341 21342Wed Oct 5 01:52:16 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21343 21344 * ext/psych/parser.c (parse): Use context_mark for indicating error 21345 line and column. 21346 21347Wed Oct 5 01:22:08 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21348 21349 * ext/psych/lib/psych/scalar_scanner.rb: use normal begin / rescue 21350 since postfix rescue cannot receive the exception class. Thanks 21351 nagachika! 21352 21353Tue Oct 4 21:10:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21354 21355 * class.c (class_alloc): allocate extra memory after containing 21356 object setup to get rid of rare-but-potential memory leak. 21357 21358 * gc.c (gc_mark_children): skip marking extended members if ptr is 21359 NULL. 21360 21361Tue Oct 4 16:17:50 2011 NARUSE, Yui <naruse@ruby-lang.org> 21362 21363 * lib/time.rb (Time.strptime): use Time.at if d[:seconds] is set. 21364 Reported by Christopher Eberz. [ruby-core:39903] Bug #5399 21365 21366Tue Oct 4 11:44:10 2011 NARUSE, Yui <naruse@ruby-lang.org> 21367 21368 * gc.c (rb_gc_set_params): ruby_verbose can be Qnil, so use RTEST. 21369 21370Tue Oct 4 08:33:41 2011 Eric Hodel <drbrain@segment7.net> 21371 21372 * ext/etc/etc.c: Document Etc, Etc.sysconfdir, Etc.systmpdir. Patch 21373 by mathew murphy. [Ruby 1.9 - Bug #5396] 21374 21375Tue Oct 4 08:21:51 2011 Eric Hodel <drbrain@segment7.net> 21376 21377 * lib/shellwords.rb: Update toplevel comment with an example. Patch 21378 by Samnang Chhun. [Ruby 1.9 - Bug #5388] 21379 21380Tue Oct 4 08:15:50 2011 Eric Hodel <drbrain@segment7.net> 21381 21382 * proc.c (proc_call): Update documentation to match argument handling 21383 of proc/Proc.new/lambda/->() 21384 21385Tue Oct 4 07:59:16 2011 Eric Hodel <drbrain@segment7.net> 21386 21387 * proc.c (proc_call): Fix documentation of Proc#call vs Proc#===. 21388 [Ruby 1.9 - Bug #5349] 21389 21390Tue Oct 4 07:43:18 2011 Eric Hodel <drbrain@segment7.net> 21391 21392 * array.c (rb_ary_initialize): Make Array.new description match 21393 call-seq. Patch by Henry Maddocks. [Ruby 1.9 - Bug #5344] 21394 21395Tue Oct 4 07:35:23 2011 Eric Hodel <drbrain@segment7.net> 21396 21397 * array.c (rb_ary_initialize): Add output for examples. Patch by 21398 Jonathan Mukai. [Ruby 1.9 - Bug #5216] 21399 21400Tue Oct 4 07:30:50 2011 Eric Hodel <drbrain@segment7.net> 21401 21402 * array.c (rb_ary_s_create): Add example results for Array::[]. Patch 21403 by Jonathan Mukai. [Ruby 1.9 - Bug #5215] 21404 21405Tue Oct 4 07:15:17 2011 Eric Hodel <drbrain@segment7.net> 21406 21407 * lib/rubygems: Update to RubyGems 1.8.11. Move Deprecate into the 21408 Gem namespace. 21409 21410Tue Oct 4 06:43:47 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21411 21412 * ext/psych/lib/psych.rb: update psych version. 21413 * ext/psych/psych.gemspec: generate new gemspec for new version. 21414 21415Tue Oct 4 06:29:55 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21416 21417 * ext/psych/lib/psych.rb: calling `yaml` rather than `to_yaml`. 21418 * ext/psych/lib/psych/nodes/node.rb: Rename `to_yaml` to just `yaml` 21419 in order to avoid YAML::ENGINE switching from replacing this method. 21420 * test/psych/helper.rb: fix tests for method name change. 21421 * test/psych/test_document.rb: ditto 21422 * test/psych/visitors/test_emitter.rb: ditto 21423 21424Tue Oct 4 06:20:19 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21425 21426 * ext/psych/lib/psych/scalar_scanner.rb: Match values against the 21427 floating point spec defined in YAML to avoid erroneous parses. 21428 * test/psych/test_numeric.rb: corresponding test. 21429 21430Tue Oct 4 05:59:24 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21431 21432 * ext/psych/lib/psych/visitors/to_ruby.rb: ToRuby visitor can be 21433 constructed with a ScalarScanner. 21434 * ext/psych/lib/psych/visitors/yaml_tree.rb: ScalarScanner can be 21435 passed to the YAMLTree visitor. 21436 21437Tue Oct 4 05:47:23 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21438 21439 * ext/psych/lib/psych/visitors/to_ruby.rb: Define Regexp::NOENCODING 21440 for 1.9.2 backwards compatibility. 21441 * ext/psych/lib/psych/visitors/yaml_tree.rb: Fix Date string 21442 generation for 1.9.2 backwards compatibility. 21443 21444Mon Oct 3 23:56:39 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 21445 21446 * gc.c (rb_gc_set_params): output GC parameter change messages only 21447 if -w/-v options are specified. these messages are output to stderr, 21448 not to stdout. [ruby-core:39795] [Bug #5380] 21449 21450 * test/ruby/test_gc.rb (test_gc_parameter): add test for it. 21451 21452Sun Oct 2 20:05:32 2011 Kazuki Tsujimoto <kazuki@callcc.net> 21453 21454 * vm.c (rb_thread_mark), cont.c (cont_mark): revert r33369 and r33371 21455 that may cause SEGV in certain environments. 21456 21457Sun Oct 2 12:14:06 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21458 21459 * test/psych/test_yamldbm.rb: add test case. 21460 * test/syck/test_yamldbm.rb: ditto. 21461 21462Sun Oct 2 11:28:09 2011 Aaron Patterson <aaron@tenderlovemaking.com> 21463 21464 * lib/yaml/store.rb: make initialize method signature match the 21465 superclass signature. 21466 21467Sun Oct 2 10:44:01 2011 Kazuki Tsujimoto <kazuki@callcc.net> 21468 21469 * io.c: fix documentation of ARGF.lineno=. 21470 21471Sat Oct 1 20:03:19 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21472 21473 * lib/mkmf.rb (have_framework): try as Objective-C. 21474 https://twitter.com/nagachika/status/120294447660539904 21475 21476Sun Oct 2 08:43:25 2011 Kazuki Tsujimoto <kazuki@callcc.net> 21477 21478 * vm.c (rb_thread_mark), cont.c (cont_mark): self pointer should not 21479 be marked by itself. Patch by Koichi Sasada. 21480 [ruby-dev:44567] [Bug #5386] 21481 21482Sun Oct 2 00:42:14 2011 Kazuki Tsujimoto <kazuki@callcc.net> 21483 21484 * vm.c (rb_thread_mark): rb_thread_t needs self to be marked. 21485 [ruby-dev:44566] [Bug #5386] 21486 21487Sat Oct 1 09:48:53 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 21488 21489 * gc.c (add_heap_slots, init_heap): reset heaps_inc zero when 21490 heap slots are expanded by environment variable RUBY_HEAP_MIN_SLOTS. 21491 [ruby-core:39777] [Bug #5380] 21492 21493 * test/ruby/test_gc.rb (test_gc_parameter): add test for it. 21494 21495 * test/ruby/envutil.rb (assert_normal_exit): add :child_env option to 21496 enable pass environment variables to child process. 21497 21498Thu Sep 29 13:17:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21499 21500 * array.c (ary_join_1): should not copy the encoding of non-string 21501 element after string element. [ruby-core:39776] [Bug #5379] 21502 21503Thu Sep 29 11:53:56 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21504 21505 * gc.c (slot_sweep, rb_gc_finalize_deferred) 21506 (rb_objspace_call_finalizer, rb_gc): run finalizers 21507 sequentially. [ruby-dev:44562] 21508 21509Thu Sep 29 20:37:38 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21510 21511 * ext/gdbm/gdbm.c (rb_gdbm_fatal): adjust argument type. 21512 21513Thu Sep 29 20:10:42 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21514 21515 * gc.c (is_id_value, is_live_object): extract from id2ref(). 21516 21517 * gc.c (run_finalizer): use object instead of object id. 21518 21519Thu Sep 29 20:07:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21520 21521 * use RB_TYPE_P which is optimized for constant types, instead of 21522 comparison with TYPE. 21523 21524Wed Sep 28 09:20:37 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21525 21526 * configure.in (pthread_np.h): needs pthread.h to be included 21527 previously on OpenBSD. a patch by George Koehler <xkernigh AT 21528 netscape.net> at [ruby-core:39752]. [Bug #5376] 21529 21530Wed Sep 28 04:41:35 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21531 21532 * test/psych/test_yamlstore.rb: use tmpdir for tmpfile. 21533 * test/syck/test_yamlstore.rb: ditto. 21534 21535Wed Sep 28 04:10:46 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21536 21537 * ext/bigdecimal/README: update report to. 21538 21539Tue Sep 28 04:05:00 2011 Kenta Murata <mrkn@mrkn.jp> 21540 21541 * ext/bigdecimal/bigdecimal_en.html: removed because this file isn't 21542 maintained now. 21543 21544 * ext/bigdecimal/bigdecimal_ja.html: ditto. 21545 21546Tue Sep 27 09:55:40 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21547 21548 * thread_pthread.c: make native_fd_select(). 21549 * thread.c (do_select): remove #ifdef _WIN32. Instead, use 21550 native_fd_select() always. 21551 21552Tue Sep 27 09:44:59 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21553 21554 * thread.c (do_select): remove cygwin specific hack. It's layer 21555 violation and too large hack. 21556 * thread.c (cmp_tv, subtract_tv): removed. 21557 21558Tue Sep 27 03:50:19 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21559 21560 * test/rexml/test_sax.rb: add require 'rexml/document'. 21561 21562Tue Sep 27 03:32:27 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21563 21564 * test/psych/test_yamldbm.rb: fix #setup and #teardown. 21565 [Bug #5370] [ruby-core:39730] 21566 * test/syck/test_yamldbm.rb: ditto. 21567 21568Mon Sep 26 11:27:38 2011 NARUSE, Yui <naruse@ruby-lang.org> 21569 21570 * lib/webrick/httputils.rb: Add MIME Type definition of .js and .svg. 21571 patched by Hal Brodigan. [ruby-core:39704] [Bug #5365] 21572 21573Mon Sep 26 09:20:44 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21574 21575 * configure.in: remove DJGPP support. It's not longer supported 21576 since ruby 1.9.0. 21577 21578Mon Sep 26 09:07:46 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21579 21580 * include/ruby/defines.h: remove NextStep, OpenStep, Rhapsody 21581 support. Last activity of their OSes are 7 years ago. 21582 * configure.in: ditto. 21583 * dir.c: ditto. 21584 * ext/tk/extconf.rb: ditto. 21585 21586Mon Sep 26 09:02:49 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21587 21588 * configure.in: remove a code for human68k. it's no longer 21589 supported since r19677. 21590 21591Sun Sep 25 23:43:32 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21592 21593 * ext/openssl/ossl_asn1.c: fix int_ossl_asn1_decode0_cons when being 21594 fed arbitrary string values. 21595 Clearly distinguish between the cases "universal, infinite and 21596 not a SEQUENCE or SET" and "universal SEQUENCE or SET, possibly 21597 infinite". Raise error for universal tags that are not infinite. 21598 * test/openssl/test_asn1.rb: add a test for this. 21599 21600 Thanks to Hiroshi Yoshida for reporting this bug. 21601 [Bug #5363] [ruby-dev:44542] 21602 21603Sun Sep 25 20:57:18 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21604 21605 * test/syck/test/yamldbm.rb: add test for Syck::DBM. 21606 * test/psych/test_yamldbm.rb: add test for Psych::DBM. 21607 * test/psych/test_yamlstore.rb: add test for Psych::PStore. 21608 21609Sun Sep 25 20:54:10 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21610 21611 * lib/yaml/dbm/dbm.rb: fix #update, add #key for using instead #index. 21612 [Bug #5305][ruby-dev:44485] 21613 21614Sun Sep 25 16:54:33 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21615 21616 * encoding.c (require_enc): reject only loading from untrusted 21617 load paths. [ruby-dev:44541] [Bug #5279] 21618 21619 * transcode.c (load_transcoder_entry): ditto. 21620 21621Sun Sep 25 16:45:05 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21622 21623 * configure.in: ignore all warnings from an arbitrary 21624 header in /usr/local/include. 21625 21626Sun Sep 25 03:43:03 2011 NARUSE, Yui <naruse@ruby-lang.org> 21627 21628 * enum.c (slice_before_i): use rb_attr_get to suppress wrong warning 21629 for internal instance variable slicebefore_initial_state. 21630 21631Fri Sep 23 14:20:14 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21632 21633 * ext/openssl/ossl_asn1.c: remove unused variable. 21634 21635Fri Sep 23 13:46:59 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21636 21637 * test/openssl/test_ssl_session.rb: execute test_session_exts_read 21638 only for OpenSSL versions >= 0.9.8k. Thanks, Eric Wong, for 21639 reporting this. 21640 [Bug #4961] [ruby-core:37726] 21641 21642Fri Sep 23 11:59:08 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 21643 21644 * test/openssl/test_ssl_session.rb: ensure server calls callbacks in 21645 test_ctx_server_session_cb. Thanks to Eric Wong for the patch. 21646 [Bug #5336] [ruby-core:39619] 21647 21648Thu Sep 22 02:53:19 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21649 21650 * vm_insnhelper.c (vm_call_cfunc): suppress a warning. note that 21651 `volatile type *var' doesn't make var itself volatile. 21652 21653Thu Sep 22 01:52:48 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 21654 21655 * thread_pthread.c (ubf_select): activate timer thread when interrupt 21656 blocking thread. 21657 A patch created by Koichi Sasada. [ruby-core:39634] [Bug #5343] 21658 to cover race condition, timer thread periodically send SIGVTARLM to 21659 threads in signal thread list. so you should activate timer thread 21660 when interrupt a thread. 21661 21662Wed Sep 21 16:55:26 2011 NAKAMURA Usaku <usa@ruby-lang.org> 21663 21664 * test/io/wait/test_io_wait.rb (TestIOWait#setup): of course, the 21665 behavior of mingw is just same with mswin. 21666 21667Tue Sep 20 18:08:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21668 21669 * vm_insnhelper.c (vm_get_cvar_base): reduce duplicated checks and 21670 move a warning outside the loop. 21671 21672Mon Sep 19 18:55:51 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21673 21674 * lib/fileutils.rb (module FileUtils): improve performance of 21675 FileUtils.compare_stream. a patch by Masaki Matsushita. 21676 [Feature #5337] [ruby-core:39622] 21677 21678Mon Sep 19 18:42:58 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21679 21680 * test/-ext-/old_thread_select/test_old_thread_select.rb: 21681 select() with timeout may return early in old Linux kernels 21682 with 250 Hz tickrate and no dynticks, so skip everything older 21683 than 2.6.32 (which has long term support). 21684 And, Make the timing assertions consistently use assert_operator with 21685 timing difference in error message 21686 Patch by Eric Wong. [Bug #5335] [ruby-core:39618] 21687 21688Mon Sep 19 09:28:06 2011 Eric Hodel <drbrain@segment7.net> 21689 21690 * test/openssl/test_ssl.rb (class OpenSSL): Test 21691 OpenSSL::SSL::SSLSocket#session and #session=. 21692 21693Mon Sep 19 07:54:17 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21694 21695 * object.c (rb_obj_clone): singleton class should be attached 21696 singleton object to. a patch by Satoshi Shiba <shiba AT rvm.jp> 21697 at [ruby-dev:44460]. [Bug #5274] 21698 21699Sat Sep 17 23:34:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21700 21701 * parse.y (parser_data_type): inherit the core type in ripper so 21702 that checks in core would work. [ruby-core:39591] [Bug #5331] 21703 21704Sat Sep 17 12:44:04 2011 Kazuki Tsujimoto <kazuki@callcc.net> 21705 21706 * lib/find.rb (Find.find): add documentation that Find.find 21707 without block returns an enumerator. 21708 21709Thu Sep 15 11:39:43 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21710 21711 * gc.c (mark_entry, mark_key, mark_keyvalue): adjust callback 21712 argument types. 21713 21714Thu Sep 15 01:44:10 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21715 21716 * ext/tk/*: Change encoding from EUC-JP to UTF-8 21717 21718Wed Sep 14 11:43:37 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21719 21720 * thread.c (rb_fd_rcopy): added an argument guard. 21721 Patch by NAKAMURA Usaku. [Bug #5306] [ruby-core:39435] 21722 21723Tue Sep 13 20:21:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21724 21725 * lib/pstore.rb, test/test_pstore.rb: suppress warnings with -v. 21726 21727 * lib/pstore.rb (PStore): always open in binary mode even if 21728 default encodings are set. [Bug #5311] [ruby-core:39503] 21729 21730Tue Sep 13 05:37:15 2011 Yukihiro Matsumoto <matz@ruby-lang.org> 21731 21732 * io.c (Init_IO): update BINARY comment. it should not change the 21733 encoding of the result to ASCII-8BIT. [ruby-talk:387719] 21734 21735Mon Sep 12 19:55:00 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 21736 21737 * thread.c (rb_thread_select): fix to ignore an argument 21738 modification of rb_thread_fd_select(). 21739 based on a patch by Eric Wong. [Bug #5306] [ruby-core:39435] 21740 * thread.c (rb_fd_rcopy): New. for reverse fd copy. 21741 21742 * test/-ext-/old_thread_select/test_old_thread_select.rb 21743 (test_old_select_false_positive): test for bug5306. 21744 21745 * ext/-test-/old_thread_select/old_thread_select.c (fdset2array): 21746 New. convert fdsets to array. 21747 * ext/-test-/old_thread_select/old_thread_select.c (old_thread_select): 21748 return 'read', 'write', 'except' argument of rb_thread_select() 21749 to ruby script. 21750 21751Mon Sep 12 13:38:12 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21752 21753 * README.EXT, README.EXT.ja (2.2.2), parse.y (rb_check_id): add 21754 documents for rb_check_id(). 21755 21756Mon Sep 12 12:53:39 2011 NAKAMURA Usaku <usa@ruby-lang.org> 21757 21758 * lib/rake/file_list.rb (Rake::FileList#egrep): there is no need to 21759 open files in binary mode. 21760 see more details in https://github.com/jimweirich/rake/issues/74 21761 21762Mon Sep 12 12:42:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21763 21764 * test/ruby/test_exception.rb (TestException#test_exit_success_p): 21765 assert also the cases when exiting with true and false. 21766 21767 * lib/test/unit/assertions.rb (assert_send): make arguments in 21768 the default message clearer. 21769 21770Sun Sep 11 05:23:14 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 21771 21772 * lib/matrix.rb: Deal with subclasses of Matrix [redmine #5307] 21773 21774Sat Sep 10 13:38:20 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21775 21776 * dir.c (dir_s_aref): 21777 * dir.c (dir_entries): Two small documentation fixes. 21778 A patch from Aaron Lerch. [Bug #5302] [ruby-core:39404] 21779 21780Sat Sep 10 08:30:03 2011 Koichi Sasada <ko1@atdot.net> 21781 21782 * gc.c (GC_PROFILE_MORE_DETAIL, CALC_EXACT_MALLOC_SIZE): 21783 define macros only if they are not defined. 21784 fixes: [Ruby 1.9 - Feature #5291] 21785 21786Sat Sep 10 08:25:47 2011 Yukihiro Matsumoto <matz@ruby-lang.org> 21787 21788 * parse.y (bv_decls): parse.y relies on $$ = $1 before action 21789 routines. a patch from Michael Edgar. [Bug #5303] 21790 [ruby-core:39429] 21791 21792Sat Sep 10 01:37:55 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 21793 21794 * sample/drb/dhasenc.rb: coding cookie of Emacs is coding, 21795 not encoding. 21796 21797 * sample/mine.rb: ditto. 21798 21799Fri Sep 9 21:56:40 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21800 21801 * ext/bigdecimal/bigdecimal.c (BigDecimal_sqrt): Fix comment. 21802 BigDecimal#sqrt requires argument. Reported by Makoto Kishimoto. 21803 Thanks for your contribution. [Bug #5267] [ruby-dev:44452] 21804 21805Fri Sep 9 11:00:55 2011 Shota Fukumori <sorah@tubusu.net> 21806 21807 * test/rubygems/test_gem_commands_help_command.rb: Add one 21808 `require` because if run test-all with test/unit parallel 21809 running, sometimes this test fails by some constants not found. 21810 The error reason is some worker doesn't require the file needed by 21811 this test. This issue is related to [ruby-core:36168]. 21812 21813Fri Sep 9 10:22:03 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21814 21815 * thread.c (rb_thread_select): fix a typo to initialize efds 21816 properly. [Bug #5299] [ruby-core:39380] 21817 21818Fri Sep 9 02:02:09 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21819 21820 * template/yarvarch.ja: 21821 Change encoding from Shift_JIS to UTF-8 21822 21823Thu Sep 9 01:14:00 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21824 21825 * sample/drb/README.rd.ja: 21826 * sample/drb/dhasenc.rb: 21827 * sample/mine.rb: 21828 Change encoding from EUC-JP to UTF-8 21829 21830Thu Sep 8 21:03:22 2011 NARUSE, Yui <naruse@ruby-lang.org> 21831 21832 * ext/nkf/nkf-utf8/nkf.c: import nkf 2.1.2 (be9c280) 21833 Bump version number/release date only. 21834 21835Thu Sep 8 12:43:18 2011 Narihiro Nakamura <authornari@gmail.com> 21836 21837 * gc.c (Init_GC): defined GC::Profiler.raw_data. based on the 21838 patch by Eric Hodel. [ruby-core:37857] [Bug #4991] 21839 21840Thu Sep 8 09:02:53 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21841 21842 * gc.c (id2ref): objects which are unmarked but not in sweep_slots 21843 are not dead. 21844 21845Thu Sep 8 07:44:25 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21846 21847 * transcode.c (rb_declare_transcoder, load_transcoder_entry): no 21848 longer need to limit the length of transcoder library name. 21849 21850Thu Sep 8 07:36:36 2011 NARUSE, Yui <naruse@ruby-lang.org> 21851 21852 * ext/syck/lib/syck/types.rb: use toplevel Syck. 21853 for the case someone define Syck::Syck (or YAML::Syck). 21854 21855Thu Sep 8 07:33:12 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21856 21857 * gc.c (id2ref): unmarked object is already dead while lazy 21858 sweeping, and to it cannot come back since other objects 21859 referred from it might have been freed already. 21860 21861Wed Sep 8 03:48:00 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21862 21863 * ext/readline/README.ja: 21864 Change encoding from EUC-JP to UTF-8 21865 21866Wed Sep 8 02:59:00 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21867 21868 * test/rexml/test_encoding.rb: 21869 Add require 'require 'rexml/document' 21870 21871Wed Sep 8 02:53:00 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21872 21873 * ext/nkf/nkf-utf8/nkf.c: 21874 Change encoding from ISO-2022 to UTF-8 21875 21876Wed Sep 7 23:41:24 2011 Kouhei Sutou <kou@cozmixng.org> 21877 21878 * lib/rexml/parsers/baseparser.rb, test/rexml/test_comment.rb: 21879 allow a single hyphen in comment. [Bug #5278] [ruby-core:39289] 21880 Reported by Thomas Fritzsche. Thanks!!! 21881 21882Wed Sep 7 17:27:18 2011 NARUSE, Yui <naruse@ruby-lang.org> 21883 21884 * lib/yaml.rb: explicitly specify ::Object to avoid the collision with 21885 Syck::Object. 21886 21887Tue Sep 6 21:06:49 2011 Shota Fukumori <sorah@tubusu.net> 21888 21889 * lib/test/unit.rb (_run_suites): Now reports are written the 21890 following order: Skip, Failure, Error. [Feature #5282] 21891 21892 * test_sorting.rb: test for above. 21893 21894 * test4test_sorting.rb: Ditto. 21895 21896 * lib/test/unit.rb (run): Put RUBY_DESCRIPTION before quitting. 21897 [Feature #5282] 21898 21899Tue Sep 6 21:13:47 2011 Masaya Tarui <tarui@ruby-lang.org> 21900 21901 * win32/Makefile.sub (INSNS): change command line option -Ks to -Ku 21902 for generate *.inc. because insns.def encoding has been changed SJIS 21903 to UTF-8. if $BASERUBY is 1.9, -Ks cause an error. [Feature #5128] 21904 (same as r33194) 21905 21906Tue Sep 6 15:55:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21907 21908 * transcode.c (load_transcoder_entry): concatenate paths directly. 21909 21910 * encoding.c (load_encoding): predefined encoding names are safe. 21911 [ruby-dev:44469] [Bug #5279] 21912 21913 * transcode.c (load_transcoder_entry): ditto. 21914 21915Tue Sep 6 12:07:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21916 21917 * transcode.c: enabled econv newline option. 21918 21919Tue Sep 6 06:44:57 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 21920 21921 * numeric.c (dbl2ival): Fix Float#divmod and #round for 32 bit 21922 platform. part 1 of [bug #5276] 21923 21924Tue Sep 6 06:44:25 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 21925 21926 * numeric.c (flo_round): Fix criteria for 32 bits platform 21927 part 2 of [bug #5276] 21928 21929Tue Sep 6 05:37:11 2011 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> 21930 21931 * test/rinda/test_rinda.rb (test_core_03_notify): Fixed test failures 21932 [ruby-dev:44430] [Ruby 1.9 - Bug #372] 21933 21934Mon Sep 5 20:59:30 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 21935 21936 * insns.def: change encoding pragma for emacs (shift_jis to utf-8). 21937 21938Mon Sep 5 19:32:15 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 21939 21940 * Makefile.in (INSNS): change command line option -Ks to -Ku for 21941 generate *.inc. because insns.def encoding has been changed SJIS to 21942 UTF-8. if $BASERUBY is 1.9, -Ks cause an error. [Feature #5128] 21943 21944Mon Sep 5 18:10:56 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21945 21946 * transcode.c (rb_econv_binmode): newline decorators are 21947 exclusive. 21948 21949Mon Sep 5 15:03:37 2011 NARUSE, Yui <naruse@ruby-lang.org> 21950 21951 * test/rubygems/test_gem_security.rb 21952 (test_class_build_self_signed_cert): reset opt[:trust_dir] to apply 21953 temporary Gem.user_home. 21954 21955Mon Sep 5 10:04:35 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21956 21957 * README.ja, README.EXT.ja: resolve conflicts. [ruby-dev:44459] 21958 21959Mon Sep 5 05:13:22 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 21960 21961 * numeric.c (flo_round): Make Float#round round big values [bug 21962 #5272] 21963 21964Mon Sep 5 04:28:25 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 21965 21966 * numeric.c (int_round): Integer#round always returns an Integer [Bug 21967 #5271] 21968 21969Sun Sep 4 22:28:50 2011 Shugo Maeda <shugo@ruby-lang.org> 21970 21971 * lib/net/imap.rb (default_port, default_imap_port, 21972 default_tls_port, default_ssl_port, default_imaps_port): 21973 added methods for consistency with Net::POP. 21974 based on the patch by art lussos. [ruby-core:38997] [Bug #5198] 21975 21976Sun Sep 4 21:19:19 2011 Ayumu AIZAWA <ayumu.aizawa@gmail.com> 21977 21978 * Change encoding from EUC-JP to UTF-8. [Feature #5128] 21979 21980Sun Sep 4 00:47:39 2011 Kazuki Tsujimoto <kazuki@callcc.net> 21981 21982 * test/ruby/test_fiber.rb (TestFiber#test_no_valid_cfp): 21983 add a test. Unlike TestThread#test_no_valid_cfp, 21984 this test succeeds even if win32ole is required (see r33153). 21985 21986Sun Sep 4 00:11:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21987 21988 * variable.c (rb_const_set): show the previous definition 21989 location. [EXPERIMENTAL] 21990 21991Sat Sep 3 23:56:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21992 21993 * configure.in (sizeof_struct_dirent_too_small): check if struct 21994 dirent.d_name is too small. 21995 21996 * configure.in (RUBY_MINGW32): take tool prefix from CC. 21997 21998Sat Sep 3 23:52:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 21999 22000 * io.c (argf_next_argv): open in default text mode. 22001 [ruby-core:39234] [Bug #5268] 22002 22003Sat Sep 3 18:40:57 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 22004 22005 * lib/thread.rb (SizedQueue#max=): raise ArgumentError if max is not 22006 positive number. patch by Masaki Matsushita. 22007 [ruby-dev:44449] [Bug #5259] 22008 22009 * test/thread/test_queue.rb (test_sized_queue_initialize, 22010 test_sized_queue_assign_max): add tests for it. 22011 22012Fri Sep 2 21:11:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22013 22014 * io.c (validate_enc_binmode, prep_stdio): default to text mode on 22015 dosish platforms. [ruby-core:38822] [Bug #5164] 22016 22017 * transcode.c (rb_econv_prepare_options): keep default ecflags 22018 unchanged if no options. 22019 22020Fri Sep 2 14:36:47 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22021 22022 * vm_insnhelper.c (vm_search_const_defined_class): search 22023 ancestors only when global scope. [ruby-core:39227] [Bug #5264] 22024 22025Fri Sep 2 09:58:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22026 22027 * parse.y (parser_tokadd_string, parser_yylex): ignore a backslash 22028 which prefixes an non-ascii character, which has no escape 22029 syntax. [ruby-core:39222] [Ruby 1.9 - Bug #5262] 22030 22031Fri Sep 2 04:05:25 2011 Aaron Patterson <aaron@tenderlovemaking.com> 22032 22033 * ext/psych/lib/psych/visitors/yaml_tree.rb: emit strings tagged as 22034 ascii-8bit as binary in YAML. 22035 * test/psych/test_string.rb: corresponding test. 22036 22037Fri Sep 2 01:07:14 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22038 22039 * numeric.c (flo_round): substitute machine dependent magic number. 22040 22041Thu Sep 1 17:31:22 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22042 22043 * insns.def (defineclass), vm_insnhelper.c (vm_get_cvar_base): see 22044 also inherited constants for classes without superclass and 22045 modules. [ruby-core:37698] [Bug #3423] 22046 22047Thu Sep 1 16:18:44 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 22048 22049 * Release GVL while OpenSSL's public key generation. 22050 22051 t = Thread.new { print "."; sleep 0.1 } 22052 key = OpenSSL::PKey::RSA.new(2048) 22053 #=> Thread t works in parallel with public key generation if 22054 OS/machine allows it. 22055 22056 This works with OpenSSL >= 0.9.8. From this version, it has new 22057 public key generation function which allows us to interrupt the 22058 execution while pkey generation iterations. 22059 22060 * ext/openssl/extconf.rb: Check existence of OpenSSL's new public key 22061 generation function. (DH_generate_parameters_ex, 22062 DSA_generate_parameters_ex and RSA_generate_key_ex. 22063 22064 * ext/openssl/ossl_pkey.{h,c} (ossl_generate_cb_2, 22065 ossl_generate_cb_stop): Added new callback function for OpenSSL pkey 22066 generation which handles Thread interruption by Ruby. 22067 ossl_generate_cb_stop is the unblock function(ubf) for Ruby which 22068 sets a stop flag. New pkey generation callback ossl_generate_cb_2 22069 checks the stop flag at each iterations of OpenSSL and interrupts 22070 pkey generation when the flag is set. 22071 22072 * ext/openssl/ossl_pkey_dsa.c (dsa_generate): Call 22073 rb_thread_blocking_region with the above unblock function to release 22074 GVL while pkey generation. 22075 22076 * ext/openssl/ossl_pkey_rsa.c (rsa_generate): ditto. 22077 22078 * ext/openssl/ossl_pkey_dh.c (dh_generate): ditto. 22079 22080 * test/openssl/test_pkey_{dh,dsa,rsa}.rb: Test it. 22081 22082Thu Sep 1 14:06:54 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22083 22084 * test/ruby/test_thread.rb (TestThread#test_no_valid_cfp): skip when 22085 win32ole is required. in such case, win32ole redefines 22086 Thread#initialize, and the block argument becomes to be not the top 22087 of the thread, then this testcase always fails. 22088 22089Thu Sep 1 10:20:50 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22090 22091 * test/ruby/test_io_m17n.rb (TestIO_M17N#test_{default_mode_on_dosish, 22092 default_mode_on_unix,text_mode,binary_mode}): sorry for wrong test 22093 committed in r33144. I'd misunderstood the spec of ruby's universal 22094 newline. 22095 22096Thu Sep 1 09:27:57 2011 NARUSE, Yui <naruse@ruby-lang.org> 22097 22098 * variable.c (rb_autoloading_value): Fix the order of definitions. 22099 It is used by autoload_defined_p. 22100 22101Wed Aug 31 17:28:23 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 22102 22103 * variable.c (rb_autoload): There was a chance to run GC (from 22104 rb_str_new2()) before finishing autoload_data_i construction. It 22105 caused SEGV at rb_gc_mark() at autoload_i_mark. 22106 22107 * variable.c (rb_autoload_load): Move RB_GC_GUARD() to proper 22108 position based on suggestion by CHIKANAGA Tomoyuki at 22109 http://d.hatena.ne.jp/nagachika/20110826/ruby_trunk_changes_33070_33078 22110 22111 * variable.c (autoload_defined_p): Fix incompatible autoload behavior 22112 that causes Rails crash. Class definition instruction defined in 22113 'defineclass' in insns.def always invokes rb_autoload_load for a 22114 constant. It's invoked for every class definition regardless of 22115 existence of autoload definition. rb_autoload_load checks if a 22116 constant is defined as autoloaded, but new thread-safe autoload 22117 returned different value if the constant is under autoloading. 22118 22119Wed Aug 31 17:20:56 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 22120 22121 * Re-apply r33078, thread-safe autoload which is reverted at r33093. 22122 22123Wed Aug 31 16:28:04 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22124 22125 * test/ruby/test_io_m17n.rb (TestIO_M17N#test_{default_mode_on_dosish, 22126 default_mode_on_unix,text_mode,binary_mode}): tests for [Bug #5164]. 22127 22128Wed Aug 31 15:54:11 2011 NARUSE, Yui <naruse@ruby-lang.org> 22129 22130 * ext/json: Merge json gem v1.5.4 (3dab4c5a6a97fac03dac). 22131 22132Wed Aug 31 13:09:41 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 22133 22134 * numeric.c (flo_round): Avoid overflow by optimizing for trivial 22135 cases [Bug #5227] 22136 22137Wed Aug 31 00:50:01 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22138 22139 * win32/win32.c (rb_w32_select_with_thread): and my typo. we all must 22140 be more careful. 22141 22142Wed Aug 31 00:48:38 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22143 22144 * thread.c (rb_thread_select): critical typo in r33117. 22145 22146Wed Aug 31 00:30:49 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22147 22148 * test/-ext-/old_thread_select/test_old_thread_select.rb 22149 (TestOldThreadSelect#test_old_select_read_timeout): if the machine 22150 is fast enough, the time used by code around IO.select may be smaller 22151 than Time implement threshold. 22152 22153Wed Aug 31 00:04:38 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22154 22155 * ext/-test-/old_thread_select/old_thread_select.c (old_thread_select): 22156 typo. 22157 22158 * test/-ext-/old_thread_select/test_old_thread_select.rb 22159 (TestOldThreadSelect#test_old_select_signal_safe): use SIGINT instead 22160 of SIGUSR1 because the former is general and the latter is platform 22161 dependent. 22162 22163Tue Aug 30 23:59:36 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22164 22165 * win32/win32.c, include/ruby/intern.h (rb_w32_fd_copy): implement 22166 for rb_thread_select() in thread.c. the use of rb_fd_copy() is 22167 introduced in r33117. 22168 [Bug #5251] [ruby-core:39195] 22169 22170 * thread.c (rb_thread_select): must call rb_fd_init() before using 22171 rb_fdset_t. see the implementations of rb_fd_init()s if you want to 22172 know the reason. 22173 22174Tue Aug 30 22:34:45 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 22175 22176 * test/dl/test_callback.rb (test_callback_with_string): prevents 22177 temporary string from GC. 22178 22179Tue Aug 30 22:25:38 2011 NAKAMURA Usaku <usa@ruby-lang.org> 22180 22181 * vm_insnhelper.c (vm_call_cfunc): revert r33112. RB_GC_GUARD macro 22182 protect a VALUE from GC. It's not for general anti-optimizing 22183 purpose. 22184 22185Tue Aug 30 11:06:19 2011 NARUSE, Yui <naruse@ruby-lang.org> 22186 22187 * ext/json: Merge json gem 1.5.4+ (2149f4185c598fb97db1). 22188 [Bug #5173] [ruby-core:38866] 22189 22190Tue Aug 30 09:57:50 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22191 22192 * lib/thread.rb (Queue#pop): fix a race against Thread.wakeup. 22193 Patch by Masaki Matsushita <glass.saga at gmail dot com> 22194 [Bug #5195] [ruby-dev:44400] 22195 22196Tue Aug 30 09:48:07 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22197 22198 * cont.c (fiber_entry): fix stack allocation failure on Debian 22199 GNU/kFreeBSD. 22200 Patch by Lucas Nussbaum <lucas at lucas-nussbaum dot net>. 22201 [Bug #5241] [ruby-core:39147] 22202 22203Tue Aug 30 09:28:01 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22204 22205 * thread.c (rb_thread_select): rewrite by using 22206 rb_thread_fd_select(). old one is EINTR unsafe. 22207 Patch by Eric Wong. [Bug #5229] [ruby-core:39102] 22208 22209 * test/-ext-/old_thread_select/test_old_thread_select.rb: 22210 a testcase for rb_thread_select(). 22211 * ext/-test-/old_thread_select/old_thread_select.c: ditto. 22212 * ext/-test-/old_thread_select/depend: ditto. 22213 * ext/-test-/old_thread_select/extconf.rb: ditto. 22214 22215Tue Aug 30 09:08:22 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22216 22217 * configure.in: fix a build failure on GNU Hurd. 22218 Patch by Samuel Thibault <sthibault at debian dot org>. Thank you! 22219 [Bug #5250] [ruby-core:39185] 22220 22221Sun Aug 29 23:22:00 2011 Kenta Murata <mrkn@mrkn.jp> 22222 22223 * test/ruby/test_numeric.rb (test_num2long): modify a test against the 22224 change by r33108. 22225 22226Sun Aug 29 09:58:00 2011 Kenta Murata <mrkn@mrkn.jp> 22227 22228 * numeric.c (bit_coerce): A Fixnum and a Bignum are only permitted for 22229 bitwise arithmetic with a Fixnum. #1792 22230 22231 * test/ruby/test_fixnum.rb: add tests for the above change. 22232 22233 * bignum.c (bit_coerce): A Fixnum and a Bignum are only permitted for 22234 bitwise arithmetic with a Bignum. #1792 22235 22236 * test/ruby/test_bignum.rb: add tests for the above change. 22237 22238Sun Aug 28 15:38:17 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 22239 22240 * ext/date/date_parse.c (date_zone_to_diff): keep a temporary string 22241 stored in variable while the contents buffer is being used. 22242 22243 * ext/date/date_parse.c (date_zone_to_diff): get rid of out of bounds 22244 memory read. [ruby-dev:44409] [Bug #5213] 22245 22246Sun Aug 28 05:29:50 2011 Ryan Davis <ryand-ruby@zenspider.com> 22247 22248 * lib/minitest/*: Imported minitest 2.5.1 (r6596) 22249 * test/minitest/*: ditto 22250 22251Sat Aug 27 20:46:05 2011 Kazuki Tsujimoto <kazuki@callcc.net> 22252 22253 * vm.c (rb_vm_rewrite_dfp_in_errinfo): change return type 22254 to suppress a warning. 22255 22256 * vm_core.h: ditto. 22257 22258Sat Aug 27 19:04:06 2011 NARUSE, Yui <naruse@ruby-lang.org> 22259 22260 * internal.h (rb_strftime_timespec): moved from time.c and define only 22261 if ruby/encoding.h is included. 22262 22263 * internal.h (rb_strftime): ditto. 22264 22265Sat Aug 27 18:53:51 2011 Kazuki Tsujimoto <kazuki@callcc.net> 22266 22267 * proc.c (proc_new): force to rewrite errinfo when calling Proc.new in ensure. 22268 [Bug #5234] [ruby-core:39125] 22269 This code will be removed after changing throw mechanism (see r33064). 22270 22271 * vm.c (rb_vm_rewrite_dfp_in_errinfo): new function. 22272 22273 * vm.c (vm_make_env_each): changed accordingly. 22274 22275 * vm_core.h: ditto. 22276 22277 * bootstraptest/test_flow.rb: add tests for above. 22278 22279Sat Aug 27 18:44:06 2011 NARUSE, Yui <naruse@ruby-lang.org> 22280 22281 * internal.h (rb_strftime_timespec): move to time.c because it depends 22282 encoding.h. 22283 22284Sat Aug 27 18:17:58 2011 NARUSE, Yui <naruse@ruby-lang.org> 22285 22286 * strftime.c (rb_strftime_with_timespec): get enc argument to specify 22287 the encoding of the format. On Windows (at least Japanese Windows), 22288 Time#strftime("%Z") includes non ASCII in locale encoding (CP932). 22289 So convert locale to default internal. [ruby-core:39092] [Bug #5226] 22290 22291 * strftime.c (rb_strftime): ditto. 22292 22293 * strftime.c (rb_strftime_timespec): ditto. 22294 22295 * internal.h (rb_strftime_timespec): follow above. 22296 22297 * time.c (rb_strftime_alloc): ditto. 22298 22299 * time.c (strftimev): ditto. 22300 22301 * time.c (time_strftime): ditto. 22302 22303 * time.c (time_to_s): the resulted string of Time#to_s is always 22304 ascii only, so this should be US-ASCII. 22305 22306 * time.c (time_asctime): ditto. 22307 22308Sat Aug 27 11:18:12 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 22309 22310 * Revert r33078. It caused a Rails application NoMethodError. 22311 22312 /home/nahi/git/emptyApp/ruby/1.9.1/gems/rack-mount-0.6.14/lib/rack/mount/utils.rb:157: warning: toplevel constant ScanError referenced by Regin::Parser::ScanError 22313 /home/nahi/git/emptyApp/ruby/1.9.1/gems/rack-mount-0.6.14/lib/rack/mount/vendor/regin/regin/parser.rb:17:in `parse_regexp': undefined method `scan_str' for #<Regin::Parser:0x00000002344548> (NoMethodError) 22314 22315Sat Aug 27 08:44:58 2011 Eric Hodel <drbrain@segment7.net> 22316 22317 * lib/rdoc: Import RDoc 3.9.4. Typo and grammar fixes by Luke Gruber. 22318 [Ruby 1.9 - Bug #5203] 22319 22320Sat Aug 27 07:53:34 2011 Eric Hodel <drbrain@segment7.net> 22321 22322 * lib/open-uri.rb: Fix indentation of OpenURI::OpenRead#open. Use ++ 22323 instead of `' for method arguments in open-uri.rb 22324 22325Sat Aug 27 07:22:07 2011 Eric Hodel <drbrain@segment7.net> 22326 22327 * ext/pathname/lib/pathname.rb: Fix typos and grammar mistakes. Patch 22328 by Luke Gruber. [#5203] 22329 * ext/pty/lib/expect.rb: ditto 22330 * lib/mathn.rb: ditto 22331 * lib/net/http.rb: ditto 22332 * lib/open-uri.rb: ditto 22333 * lib/ostruct.rb: ditto 22334 * lib/tempfile.rb: ditto 22335 * lib/thread.rb: ditto 22336 * lib/weakref.rb: ditto 22337 * sample/webrick/httpproxy.rb: ditto 22338 22339Sat Aug 27 04:03:18 2011 Koichi Sasada <ko1@atdot.net> 22340 22341 * iseq.c (iseq_data_to_ary): fix type of variable 22342 (long -> unsigned long) to suppress a warning. 22343 22344Sat Aug 27 04:02:11 2011 Koichi Sasada <ko1@atdot.net> 22345 22346 * vm_core.h: add a decl. of rb_autoloading_value(). 22347 22348Fri Aug 26 19:12:08 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 22349 22350 * variable.c: Make autoload thread-safe. See #921. 22351 22352 What's the problem? 22353 autoload is thread unsafe. When we define a constant to be 22354 autoloaded, we expect the constant construction is invariant. But 22355 current autoload implementation allows other threads to access the 22356 constant while the first thread is loading a file. 22357 22358 What's happening inside? 22359 The current implementation uses Qundef as a marker of autoload in 22360 Constant table. Once the first thread find Qundef as a value at 22361 constant lookup, it starts loading a defined feature. Generally a 22362 loaded file overrides the Qundef in Constant table by module/class 22363 declaration at very beginning lines of the file, so other threads 22364 can see the new Module/Class object before feature loading is 22365 finished. It breaks invariant construction. 22366 22367 How to solve? 22368 To ensure invariant constant construction, we need to override 22369 Qundef with defined Object after the feature loading. For keeping 22370 Qundef in Constant table, I expanded autoload_data struct in 22371 Module to have a slot for keeping the defined object while feature 22372 loading. And changed Module's constant lookup/update logic a 22373 little so that the slot is only visible from the thread which 22374 invokes feature loading. (== the first thread which accessed the 22375 autoload constant) 22376 22377 Evaluation? 22378 All test passes (bootstrap test, test-all and RubySpec) and added 22379 8 tests for threading behavior. Extra logics are executed only 22380 when Qundef is found, so no perf drop should happen except 22381 autoloading. 22382 22383 * variable.c (rb_autoload): Prepare new autoload_data struct. 22384 22385 * variable.c (rb_autoload_load): Load feature and update Constant 22386 table after feature loading is finished. 22387 22388 * variable.c (rb_const_get_0): When the fetched constant is under 22389 autoloading, it returns the object only for the thread which starts 22390 autoloading. 22391 22392 * variable.c (rb_const_defined_0): Ditto. 22393 22394 * variable.c (rb_const_set): When the specified constant is under 22395 autoloading, it sets the object only for the thread which starts 22396 autoloading. Otherwise, simply overrides Qundef with constant 22397 override warning. 22398 22399 * vm_insnhelper.c (vm_get_ev_const): Apply same change as 22400 rb_const_get_0 in variable.c. 22401 22402 * test/ruby/test_autoload.rb: Added tests for threading behavior. 22403 22404Fri Aug 26 10:10:37 2011 Eric Hodel <drbrain@segment7.net> 22405 22406 * lib/rubygems: Update to RubyGems 1.8.10. Fixes security issue in 22407 creating ruby-format gemspecs. Fixes Gem.dir not being at the front 22408 of Gem.path to fix uninstall and cleanup commands. Fixes gem 22409 uninstall stopping on the first missing gem. 22410 22411Fri Aug 26 08:21:10 2011 Aaron Patterson <aaron@tenderlovemaking.com> 22412 22413 * time.c (strftimev): Make Time#to_s default to US-ASCII encoding but 22414 respect Encoding.default_internal. [ruby-core:39092] 22415 * test/ruby/test_time.rb (class TestTime): Corresponding test. 22416 22417Thu Aug 25 09:43:16 2011 Eric Hodel <drbrain@segment7.net> 22418 22419 * ext/openssl/lib/openssl/bn.rb: Hide copyright info from RDoc. 22420 * ext/openssl/lib/openssl/digest.rb: ditto 22421 * ext/openssl/lib/openssl/x509.rb: ditto 22422 * ext/openssl/lib/openssl/cipher.rb: ditto 22423 22424Thu Aug 25 09:25:48 2011 Eric Hodel <drbrain@segment7.net> 22425 22426 * ext/openssl/ossl_digest.c: Document OpenSSL::Digest::digest and add 22427 an example to OpenSSL::Digest. Patch by Sylvain Daubert. 22428 [Ruby 1.9 - Bug #5166] 22429 * ext/openssl/lib/openssl/digest.rb (module OpenSSL): ditto 22430 22431Thu Aug 25 08:19:43 2011 Koichi Sasada <ko1@atdot.net> 22432 22433 * vm.c (vm_make_env_each): work around to solve Bug #2729. 22434 fixes: Bug #2729 22435 a patch from Kazuki Tsujimoto <kazuki@callcc.net> 22436 This problem is caused by changing dfp (dynamic env pointer) 22437 from saved dfp. Saved dfp is pointed env in VM stack. However, 22438 the dfp can be moved because VM copies env from VM stack to 22439 the heap. At this copying, dfp was also changed. To solve this 22440 problem, I'll try to change throw mechanism (not save target dfp, 22441 but save target cfp). 22442 22443 * bootstraptest/test_flow.rb: add a test for above. 22444 22445Thu Aug 25 07:57:33 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 22446 22447 * numeric.c (int_round): Fix Integer#round [ruby-core:39096] 22448 22449Thu Aug 25 07:00:00 2011 Koichi Sasada <ko1@atdot.net> 22450 22451 * vm_insnhelper.h, vm_insnhelper.c, vm.c, vm_method.c, insns.def: 22452 Manage a redefinition of special methods for each classes. 22453 A patch from Joel Gouly <joel.gouly@gmail.com>. Thanks! 22454 22455Thu Aug 25 06:51:08 2011 Aaron Patterson <aaron@tenderlovemaking.com> 22456 22457 * ext/psych/lib/psych.rb: Fixing psych version number. 22458 * ext/psych/psych.gemspec: updating the gemspec. 22459 22460Thu Aug 25 06:11:35 2011 Aaron Patterson <aaron@tenderlovemaking.com> 22461 22462 * ext/psych/lib/psych/nodes/node.rb: default `to_yaml` encoding to be 22463 UTF-8. 22464 * test/psych/test_encoding.rb: test yaml dump encoding. 22465 22466Thu Aug 25 01:24:33 2011 Naohisa Goto <ngotogenome@gmail.com> 22467 22468 * test/fileutils/test_fileutils.rb (test_chmod_symbol_mode): Solaris 22469 seems to behave the same as FreeBSD. 22470 22471Thu Aug 25 01:11:36 2011 Naohisa Goto <ngotogenome@gmail.com> 22472 22473 * test/ruby/test_rubyoptions.rb (test_script_from_stdin): slave pty 22474 should be manipulated because master pty may not be a tty on some 22475 environment (e.g. Solaris). [Bug:#5222] [ruby-dev:44420] 22476 22477Wed Aug 24 15:13:56 2011 Koichi Sasada <ko1@atdot.net> 22478 22479 * iseq.h, iseq.c, compile.c: Change the line number data structure 22480 to solve an issue reported at [ruby-dev:44413] [Ruby 1.9 - Bug #5217]. 22481 Before this fix, each instruction has an information including 22482 line number (iseq::iseq_insn_info_table). Instead of this data 22483 structure, recording only line number changing places 22484 (iseq::iseq_line_info_table). 22485 The order of entries in iseq_line_info_table is ascending order of 22486 iseq_line_info_table_entry::position. You can get a line number 22487 by an iseq and a program counter with this data structure. 22488 This fix reduces memory consumption of iseq (bytecode). 22489 On my measurement, a rails application consumes 21.8MB for 22490 iseq with this fix on the 32bit CPU. Without this fix, it 22491 consumes 24.7MB for iseq [ruby-dev:44415]. 22492 22493 * proc.c: ditto. 22494 22495 * vm_insnhelper.c: ditto. 22496 22497 * vm_method.c: ditto. 22498 22499 * vm.c (rb_vm_get_sourceline): change to use rb_iseq_line_no(). 22500 22501Wed Aug 24 09:49:10 2011 Koichi Sasada <ko1@atdot.net> 22502 22503 * insns.def (defined): fix to checking class variable. 22504 A patch by Magnus Holm <judofyr@gmail.com>. Thanks! 22505 22506 * test/ruby/test_variable.rb: add a test for above. 22507 22508Wed Aug 24 08:53:06 2011 Eric Hodel <drbrain@segment7.net> 22509 22510 * lib/rdoc: Update to RDoc 3.9.3. Fixes RDoc with `ruby -Ku`. Allows 22511 HTTPS image paths to be turned into <img> tags. Prevents special 22512 markup inside <tt> from being processed. 22513 22514Wed Aug 24 07:57:43 2011 Eric Hodel <drbrain@segment7.net> 22515 22516 * lib/rubygems: Update to RubyGems 1.8.9. Fixes uninstalling multiple 22517 gems and gem cleanup. 22518 22519Wed Aug 24 06:45:20 2011 Ryan Davis <ryand-ruby@zenspider.com> 22520 22521 * lib/minitest/*: Imported minitest 2.5.0 (r6557) 22522 * test/minitest/*: ditto 22523 22524Wed Aug 24 00:38:22 2011 Yusuke Endoh <mame@tsg.ne.jp> 22525 22526 * thread.c (update_coverage): skip coverage count up if the current 22527 line is out of the way. rb_sourceline() is unreliable when source 22528 code is big. [ruby-dev:44413] 22529 22530 * test/coverage/test_coverage.rb: add a test for above. 22531 22532Tue Aug 23 15:23:56 2011 Eric Hodel <drbrain@segment7.net> 22533 22534 * load.c (rb_f_require): Improve documentation of Kernel#require. 22535 [Ruby 1.9 - Bug #5210] 22536 22537Tue Aug 23 11:27:26 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 22538 22539 * ext/zlib/zlib.c (gzfile_read_header): Ensure that each section of 22540 gzip header is readable to avoid SEGV. 22541 22542 * test/zlib/test_zlib.rb (test_corrupted_header): Test it. 22543 22544Mon Aug 22 23:43:33 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 22545 22546 * sprintf.c (rb_str_format): add RB_GC_GUARD to prevent temporary 22547 strings from GC. 22548 22549Sun Aug 21 17:49:53 2011 Kazuki Tsujimoto <kazuki@callcc.net> 22550 22551 * iseq.c (iseq_s_disasm): remove variable which is no longer used 22552 since r33013. 22553 22554Sun Aug 21 14:20:58 2011 Naohisa Goto <ngotogenome@gmail.com> 22555 22556 * configure.in: use LD_LIBRARY_PATH_64 on 64-bit Solaris. 22557 22558Sat Aug 20 13:19:52 2011 Kazuki Tsujimoto <kazuki@callcc.net> 22559 22560 * iseq.c (iseq_s_disasm): fix a bug that may cause SEGV. 22561 22562 * test/ruby/test_method.rb (test_body): add a test for the above change. 22563 22564Sat Aug 20 10:43:24 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22565 22566 * ext/stringio/stringio.c (strio_read): return new string if nil 22567 is explicitly given as a buffer ([Bug #5207]), otherwise set the 22568 encoding. also removed dead code. 22569 22570Fri Aug 19 14:25:51 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22571 22572 * process.c (proc_spawn_v, proc_spawn): should not wait the 22573 spawned process. 22574 22575 * process.c (proc_spawn_v): fix missing argument, and try with 22576 /bin/sh only if failed with ENOEXEC. 22577 22578Fri Aug 19 14:12:57 2011 Shugo Maeda <shugo@ruby-lang.org> 22579 22580 * lib/net/imap.rb (idle): raises a Net::IMAP::Error when the 22581 connection is closed. based on the patch by Hugo Barauna. 22582 [Bug #5190] [ruby-core:38930] 22583 22584Fri Aug 19 13:18:00 2011 Kenta Murata <mrkn@mrkn.jp> 22585 22586 * configure.in: defines _DARWIN_UNLIMITED_SELECT if the target_os 22587 is darwin. 22588 22589Fri Aug 19 13:14:00 2011 Kenta Murata <mrkn@mrkn.jp> 22590 22591 * thread.c: add a description for the behavior of select(2) on 22592 Mac OS X 10.7 (Lion). 22593 22594Fri Aug 19 11:28:58 2011 Shugo Maeda <shugo@ruby-lang.org> 22595 22596 * lib/net/imap.rb (msg_att): accepts extra space before ')'. 22597 based on the patch by art lussos. [Bug #5163] [ruby-core:38820] 22598 22599Wed Aug 17 23:01:00 2011 Kenta Murata <mrkn@mrkn.jp> 22600 22601 * ext/bigdecimal/bigdecimal.c (cannot_be_coerced_into_BigDecimal): 22602 remove duplication. 22603 22604Wed Aug 17 15:27:00 2011 Kenta Murata <mrkn@mrkn.jp> 22605 22606 * ext/bigdecimal/bigdecimal.c (cannot_be_coerced_into_BigDecimal): 22607 add a new function for raising error when an object cannot coerce 22608 into BigDecimal. [Bug #5172] 22609 22610 * ext/bigdecimal/bigdecimal.c (BigDecimalValueWithPrec): use 22611 cannot_be_coerced_into_BigDecimal function. 22612 22613 * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): ditto. 22614 22615 * ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto. 22616 22617 * test/bigdecimal/test_bigdecimal.rb: test for the above changes. 22618 22619 * test/bigdecimal/testbase.rb (under_gc_stress): add a new utility 22620 method to run tests under the condition of GC.stress = true. 22621 22622Wed Aug 17 10:16:00 2011 Kenta Murata <mrkn@mrkn.jp> 22623 22624 * rational.c (nurat_coerce): Rational#coerce should converts itself 22625 into Complex if the argument is a Complex with non-zero imaginary 22626 part. [Bug #5020] [ruby-dev:44088] 22627 22628 * test/ruby/test_rational.rb (test_coerce): test for the above change. 22629 22630Wed Aug 17 06:33:19 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 22631 22632 * ext/openssl/ossl_x509cert.c: Add class documentation for 22633 OpenSSL::X509::Certificate. 22634 22635Wed Aug 17 04:54:25 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 22636 22637 * ext/openssl/ossl_pkey.c: corrected docs, OpenSSL::PKey::DH does 22638 *not* support #sign/verify. 22639 22640Tue Aug 16 18:56:54 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22641 22642 * vm.c (ruby_threadptr_data_type): rename to hide. 22643 [ruby-core:38972] 22644 22645Tue Aug 16 18:52:08 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22646 22647 * win32/mkexports.rb (Exports::Mswin#each_export): exclude Init_ 22648 and _threadptr_ functions, as well as mingw. 22649 22650Tue Aug 16 09:31:44 2011 Eric Hodel <drbrain@segment7.net> 22651 22652 * ext/dl: Add documentation. Patch by Vincent Batts. 22653 [Ruby 1.9 - Bug #5192] 22654 22655Tue Aug 16 08:48:26 2011 Eric Hodel <drbrain@segment7.net> 22656 22657 * ext/.document (fiddle): Remove duplicate entry 22658 * ext/fiddle: Complete documentation of Fiddle. Patch by Vincent 22659 Batts. [#5192] 22660 22661Tue Aug 16 08:00:15 2011 Eric Hodel <drbrain@segment7.net> 22662 22663 * ext/socket: Make Socket documentation appear. Add documentation for 22664 Socket, TCPServer, SOCKSSocket. Patch by Sylvain Daubert. 22665 [Ruby 1.9 - Feature #5182] 22666 22667Mon Aug 15 09:58:55 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 22668 22669 * ext/openssl/ossl_ssl.c: Support disabling OpenSSL compression. 22670 22671 * test/openssl/test_ssl.rb: Add a test for it. 22672 Thanks to Eric Wong for the patch. 22673 [Ruby 1.9 - Feature #5183] [ruby-core:38911] 22674 22675Sun Aug 14 05:57:01 2011 Tanaka Akira <akr@fsij.org> 22676 22677 * test/socket/test_socket.rb (test_connect_timeout): added a test 22678 based on a patch by Eric Wong. [ruby-core:38910] 22679 22680Sat Aug 13 22:17:27 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22681 22682 * tool/mkconfig.rb: do not make the entries related to sitedir and 22683 verdordir if disabled by --without options. [ruby-core:38922] 22684 [Bug #5187] 22685 22686Sat Aug 13 17:03:22 2011 Tadayoshi Funaba <tadf@dotrb.org> 22687 22688 * ext/date/date_core.c: [ruby-core:38861] 22689 22690Sat Aug 13 09:39:07 2011 Tadayoshi Funaba <tadf@dotrb.org> 22691 22692 * test/date/test_*.rb: added tests. 22693 22694Sat Aug 13 09:36:19 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 22695 22696 * ext/date/date_parse.c (parse_ddd_cb): fix r32896. RB_GC_GUARD 22697 insertion position was mistaken. [ruby-dev:44337] [Bug #5152] 22698 22699Sat Aug 13 09:26:24 2011 Aaron Patterson <aaron@tenderlovemaking.com> 22700 22701 * ext/psych/lib/psych/core_ext.rb: Make Kernel#y private. 22702 [ruby-core:38913] 22703 22704 * test/psych/test_yaml.rb: corresponding test. 22705 22706Sat Aug 13 09:05:16 2011 Tadayoshi Funaba <tadf@dotrb.org> 22707 22708 * ext/date/date_core.c (date_strftime_alloc): followed the change 22709 of r32885. 22710 22711 * doc/NEWS-1.9.3: followed the above change. 22712 22713Sat Aug 13 08:55:38 2011 Aaron Patterson <aaron@tenderlovemaking.com> 22714 22715 * ext/psych/lib/psych/scalar_scanner.rb: Only consider strings 22716 with fewer than 2 dots to be numbers. [ruby-core:38915] 22717 22718Sat Aug 13 08:47:20 2011 Tadayoshi Funaba <tadf@dotrb.org> 22719 22720 * ext/date/date_core.c: [ruby-core:38855]. 22721 22722Sat Aug 13 03:41:37 2011 Eric Hodel <drbrain@segment7.net> 22723 22724 * lib/uri/common.rb: Fix documentation of URI::Parser.new. Patch by 22725 Steve Klabnik. [Ruby 1.9 - Bug #5177] 22726 22727Sat Aug 13 02:19:57 2011 Eric Hodel <drbrain@segment7.net> 22728 22729 * ext/digest/digest.c: Add documentation for the Digest module. Patch 22730 by Sylvain Daubert. [Ruby 1.9 - Bug #5167] 22731 22732Sat Aug 13 01:56:11 2011 Eric Hodel <drbrain@segment7.net> 22733 22734 * lib/rake: Update to Rake 0.9.2.2. Prevent pollution of toplevel 22735 namespace by Commands. Remove unused variable and debugging 22736 statement in tests. 22737 22738Fri Aug 12 11:39:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22739 22740 * configure.in: Describe "no" configure option for site_ruby 22741 and vendor_ruby. Patch by Vit Ondruch. [Bug #5187][ruby-core:38921] 22742 22743Fri Aug 12 09:00:24 2011 Eric Hodel <drbrain@segment7.net> 22744 22745 * lib/rubygems: Import RubyGems 1.8.8. Fixes encoding of YAML gemspec 22746 from gems. Github Issue #149 22747 22748Fri Aug 12 08:17:46 2011 Tanaka Akira <akr@fsij.org> 22749 22750 * ext/socket/ipsocket.c (init_inetsock_internal): use SOMAXCONN for 22751 listen backlog. 22752 22753 * ext/socket/unixsocket.c (rsock_init_unixsock): ditto. 22754 22755 * ext/socket/lib/socket.rb (Addrinfo#listen): ditto. 22756 (Socket.tcp_server_sockets_port0): ditto. 22757 22758 * ext/socket/mkconstants.rb: define SOMAXCONN as 5 if not available. 22759 22760 [ruby-core:38493] 22761 22762Fri Aug 12 03:24:35 2011 Eric Hodel <drbrain@segment7.net> 22763 22764 * lib/rdoc: Import RDoc 3.9.2. Fixes TIDYLINK for HTML output. 22765 22766Thu Aug 11 15:37:42 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 22767 22768 * variable.c (autoload_delete): An autoload entry is still in a 22769 RCLASS_IV_TBL, not in a RCLASS_CONST_TBL, so take back the table 22770 changed in r29600. And an autoload entry keeps not a 22771 rb_const_entry_t but a NODE so remove rb_const_entry_t thing added 22772 in r29602. 22773 22774Thu Aug 11 15:07:36 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22775 22776 * lib/mkmf.rb (link_command): use LIBRUBYARG in rbconfig for 22777 unbundled extensions. [ruby-core:38802] [Bug #5147] 22778 22779 * lib/mkmf.rb (init_mkmf): revert r32902. [ruby-core:38903] 22780 22781Wed Aug 10 23:03:55 2011 Tanaka Akira <akr@fsij.org> 22782 22783 * ext/socket/lib/socket.rb: fix argument check in the previous commit. 22784 22785Wed Aug 10 22:12:28 2011 Tanaka Akira <akr@fsij.org> 22786 22787 * ext/socket/lib/socket.rb (Socket.tcp): add :connect_timeout option. 22788 (Addrinfo#connect_from): add :timeout option. 22789 (Addrinfo#connect): ditto. 22790 (Addrinfo#connect_to): ditto. 22791 [ruby-core:38538] 22792 22793Wed Aug 10 21:27:19 2011 Tanaka Akira <akr@fsij.org> 22794 22795 * lib/net/pop.rb: fix typo in document. 22796 22797 * lib/net/http.rb: ditto. 22798 22799 * lib/net/imap.rb: ditto. 22800 22801Wed Aug 10 19:30:00 2011 Kenta Murata <mrkn@mrkn.jp> 22802 22803 * complex.c (nucomp_rationalize): calls rationalize of real part if 22804 imaginary part is exactly zero. The patch is made by Marc-Andre 22805 Lafortune. fixes [Bug #5178] [ruby-core:38885] 22806 22807 * test/ruby/test_complex.rb (test_rationalize): add a test for the 22808 above change. 22809 22810 * complex.c (nucomp_to_r): fix RDoc comment. The patch is made by 22811 Marc-Andre Lafortune. 22812 22813Wed Aug 10 14:11:07 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22814 22815 * lib/mkmf.rb (init_mkmf): set $LIBRUBYARG regardless of shared 22816 option. [ruby-core:38802] [Bug #5147] 22817 22818Wed Aug 10 02:53:27 2011 NARUSE, Yui <naruse@ruby-lang.org> 22819 22820 * lib/net/http.rb: come back autoload. OpenSSL constant is used 22821 some places, so it leads mistakes like HTTP.start. 22822 22823Tue Aug 9 22:57:45 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 22824 22825 * ext/date/date_parse.c (date_zone_to_diff): add RB_GC_GUARD. 22826 [ruby-dev:44337] [Bug #5152] 22827 22828 * ext/date/data_parse.c (parse_ddd_cb): ditto. 22829 22830Tue Aug 9 14:25:47 2011 Naohisa Goto <ngotogenome@gmail.com> 22831 22832 * ext/fiddle/conversions.c (generic_to_value): ffi_arg and ffi_sarg 22833 should be used to handle shorter return value. fix [Bug #3861] 22834 [ruby-core:32504] 22835 22836 * ext/fiddle/closure.c (callback): ditto 22837 22838 * ext/fiddle/conversions.h (fiddle_generic): ditto 22839 22840 * ext/fiddle/conversions.c (value_to_generic): char, short and int 22841 are strictly distinguished on big-endian CPU, e.g. sparc64. 22842 22843Tue Aug 9 11:21:08 2011 Narihiro Nakamura <authornari@gmail.com> 22844 22845 * gc.c (gc_lazy_sweep): if sweep target slots are not found, we 22846 try heap_increment() because it might be able to expand the 22847 heap. [Bug #5127] [ruby-dev:44285] 22848 22849 * gc.c (gc_clear_mark_on_sweep_slots): if a sweeping was 22850 interrupted, we expand the heap if at all possible. 22851 22852Tue Aug 9 12:20:33 2011 Naohisa Goto <ngotogenome@gmail.com> 22853 22854 * test/fiddle/helper.rb (libc_so, libm_so): Solaris support added. 22855 [ruby-core:38853] [Bug #5168] 22856 22857 * test/dl/test_base.rb (libc_so, libm_so): on Solaris, remove libc 22858 and libm version numbers for detecting default libc and libm. 22859 22860Tue Aug 9 09:18:04 2011 Eric Hodel <drbrain@segment7.net> 22861 22862 * ext/zlib/zlib.c (gzfile_wrap): Document encoding options. 22863 22864 * ext/zlib/zlib.c (rb_gzwriter_s_open): ditto 22865 22866 * ext/zlib/zlib.c (rb_gzreader_s_open): ditto 22867 22868Sun Aug 7 23:31:32 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22869 22870 * time.c (rb_strftime_alloc): raise ERANGE if width is too large. 22871 Patch by Nobuyoshi Nakada. [Bug #4457] [ruby-dev:43285] 22872 22873 * test/ruby/test_time.rb (class TestTime): add a test for the 22874 above change. 22875 22876Sun Aug 7 22:51:45 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22877 22878 * ext/openssl/ossl_asn1.c (decode_eoc): remove unused variables. 22879 Patch by Eric Wong. [Feature #5157] [ruby-core:38798] 22880 22881 * ext/openssl/ossl_asn1.c (ossl_asn1_decode): ditto. 22882 22883 * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_data): ditto. 22884 22885Sun Aug 7 22:37:08 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22886 22887 * configure.in: add -Wunused-variable to default CFLAGS. 22888 Patch by Eric Wong. [Feature #5157] [ruby-core:38798] 22889 22890Sun Aug 7 15:37:35 2011 NARUSE, Yui <naruse@ruby-lang.org> 22891 22892 * ext/digest/sha2/sha2ossl.c: use original SHA384_Final on DragonFly. 22893 22894Sun Aug 7 14:08:16 2011 Kazuki Tsujimoto <kazuki@callcc.net> 22895 22896 * ext/objspace/objspace.c: fix typos in a document. 22897 22898Sun Aug 7 07:14:57 2011 NARUSE, Yui <naruse@ruby-lang.org> 22899 22900 * cont.c (HAVE_GETCONTEXT): see getcontext(3) because DragonFly BSD 22901 x64 port doesn't have it. 22902 22903Sun Aug 7 00:42:55 2011 NARUSE, Yui <naruse@ruby-lang.org> 22904 22905 * ext/tk/lib/tk/wm.rb (Tk::Wm.command): Add the missing receiver 22906 before calling epath. patched by flori 22907 https://github.com/flori/ruby/commit/aa9474d32e5f2c57f8b0e2e0c528a03f06a4d433 22908 22909Sat Aug 6 07:06:34 2011 Eric Hodel <drbrain@segment7.net> 22910 22911 * marshal.c (w_object): Fix exception message when _dump_data is not 22912 defined on a T_DATA object. 22913 22914Fri Aug 5 22:16:20 2011 Naohisa Goto <ngotogenome@gmail.com> 22915 22916 * numeric.c (rb_infinity, rb_nan): use WORDS_BIGENDIAN to get endian. 22917 fix [Bug #5160] [ruby-dev:44356] 22918 22919Fri Aug 5 17:14:11 2011 Akinori MUSHA <knu@iDaemons.org> 22920 22921 * test/test_syslog.rb (TestSyslog#test_log): Do not be too 22922 specific about the log line format. Fixes #5081. 22923 22924Fri Aug 5 15:57:10 2011 Naohisa Goto <ngotogenome@gmail.com> 22925 22926 * complex.c (f_signbit): fix compile error in gcc4 on Solaris with 22927 CFLAGS="-std=gnu99". [ruby-dev:44355] fix [Bug #5159] 22928 22929 * math.c: ditto. 22930 22931Fri Aug 5 15:55:33 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22932 22933 * test/ruby/test_object.rb: tests that respond_to? returns false. 22934 22935Fri Aug 5 13:32:43 2011 Shugo Maeda <shugo@ruby-lang.org> 22936 22937 * lib/xmlrpc/client.rb, lib/xmlrpc/server.rb: should use 22938 String#bytesize instead of String#size. 22939 22940Fri Aug 5 12:18:20 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22941 22942 * vm_eval.c (check_funcall): try respond_to? first if redefined. 22943 [Bug #5158] 22944 22945Fri Aug 5 09:48:22 2011 Eric Hodel <drbrain@segment7.net> 22946 22947 * lib/rubygems: Import RubyGems 1.8.7: 22948 Added missing require for `gem uninstall --format-executable`. 22949 22950 The correct name of the executable being uninstalled is now displayed 22951 with --format-executable. 22952 22953 Fixed `gem unpack uninstalled_gem` default version picker. 22954 22955 RubyGems no longer claims a nonexistent gem can be uninstalled. 22956 22957 `gem which` no longer claims directories are requirable files. 22958 22959 `gem cleanup` continues cleaning up gems if one can't be uninstalled 22960 due to permissions. Issue #82. 22961 22962 Gem repository directories are no longer created world-writable. 22963 Patch by Sakuro OZAWA. [Ruby 1.9 - Bug #4930] 22964 22965Fri Aug 5 07:00:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 22966 22967 * test/io/console/test_io_console.rb (test_noctty): daemon() on 22968 Fedora Rawhide seems not to detach the controlling terminal, 22969 when the argument noclose is non-zero. ref: [Bug #5135] 22970 22971Thu Aug 4 23:48:00 2011 Kenta Murata <mrkn@mrkn.jp> 22972 22973 * thread_pthread.c (native_cond_signal): retry to call pthread_cond_signal 22974 and pthread_cond_broadcast if they return EAGAIN in 22975 native_cond_signal and native_cond_broadcast, respectively. 22976 It is for the pthread implementation of Mac OS X 10.7 (Lion). 22977 fixes #5155. [ruby-dev:44342]. 22978 22979 * thread_pthread.c (native_cond_broadcast): ditto. 22980 22981 * thread_pthread.c (struct cached_thread_entry): stop using 22982 pthread_cond_t and its functions directly. 22983 22984 * thread_pthread.c (register_cached_thread_and_wait): ditto. 22985 22986 * thread_pthread.c (use_cached_thread): ditto. 22987 22988Thu Aug 4 20:29:41 2011 Naohisa Goto <ngotogenome@gmail.com> 22989 22990 * configure.in: when Solaris cc, use $(CC) to link shared libs. 22991 22992Thu Aug 4 20:19:11 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 22993 22994 * error.c (report_bug): use a small message buffer instead of BUFSIZ. 22995 It is needed for avoiding nested SIGSEGV on Linux. 22996 Note: BUFSIZ is not proper buffer size. It's unrelated with maximum 22997 filename length. :-/ 22998 [Bug #5139] [ruby-dev:44315] 22999 23000Thu Aug 4 16:08:45 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23001 23002 * tool/rbinstall.rb (gem): install all gemspecs under lib and ext. 23003 23004 * tool/rbinstall.rb (Gem::Specification): may not be defined when 23005 cross-compiling and BASERUBY is 1.8. 23006 23007Thu Aug 4 11:30:36 2011 NARUSE, Yui <naruse@ruby-lang.org> 23008 23009 * include/ruby/missing.h: define __syscall on OpenBSD as r32702. 23010 23011Thu Aug 4 03:02:54 2011 Aaron Patterson <aaron@tenderlovemaking.com> 23012 23013 * tool/rbinstall.rb: use rubygems to load gemspecs, copy actual 23014 gemspecs on install rather than generate fake ones for all gems. 23015 23016Thu Aug 4 02:45:10 2011 Kenta Murata <mrkn@mrkn.jp> 23017 23018 * configure.in: set CXX variable to the C++ compiler that matches the 23019 C compiler specified by CC variable (e.g. use g++-4.2 for gcc-4.2). 23020 23021Thu Aug 4 02:21:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23022 23023 * lib/mkmf.rb (link_command): use static library only for bundled 23024 extensions. [Bug #5147] 23025 23026Thu Aug 4 02:02:10 2011 Aaron Patterson <aaron@tenderlovemaking.com> 23027 23028 * ext/psych/psych.gemspec: installing psych as a gem. 23029 23030Wed Aug 3 16:01:35 2011 NAKAMURA Usaku <usa@ruby-lang.org> 23031 23032 * util.c, include/ruby/util.h (ruby_add_suffix): remove the function. 23033 [Bug #5153] [ruby-core:38736] 23034 23035 * io.c (argf_next_argv): remove the call of above function. 23036 23037 * ext/-test-/add_suffix, test/-ext-/test_add_suffix.rb: remove the test 23038 extension module because this is only for testing ruby_add_suffix(). 23039 23040 * LEGAL: remove the mention about a part of util.c, because now we 23041 removed the part. 23042 23043 * io.c (argf_next_argv): now the new filename is not guaranteed to 23044 use, so should check the return value of rename(2). 23045 23046 * test/ruby/test_argf.rb (TestArgf#test_inplace_rename_impossible): 23047 now we expect same result with other platforms on no_safe_rename 23048 platforms (=Windows). 23049 23050Wed Aug 3 09:18:08 2011 URABE Shyouhei <shyouhei@ruby-lang.org> 23051 23052 * test/xmlrpc/webrick_testing.rb (WEBrick_Testing#start_server): 23053 Like r32795, bind address should be specified. 23054 23055Wed Aug 3 07:46:30 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23056 23057 * encoding.c (enc_find): mistakenly remained !. [Bug #5150] 23058 23059Wed Aug 3 00:11:08 2011 Tanaka Akira <akr@fsij.org> 23060 23061 * lib/prettyprint.rb: update document. [ruby-core:36776] 23062 23063Tue Aug 2 22:04:46 2011 NARUSE, Yui <naruse@ruby-lang.org> 23064 23065 * gc.c (init_heap): allocate sigaltstack after heaps are allocated. 23066 [ruby-dev:44315] [Bug #5139] 23067 23068 * vm.c (thread_free): use free because objspace is not ready. 23069 23070 * vm.c (th_init): use malloc because objspace is not ready. 23071 23072Tue Aug 2 20:10:16 2011 Shota Fukumori <sorah@tubusu.net> 23073 23074 * test/testunit/test_parallel.rb: pass "--ruby" option to 23075 test/testunit/tests_for_parallel/runner.rb. [Bug #5132] [ruby-dev:44303] 23076 23077Tue Aug 2 15:53:37 2011 NARUSE, Yui <naruse@ruby-lang.org> 23078 23079 * encoding.c (str_to_encoding): rename from to_encoding and 23080 use str_to_encindex. 23081 23082 * encoding.c (str_to_encindex): split from to_encoding. 23083 23084 * encoding.c (rb_to_encoding): use str_to_encoding. 23085 23086 * encoding.c (rb_obj_encoding): don't bypass rb_encoding*. 23087 If it uses rb_encoding*, it bypass encindex. If it uses encindex, 23088 it doesn't bypass. 23089 23090 * encoding.c (enc_find): add shortcut for encoding object, use 23091 str_to_encindex, and avoid bypass rb_encoding*. 23092 23093Tue Aug 2 12:03:16 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23094 23095 * hash.c (recursive_hash): hash value of emptied hash should be 23096 equal to an empty hash. [ruby-core:38650] 23097 23098Tue Aug 2 11:42:15 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23099 23100 * parse.y (rb_enc_symname2_p): :! is valid symbol. [Bug #5136] 23101 23102Tue Aug 2 07:33:29 2011 URABE Shyouhei <shyouhei@ruby-lang.org> 23103 23104 * test/net/http/test_http.rb (TestNetHTTP_version_1_1_methods#test_timeout_during_HTTP_session): 23105 If you connect to localhost, you should listen localhost. 23106 23107 * test/net/http/test_https.rb (TestNetHTTPS#test_timeout_during_SSL_handshake): 23108 ditto. 23109 23110Tue Aug 2 06:18:15 2011 Luis Lavena <luislavena@gmail.com> 23111 23112 * lib/rubygems/installer.rb (class Gem): Correct path check on Windows 23113 Possible fix for [Ruby 1.9 - Bug #5111] 23114 * test/rubygems/test_gem_installer.rb (load Gem): ditto 23115 23116Mon Aug 1 20:12:03 2011 NAKAMURA Usaku <usa@ruby-lang.org> 23117 23118 * test/ruby/test_process.rb (TestProcess#windows?): new method. 23119 23120 * test/ruby/test_process.rb (TestProcess#*): use above method. 23121 23122 * test/ruby/test_process.rb (TestProcess#test_execopts_redirect): 23123 windows doesn't support FD_CLOEXEC. 23124 23125Mon Aug 1 15:45:23 2011 Eric Hodel <drbrain@segment7.net> 23126 23127 * test/rake/test_rake_functional.rb: Don't assume the binary name of 23128 ruby is "ruby". [Ruby 1.9 - Bug #5114] 23129 * test/rake/helper.rb: ditto 23130 23131Mon Aug 1 15:31:14 2011 URABE Shyouhei <shyouhei@ruby-lang.org> 23132 23133 * test/io/console/test_io_console.rb (TestIO_Console#test_sync): 23134 Skip when PTY allocation failed (that's not our fault). 23135 23136Mon Aug 1 15:04:12 2011 URABE Shyouhei <shyouhei@ruby-lang.org> 23137 23138 * test/xmlrpc/test_webrick_server.rb (Test_Webrick#setup_http_server): 23139 XMLRPC::Client.new3(), when called without host: argument, tries 23140 to connect to a host where "localhost" resolves to. On the 23141 other hand a WEBrick::HTTPServer.new(), when called without 23142 BindAddress: argument, tries to listen all the address where 23143 getaddrinfo(AF_UNSPEC) resolves to. This is a mismatch because 23144 "localhost" might not resolve to one of those listening sockets. 23145 We would better explicitly specify "localhost" here and if 23146 failed, just skip the whole test. 23147 23148Mon Aug 1 14:24:56 2011 Eric Hodel <drbrain@segment7.net> 23149 23150 * lib/rdoc.rb: Import RDoc 3.9.1. Fixes bugs in the RDoc::Markup 23151 parser. 23152 23153Mon Aug 1 12:00:35 2011 NARUSE, Yui <naruse@ruby-lang.org> 23154 23155 * insns.def (concatstrings): don't use initial ASCII-8BIT string. 23156 [ruby-core:38635] [Bug #5126] 23157 23158Sun Jul 31 22:57:16 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp> 23159 23160 * enc/Makefile.in (ECHO1): Same as the recent fix in common.mk. 23161 ":" in a make variable replacement cause a syntax error with 23162 /usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead. 23163 23164Sun Jul 31 21:16:02 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp> 23165 23166 * complex.c (f_signbit): gcc4 on Solaris DOES have signbit but does 23167 not have it on header. 23168 23169 * math.c: ditto. 23170 23171Sun Jul 31 21:09:04 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp> 23172 23173 * common.mk (node_name.inc): Use $(Q) for consistency. 23174 23175 * Makefile.in (INSNS): ditto. 23176 23177Sun Jul 31 21:19:51 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp> 23178 23179 * lib/mkmf.rb (configuration:ECHO1): Same as the recent fix in 23180 common.mk. 23181 ":" in a make variable replacement cause a syntax error with 23182 /usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead. 23183 23184Sun Jul 31 20:39:12 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp> 23185 23186 * common.mk (ECHO1): nmake does not allow parenthesis in make variable 23187 replacement. 23188 23189Sun Jul 31 23:06:57 2011 Kazuki Tsujimoto <kazuki@callcc.net> 23190 23191 * vm.c (check_env): print debug messages to stderr. 23192 [Feature #4871] [ruby-dev:43743] 23193 23194Sun Jul 31 22:50:23 2011 Kazuki Tsujimoto <kazuki@callcc.net> 23195 23196 * vm.c (vm_make_env_each): don't save prev env value. 23197 It is no longer used. [Feature #4871] [ruby-dev:43743] 23198 23199 * vm.c (check_env): changed accordingly. 23200 23201Sun Jul 31 20:21:36 2011 "Yuki Sonoda (Yugui)" <yugui@yugui.jp> 23202 23203 * common.mk (ECHO1): ":" in a make variable replacement cause a syntax 23204 error with /usr/ccs/bin/make on Solaris. Uses $(NULLCMD) instead. 23205 23206 * configure.in (NULLCMD): new check. 23207 23208 * Makefile.in (NULLCMD): Reflects checking in configure. 23209 23210 * win32/Makefile.sub (NULLCMD): new assignment. 23211 23212Sun Jul 31 18:58:59 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23213 23214 * io.c (rb_pipe): pipe on cygwin can succeed half but fail 23215 half. 23216 23217Sun Jul 31 11:31:07 2011 Kazuki Tsujimoto <kazuki@callcc.net> 23218 23219 * vm.c: check if cfp is valid. [Bug #5083] [ruby-dev:44208] 23220 23221Sun Jul 31 09:18:28 2011 Eric Hodel <drbrain@segment7.net> 23222 23223 * lib/rdoc: Update to RDoc 3.9. Fixed `ri []`, stopdoc creating an 23224 object reference, nodoc for class aliases, verbatim === lines. 23225 23226Sun Jul 31 01:29:08 2011 NARUSE, Yui <naruse@ruby-lang.org> 23227 23228 * io.c (rb_io_each_byte): remove unused variable e. 23229 23230Sat Jul 31 01:23:45 2011 Kenta Murata <mrkn@mrkn.jp> 23231 23232 * test/bigdecimal/test_bigdecimal.rb (test_version): removed. 23233 23234Sat Jul 30 23:19:09 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23235 23236 * defs/default_gems: separate from tool/rbinstall.rb. 23237 23238Sat Jul 30 23:14:44 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23239 23240 * io.c (rb_io_each_byte): rbuf can be refreshed during yield. 23241 [Bug #5119] 23242 23243Sat Jul 30 22:35:50 2011 Naohisa Goto <ngotogenome@gmail.com> 23244 23245 * strftime.c (NEEDS): avoid SEGV due to integer overflow in 23246 sparc-solaris2.10 and i686-linux. fix [Bug #4456] [ruby-dev:43284] 23247 23248Sat Jul 30 17:26:26 2011 Masaki Suketa <masaki.suketa@nifty.ne.jp> 23249 23250 * test/win32ole/test_win32ole_variant.rb: use skip method to skip the test. 23251 23252 * test/win32ole/test_win32ole_variant_outarg.rb: ditto. 23253 23254Sat Jul 30 14:27:00 2011 Kenta Murata <mrkn@mrkn.jp> 23255 23256 * ext/bigdecimal/bigdecimal.c (BigDecimal_version): version 1.1.0. 23257 23258 * ext/bigdecimal/bigdecimal.gemspec: turn into a default gem. 23259 23260 * tool/rbinstall.rb: ditto. 23261 23262Sat Jul 30 11:21:55 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23263 23264 * vm_core.h (ALT_STACK_SIZE): use MINSIGSTKSZ*2 instead of SIGSTKSZ*2. 23265 [ruby-core:38607] 23266 23267Sat Jul 30 10:39:14 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23268 23269 * vm.c (th_init): preallocate alternative stack. 23270 NoMemoryError is better than rb_bug, of course. 23271 Patch by Eric Wong. [ruby-core:38572][ruby-core:38594]. 23272 23273 * signal.c (rb_register_sigaltstack): ditto. 23274 23275 * vm_core.h: moved ALT_STACK_SIZE definition from signal.c. 23276 * vm.c (thread_free): use xfree() instead of free(). 23277 23278Sat Jul 30 07:20:49 2011 Tanaka Akira <akr@fsij.org> 23279 23280 * ext/socket/lib/socket.rb (udp_server_sockets): unused variable 23281 removed. 23282 patch by Jeremy Evans. [ruby-core:38600] 23283 23284Fri Jul 29 23:56:32 2011 Tanaka Akira <akr@fsij.org> 23285 23286 * lib/securerandom.rb: call OpenSSL::Random.seed at the 23287 SecureRandom.random_bytes call. 23288 based on the patch by Masahiro Tomita. [ruby-dev:44270] 23289 23290Fri Jul 29 23:53:48 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23291 23292 * array.c (rb_ary_set_len): new function to set array length. 23293 23294 * vm_eval.c (method_missing): set the length of argv array, to mark 23295 arguments. 23296 23297 * vm_eval.c (rb_apply): get rid of too large alloca. 23298 23299Fri Jul 29 20:48:39 2011 Tanaka Akira <akr@fsij.org> 23300 23301 * ext/socket/mkconstants.rb: fix typos. 23302 23303Fri Jul 29 20:28:56 2011 Tanaka Akira <akr@fsij.org> 23304 23305 * ext/socket/mkconstants.rb: use whitespaces as a separator. 23306 23307Fri Jul 29 18:59:07 2011 Tanaka Akira <akr@fsij.org> 23308 23309 * ext/socket/mkconstants.rb: add documents for constants. 23310 patch by Eric Hodel. [ruby-core:37853] [Bug #4989] 23311 23312Fri Jul 29 16:00:43 2011 NARUSE, Yui <naruse@ruby-lang.org> 23313 23314 * configure.in (enable_pthread): use -pthread on OpenBSD without 23315 explicit option. patched by Jeremy Evans. [ruby-core:38572] 23316 23317Thu Jul 28 23:36:28 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 23318 23319 * ext/fiddle/closure.c (callback): use rb_ary_tmp_new() instead of 23320 xmalloc() to allocate an array for arguments of callback procedure, 23321 to prevent arguments from being swept by GC. [ruby-core:38546] 23322 [Bug #4929] 23323 23324Thu Jul 28 22:36:06 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 23325 23326 * ext/openssl/ossl_cipher.c (ossl_cipher_initialize): Avoid possible 23327 SEGV from AES encryption/decryption. Processing data by 23328 Cipher#update without initializing key (meaningless usage of Cipher 23329 object since we don't offer a way to export a key) could cause SEGV. 23330 23331 In OpenSSL, the EVP which has EVP_CIPH_RAND_KEY flag (such as DES3) 23332 allows uninitialized key, but other EVPs (such as AES) does not 23333 allow it. Calling EVP_CipherUpdate() without initializing key causes 23334 SEGV so we set the data filled with "\0" as the key by default. See 23335 #2768. 23336 23337 * test/openssl/test_cipher.rb: test it. 23338 23339Thu Jul 28 14:25:08 2011 NAKAMURA Usaku <usa@ruby-lang.org> 23340 23341 * lib/rubygems/user_interaction.rb (Gem::StreamUI#tty?): typo. 23342 23343Thu Jul 28 12:32:53 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23344 23345 * ext/dl/callback/mkcallback.rb (gencallback): use PTR2NUM. 23346 23347 * ext/dl/cptr.c (rb_dlptr_aref, rb_dlptr_aset): check NULL pointer 23348 dereference. 23349 23350 * ext/dl/cptr.c (rb_dlptr_s_to_ptr): use rb_check_funcall. 23351 23352 * ext/dl/cptr.c (rb_dlptr_s_to_ptr): fix wrapping condition. 23353 23354Thu Jul 28 04:53:31 2011 Eric Hodel <drbrain@segment7.net> 23355 23356 * lib/delegate.rb: Move file-level documentation to the appropriate 23357 classes. 23358 23359Thu Jul 28 02:15:04 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23360 23361 * ext/dl/cfunc.c (dlcfunc_mark), ext/dl/cptr.c (dlptr_mark): 23362 workaround to mark wrapped object. this is not a true fix, 23363 because [Bug #4929] is caused by the interface design of DL. 23364 23365Thu Jul 28 00:28:15 2011 NARUSE, Yui <naruse@ruby-lang.org> 23366 23367 * test/fileutils/test_fileutils.rb: add OpenBSD case. 23368 patched by Jeremy Evans [ruby-core:38530] see #5097 23369 23370 * test/ruby/test_process.rb: ditto. 23371 23372Wed Jul 27 22:46:59 2011 CHIKANAGA Tomoyuki <nagachika00@gmail.com> 23373 23374 * test/rinda/test_rinda.rb (test_remote_array_and_hash): 23375 add local variables to protect objects from GC. [ruby-dev:44253] 23376 [Bug #5104] 23377 23378Wed Jul 27 17:55:54 2011 NARUSE, Yui <naruse@ruby-lang.org> 23379 23380 * include/ruby/missing.h: define __syscall if the platform has 23381 __syscall in the library but doesn't define it in headers 23382 for example Mac OS X. 23383 23384Wed Jul 27 15:39:14 2011 Eric Hodel <drbrain@segment7.net> 23385 23386 * object.c: Add usage documentation for BasicObject. Based on patch 23387 by Thomas Sawyer. [Ruby 1.9 - Bug #5067] 23388 23389Wed Jul 27 12:24:17 2011 Eric Hodel <drbrain@segment7.net> 23390 23391 * lib/rubygems/uninstaller.rb: Add missing require and update 23392 messaging to avoid confusion with uninstall --format-executable. 23393 [Ruby 1.9 - Bug #4062] 23394 23395Wed Jul 27 09:34:24 2011 Eric Hodel <drbrain@segment7.net> 23396 23397 * lib/rubygems: Update to RubyGems 1.8.6.1. 23398 23399Wed Jul 27 09:27:59 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 23400 23401 * test/openssl/test_pkcs12.rb: Add test and intermediate certificates. 23402 [ Ruby 1.9 - Feature #3793 ] [ruby-core:32088] 23403 23404Wed Jul 27 01:05:32 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23405 23406 * eval_error.c (rb_print_undef_str): new function to raise 23407 NameError for undefined method. 23408 23409 * load.c (rb_mod_autoload_p), object.c (rb_mod_const_get), 23410 variable.c (rb_f_untrace_var, set_const_visibility), vm_method.c 23411 (rb_mod_{remove,undef,alias}_method, set_method_visibility): 23412 remove inadvertent symbol creation. based on the first patch by 23413 Jeremy Evans at [ruby-core:38447]. [Feature #5089] 23414 23415 * vm_method.c (obj_respond_to): fix the respond_to_missing? override 23416 case. based on the patch by Jeremy Evans at [ruby-core:38417]. 23417 [Feature #5072] 23418 23419 * parse.y (rb_check_id): make the given name a symbol or a string. 23420 based on the second patch by Jeremy Evans at [ruby-core:38447] 23421 23422Wed Jul 27 00:50:00 2011 Kenta Murata <mrkn@mrkn.jp> 23423 23424 * ext/bigdecimal/lib/bigdecimal/util.rb (Rational#to_d): 23425 zero or negative precision is error. fixes #5098. 23426 [ruby-dev:44210] 23427 23428 * test/bigdecimal/test_bigdecimal_util.rb: add test for the above 23429 change. 23430 23431Wed Jul 27 00:48:00 2011 Kenta Murata <mrkn@mrkn.jp> 23432 23433 * ext/bigdecimal/lib/bigdecimal/util.rb (Float#to_d): modified for 23434 specifying precision. fixes #5098. [ruby-dev:44210] 23435 23436 * test/bigdecimal/test_bigdecimal_util.rb: add test for the above 23437 change. 23438 23439Wed Jul 27 00:45:00 2011 Kenta Murata <mrkn@mrkn.jp> 23440 23441 * ext/bigdecimal/lib/bigdecimal/util.rb (Integer#to_d): added 23442 for symmetry to BigDecimal() function with an Integer. 23443 fixes #5098. [ruby-dev:44210] 23444 23445 * test/bigdecimal/test_bigdecimal_util.rb: add test for the above 23446 change. 23447 23448Wed Jul 27 00:30:00 2011 Kenta Murata <mrkn@mrkn.jp> 23449 23450 * ext/bigdecimal/lib/bigdecimal/util.rb (BigDecimal#to_d): added 23451 for adapting other Numeric subclasses. [ruby-dev:44245] 23452 23453 * test/bigdecimal/test_bigdecimal_util.rb: test for the above change. 23454 23455Wed Jul 27 00:27:00 2011 Kenta Murata <mrkn@mrkn.jp> 23456 23457 * bigdecimal/bigdecimal.c (VpDup) a new function for duplicating 23458 a BigDecimal. 23459 23460 * bigdecimal/bigdecimal.c (BigDecimal_new): support generating a new 23461 BigDecimal from another BigDecimal using BigDecimal global function 23462 or constructor. [ruby-dev:44245] 23463 23464Tue Jul 26 23:33:24 2011 Igor Zubkov <igor.zubkov@gmail.com> 23465 23466 * array.c: Fix typo. https://github.com/ruby/ruby/pull/36 23467 23468Mon Jul 25 23:51:01 2011 Yusuke Endoh <mame@tsg.ne.jp> 23469 23470 * proc.c: pre-allocate the unlinked_method_entry_list_entry struct to 23471 avoid memory allocation during GC. based on a patch from Eric Wong. 23472 [ruby-core:38498] 23473 23474Mon Jul 25 23:39:33 2011 NAKAMURA Usaku <usa@ruby-lang.org> 23475 23476 * test/rake/test_rake_directory_task.rb (TestRakeDirectoryTask# 23477 test_directory_win32): fixed wrong test. 23478 23479Mon Jul 25 22:36:11 2011 Yusuke Endoh <mame@tsg.ne.jp> 23480 23481 * proc.c (struct METHOD), gc.c (gc_marks), vm_method.c 23482 (rb_gc_mark_unlinked_live_method_entries): fix SEGV bug. 23483 rb_method_entry_t was free'd even when the method is still on the 23484 stack if it is BMETHOD (i.e., Method#call). This is because 23485 rb_method_entry_t is embedded in struct METHOD. This commit 23486 separates them and marks the live method entries. 23487 See [ruby-core:38449] in detail. fix [Bug #5047] [ruby-core:38171] 23488 23489Mon Jul 25 22:14:37 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 23490 23491 * lib/xmlrpc/client.rb: Fix possible HTTP header formatting failure by 23492 'Basic' header. Long username caused the base64 String truncation in 23493 HTTP header which is not allowed. See #5046. 23494 23495 * test/xmlrpc/test_webrick_server.rb: test it. 23496 23497Mon Jul 25 15:04:33 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 23498 23499 * ext/openssl/lib/openssl.rb: End of transition period introduced by 23500 [ruby-dev:38018]. From the next version of 1.9.3, you should use 23501 require "openssl" 23502 instead of 23503 require "openssl/ssl" 23504 and 23505 require "openssl/x509" 23506 23507Mon Jul 25 13:46:38 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 23508 23509 * ext/openssl/lib/openssl/x509.rb: Cosmetic change: move definition 23510 introduced in r30152 to x509-internal.rb. 23511 23512Mon Jul 25 13:09:42 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 23513 23514 * ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): Avoid randomly generated 23515 SSLError from SSLSocket just after invoking SSLSocket#close. 23516 OpenSSL's SSL_shutdown could try to send alert packet and it might 23517 set SSLerr(global error stack) as the result. It causes the next 23518 SSL read/write operation to fail by unrelated reason. 23519 23520 By design, we're ignoring any error at SSL_shutdown() so we clear 23521 global error stack after SSL_shutdown is called. See #5039. 23522 23523Sun Jul 24 20:29:53 2011 Tanaka Akira <akr@fsij.org> 23524 23525 * ext/socket/extconf.rb: refine the recvmsg test. 23526 23527Sun Jul 24 20:02:31 2011 Tanaka Akira <akr@fsij.org> 23528 23529 * ext/socket/extconf.rb: fix the recvmsg test. 23530 23531Sun Jul 24 08:42:51 2011 Tanaka Akira <akr@fsij.org> 23532 23533 * ext/socket/extconf.rb: test recvmsg allocates file descriptors for 23534 fd passing even with MSG_PEEK. 23535 23536 * ext/socket/ancdata.c: use the above test result. 23537 23538Sun Jul 24 01:04:50 2011 Eric Hodel <drbrain@segment7.net> 23539 23540 * lib/rubygems/specification.rb: Restore behavior of 23541 Gem::Specification#loaded. [Ruby 1.9 - Bug #5032] 23542 23543Sun Jul 24 00:05:00 2011 Jeremy Evans <merch-redmine@jeremyevans.net> 23544 23545 * error.c (rb_name_error_str): new function to raise NameError 23546 with the name string but not ID. 23547 23548 * object.c, proc.c, variable.c: more removal of inadvertent symbol 23549 creation. [Feature #5079] 23550 23551Sat Jul 23 21:14:00 2011 Tadayoshi Funaba <tadf@dotrb.org> 23552 23553 * lib/cmath.rb (cbrt): should return a real number if possible. 23554 23555Sat Jul 23 20:12:52 2011 NARUSE, Yui <naruse@ruby-lang.org> 23556 23557 * test/rake/test_rake_functional.rb (setup): Use __FILE__ for the base 23558 directory. Current directory is not the top source directory when 23559 the building process runs on other than there. 23560 23561 * test/rake/test_rake_rake_test_loader.rb: ditto. 23562 23563 * test/rake/test_rake_task_argument_parsing.rb 23564 (test_terminal_width_using_hardcoded_80): hardcoded 80 is used 23565 when app.unix? is false. 23566 23567Sat Jul 23 20:11:50 2011 Tadayoshi Funaba <tadf@dotrb.org> 23568 23569 * ext/date/date_core.c: an issue that is same as [ruby-dev:44071]. 23570 * ext/date/date_strftime.c: identical to [ruby-dev:44112]. 23571 23572Sat Jul 23 19:12:53 2011 Masaki Suketa <masaki.suketa@nifty.ne.jp> 23573 23574 * test/win32ole/test_err_in_callback.rb (test_err_in_callback): 23575 skip test if ADODB.connection is not available. 23576 23577Sat Jul 23 15:37:04 2011 NARUSE, Yui <naruse@ruby-lang.org> 23578 23579 * parse.y (rb_enc_symname_type): :$a!, @a! and so on are not 23580 valid symbols, so they should be inspected with quotes. 23581 23582Sat Jul 23 17:06:25 2011 Tanaka Akira <akr@fsij.org> 23583 23584 * io.c (rb_update_max_fd): validate fd. 23585 23586 * ext/socket/rubysocket.h (rsock_discard_cmsg_resource): add 23587 msg_peek_p argument for the declaration. 23588 23589 * ext/socket/ancdata.c (discard_cmsg): add msg_peek_p argument. 23590 assume FreeBSD, NetBSD and MacOS X doesn't generate passed fd 23591 when MSG_PEEK. 23592 (rsock_discard_cmsg_resource): add msg_peek_p argument. 23593 (bsock_recvmsg_internal): call rsock_discard_cmsg_resource with 23594 msg_peek_p argument. 23595 23596 * ext/socket/unixsocket.c (unix_recv_io): call 23597 rsock_discard_cmsg_resource with msg_peek_p argument. 23598 23599Sat Jul 23 14:38:28 2011 Eric Hodel <drbrain@segment7.net> 23600 23601 * test/rake*: Remove dependencies on flexmock and session gems. 23602 [Ruby 1.9 - Bug #4987] 23603 23604Sat Jul 23 12:19:04 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23605 23606 * parse.y (rb_check_id): take care of attrset ID created 23607 implicitly by local ID. [Bug #5084] 23608 23609 * parse.y (rb_check_id): conversion condition was inverse. 23610 [Bug #5084] 23611 23612Fri Jul 22 21:46:54 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23613 23614 * vm_insnhelper.c (vm_call_cfunc): added volatile for a workaround 23615 of cfp consistency error problem on OS X 10.7 (Lion). It's 23616 suspected llvm optimization bug. 23617 [Bug #5074] [ruby-dev:44185] 23618 23619Fri Jul 22 21:18:20 2011 NARUSE, Yui <naruse@ruby-lang.org> 23620 23621 * lib/uri/generic.rb (WFKV_): unroll the loop of regexp. 23622 23623 * lib/uri/generic.rb (URI.decode_www_form_component): ditto. 23624 23625Fri Jul 22 21:06:39 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23626 23627 * object.c (rb_mod_{const,cvar}_defined, rb_obj_ivar_defined): 23628 avoid inadvertent symbol creation in reflection methods. based 23629 on a patch by Jeremy Evans at [ruby-core:38367]. [Feature #5072] 23630 23631 * vm_method.c (rb_mod_method_defined) 23632 (rb_mod_{public,private,protected}_method_defined) 23633 (obj_respond_to): ditto. 23634 23635 * parse.y (rb_check_id): new function returns already interned ID 23636 or 0. 23637 23638Fri Jul 22 20:44:49 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23639 23640 * parse.y (rb_is_global_id, rb_is_attrset_id): add missing 23641 predicates. 23642 23643Fri Jul 22 20:24:38 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 23644 23645 * test/ruby/test_object.rb (TestObject#test_respond_to_missing): 23646 2nd argument of respond_to_missing? is not optional. 23647 23648Fri Jul 22 19:05:47 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23649 23650 * parse.y (rb_enc_symname2_p): get rid of potential out-of-bound 23651 access. 23652 23653Fri Jul 22 13:55:59 2011 Eric Hodel <drbrain@segment7.net> 23654 23655 * lib/net/http.rb: Net::HTTP#finish is used to manually close 23656 connections. [Ruby 1.9 - Bug #5045] 23657 23658Fri Jul 22 13:51:29 2011 Eric Hodel <drbrain@segment7.net> 23659 23660 * ext/readline/readline.c: Add examples for Readline.completion_proc=. 23661 [Ruby 1.9 - Bug #5057] 23662 23663Fri Jul 22 13:03:12 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 23664 23665 * ext/openssl/ossl_hmac.c: Revert checking return type of 23666 HMAC_Init_ex as it is not compatible with OpenSSL < 1.0.0. 23667 23668Fri Jul 22 12:10:21 2011 Eric Hodel <drbrain@segment7.net> 23669 23670 * tool/rbinstall.rb (default gems): Install executables into the fake 23671 gem dir for Gem.bin_path. [#4485] 23672 23673Fri Jul 22 11:20:20 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 23674 23675 * ext/openssl/ossl_digest.c: Check return value of EVP_DigestInit_ex. 23676 * ext/openssl/ossl_hmac.c: Check return value of HMAC_Init_ex. 23677 Thanks, Jared Jennings, for the patch. 23678 [ Ruby 1.9 - Bug #4944 ] [ruby-core:37670] 23679 23680Fri Jul 22 09:09:43 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 23681 23682 * ext/openssl/ossl_engine.c: Avoid double free of ENGINE reference. 23683 * test/openssl/test_engine.rb: Add a test for it. 23684 Thanks to Ippei Obayashi for providing the patch. 23685 [ Ruby 1.9 - Bug #5062 ] [ruby-dev:44173] 23686 23687Fri Jul 22 06:37:13 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 23688 23689 * lib/csv.rb: Do not modify CSV.generate's argument [ruby-core:38356] 23690 23691Thu Jul 21 20:59:59 2011 Tanaka Akira <akr@fsij.org> 23692 23693 * ext/socket/ancdata.c (discard_cmsg): workaround for MacOS X Lion. 23694 23695Thu Jul 21 20:02:11 2011 Yusuke Endoh <mame@tsg.ne.jp> 23696 23697 * thread.c (set_trace_func, thread_set_trace_func_m): reset tracing 23698 state when set_trace_func hook is removed. This is workaround patch 23699 to force to reset tracing state that is broken by continuation call. 23700 a patch from James M. Lawrence. [Feature #4347] [ruby-core:34998] 23701 23702 * test/ruby/test_continuation.rb (class TestContinuation): add a test 23703 for above. a patch from James M. Lawrence. 23704 23705Thu Jul 21 19:27:19 2011 Yusuke Endoh <mame@tsg.ne.jp> 23706 23707 * node.c (dump_node): add today's knowledge. "init arguments (m)" and 23708 "init arguments (p)" of compile.c indicates a Ruby code that 23709 evaluates multiple assignments that is in method or block 23710 parameters: def foo((m1,m2), (m3,m4), *r, (p1,p2), (p3,p4)); end 23711 The former (init arguments (m)) evaluates the multiple assignments 23712 before rest argument, that are (m1,m2) and (m3,m4). The letter 23713 (init arguments (p)) does ones after rest argument, that are 23714 (p1,p2) and (p3, p4). 23715 23716Thu Jul 21 18:11:07 2011 NARUSE, Yui <naruse@ruby-lang.org> 23717 23718 * enum.c (enum_inject): remove empty line to notify rdoc 23719 Enumerable#reduce is alias. patched by milki@github. 23720 https://github.com/ruby/ruby/pull/26 23721 23722Thu Jul 21 17:30:21 2011 NARUSE, Yui <naruse@ruby-lang.org> 23723 23724 * array.c (rb_ary_delete_at_m): use simple array literal in rdoc. 23725 patched by samuel tonini. [ruby-core:38310] [Bug #5066] 23726 23727Thu Jul 21 17:14:21 2011 NARUSE, Yui <naruse@ruby-lang.org> 23728 23729 * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#each): 23730 Allow HTTP/0.9 request which doesn't has any header or body. 23731 patched by Felix Jodoin. [ruby-core:38040] [Bug #5022] 23732 23733Wed Jul 20 23:02:18 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 23734 23735 * io.c (rb_update_max_fd): remove parentheses. they are not in 23736 macro. 23737 23738Wed Jul 20 22:22:23 2011 Tanaka Akira <akr@fsij.org> 23739 23740 * include/ruby/intern.h (rb_update_max_fd): declaration moved from 23741 internal.h. 23742 23743 * file.c: ditto. 23744 23745 * io.c: call rb_update_max_fd for each new fds. 23746 23747 * process.c: ditto. 23748 23749 * random.c: ditto. 23750 23751 * ruby.c: ditto. 23752 23753 * ext/io/console/console.c: ditto. 23754 23755 * ext/openssl/ossl_bio.c: ditto. 23756 23757 * ext/pty/pty.c: ditto. 23758 23759 * ext/socket/init.c: ditto. 23760 23761 * ext/socket/socket.c: ditto. 23762 23763 * ext/socket/ancdata.c: ditto. 23764 23765 * ext/socket/unixsocket.c: ditto. 23766 23767Wed Jul 20 15:16:22 2011 NARUSE, Yui <naruse@ruby-lang.org> 23768 23769 * ext/dl/handle.c (dlhandle_sym): clear previous error with dlerror() 23770 before calling dlsym(). [ruby-dev:44091] [Bug #5021] 23771 23772Wed Jul 20 07:16:26 2011 Kazuhiro NISHIYAMA <zn@mbf.nifty.com> 23773 23774 * NEWS: mention Kernel#warn. [ruby-core:38119] [Feature #5029] 23775 23776Tue Jul 19 16:40:45 2011 TAKANO Mitsuhiro (takano32) <tak@no32.tk> 23777 23778 * cont.c (cont_save_thread): fix missing semicolon. 23779 23780Tue Jul 19 16:25:15 2011 Tanaka Akira <akr@fsij.org> 23781 23782 * io.c (UPDATE_MAXFD): removed. 23783 23784Tue Jul 19 16:07:45 2011 Tanaka Akira <akr@fsij.org> 23785 23786 * io.c (rb_update_max_fd): new function. 23787 23788 * internal.h (rb_update_max_fd): declare rb_update_max_fd. 23789 23790 * thread_pthread.c (rb_thread_create_timer_thread): update max fd when 23791 timer thread pipe is created. 23792 23793Mon Jul 18 13:36:47 2011 Aaron Patterson <aaron@tenderlovemaking.com> 23794 23795 * ext/psych/lib/psych.rb: define a new BadAlias error class. 23796 23797 * ext/psych/lib/psych/visitors/to_ruby.rb: raise an exception when 23798 deserializing an alias that does not exist. 23799 23800 * test/psych/test_merge_keys.rb: corresponding test. 23801 23802Mon Jul 18 00:00:46 2011 Shugo Maeda <shugo@ruby-lang.org> 23803 23804 * ext/curses/curses.c: added the new class Curses::Pad, which 23805 supports scrolling. patch by Eric Hodel. [Feature #4896] 23806 [ruby-core:37206] 23807 23808Sun Jul 17 16:26:40 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23809 23810 * error.c (rb_check_trusted): new function to check an object is 23811 trusted. 23812 23813 * struct.c (rb_struct_modify), time.c (time_modify): check by the 23814 above function to show proper class names. [Bug #5036] 23815 23816Sun Jul 17 15:30:04 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23817 23818 * error.c (rb_warn_m): accept multiple args in like puts. rdoc 23819 patch by Erik Price at [ruby-core:38119]. [Feature #5029] 23820 23821Sun Jul 17 07:56:31 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> 23822 23823 * test/openssl/test_ssl_session.rb: add PEM SSL session without TLS 23824 extensions. Use this as the default for the tests to ensure 23825 compatibility with OpenSSL 0.9.7. 23826 [ Ruby 1.9 - Bug #4961 ] [ruby-core:37726] 23827 23828Sat Jul 16 17:29:20 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23829 23830 * configure.in (RUBY_UNIVERSAL_ARCH): restore arch flag. 23831 Bug #4977 23832 23833Sat Jul 16 06:27:51 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca> 23834 23835 * lib/uri/common.rb (module): Remove optional parser argument to 23836 Kernel#URI 23837 [ruby-core:38061] 23838 23839 * lib/uri/generic.rb (module): ditto 23840 23841Sat Jul 16 03:19:45 2011 NAKAMURA Usaku <usa@ruby-lang.org> 23842 23843 * win32/win32.c (is_socket, is_console): add prototypes to fix compile 23844 problem with gcc introduced at r32549. 23845 reported by Jon Forums. [Bug #5030] [ruby-core:38079] 23846 23847Sat Jul 16 00:55:38 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23848 23849 * time.c (time_dup): used rb_obj_class() instead of CLASS_OF(). 23850 The patch is made by Kazuki Tsujimoto. [Bug #5012] [ruby-dev:44071] 23851 23852 * test/ruby/test_time.rb (TestTime#test_getlocal_dont_share_eigenclass): 23853 added a new test for eigenclass of time object. 23854 23855Fri Jul 15 19:11:00 2011 Kenta Murata <mrkn@mrkn.jp> 23856 23857 * bignum.c (bigsub_int): add RB_GC_GUARD. This patch is made by 23858 Makoto Kishimoto. fixes #4223 [ruby-dev:42907] 23859 23860 * bignum.c (bigadd_int): ditto. 23861 23862Fri Jul 15 14:27:53 2011 NAKAMURA Usaku <usa@ruby-lang.org> 23863 23864 * win32/win32.c, include/ruby/win32.h (rb_w32_io_cancelable_p): renamed 23865 from rb_w32_has_cancel_io(). now it takes a parameter as fd to check 23866 the fd is console or not, because we cannot cancel console input even 23867 if we have cancel_io function. 23868 23869 * io.c (WAIT_FD_IN_WIN32): call above function instead of the old one, 23870 so now we can kill the thread which calls STDIN.gets. 23871 the problem was reported by ko1 via IRC. 23872 23873Fri Jul 15 09:10:41 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 23874 23875 * ext/digest/sha2/sha2.c (SHA256_Update, SHA512_Update): avoid Bus 23876 Error caused by unalignment access on Sparc-Solaris (and possibly on 23877 other similar environment.) This patch just do memcpy always instead 23878 of checking architecture. I see no perf drop on my 64bit env. For 23879 more details, see #4320. 23880 23881 * test/digest/test_digest.rb: add test for unalignment access. 23882 23883Fri Jul 15 01:51:25 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> 23884 23885 * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): Power PC does not 23886 allow unaligned word access. 23887 23888 * st.c (UNALIGNED_WORD_ACCESS): x86_64 allows unaligned word 23889 access as well as i386. 23890 23891Thu Jul 14 12:19:34 2011 Hiroshi Nakamura <nahi@ruby-lang.org> 23892 23893 * ext/openssl/ossl.c (ossl_verify_cb): trap the exception from 23894 verify callback of SSLContext and X509Store and make the 23895 verification fail normally. Raising exception directly from callback 23896 causes orphan resources in OpenSSL stack. Patched by Ippei Obayashi. 23897 See #4445. 23898 23899 * test/openssl/test_ssl.rb 23900 (test_exception_in_verify_callback_is_ignored): test it. 23901 23902Tue Jul 12 23:41:49 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23903 23904 * NEWS: add a description of Signal.trap change. 23905 23906Tue Jul 12 20:02:35 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23907 23908 * signal.c (reserved_signal_p): reverted a part of r32523. 23909 chikanaga noticed trap(:CHLD) has some realworld usecase. 23910 * test/ruby/test_signal.rb (TestSignal#test_reserved_signal): 23911 ditto. 23912 23913Tue Jul 12 17:12:45 2011 Yukihiro Matsumoto <matz@ruby-lang.org> 23914 23915 * vm_method.c (rb_add_method): should not call method_added hook 23916 for undef operation. [Bug #5015] 23917 23918Tue Jul 12 16:58:44 2011 Shota Fukumori <sorah@tubusu.net> 23919 23920 * lib/test/unit.rb(Test::Unit::Options#process_args): Fix bug. 23921 Fix process_args didn't return `@option` after r30939. 23922 23923Tue Jul 12 14:07:46 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23924 23925 * signal.c (install_sighandler): fixed a race. 23926 23927Tue Jul 12 13:49:32 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23928 23929 * signal.c (sig_trap): don't permit to change a signal handler which 23930 the interpreter reserved. 23931 * signal.c (reserved_signal_p): ditto. 23932 [Bug #2616] [ruby-core:27625] 23933 23934 * test/ruby/test_signal.rb (TestSignal#test_reserved_signal): 23935 added a test for reserved signal. 23936 23937Tue Jul 12 11:58:28 2011 NAKAMURA Usaku <usa@ruby-lang.org> 23938 23939 * win32/setup.mak: support x86-amd64 cross compile environment. 23940 23941Mon Jul 11 23:22:28 2011 Yutaka Kanemoto <kanemoto@ruby-lang.org> 23942 23943 * time.c: can't compile time.c on AIX due to missing declaration for 23944 ffs(). It is declared in strings.h on AIX. 23945 23946Mon Jul 11 15:54:24 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23947 23948 * process.c: removed signal() macro. It's no longer used. 23949 23950Mon Jul 11 15:02:24 2011 NAKAMURA Usaku <usa@ruby-lang.org> 23951 23952 * numeric.c (rb_num2ull): use FIX2LONG instead of FIX2ULONG. see 23953 rb_num2ulong(). fixed the problem of ObjectSpace._id2ref of IL32LLP64 23954 platforms, introduced at r32433. 23955 23956Mon Jul 11 05:38:05 2011 Yutaka Kanemoto <kanemoto@ruby-lang.org> 23957 23958 * thread_pthread.c (get_stack): need to adjust stack addr for 23959 [Bug #1813] on AIX. 23960 23961Mon Jul 11 01:16:27 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> 23962 23963 * thread_pthread.c (rb_thread_create_timer_thread): removed 23964 rb_disable_interrupt()/rb_enable_interrupt(). 23965 * vm_core.h: ditto. 23966 * process.c (static void before_exec): ditto. 23967 * process.c (static void after_exec): ditto. 23968 [Bug #4765] [ruby-dev:43571] 23969 23970 * eval_intern.h: removed rb_trap_restore_mask(). 23971 * vm_eval.c (rb_throw_obj): ditto. 23972 * eval.c (setup_exception): ditto. 23973 23974 * signal.c: removed trap_last_mask. 23975 * signal.c (trap_restore_mask): removed. 23976 * signal.c (init_sigchld): comment clarification why signal block 23977 is needed. and removed trap_last_mask operation. 23978 * signal.c (trap_ensure): removed trap_last_mask operation. 23979 23980 * signal.c (rb_disable_interrupt, rb_enable_interrupt): made 23981 static and removed sigdelset(SIGVTALRM) and sigdelset(SIGSEGV). 23982 23983 * process.c (rb_syswait): removed implicit signal handler change. 23984 23985Sun Jul 10 23:49:12 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp> 23986 23987 * docs/NEWS-1.9.3: moved from NEWS. 23988 23989 * docs/ChangeLog-1.9.3: merged ChangeLog for 1.9.3. 23990 23991 * NEWS: NEWS for 1.9.4 that describes changes since 1.9.3 23992 23993 * ChangeLog: new ChangeLog for 1.9.4. 23994 23995Sun Jul 10 23:30:52 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp> 23996 23997 * version.h (RUBY_VERSION): ruby_1_9_3 branch was forked. 23998 23999For the changes before 1.9.3, see doc/ChangeLog-1.9.3 24000For the changes before 1.8.0, see doc/ChangeLog-1.8.0 24001 24002Local variables: 24003coding: us-ascii 24004add-log-time-format: (lambda () 24005 (let* ((time (current-time)) 24006 (system-time-locale "C") 24007 (diff (+ (cadr time) 32400)) 24008 (lo (% diff 65536)) 24009 (hi (+ (car time) (/ diff 65536)))) 24010 (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t))) 24011indent-tabs-mode: t 24012tab-width: 8 24013change-log-indent-text: 2 24014end: 24015vim: tabstop=8 shiftwidth=2 24016